Source

jde / lisp / ReleaseNotes.txt

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
JDE 2.2.9beta12

***************************************************************
*                         PLEASE READ                         *
***************************************************************
*                                                             *
* This release requires semantic 1.4beta13 (or later),        *
* speedbar 0.14beta2 (or later), and                          *
* eieio-0.17beta3 (or later). You can obtain all three        *
* packages at http://cedet.sourceforge.net                    *
*                                                             *
* This release requires version 1.2.2 (or later) of the       *
* JDK.                                                        *
*                                                             *
* This release also requires avltree.el, which is part of the *
* elib 1.0 package. You can obtain elib at the JDE web site   *
* in compressed tar (http://jdee.sunsite.dk/elib.tar.gz)      *
* or zip (http://sunsite.dk/jde/elib.zip) format.             *
*                                                             *
* JDEbug runs on Windows 2000 only if Service Pack 2 (or      *
* later) is installed.                                        *
*                                                             *
* If syntax-coloring does not work, download and install      *
* overlay-fix.el from the semantic web site.                  *
*                                                             *
***************************************************************

* Recompiled the JDEE's Java classes, using the JDK 1.3.1
  compiler instead of the 1.4.0 compiler as was done
  in beta 11. This seesm to fix a problem where completion
  would not work under JDK 1.3.1

* Added jde-devel-debug customization variable intended to
  enable features that facilitate development of the JDEE.

* Fixed bug that buried error messages from the interface
  wizard.

JDE 2.2.9beta11

* Adds a Check Style command (M-x jde-checkstyle) command
  to the JDE menu. This command by default checks the current
  buffer for conformity to the Java coding standard estabished
  by Sun Microsystems. Execute jde-checkstyle-customize to
  customize the command to support your own coding standard.

  This command is based on Oliver Burn's CheckStyle utility
  and Markus Mohnen's JDE interface to CheckStyle.


* The JDEE now waits for the BeanShell startup message
  on Windows. Previously, it returned possibly creating
  subtle timing bugs.

* Fixes strack trace highlighting of classes that contains underscores.
  Thanks to Laurent Martelli <laurent@bearteam.org>

* Fixes bug in jde-import-find-and-import that failed to get the correct 
  import for an inner class.

* Fixes jde-ant to use the correct jvm.
  Thanks to Andrew Hyatt <Ahyatt@intraspect.com>

* Fixes a bug in jde-normalize-path whereby it was expanding a
  relative path even when jde-resolve-relative-paths-p was false.

* Adds new method jde-gen-try-catch-wrapper and jde-gen-try-finally-wrapper.
  This is a modified implementation of the qflib-make-try-wrapper.

* Fixes bug in jde-wiz-extend-abstract-class. Protected methods were 
  not being added to the skeleton       .

* Modifies jde-ant-build-hook to take a buffer and a message as parameters. 
  IMPORTANT: You will need to update any current hooks. Adds to the the 
  jde-ant-build-hook the same hooks that jde-compile-finish-hook runs.
        
* Fixes jde-ant-build to avoid displaying the java.lang.SecurityException stack
  trace at the end of a sucessful build when using ant 1.5.

* Fixes jde-find-class-source-file to handle inner classes correctly.
  This method is used to step while debugging.

* Fixes bug in jde-run-etrace commands to parse inner classes correctly.

* Adds a jde-compile-finish-hook function that kills the compilation 
  buffer if no compilation errors occured. 

  Thanks to Jack Donohue <donohuej@synovation.com>.

* Fixes bug in completion that was not appending all the thrown exceptions
  to the possible completions.
        
* Fixes bug in jde-db-option-verbose when set to (t nil nil).
  It was appending -v to the arguments instead of -verbose:class.

  Thanks to Herv� Bitteur <herve.bitteur@sun.com> for diagnosing this problem

* Fixes bug in jde-completion.
  Object obj;
  if (something)
      obj = new Ojbect();
  else 
      obj = new Object(2);
  obj.
  In this case, completion was seeing that obj belong to the "else" class!!! 
  Thanks to Christian Matuszewski <cmatuszewski@itcampus.de> for reporting
  this bug.

* This release improves highlighting of HTML tags that span
  multiple lines in javadoc comments. When fontifying inside 
  comments, the JDEE checks that matching occurs within a
  single comment.

  Thanks to David Ponce.

* There is a new option `jde-javadoc-check-undeclared-exception-flag'.
  When non-nil, jde-javadoc checks undeclared exceptions (extra
  @exception tags not found in the throws clause) to see if they are
  implicitly declared (that is inherit from java.lang.RuntimeException).
  If so corresponding exception tags are just kept without signaling an
  When jde-javadoc can't determine if an exception is implicitly
  declared it always keep the @exception tag!

  When `jde-javadoc-check-undeclared-exception-flag' is nil (the
  default) jde-javadoc works like in previous version.  It doesn't check
  anything: all extra @exception tags are kept and errors (maybe) are
  reported.

  Thanks to David Ponce.

* JDE->Find->Symbol Definition now works with relative paths in 
  jde-sourcepath. 

  Thanks to Phillip Lord for reporting this bug.


* Fixed bug in interface implementation code for class templates. 

  Thanks to Phillip Lord for reporting the bug.

* Conditionalized the :set-after option out of jde-jdk for versions 
  of Emacs earlier than Emacs 21. This is so users will not need 
  Emacs 21 to run the JDEE. 

  Thanks to Yuji Yamano.

* XEmacs compatibility fix: set directory sep character to be
  a forward slash for project files. This fixes a project file save
  bug that corrupted project files under some circumstances. 

  Thanks to Hanson Char <HChar@realm.com> for reporting and
  diagnosing this bug.

JDE 2.2.9beta10

* XEmacs compatibility fix: allow user to set bsh-startup-timeout
  and bsh-eval-timeout to floating point values and to nil 
  (no timeout) to accommodate an apparent bug in the way
  accept-process-output works on the Windows version of XEmacs.

* XEmacs compatibility fix: removed unsupported :set-after
  clause from the definition of jde-jdk. The result may be that JDK
  registry settings may not persist in some cases on XEmacs. I will
  restore this clause as soon as XEmacs supports it.

* A new group-of-rules option for jde-import-sorted-group allows
  you to specify that the import wizard sort groups of imports 
  in the order that the groups are defined
  by jde-import-group-of-rules.

  Thanks to Michael N. Lipp <mnl@mnl.de>.

* This release adds the File->JDE New->Interface command
  which generates a skeleton interface.

  Thanks to Michael N. Lipp <mnl@mnl.de>.

* On Windows, the JDEE now supports spaces in paths passed as
  arguments to compilers, virtual machines, and 
  other processes started by the JDEE.

* Wizards that generate skeleton methods now generate 
  meaningful parameter names based on the parameter type
  or the name of the method in the case of get/set methods.

  Thanks to Ole Arndt.

* Adds constructor information to completion.

* The package wizard now considers the directories from 
  jde-sourcepath when trying to derive a package name.

  Thanks to Michael N. Lipp <mnl@mnl.de>.

* The JDEE's code generation wizards for implementing interfaces,
  abstract classes, etc., now use customizable templates to 
  generate skeleton methods instead of hard-wired skeletons. 
  The templates used by the wizards are 
  jde-gen-section-comment-template, jde-gen-method-template, 
  jde-gen-listener-registry and  
  jde-gen-event-source-fire-method-template. These templates
  generate code that is similar in format to the hard-wired
  skeletons previously generated by the wizards. You can now
  change the format of the generated code by customizing
  the templates (use the customize-variable command to do this).

  Thanks to "Dr. Michael Lipp" <lipp@danet.de> for proposing and 
  implementing this improvement.

* Adds JDE->Find->Symbol Definition command.
  (jde-open-class-at-point). This method uses the same functionality
  that jde-complete to open the source file for the symbol at point.

  Thanks to Berndl Klaus and Javier Lopez.

* The JDEE now imports the superclasses of classes that 
  it creates. 

  Thanks to Timothy Babin <tbabin@nortelnetworks.com>

* Adds a new completion command, jde-complete, that  
  delegates completion to the command  specified by
  the new customization variable, jde-complete-function.
  The default value of this variable is 
  jde-complete-menu, which displays completions
  in a popup menu. You can also set the variable to 
  jde-complete-minibuf, which displays completions in 
  the minibuffer, to jde-complete-in-line, which 
  allows you to cycle through possible completions
  in place, or to a custom completion function that
  you supply. This release also rebinds C-c C-v C-.  
  to jde-complete.

* Renames jde-db-source-directories as jde-sourcepath.

  This reflects the fact that this variable has grown 
  beyond its original usage to find source files for the
  program being debugged.

* Added jde-show-superclass-source and jde-show-interface-source,
  which find the source files for the super class and any
  one of the interfaces of the current class.

  Thanks to  Sandip Chitale <sandip.chitale@blazesoft.com>

* Fixed regression error in jde-run command that prevented 
  use of the prefix argument to cause the command to prompt the 
  user for the main class.

* Patched jde-save-close-buffer and jde-save-variable to use 
  find-buffer-visiting to find the buffer containing the
  prj.elf file instead of looping through the buffer list.


JDE 2.2.9beta9

* Replaces the customization variable jde-lib-directory-name
  with the variable jde-lib-directory-names. The new variable
  allows you to specify a list of regular expressions that
  match names of directories containing jar or zipped class
  files. If jde-expand-classpath-p is nonnil and the JDEE 
  finds directories in jde-global-classpath that match 
  these names, it replaces the directories with
  the paths to the jar/zip files they contain. This eliminates
  the need for you to include jar/zip file paths explicitly
  in jde-global-classpath.

* Adds two new options to the Jdb menu:

  - External Process->Attach to

    Attaches jdb to an external process that is already
    running.

  - External Process->Listen for

    Starts jdb and waits for an application to connect to
    jdb.

* Adds the variable jde-run-option-connect-to-debugger.

  This option causes the JDEE to start an application
  with the command-line options needed to permit 
  connecting the application to jdb or JDEbug, using
  the Attach to or Listen for commands.

* Adds the variable jde-db-option-connect-address.

  This option specifies the address that the JDEE uses
  to connect jdb (and ultimately JDEbug) to an 
  external process.

* Fixes completion bug. Completion was ignoring project changes.
  i.e. classpath. 

* Adds the following enhancements to the JDEE's expression
  search functionality.

  - A new customization variable, jde-find-granularity,
    that allows you to specify the granularity of the
    search (character, word, or line).

  - A new command, JDE->Find->Expression... (jde-find-dlg),
    that allows you to set all search options interactively
    in a popup dialog buffer.

* jde-submit-problem-report command now includes versions of 
  required packages.

* Adds jde-ant-build-hook, this hook gets run after the build
  is done.
  Thanks to Kevin Burton.
        
* jde-run-executable command now normalizes
  the path of the executable. This allows
  the use of relative addressing and 
  environment variables in the path.

* Fixes spacing bug in jde-gen-class-buffer-template.
  Thanks to Petter Mahlen.

* Stops buffering the output of the ant and compiler server.
   
* Adds the option jde-import-insert-group-names. If this
  variable is nonnil, the jde-import-organize command
  inserts a group name comment before each group of'
  imports.

  Thanks to Brian Paulsmeyer and David Ponce.

* Fixed reference in JDEbug's stack up and down commands 
  to obsolete function jde-dbo-show-line.

* Updated jde-file-to-url to insert `localhost' into URL.

  Thanks to "Max Rydahl Andersen" <max@eos.dk>.

* Adds jde-import-auto-collapse-imports variable. Customizing
  this variable to a nonnil value causes the JDE to run
  jde-import-collapse-imports after importing a class.

  Thanks to "Max Rydahl Andersen" <max@eos.dk>.

* Refactors jde-ant.el so that jde-ant-build can use true
  interactive arguments. 

  Thanks to Kevin Burton.

* Adds support for interfaces to the completion framework.
  
  Thanks to Petter Måhlén

* Fix bug that caused the JDE to insert multiple import 
  statements in the buffer when the same class occurs in
  one more place in the classpath. 

  Thanks to Stephen Molitar.

* Changed docstring for jde-import-find-and-import to
  note that the classpath does not need to include
  jars implicitly included by the jvm.

* Added jde-open-source-for-symbol functon. 

  This function displays source for a symbol. The symbol may reference
  an object, a class, or a method or field. If the symbol references a
  class, this function displays the source code for the class. If the
  symbol references an object, this method displays the source code
  for the class of the object. If the symbol references a field or a
  method, this function displays the source code for the class of the
  object of which the field or method is a member. Eventually this
  function will be enhanced to position the source code at the point
  where the method or field is located.

  Thanks to "Max Rydahl Andersen" <max@eos.dk>.

* Modified jde-build function to use call-interactively to call
  the build function.




JDE 2.2.9beta8

* Adds a hook variable, jde-project-hooks. 

  Use this variable to specify functions to be run when the 
  JDEE switches to a new project. The JDEE runs the functions
  after loading the project file. Therefore, the project itself
  can define the functions to be run.

* Adds a Clear Breakpoints command to the JDE's jdb interface.

  This command clears all breakpoints set in the current
  jdb session.

* Now defines three breakpoint marker colors: green for a 
  specified breakpoint, yellow for a requested breakpoint, 
  and red for an enabled breakpoint. The JDEE colors a
  breakpoint line green when you execute the Toggle Breakpoint
  command and the debugger is not running. The JDEE changes
  the color to yellow when it sends a request to jdb to
  set a breakpoint at the specified line. The JDEE changes
  the line's color to red when it receives a notification that
  from jdb that the breakpoint has actually been set.

* The debug application command now requests jdb to set all specified
  breakpoints at the beginning of a debug session.

* The debug application command now changes the color of all breakpoints
  to green (specified) at the end of a debug session.

* Use overlays/extents to record location of breakpoints in a buffer.

* Changed the name of the println and toString templates to println
  and to-string-method, respectively, thereby eliminating the
  spaces that were in the previous names.

* Fixed XEmacs compatibility bug that caused the toggle
  breakpoint command to signal an error that it could not
  find the source file in jde-db-source-directories.

* jde-javadoc-nonterminal-at-line preserves current tokens when 
  the lexer fails (when there is an unclosed block or an 
  unterminated string for example). This enhancement works only 
  with semantic 1.4 beta 13  (and above). With older versions 
  jde-javadoc-nonterminal-at-line  continues to work as previously.

  Thanks to David Ponce.

* Fixes bug in the method jde-compile-classpath-arg (jikes)
  that will cause an error when appending the path for rt.jar
  to a nil classpath.

* Fixes bug in jde-bug-display-loaded-classes that would dump
  all the class information into the *Messages* buffer.

* Now jde-run-etrace-prev and jde-run-etrace-next
  allow you to move through the whole stack trace.
  It behaves as compilation-next-error.

* A Jdb menu now always appears in source buffers when 
  jde-debugger is set to jdb or old jdb.

* Fixed two JDEbug menu related bugs. The menu now always appears 
  when jde-debugger is set to JDEbug. Also, keybindings now work 
  on XEmacs.

* Fixes bug that caused JDEBug not to set
  saved breakpoints when attaching to an external 
  process.

* Fixes bug in jde-ant, caused by choosing Script as the 
  jde-ant-invocation-method. The jde-ant-program was not 
  being used.

* Removes obsolete method jde-run-set-vm and jde-run-set-vm-w 
  from jde-run.el. Fixes references to the variables jde-run-java-vm
  and jde-run-java-vm-w.

JDE 2.2.9beta7

* Option dialogs now open with cursor positioned over OK button.

* Fixed many references to undefined variables that were 
  generating compiler warning messages and possibly bugs in
  jde-dbs.el.

* Removed obsolete function jde-dbs-listen-for-debugger-socket
  from jde-dbs.el.

* Fixes bug where the JDE was inserting a null string in the 
  javac argument list when the user did not specify arguments 
  interactively, which is normally the case. This bug caused 
  compiling with the javac executable to fail on XEmacs.

* Compile server now runs jde-normalize-path on the path of the 
  path of the source file. This ensures that the path will be 
  converted to a Windows path on the Cygwin version of XEmacs.

* Updates jde-cygwin-path-converter-cygpath to minimize time-
  consuming calls to the external cygpath command. This function
  now invokes cygpath only if the cygwin path does not begin 
  with /cygdrive and has a root that has not previously been 
  converted.

* The state of the local variable tree in JDEBug persists when
  stepping.

* Adds jde-ant-buildfile-arg-history variable.
  XEmacs compatibility fix. Thanks to Dirk Husemann. 

* Fixes jde-ant-target-regexp to match the name attribute
  when it is in a different line than the target.
  i.e. <target description="foo" name="compile">

* Removed the customization variables, jde-bug-jdk-directory
  and jde-bug-vm-includes-jpda-p. These variables are no
  longer needed as the JDE can get the required information
  from the jde-java-version and jde-get-jdk-dir functions
  introduced in previous releases.

* Renamed JDEbug buffers to conform to Emacs convention
  for special buffers (buffers that do not correspond to
  files). Thanks to Kevin Burton.

* Toggle breakpoint command signals an error if you attempt 
  to set a breakpoint in a buffer that is not a Java source 
  buffer or that is not in  jde-db-source-directories. 
  Thanks to Kevin Burton.

* Fixed typo in debug options error message for Jikes.

* Added a JDK API option to jde-help-docsets and made it the 
  default. This option specifies the API doc for the currently 
  selected JDK (specified by jde-jdk, $JAVA_VERSION, or $PATH).

* For Emacs 21.1, option dialogs no longer delete the option
  window after the user selects OK or Cancel. This is to avoid
  a bug in the Emacs 21.1 version of exit-recursive-edit.

JDE 2.2.9beta6

* Modifies lisp makefile to check to ensure that 
  the package directories exist and to load all required
  JDE files before compiling. I hope that the latter change
  will prevent compile errors caused by compiling files that
  depend on macros that are not defined because their files
  are not loaded.

* Fixed typo (jde-gen-signature-padding-3 should be
  jde-gen-method-signature-padding-3) in jde-gen.el. 

  Thanks to David A. Ventimiglia.

* Modifies `jde-ant-build' to get the ant home from the 
  environment variable ANT_HOME if jde-ant-home is not set.

* Modifies `jde-dbs-proc-display-debug-message' to 
  bring up a buffer when a non-nill value is passed to the
  method. The idea is to show the message in the minibuffer
  whenever the Process buffer is not showing up,
  and for methods like display variables be able to
  bring the buffer up.

* Fixes bug in JDEBug caused when trying to display empty arrays.

* Fixes `jde-bug-show-locals-buf' and `jde-bug-show-cli-buf'
  to keep the current source window.

* Modifies `jde-bug-show-locals-buf' to display
  the local variables without doing a
  M-x `jde-bug-toggle-local-variables'

* Modifies `jde-bug-show-threads-buf' to
  display the stack info without
  doing M-x `jde-bug-toggle-stack-info'

* Adds a new option `jde-help-use-frames'
  to customize the behavior of the functions
  `jde-help-symbol', `jde-help-class', and `jde-help-class-member'.
  A non nil value causes this functions to display the javadocs
  using frames.

* jde-java-version now returns the version of Java 
  on the system command path when the user does not specify 
  the version and the Beanshell is not running.  This 
  eliminates the infinite recursion caused by starting the 
  Beanshell to find the version, which is needed to start 
  the Beanshell.

* Adds a new option `jde-check-version-flag'
  to customize the behavior of the new
  `jde-check-versions' feature.

  When `jde-check-version-flag' is non-nil
  `jde-check-versions' will check for correct
  versions of the CEDET libraries required
  by the JDE.   If nil it only checks if these libraries
  are available.

* Adds version checking to jde for speedbar, semantic, and eieio.
  If the wrong version of one of the packages is installed, it 
  shows an error to the user and stops loading jde.

* Moves all the `jde-mode' code depending on Semantic
  into `jde-parse-semantic-default-setup' which is now run as a
  `semantic-init-hooks' ensuring that at this point the buffer is ready
  for parsing.

  This solves a nasty problem of synchronization between `jde-mode' and
  Semantic initialization.  This problem was particularly annoying in
  XEmacs where `jde-mode' buffers were not parsed the first time.  In
  some rare conditions the problem occurred with Emacs too.

  Thanks to David Ponce.



JDE 2.2.9beta5

* Fixes bug caused by doing case insensitive searches in the 
  method jde-parse-valid-declaration-at. 
  i.e.                 
  	String level = argConfig.getProperty(OPTION_LOG_LEVEL);
	Level temp = Level.parse(level.toUpperCase());
				  ^
  Looking for the type of Level returned String erroneously.

* Enhanced jde-help-symbol to handle static calls.
  i.e. ResourceBundle.getBundle

* This release supports but does not require semantic 1.4 beta 12.

  Semantic 1.4 beta 12 Semantic provides the following new 
  features:

  - `global-senator-minor-mode' to automatically turn on senator minor
    mode for all semantic enabled buffers. 

  - `semantic-auto-parse-mode': new minor mode to automatically
    re-parse modified semantic enabled buffers.  Also
    `global-semantic-auto-parse-mode' can be used to automatically turn
    on this minor mode for all semantic enabled buffers.  

    Semantic auto parse mode is based on an idle timer instead of
    buffer changes tracking to avoid the excessive overhead of using the
   `after-change-functions' hook.

    The following options wcontrol the semantic auto-parse behavior:

     - `semantic-auto-parse-idle-time': time in seconds of idle time
       before auto-reparse.  It defaults to 4 seconds.

     - `semantic-auto-parse-max-buffer-size': maximum size in bytes of
        buffers automatically reparsed.  It defaults to 0 so all buffers
        are reparsed regardless of their size.

  Thanks to David Ponce.


* Fixes bug using Ant target completion
  caused when jde-ant-enable-find is not enabled.

* Adds completion of the possible methods to overwrite 
  jde-wiz-override-method.

* Fixed typo in classic mode vm command line switch.

* Restored jde-db-classic-mode-vm option.

* Fixed bug in jde-java-version. 
  
  Thanks to SEBASTIEN VAUCLAIR <sebastien.vauclair@epfl.ch>.

* Revamps code generation templates to make them more
  consistent among themselves and with Java coding
  conventions. Specific changes include:

  - Generates consistent formats for method signatures.
  - Strips prefix and suffix of variable names (if configured)
  - Adds jde-gen-conditional-padding-1 to -3 to allow for
    configurability of the jde-gen-cflow-* templates
  - Changes many default templates to conform to Java code
    conventions
  - Fixes many subtle inconsistencies in templates when used
    with different values for jde-gen-comments and jde-gen-k&r
  - All templates now have consistent coding structure
    and indentation, as well as reduced insertion of white-space.
  - Modifies Javadoc comments to be less descriptive of implementation
    (e.g. instead of "Get the value of _flag", now is
    "Get the Flag value")

    Thanks to Greg Fenton.

* Corrected typo in name of cflow tempo fori in JDE User's Guide. 

  Thanks to Greg Fenton.

* Fixes off-by-one bug in jde-wiz-update-implements-clause.

  Thanks to Greg Fenton.

* fixed description mistake in jde-wiz-get-name.

  Thanks to Greg Fento.

* Emacs 21 compatibility fix: added support for 
  browse-url-new-window-flag variable 
  (replaces browse-url-new-window-p in Emacs 21).

* Adds a JDE->Code Generation->Wizards->Implement Event Source 
  command. This command generates code to register and notify
  listeners for an event.

  Thanks to Stephane <s.nicolas@videotron.ca>.

* Adds support for invoking Ant directly from java or via 
  the ant script. Thanks to Douglas WF Acheson <dwfa@yahoo.com>.

* Modifies jde-help-symbol to position the javadoc at the point
  where the method or field is documented.

* Modifies jde-help-class-member to use customization variable 
  jde-complete-use-menu. To use the mini-buffer for
  completion when this variable is nil.

* Fixes bug in jde-help-class-member caused when 
  jde-complete-insert-method-signature is nil.
  
* Changed jde-option-dialog to use recursive-edit mode to emulate a
  modal dialog. Now the show dialog method enters recursive edit mode
  thereby suspending the currently executing command until the user
  selects the OK or Cancel button on the dialog. Selecting the OK button
  on the dialog causes the dialog to update its :selection field to the
  option chosen by the user. Selecting the Cancel button sets the
  :selection field to nil.

* The new modal behavior fixes a bug caused when jde-option-dialog
  is invoked by jde-wiz-implement-interface to permit the
  user to select among interfaces of the same base name.

* Adds JUnit supports
  Adds templates jde-gen-junit-test-class
  and jde-gen-junit-add-test-to-suite

* Adds the customization variable jde-compile-option-hide-classpath.
  A non-nil variable causes the classpath value in the compilation
  output to be shown as ... . i.e java -classpath ... -g Test.

* Replaces the customization variables jde-run-java-vm
  and jde-run-java-vm-w with the variable jde-vm-path.
  If this variable is a valid path, the JDE uses this
  path to find the vm used to run Java applications.
  If this path is the empty string, the JDE runs the
  vm included with the version of the JDK specified by
  jde-jdk, or if jde-jdk is nil, the first vm on the
  system command path.

  This change is part of an ongoing enhancement of the JDE
  to permit easy switching of JDK's. Now jde-jdk specifies
  both the compiler and the vm used by the JDE.

* Fixes bug that did not complete methods for variables names
  that start with the '$' character.

* Adds support auto completion of Ant targets in mini-buffer.
  See jde-ant-complete-target and jde-ant-target-regexp. 
  Thanks to Stephen Molitor.

* Ant bug fix: now inserts space between target and rest
  of the command.

* Extends the effectivity of the jde-gen-comments flag to all 
  JDE control flow templates.

  Thanks to Robert Mecklenburg <mecklen@cimsoft.com>.

* Adds customization variable jde-complete-use-menu. A nil value
  causes `jde-complete-at-point-menu' to use the mini-buffer for
  completion.

  Thanks to Max Rydahl Andersen <max@eos.dk>.


JDE 2.2.9beta4

* Compile command fix: Removed space in front of 
  -g option that made it unrecognizable to compiler.

  Thanks to bert van vreckem.

* Cygwin/XEmacs compatibility fix: Now uses 
  mswindows-cygwin-to-win32-path function if defined.

  Thanks to Andy Piper.

* XEmacs compatibility fix: Beanshell buffer now correctly 
  converts new lines (eliminates ^M) on Windows.

  Thanks to Andy Piper.

* Adds the customization variable jde-import-auto-sort-function.
  This variable allows you to specify the function used by
  the JDE to sort imports.

  Thanks to Hugh Emberson.

* Bug fix: compile command once again supports the 
  jde-read-compile-args option.

  Thanks to Luis Novais for reporting this bug.

* Fixed bug in jde-java-version command.

  Thanks to Jim Davidson.

* Fixed Lisp error that occurred when the default setting
  for jde-compile-option-debug is in effect.

* XEmacs compatibility fix. Fixed undefined variable and
  function Lisp errors that occur when trying to compile
  a Java source file.

* XEmacs compatibility fix. Fixed bug that produced a Beanshell
  error when trying to run the compile server in XEmacs.

* XEmacs compatibility fix. Fixed bug that caused the JDE
  to append "(jde-save-variable " to every line of a prj.el
  file. This bug was due to a conditional expression that
  depended on the file sep char being a forward slash when
  by default it is a backslash on the native Windows version 
  of XEmacs.

* XEmacs cygwin compatibility fix. Fixed bug in the
  code that builds classpaths that garbled the resulting
  classpath.

* Fixed all warning produced by compiling jde.el
  in both Emacs and XEmacs.

  Thanks to Jeff Grief and Mike Wooley for showing me
  how to do this.

* Fixes make's error.

* Adds support for jdk1.4.

* Fixes logic error when using jde-gen-k&r, it was backwards in
  the following methods: jde-wiz-generate-interface, 
  jde-wiz-override-method-internal, jde-wiz-delegate, 
  jde-wiz-generate-abstract-class, jde-wiz-generate-interface,
  and jde-wiz-generate-abstract-class.

* Fixes bug the caused the jde-ant-build and jde-ant-projecthel 
  commands to fail when there is not a project file defined.



JDE 2.2.9beta3

* Now uses the version of javac shipped with the JDK 
  specified by jde-jdk.

* Now generates the correct command-line arguments for the 
  various versions of javac.

* Now includes the +E option if jikes is the selected compiler.

* Fixes bug in jde-get-jdk-dir that caused it to return
  an incorrect path when looking for the directory on 
  the PATH environment variable.

* Fixed compile error that occurs when jde-compile-option-debug is set.
  This was due to the -g option being wrapped in an extra list.
  Thanks to David Ponce.

* Now includes rt.jar in the classpath when jikes is the compiler.
  Thanks to David Ponce.

* Fixed bug in jde-help-browse-jdk-doc, which was calling
  jde-normalize-path with no arguments, when jde-jdk-doc-url did not
  start with http://, file://, or is equal to "". Thanks to Javier
  Lopez.

* Fixed bugs in jde-java-version command.

* Fixed bug that caused the in-buffer verion of completion to throw
  an error for the first completion. 

  Thanks to Jason Rumney.



JDE 2.2.9beta2

* The jde-build-ant-command now quotes all path arguments to 
  accommodate Windows. This change was submitted by 
  "Kevin Jones" <kevinj@develop.com>. I don't use Ant so I've
   not tested this change.

* Replaced the customization variable jde-db-debugger with
  jde-debugger to be consistent with jde-compiler.


JDE 2.2.9beta1

* The completion methods now takes into account default accesss
  level. Completion now includes protected and package
  methods from super classes.
  
* The JDE's Java code has been enhanced to speed lookup of 
  qualified class names and project switching. These
  changes require version 1.2.2 or later of the JDK. Thanks
  to Eric Friedman.

* Automatic parsing of Java buffers now reparses only that portion
  of a buffer that has changed whenever possible. This should
  speed up reparsing of buffers after most changes. Note that
  this change requires semantic 1.4beta10 (or later). Thanks to
  David Ponce.

* This release uses a new algorithm for determining when to reparse a
  buffer. When the buffer is modified `jde-parse-buffer-changed-hook'
  check the auto-parse timer to see if the auto-parse task is about to
  be triggered (< 2 secs). If so it delay the triggering of
  auto-parse (+ 10 secs) to let you finish typing before doing a
  re-parse. And so on. Thanks to David Ponce.

* This release fixes the `font-lock-add-keywords' problem reported 
  by Klaus Berndl <klaus.berndl@sdm.de>. Thanks to David Ponce.

* Completion methods now places the cursor in between parenthesis
  when the method contains parameters.

* JDEBug does not split the frame in 3 windows anymore.

* JDEBug does not retrieve the local variables and the stack
  information by default.

* Adds the commands jde-bug-toggle-local-variables and
  jde-bug-toggle-stack-info. The first command enables retrieving the local
  variables while stepping using JDEbug, and the latter enables retrieving
  stack information.

* This release adds a set of customization variables intended
  to facilitate switching from one version of the JDK to
  another.

  - jde-jdk-registry
    
    Specifies the versions and locations of the JDKs installed on your
    system. This variable determines the set of legal values for the
    jde-jdk variable (see next release note).


  - jde-jdk 

    Specifies the location and version of the JDK currently 
    being used by the JDE.

    The customization buffer for this variable displays
    a set of radio buttons that reflect all the registered
    JDKs on your system. You can thus switch from one registered
    JDK to another simply by selecting the button of the desired
    JDK.

  - jde-java-environment-variables

    Specifies the environment variables that specify the default
    location of the current JDK. The default names of the variables
    are JAVA_HOME and JAVA_VERSION.

* Adds the command jde-get-jdk-dir. This command returns
  the root directory of the JDK currently targeted by the JDE.
  The target JDK is the JDK specified by jde-jdk variable,
  of if this variable is null, by the jde-java-environment variables,
  or if these are not defined, by the PATH 
  environment variable.

* Adds a new command, jde-java-version, that returns the
  version of Java being used by the JDE. This command returns the
  version specified by the jde-jdk variable, or if this is not
  defined by the JAVA_VERSION environment variable, or if neither
  of these are defined by  the "java.version" property of the 
  vm used to run the BeanShell.  Note that in the latter case,
  executing this command causes the BeanShell to be
  launched if it is not already running.

  Future versions of the JDE will use  this command to adapt
  to differences among JDK versions, for example, to set 
  JDK-version-specific command line options required to 
  launch a process in debug attach mode.

* Completion methods now shows the exceptions that the method
  could throw.
  
  Thanks to Petter Måhlén [petter.mahlen@chello.se]

* Adds a Beanshell-based "compile server" for compiling
  Java programs. The compile server uses the same Java compiler
  as javac but it uses the Beanshell to invoke the compiler
  instead of starting a new vm just to do the compilation. This
  avoids the vm startup time that accounts for most of the time
  spent by javac on compiling a class. The result is lightening
  fast compilation of your classes. To use the compile server
  instead of javac to compile your classes, set jde-jdk-directory
  to the root of the JDK that you are using to develop your project
  and set the variable jde-compile-server on.

  Thanks to Javier Lopez.

* The JDE->Help->JDK command command now looks for the JDK doc
  at jde-jdk-directory/docs/index.html if it cannot find the
  doc at jde-jdk-doc-url. The command now also checks for the
  existence of the doc locally or on the web and errors out if it
  cannot find it.

* Added customization variable jde-complete-signature-display-time,
  allows users to choose for how long to display the signature of the last
  completion.

* Adds customization variable jde-complete-signature-display, allows
  to choose what display to use to show the signature of the last completion.

* Adds jde-complete-display-current-signature command.

  This command displays the signature of the last completion. 
  
* Fixed compile buffer fontification problem caused by 
  copying global post-command-hook into local post-command-hook
  in jde-mode-internal.

  Thanks to David Ponce.

* Adds jde-stat-loc-report-directory and jde-stat-loc-report-project.
  
  These commands generate a report showing the number of code, comment,
  javadoc, and blank lines in all the java files in the current
  directory and subdirectories respectively. Note: These methods will
  kill any buffer containing a java file contained in the current
  directory or subdirectories. 
  
* Redefined jde-db-debugger to permit selection of three
  debuggers: JDEbug, new jdb, and old jdb.

  Note: you need to update all project files that use this variable.

* Redefined jde-compiler to allow selection of the
  following options: javac executable, javac server,
  and jikes executable.

  This paves the way for providing explicit support for jikes and
  various versions of javac.

  Note: you must update any project files that customize this variable.



JDE 2.2.8

New Features
============

* The JDE's code generation wizards now observe the
  jde-gen-k&r indentation style preference.

* Adds JDE->Wizards->Generate Get/Set Methods 
  (M-x jde-wiz-get-set-methods) command. 

  This command generates get and set methods for all private fields 
  in the outer class and inner classes in the current buffer.

  Thanks to Javier Lopez and Sandip Chitale.

* Adds jde-import-collapse-imports command.

  Thanks to Max Rydahl Andersen.

* Adds JDE->Wizards->Extend Abstract Class (jde-wiz-extend-abstract-class)
  command.

  Thanks to Javier Lopez.

* New font-lock setup policy.

  - If `jde-use-font-lock' is non-nil the JDE completely handles font
    lock setup. It turns on font locking in `java-mode' if needed and
    installs the extra level of fontification in
    `java-font-lock-keywords-4'.

  - If `jde-use-font-lock' is nil the JDE  delegates
    syntax coloring setup to standard `java-mode'.

* Adds the JDE->Help->Class Member... (jde-help-class-member) command.

  This command displays help for a specified field or method of a class.

  Specifically, the command pops up a menu of the members of a specified class.
  It then searches jde-help-docsets for javadoc for the class. If found,
  it points the browser to the point in the javadoc file where doc for
  the selected class member should be located. Note that this command
  does not attempt to verify whether doc for the member actually exists
  in the file.

* Completion enhancements:

  - Supports completion of all constructors. 

  - Adds a customization variable, jde-complete-add-space-after-method,
    to allow you to choose among these  types of completions:
    v.get() and v.get ()

  - Adds a customization variable, jde-complete-unique-method-names, to allow
    the removal of methods with the same name from the completion list.

  - Adds a customization variable, jde-complete-insert-method-signature, to
    allow you to choose between the completions:
    v.get(int, int) or v.get()

  - After completions method signatures and returns types are shown in
    the minibuffer for 60 seconds or until the next completion,
    whichever occurs first.

  - Modifies jde-complete-at-point and jde-complete-at-point-menu to
    insert the methods the same way.

  - Dynamically loads classes, eliminating the need to update the class
    list after recompiles.

  - Minor changes to improve performance:

    - The classinfo is sorted and processed before being added to the cache.

    - Reduced the number of loops to process the completions list before being
      added to the cache.

    - Modifieds jde-complete-find-all-completion to take advantage of the fact 
      that the completion list is in alphabetical order.

    - The method find-completion-for-pair does not call jde-complete-find-all-
      completions if the user did not enter part of the completion.

  - Completion for <this> now includes private and protected 
    methods in the completion list. 

  Thanks to "Javier Lopez" <jlopez@cellexchange.com>.

* More completion enhancements:

  -- Completion list now includes private methods of the current class 
     and protected methods of the super class.

  -- Now sorts the possible completions in alphabetical order.

  -- Handles completion on instances returned by constructors, e.g.,
     new Vector(). and of arguments passed to constructors, e.g.,
     v.add(get.
               ^
  -- Fixes bug that prevented completion of  super class methods, i.e. super.ge...

     Thanks to Javier Lopez <jlopez@cellexchange.com>

  -- Completion now works for instances of inner classes in many cases. 
     The inner class must be declared before it is referenced for completion to work.
     Future releases will fix this and other deficiencies in inner class handling. 

     Thanks to "Evan Easton" <evan@eeaston.com>.

* Defines the new function jde-ant-projecthelp, which invokes 
  Ant with the "-projecthelp" switch to list all available targets
  for the current buildfile. 

  Thanks to Jason Stell"  jason.stell@globalone.net.

* Adds the customization variable, jde-build-function, which 
  allows selection of one a standard set of 
  functions (jde-java-build, jde-ant-build or jde-make) or 
  specification of a custom function.

  Removes the customization variable, jde-build-use-make.

  Thanks to Jason Stell jason.stell@globalone.net.

* Adds jde-gen-define-abbrev-template function.

  This function allows you to define abbreviations whose
  expansions are tempo templates. You can use this function,
  for example, to define your own control flow abbreviations.
  See the control flow section of the JDE User's Guide for
  information on how to use this function.

* Adds the customization variable, jde-launch-beanshell-on-demand.

  If this variable is non-nil (the default), the JDE launches
  the Beanshell only when it is needed. Otherwise, it launches
  the Beanshell whenever you open a Java source file and the
  Beanshell is not already running.

* Adds jde-enable-senator variable.

  If non-nil (the default), this variable causes the JDE to
  enable senator-minor-mode  in Java buffers.
  senator-minor-mode provides syntax-based searching and
  buffer navigation commands.

* User can now force the JDE to use either wget or url-file-exists 
  to verify existence of a remote file.

  Thanks to Luis Miguel Hernanz Iglesias 
  <luish@germinus.com> for suggesting this enhancement.

* Added jde-ant.el to distribution.

* Changes name of jde-show-class-source to jde-open-class-source
  and created jde-show-class-source as an alias.

* Adds jde-open-base-class-source command.

  This command was borrowed from the java-open library.

* Added else-if control flow template. 

  Thanks to "Javier Lopez" <jlopez@cellexchange.com>

* Adds a control flow template for a for iterator loop. 

  Thanks to Robert Mecklenburg <mecklen@cimsoft.com>.

* Now replaces the colon in the DOS drive prefix with a vertical bar 
  when forming URL's. This is done to accommodate Netscape.

* Enhanced jde-help-symbol so that it prompts you to enter the symbol. 
  Also, if more than once class of the same name exists, 
  prompts you to select the appropriate class.


Bug Fixes
=========

* XEmacs compatibility fix. Now accommodates the way XEmacs 
  specifies the temp directory. 

  Thanks to Dr. Volker Zell.

* Fixes bug that cause completion to return the wrong name when the class does not have
  a package, e.g., .Test for Test.java. 

  Thanks to Javier Lopez.

* Fixes JDE->Help->JDE User Guide JDEbug->Help commands so that 
  they work on XEmacs.

  Thanks to Dr. Volker Zell.

* Fixes jde-ant-build so that it does not invoke last-nonmenu-event 
  on XEmacs.

* Fixes bug that prevented completion of variables referenced
  in inner classes.

  Thanks to Javier Lopez.

* Fixed the JDE's project file loader to avoid an infinite recursion
  on Windows when the project file is on a virtual drive created with
  the DOS subst command.

  Thanks to Nat Goodspeed.

* Fixes javadoc checker error that occurs when the checker tries to match 
  an array name in javadoc comments and in argument lists.

  Thanks to David Ponce.

* XEmacs compatibility fix for error that occurs when the JDE attempts
  to clear the completion cache after compiling a file.

  Thanks to Javier Lopez.

* NT/XEmacs compatibility fix: jde-find-project-file now returns 
  paths with forward slashes as directory sep characters on NT/XEmacs.

* Fixed jde-wiz-update-classes so that it updates the classes list 
  to the CLASSPATH environment variable if jde-global-classpath 
  is not defined.

* Defines jde-ant-interactive-target-arg-history and 
  jde-ant-interactive-target-arg-history.

  Thanks to Dirk Husemann <hud@zurich.ibm.com>.

* The JDEbug Run menu item becomes Continue when the debugger
  halts at a breakpoint.

  Thanks to Alan Hadsell <ahadsell@MtDiablo.com> 

* Added compatibility fixes for NT/XEmacs use of backslash as the
  default directory sep character.

  Thanks to William Griswold <wgg@cs.ucsd.edu>.

* Fixes bug in jde-save-needs-saving-p that caused the JDE not 
  to save variables whose customized value is nil.

* Fixes import insertion point bug.

  Thanks to "Javier Lopez" <jlopez@cellexchange.com>

* Fixed NT/XEmacs incompatibility in jde-package.el caused by XEmacs' 
  use of back slash as the directory path separator.

  Thanks to David Ponce.

* The interface wizard now includes a valid return statement in methods that return
  a value. 
 
  Thanks to "Craig McGeachie" <craig@rhe.com.au>.