Supported Cedet Versions?
Hi, I need to update the JDEE's CEDET version checking constants. Meanwhile, you can work around the problem by customizing jde-check-version-flag off. AFIK, the JDEE is compatible with the latest version of CEDET. Paul exits funnel writes: Hello, In an effort to straighten out some problems which I thought were related to semantic I just upgraded to 1.0pre3 and modified my .emacs appropriately. When I open a java buffer, jde complains thusly: JDEE requires a version of CEDET between 1.0beta2 and 1.0 (found 1.0pre3) I'm running jde version 2.3.5. Is this expected? Should I back out the CEDET pre release or is there some other problem? Thanks in advance to anyone who can set me straight. -exits __ Yahoo! Mail Stay connected, organized, and protected. Take the tour: http://tour.mail.yahoo.com/mailtour.html
Java 1.5 Generics and Javadoc
Bill Rushmore writes: --text follows this line-- Please enter the details of your bug report here The JDEE Javadoc tool does not work on method signatures with Java 1.5 generics (i.e. ListString). Hi Bill, Thanks for reporting this problem. I plan to address this and other problems that people have reported after I finish restructuring the JDEE's JDEbug and jdb interfaces. I've made a lot of progress on this effort and expect to finish it within the next two months at which point I will release a beta of the next JDEE release. Paul Emacs : GNU Emacs 22.0.50.1 (sparc-sun-solaris2.10, X toolkit, Xaw3d scroll bars) of 2005-07-23 on hornet Package: JDE version 2.3.5 Required packages: cedet-1.0beta3 current state: == (setq jde-gen-session-bean-template '((jde-import-insert-imports-into-buffer (list \javax.ejb.*\ \java.rmi.RemoteException\)) ' (jde-wiz-update-implements-clause \SessionBean\) ' (jde-gen-method-signature \public\ \void\ \ejbActivate\ nil \RemoteException\ ) ' (if jde-gen-kr () 'n) \{\''n \}\''n 'n (jde-gen-method-signature \public\ \void\ \ejbPassivate\ nil \RemoteException\ ) ' (if jde-gen-kr () 'n) \{\''n \}\''n 'n (jde-gen-method-signature \public\ \void\ \ejbRemove\ nil \RemoteException\ ) ' (if jde-gen-kr () 'n) \{\''n \}\''n 'n (jde-gen-method-signature \public\ \void\ \setSessionContext\ \SessionContext ctx\ \RemoteException\ ) ' (if jde-gen-kr () 'n) \{\''n \}\''n 'n (jde-gen-method-signature \public\ \void\ \unsetSessionContext\ nil \RemoteException\ ) ' (if jde-gen-kr () 'n) \{\''n \}\''n 'n ') jde-gen-beep '((end-of-line) ' \Toolkit.getDefaultToolkit().beep();\''n') jde-complete-signature-display '(Eldoc) jde-gen-equals-parens-around-expression nil jde-project-name default jde-which-method-format '([ jde-which-method-current ]) jde-run-classic-mode-vm nil jde-complete-unique-method-names nil jde-find-granularity '(Character) jde-which-method-max-length 20 jde-javadoc-gen-nodeprecatedlist nil jde-imenu-include-classdef t jde-javadoc-gen-link-online nil jde-complete-display-result-type
RE: max-lisp-eval-depth error when click java menu in jde-mode
Baoliang Liu writes: I noticed you have sent me a responding email but it is blank. I don't know if it is left blank intentionally. No. I didn't realize that I replied. The problem is still exists, I redescribe my problem below: My GNU¡emacs version 22.0.51.1 (i386-mingw-nt5.1.2600)£I directly compiled the emacs source from cvs with MinGW3.1. I do not try to keep the JDEE up-to-date with development versions of Emacs. The latest version of the JDE was developed against Emacs 21.3.1. It is not guaranteed to work against any later versions of Emacs. I installed elib from jde web site and cedet 1.0beta3b and jdt-latest.zp for windows, I noticed that other version of cedet couldn't work with jde on my emacs. I use Windows XP sp2. When emacs startup, there are warnings as below: Note, built-in variable `x-use-old-gtk-file-dialog' not bound Note, built-in variable `x-use-underline-position-properties' not bound jde-java-font-lock: building names cache...empty I installed jde according to the installation guide. When I open java source file, there are only jde and java menu, no JMaker, Senator and jdb menu When I click jde or java menu, the following error occurs: Debugger entered--Lisp error: (error Lisp nesting exceeds max-lisp-eval-depth) (fboundp (quote ange-ftp-ftp-name)) (and (fboundp (quote ange-ftp-ftp-name)) (ange-ftp-ftp-name dir)) (cond ((and ... ...) (ange-ftp-get-file-entry parent)) ((eq system-type ...) (or ... ... ...)) ((member system-type ...) (or ... ... ... ... ...)) (t (or ... ...))) (let ((parent ...)) (cond (... ...) (... ...) (... ...) (t ...))) jde-root-dir-p(d:/) (not (jde-root-dir-p dir)) (if (not (jde-root-dir-p dir)) (jde-find-project-file (expand-file-name .. dir))) (if file (expand-file-name file dir) (if (not ...) (jde-find-project-file ...))) (let* ((directory-sep-char 47) (file ...)) (if file (expand-file-name file dir) (if ... ...))) jde-find-project-file(d:/) (if (not (jde-root-dir-p dir)) (jde-find-project-file (expand-file-name .. dir))) (if file (expand-file-name file dir) (if (not ...) (jde-find-project-file ...))) (let* ((directory-sep-char 47) (file ...)) (if file (expand-file-name file dir) (if ... ...))) jde-find-project-file(d:/) It appears that the version of Emacs that you are using breaks the code used by JDEE to search for a project file. The search algorithm starts the search from the directory containing the source file and proceeds recursively up to the directory's root. The algorithm uses some special case handling to handle the cases where the root may be on a network file system. If the root detection fails, the root search recurses endlessly, producing the error that you see. I am spending my time at the moment restructuring the JDEE's debugger interface. I have put all other work on hold until I complete this task. Thus, I won't have time to investigate this or other compatibility problems until I finish the debugger interface updates. Meanwhile, I suggest that you either revert to an earlier, compatible version of Emacs or try to fix the recursion problem yourself. If you do find a fix, please submit it to the JDEE list and I will include it in the sources. Paul Best Regards -Baoliang -Original Message- From: Paul Kinnucan [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 14, 2005 10:55 PM To: Baoliang Liu Subject: max-lisp-eval-depth error when click java menu in jde-mode
Re: cygwin emacs path problem
Ed Mooney writes: Now I'm confused. Is the version of emacs[1] you can install by running http://cygwin.com/setup.exe A or B? I had thought it was A. If not, where can I get A? Hi Ed, I thought A was still available. My knowledge is very hazy on cygwin as my own dealings with it were only to test out changes to the JDEE intended to support it. Perhaps B replaced A. Anyway, I believe A was developed before Cygwin supported X Windows and thus included source changes to use the native Windows GUI. I believe B was made possible by the porting of X Windows to Cygwin. This enables Cygwin to support a binary compiled directly from the Unix sources for Emacs, without any Windows-specific modifications. I don't know if the JDEE takes advantage of any A modifications that are missing from the B version. It would help if anyone can shed any light on this question as this would enable me to determine how much work would be needed to enhance the JDEE to support the B version. Paul -- Ed [1] E.g.: http://mirrors.rcn.net/pub/sourceware/cygwin/release/emacs/ Jason Rumney wrote: Paul Kinnucan wrote: Hi Felix, As I understand it, there are two versions of cygwin emacs: (A) a version of Unix Emacs modified specifically to run in the Cygwin environment and (B) the standard Unix version of Emacs compiled, using cygwin gcc, to run in the Cygwin environment JDEE supports the A version. It does not support the B version. The reason for this is that years ago, long before the B-version existed, some JDEE users asked for A version support and some of those users actually contributed code necessary to support the A version. Meanwhile, until now, there has been no demand for B-version support. Really this is a cygwin problem. A cygwin version of Emacs needs to be modified to fit its environment, as the 'A' version was. I'm not sure what happened to those patches, but it is unreasonable of the Cygwin maintainers to expect the maintainers of every other package to make changes to accomodate Cygwin's lack of fitting in with its environment so that they themselves can use unmodified code targetted at GNU/Linux.
Re: cygwin emacs path problem
Chris McMahan writes: Cygwin has a version of emacs available that will run in console when running the XP window manager, or run in GUI under an X environment (which also comes with Cygwin). Whether GUI or console, the issues with path interactions with XP remain. The native XP version of Emacs does not need Cygwin to run, but it is very helpful to have it installed. This provides the use of various tools such as grep, ls, find and such that makes Emacs a happy camper to play with. I use the native XP version of Emacs with the Cygwin tools. This is the setup that I would recommend to other JDEE users for the following reason. Both the native XP version of Emacs and the Cygwin tools understand Windows paths. The Cygin version of Emacs on the other hand does not understand Windows paths. This complicates the JDEE's handling of paths. Paul I hope this helps a little to clarify. - Chris McMahan Paul Kinnucan writes: Ed Mooney writes: Now I'm confused. Is the version of emacs[1] you can install by running http://cygwin.com/setup.exe A or B? I had thought it was A. If not, where can I get A? Hi Ed, I thought A was still available. My knowledge is very hazy on cygwin as my own dealings with it were only to test out changes to the JDEE intended to support it. Perhaps B replaced A. Anyway, I believe A was developed before Cygwin supported X Windows and thus included source changes to use the native Windows GUI. I believe B was made possible by the porting of X Windows to Cygwin. This enables Cygwin to support a binary compiled directly from the Unix sources for Emacs, without any Windows-specific modifications. I don't know if the JDEE takes advantage of any A modifications that are missing from the B version. It would help if anyone can shed any light on this question as this would enable me to determine how much work would be needed to enhance the JDEE to support the B version. Paul -- Ed [1] E.g.: http://mirrors.rcn.net/pub/sourceware/cygwin/release/emacs/ Jason Rumney wrote: Paul Kinnucan wrote: Hi Felix, As I understand it, there are two versions of cygwin emacs: (A) a version of Unix Emacs modified specifically to run in the Cygwin environment and (B) the standard Unix version of Emacs compiled, using cygwin gcc, to run in the Cygwin environment JDEE supports the A version. It does not support the B version. The reason for this is that years ago, long before the B-version existed, some JDEE users asked for A version support and some of those users actually contributed code necessary to support the A version. Meanwhile, until now, there has been no demand for B-version support. Really this is a cygwin problem. A cygwin version of Emacs needs to be modified to fit its environment, as the 'A' version was. I'm not sure what happened to those patches, but it is unreasonable of the Cygwin maintainers to expect the maintainers of every other package to make changes to accomodate Cygwin's lack of fitting in with its environment so that they themselves can use unmodified code targetted at GNU/Linux. -- Chris McMahan | [EMAIL PROTECTED]
if completion
Hi John, Abbreviations are turned off by default. You must turn them on explicitly. See Abbreviations in the JDEE User's Guide for more info. Paul John Russell writes: The last time I used JDEE if I typed if or for it generated the appropriate block of code. This no longer happens. I see the corresponding jde-gen* variables for these, but how are they called? I know I can do the ol' Alt-x type solution, but that takes almost as long as typing the block. How do people usually do this now. Thanks. John
Re: Project settings...
Ping Liang writes: there is no dialog associated with these options so I'm a bit puzzled by your description of your problem. One of the things I noticed when I first used the latest nqmacs build is that it pops up with the dialog when I do File-New File... or File-Open File... Why wouldn't/shouldn't jdee pop up a dialog when it is prompting the user for file names? I think this is a good thing (too bad jdee does not work with it). You may not have explicitly programmed this; maybe you implicitly turn that feature off in your environment? I have use-dialog-box set to nil usually. I set it to t to verify the problem you reported the other night and still did not get the dialog box on nqmacs. I tried again this evening and this time I do get the dialog box and the problem you reported. However, the problem is not in the JDEE but in nqmacs. The JDEE uses a standard Emacs Lisp feature, the (interactive Dprompt) option, to prompt the user for the directory in which to store the project file. I verified that even when use-dialog-box is turned on in a previous verion, this option does not display a dialog box. Apparently, the Emacs developers decided to update the (interactive Dprompt) option to use the dialog box but did not check to ensure that it actually works. I will report this bug. may I suggest that it is not the best strategy to try to learn to use the JDEE with a developmental version of Emacs. This is exactly the reason why I only recently upgraded to nqmacs from the gnu production windows build, after learning jdee everyday for several years. I have no choice. The combination of all dependancies of jdee including gnu emacs windows build itself is relatively buggy. Things wouldn't work after a while, like a busy half of a day; I have to restart emacs to make things work again. (I thought this trick is needed only for Windows.) Besides, there are good features in nqmacs, including things outside of jdee. Also, I only tried this for around a week and I feel that it is more stable already. By the way, I am always wondering how big a project jdee can handle. I wouldn't think a couple of thousand of java class files and half dozen projects to switch in between would be a big deal for emacs/jdee, but it seems to show limitation already. What limitations? When I test with jdee, I use some dummy class files and one simple project file, it almost always works (except the dialog thing above, of course). In fact, some incompatibilities have already surfaced. I think I just posted one of these problems a couple of days ago (it has to do with jde-run-option-classpath), so this is not new to me. I don't think I can affort to wait for the announcement that everything is OK before I use it. Emacs is the only thing I use, for java or else. As long as the bugs (or imcompatibilities) are not impacting my productivity so much as to miss the deadlines, I don't a problem with it. A very bad idea. For better or worse, it sometimes was the only way I can put a prj.el in the directory I wanted. I don't have much of problem with emacs' customization feature per se. I will try to adjust my habit a bit in the future.
jde-ant-build's seperator problem
[EMAIL PROTECTED] writes: I'm using nqmacs+jdee2.3.5 on winxp without cygwin. When I use jde-ant-build, I encounter the compilation buffer that say ...build.xml does not exist. After I traced jde-ant.el. I found the problem that file seperator should be ,not '. The single quote works for me with nqmacs on Windows XP: -*- mode: compilation; default-directory: ~/jde-dev/jmath/src/jmath/ -*- ant -Dant.home=c:/java/apache-ant-1.6.2 -buildfile 'c:/home/jde-dev/jmath/build.xml' -emacs clean Buildfile: c:\home\jde-dev\jmath\build.xml clean: Deleting directory C:\home\jde-dev\jmath\classes BUILD SUCCESSFUL Total time: 0 seconds Compilation finished at Fri Mar 11 23:50:33 Paul *** d:/emacs-22/site-lisp/jde-2.3.5/lisp/jde-ant.el Wed Mar 9 11:17:09 2005 --- d:/emacs-22/site-lisp/jde-2.3.5/lisp/jde-ant.org.el Fri Dec 17 12:29:38 2004 *** *** 250,257 (string= (car jde-ant-invocation-method) Java) (and (string= (car jde-ant-invocation-method) Script) ! (not (featurep 'xemacs)) ! (not (eq system-type 'windows-nt;;;zhangyin's hack ' \)) (ant-program (if (or (string-match jde-ant-program) --- 250,256 (string= (car jde-ant-invocation-method) Java) (and (string= (car jde-ant-invocation-method) Script) ! (not (featurep 'xemacs ' \)) (ant-program (if (or (string-match jde-ant-program)
running programs inside jdee...
Hi Ping, Please post a complete problem report. Paul Ping Liang writes: Hi, I have been running java programs within jdee for a while and it worked fine. Since I installed 2.3.5, jde-run does not work anymore. With the exact setting I had with 2.3.4beta5, running jde-run would yield the following stack trace. Any hints? Debugger entered--Lisp error: (wrong-type-argument stringp (/path/to/classes/one /path/to/classes/two)) jde-run-vm([object jde-run-vm-1-4 JDK 1.4 vm 1.4 c:/j2sdk1.4.2/bin/javaw.exe unbound my.main.class.MainClass]) apply(jde-run-vm [object jde-run-vm-1-4 JDK 1.4 vm 1.4 c:/j2sdk1.4.2/bin/javaw.exe unbound my.main.class.MainClass]) eieio-generic-call(jde-run-classpath-arg ([object jde-run-vm-1-4 JDK 1.4 vm 1.4 c:/j2sdk1.4.2/bin/javaw.exe unbound my.main.class.MainClass])) jde-run-classpath-arg([object jde-run-vm-1-4 JDK 1.4 vm 1.4 c:/j2sdk1.4.2/bin/javaw.exe unbound my.main.class.MainClass]) jde-run-vm-1-4([object jde-run-vm-1-4 JDK 1.4 vm 1.4 c:/j2sdk1.4.2/bin/javaw.exe unbound my.main.class.MainClass]) apply(jde-run-vm-1-4 [object jde-run-vm-1-4 JDK 1.4 vm 1.4 c:/j2sdk1.4.2/bin/javaw.exe unbound my.main.class.MainClass]) eieio-generic-call(jde-run-get-vm-args ([object jde-run-vm-1-4 JDK 1.4 vm 1.4 c:/j2sdk1.4.2/bin/javaw.exe unbound my.main.class.MainClass])) jde-run-get-vm-args([object jde-run-vm-1-4 JDK 1.4 vm 1.4 c:/j2sdk1.4.2/bin/javaw.exe unbound my.main.class.MainClass]) jde-run-vm([object jde-run-vm-1-4 JDK 1.4 vm 1.4 c:/j2sdk1.4.2/bin/javaw.exe unbound my.main.class.MainClass]) apply(jde-run-vm [object jde-run-vm-1-4 JDK 1.4 vm 1.4 c:/j2sdk1.4.2/bin/javaw.exe unbound my.main.class.MainClass]) eieio-generic-call(jde-run-vm-launch ([object jde-run-vm-1-4 JDK 1.4 vm 1.4 c:/j2sdk1.4.2/bin/javaw.exe unbound my.main.class.MainClass])) jde-run-vm-launch([object jde-run-vm-1-4 JDK 1.4 vm 1.4 c:/j2sdk1.4.2/bin/javaw.exe unbound my.main.class.MainClass]) jde-run(1) call-interactively(jde-run) recursive-edit() byte-code(...) Regards, Ping
Help on installation
Yuri Tijerino writes: OK, I am a bit frustrated and would like to get some help getting my JDEE up and running on xemacs. Here is my configuration. * Xemacs 21.4.15 on cygwin * Windows XP professional Here is what I did: * Deleted the 'jde' directory from /usr/share/xemacs/xemacs-packages You have to delete the XEmacs/xemacs-packages/etc/jde directory. If you don't, the JDEE will try to load old jar files from the etc/jde directory. See the installation instructions on the JDEE website for more info. * I downloaded the Arthur Hefcyc's install-jde.sh and changed some paths to make it run on my environment. Here is the result of that run. I think it fiinishes without errors, but when I restart Xemacs and try to run the command 'jde-jdb' and I get the error on the mini-edit window: invalid slot type: jde-db-jdb-1.4 :path, string, nil I am kind of lost. Can you help, please? Try running this command again. Then use the JDE-Help-Submit Problem Report to create a snapshot of your system and post it to this list. Paul Yuri $ source install-jde.sh Warning! Please note, this script now uses CEDET - all in one packages instead of separate packages for additional tools like: EIEIO, SEMANTIC and SPEEDBAR. Don't forget to change load-path settings to include 'cedet/package' instead of separate 'package'. You can do it just to replace existings setting with one simple: (load-file ~/.xemacs/site-lisp/cedet/common/cedet.el) 00:09:03 URL:http://jdee.sunsite.dk/jde-latest.tar.gz [3699059/3699059] - jde-tmp/jde.tar.gz [1] 00:09:09 URL:http://jdee.sunsite.dk/elib-1.0.tar.gz [58335/58335] - jde-tmp/elib.tar.gz [1] 00:09:26 URL:http://heanet.dl.sourceforge.net/sourceforge/cedet/cedet-1.0beta3b.tar.gz [1268732/1268732] - jde-tmp/cedet.tar.gz [1] 00:09:32 URL:http://www.beanshell.org/bsh-2.0b2.jar [280737/280737] - jde-tmp/bsh.jar [1] tar (GNU tar) 1.13.25 Copyright (C) 2001 Free Software Foundation, Inc. This program comes with NO WARRANTY, to the extent permitted by law. You may redistribute it under the terms of the GNU General Public License; see the file named COPYING for details. Written by John Gilmore and Jay Fenlason. Warning! Please note, this script now uses CEDET - all in one packages instead of separate packages for additional tools like: EIEIO, SEMANTIC and SPEEDBAR. Don't forget to change load-path settings to include 'cedet/package' instead of separate 'package'. You can do it just to replace existings setting with one simple: (load-file ~/.xemacs/site-lisp/cedet/common/cedet.el) $
Re: Buffer is read-only: #buffer *compilation*
Hi Martin, I applied your patch to the CVS version of jde-compile.el. Thanks, Paul Martin Schwamberger writes: Javier S. Lopez wrote: Paul Kinnucan [EMAIL PROTECTED] writes: There are probably a few ways to work around the problem 1. Set the inhibit-read-only flag 2. Make our compiles a minor mode or rewrite the way we use it. There is a new method compile-setup that takes a flag that allows you to control this behavior. Hi Javier, I've changed jde-compile.el according to your first idea. See diff below. I will point you to the email thread where Richard Stallman talks about it. I don't agree with him, I think Stefan Monnier is right on this one. http://lists.gnu.org/archive/html/emacs-devel/2004-11/msg8.html IMHO, RMS is right here. Programs can easily change read-only compilation buffers and users shouldn't. Martin Javier Javier S. Lopez writes: Anderson, Timothy K [EMAIL PROTECTED] writes: Hi, Using GNU Emacs CVS, JDE 2.3.4, CEDET 1.0beta3b. When trying to compile code with C-C C-V C-C, I am getting the following error: save-excursion: Buffer is read-only: #buffer *compilation* This looks familiar... I had the problem when running the latest emacs from cvs. All the compilation buffers are read only, I don't know what a good fix for this is. I just changed the compile.el file to avoid making the buffers readonly. But we probably need a better fix for this. How can the compilation buffers be read-only and allows error and other messages to be written into them? This sounds like a bug in the CVS version of Emacs. Paul Javier This happens every time - I think I have tried almost every combination of customize variables (at least, it feels that way). Has anyone else seen this? What should I do to find the cause? Thanks for any help. Tim Anderson CONFIDENTIALITY This e-mail and any attachments are confidential and also may be privileged. If you are not the named recipient, or have otherwise received this communication in error, please delete it from your inbox, notify the sender immediately, and do not disclose its contents to any other person, use them for any purpose, or store or copy them in any medium. Thank you for your cooperation. -- Javier S. Lopez Software Developer Forum Systems, Inc. 95 Sawyer Road, Suite 110, Waltham, MA 02453 http://www.forumsys.com The information contained in this electronic mail and any attached document is the confidential and proprietary business information of Forum Systems, Inc. It is intended solely for the addressed recipient listed above. It may not be distributed in any manner without the express written consent of Forum Systems, Inc. diff -u jde-compile.el.old jde-compile.el --- jde-compile.el.old 2004-12-17 05:29:36.0 +0100 +++ jde-compile.el 2005-01-25 13:14:47.585153200 +0100 @@ -714,24 +714,23 @@ (save-excursion (set-buffer outbuf) - - (insert (format cd %s\n default-directory)) - - (insert (concat - compiler-path - - (mapconcat (lambda (x) -(if (and flag - jde-compile-option-hide-classpath) -(progn - (setq flag nil) - ...) - (if (not (string= x -classpath)) - x -(progn - (setq flag t) - x args ) - \n\n)) + (let ((inhibit-read-only t)) ; make compilation buffer temporarily writable +(insert (format cd %s\n default-directory)) +(insert (concat + compiler-path + + (mapconcat (lambda (x) + (if (and flag + jde-compile-option-hide-classpath) + (progn +(setq flag nil) +...) +(if (not (string= x -classpath)) +x + (progn +(setq flag t) +x args ) + \n\n
java folding
Guy Thomas writes: I have never used emacs or jde-folding. Is it available? Yes. Is it easy to use? Yes. Do I have to install extra packages, do I have to add something to my .emacs file? No. See Hideshow in the Editing Programs section of the Emacs editor documentation. Paul -- Guy Thomas[EMAIL PROTECTED] fks bvba - Formal and Knowledge Systems http://www.fks.be/ Stationsstraat 108Tel: ++32-(0)11-21 49 11 B-3570 ALKEN Fax: ++32-(0)11-22 04 19
Jde-plugin-minor-mode and jde-jdb-minor-mode only xemacs?
Timothy Babin writes: Okay, I don't know these frameworks really well but I was trying to shorten my mode-line information and came across this. Are the jde-plugin-minor-mode and jde-jdb-minor modes only for xemacs? Hi Timothy, I believe these modes are only for XEmacs to enable addition of a menu. However, it's been a long time since I visited this code so I want to check before adopting your suggestions. Paul If so can we wrap there loading in jde-mode with a check for xemacs? (if (featurep 'xemacs) (progn ;; Install debug menu. (if (string= (car jde-debugger) JDEbug) (jde-bug-minor-mode 1) (jde-jdb-minor-mode 1)) ;; Install plugin menu. (jde-plugin-minor-mode 1)) ) Also, what about a call to semantic mode line update at the end of jde-jdb-minor-mode and jde-plugin-minor-mode to remove the modes from the modeling (if (featurep 'xemacs) (let ((menu-spec (jde-plugin-make-menu-spec))) (if menu-spec (if jde-plugin-minor-mode (easy-menu-add menu-spec jde-plugin-mode-map) (easy-menu-remove menu-spec) (semantic-mode-line-update) ) !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 3.2//EN HTML HEAD META HTTP-EQUIV=Content-Type CONTENT=text/html; charset=us-ascii META NAME=Generator CONTENT=MS Exchange Server version 5.5.2658.2 TITLEJde-plugin-minor-mode and jde-jdb-minor-mode only xemacs?/TITLE /HEAD BODY PFONT FACE=ArialOkay, I don't know these frameworks really well but I was trying to shorten my mode-line information and came across this./FONT/P BR BR PFONT FACE=ArialAre the jde-plugin-minor-mode and jde-jdb-minor modes only for xemacs?/FONT /P PFONT FACE=ArialIf so can we wrap there loading in jde-mode with a check for xemacs?/FONT /P PFONT FACE=Arialnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; (if (featurep 'xemacs)/FONT BRFONT FACE=Arialnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; (progn/FONT BRFONT FACE=Arialnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; ;; Install debug menu./FONT BRFONT FACE=Arialnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; (if (string= (car jde-debugger) quot;JDEbugquot;)/FONT BRFONT FACE=Arialnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; (jde-bug-minor-mode 1)/FONT BRFONT FACE=Arialnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; (jde-jdb-minor-mode 1))/FONT /P PFONT FACE=Arialnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; ;; Install plugin menu./FONT BRFONT FACE=Arialnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; (jde-plugin-minor-mode 1))/FONT BRFONT FACE=Arialnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; )/FONT /P BR PFONT FACE=ArialAlso, what about a call to semantic mode line update at the end of jde-jdb-minor-mode and jde-plugin-minor-mode to remove the modes from the modeling/FONT/P PFONT FACE=Arialnbsp; (if (featurep 'xemacs)/FONT BRFONT FACE=Arialnbsp;nbsp;nbsp;nbsp;nbsp; (let ((menu-spec (jde-plugin-make-menu-spec)))/FONT BRnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; FONT FACE=Arial(if menu-spec/FONT BRnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; FONT FACE=Arialnbsp;nbsp;nbsp; (if jde-plugin-minor-mode/FONT BRnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; FONT FACE=Arial(easy-menu-add menu-spec jde-plugin-mode-map)/FONT BRnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; FONT FACE=Arialnbsp;nbsp;nbsp;nbsp;nbsp; (easy-menu-remove menu-spec)/FONT BRFONT FACE=Arialnbsp;(semantic-mode-line-update)/FONT BRFONT FACE=Arial) /FONT /P /BODY /HTML
Re: Increasing memory for JDEbug
Troy Daniels writes: At 03:59 PM 1/18/2005, Paul Kinnucan wrote: Troy Daniels writes: Hello, Is it possible to allocate more memory for the debugger process? I'm running into a problem where jde.debugger.Main is running out of memory. One of my local variables is a very long string (about 10 Mb) and the debugger process runs out of memory when it tries to display it. Hi Troy, Try increasing jde-db-option-heap-size. If this doesn't work, let me know. The maximum is already set at 1000 Mb. Looking at the *JDEbug* buffer, I don't think that's the right option for the problem I'm having. A partial excerpt of the *JDEbug* buffer: cd d:/dev/logging_reorg_import/KBR_ISD_VOB/Jaguar_Plan_Generator_Component/products/PGTest/test c:/j2sdk1.4.2_04/bin/javaw.exe -classpath d:/Programs/emacs-21.2/site-lisp/jde/java/lib/jde.jar;c:/j2sdk1.4.2_04/lib/tools.jar jde.debugger.Main JDE -1 1 launch 1 -vmexec javaw -classpath deleted -Xms400m -Xmx1000m junit.textui.TestRunner com.alphatech.kbr.jaguar.pgtest.test.NightlyTests I don't need to change the values in the launch command, I want to add them to the javaw ... jde.debugger.Main command. The program creates a StringBuffer for a 10 Mb string. That works fine. When I step a few lines further and stringBuffer.toString is assigned to a local String variable, I get an java.lang.OutOfMemory message in the JDEbug buffer and the local variable window starts to act funky. (It sometimes leaves portions drawn in solid grey.) Hi Troy, Try setting jde-db-option-vm-args to the vm command line option for the heap size. Unfortunately, I don't remember the option name. I think this will set the heap for the debugger as opposed to the heap for the process being debugged. Let me know what happens. Paul Troy Paul Troy Troy Daniels [EMAIL PROTECTED] 781-273-3388 x218 Troy Daniels [EMAIL PROTECTED] 781-273-3388 x218
Re: JDE and Java 1.5
Wolfgang Pausch writes: Hello, I have no recollection or record of receiving your email. I may have missed it in all the junk I get, especially as over Christmas, always a busy time personally, I was involved in a high priority project at work and was not able to winnow the email wheat from the chaff with as much care as usual. Or your email may have triggered my employer's spam filter. Is it correct that the adress [EMAIL PROTECTED] instead of the one you wrote [EMAIL PROTECTED] is not my personal address. Paul from now is inserted into the problem-report (as of jde 2.3.4beta6, I am not on the system with 2.3.5 currently)? Please, if I don't respond in a few days, send me another email. If no, when can we expect that? Is there some workaround? How much code needs to be added in order to add support for running a 1.5 Java-VM? I have 1.5 installed on my Windows XP machine and have no problems using it with the JDEE. The error trace that you sent indicates that the code is expecting a string and is getting a list of strings. This suggests that you have set a customization variable incorrectly. I now found the reason: I reused my old prj.el-file, with jde-run-option-classpath set. However, jde-run-option-classpath seems to have changed to be a value-menu with options global, local, none. Removing it manually from prj.el and setting it again worked. Thanks, Wolfgang
JDE : Unable to get Code Completion to work...
viraj purang writes: (B I am relatively new to JDEE and while I find emacs very useful, I (B don't know much about LISP either. My problem is that I am unable to (B get "Code Completion" to work. (B (B If I I try something as small as (B == (B // LoanBean.java (B (B imp(want this to be completed to import to start with) (B == (B M-x jde-complete says . "No completion at this point" (B M-x jde-complete-inline says . "No completion at this point" (B M-x jde-complete-minibuf says . "No completion at this point" (B M-x jde-complete-pop-message says . call-interactively: Wrong number (B of arguments: #[(message buffer-or-name) ",AF(B!,AG(B!p,AH(B (B ,AI(B!,AJ(B$,1!R(B! (B (B Can you someone please help me ... (B FYI, I am also using ecb in this installation. (B (BPlease read the JDEE user's guide where you will discover that (B (B* jde-complete is for completing user-defined Java symbols, e.g., class and (Bclass member names. (B (B* To complete Java keywords, such as import, turn on abbrev-mode (JDE-Code (BGeneration-Modes-Abbrev). (B (B* The JDEE has a very nice facility for generating a complete import (B statement for the class at point or all classes in the current buffer. (B (BPaul
JDE and Java 1.5
Wolfgang Pausch writes: Hello, I currently try to set up JDE 2.3.5 with emacs on a Debian-amd64-system with Java 1.5. Installing was no problem, however I again run into problems when trying to execute run for my project. It simply says wrong-type-argument stringp (I have attached the backtrace). I have looked a bit into the mentioned functions and noticed that jde-run-get-vm-args is a generic function with implementations for - if I read that right - Java 1.1 to Java 1.4. The JDEE lisp code that supports the JDK is object-oriented in order to allow reuse of code for earlier JDK versions in the code for later versions. In particular, the lisp class for 1.5 inherits its methods, including jde-run-get-vm-args, from the class for 1.5. I have not yet gotten around to examining whether there are any vm arguments particular to 1.5 that would require a 1.5-specific implementation of jde-run-get-vm-args. So does JDE support Java 1.5 at all at the moment? Yes, it supports the Java 1.4 features in 1.5. It does not support some of the new syntactic features, such as generics and assertions. (I already sent a problem-report to Paul about a similar problem several weeks ago, when I couldn't set jde-jdk to a 1.5-jdk for longer than the current session, but got no answer --- however, the current problem is a bit more annoying than the old one). I have no recollection or record of receiving your email. I may have missed it in all the junk I get, especially as over Christmas, always a busy time personally, I was involved in a high priority project at work and was not able to winnow the email wheat from the chaff with as much care as usual. Or your email may have triggered my employer's spam filter. Please, if I don't respond in a few days, send me another email. If no, when can we expect that? Is there some workaround? How much code needs to be added in order to add support for running a 1.5 Java-VM? I have 1.5 installed on my Windows XP machine and have no problems using it with the JDEE. The error trace that you sent indicates that the code is expecting a string and is getting a list of strings. This suggests that you have set a customization variable incorrectly. Please submit a complete problem report so that I can see how you have configured the JDEE. Paul Thanks for answers, Wolfgang Debugger entered--Lisp error: (wrong-type-argument stringp (~/Programmieren/CivQuest/civquest ~/Programmieren/CivQuest/civquest/classes ~/Programmieren/SwiFu/swifu ~/Programmieren/SwiFu/swifu/classes)) jde-run-vm([object jde-run-vm-1-5 JDK 1.5 vm 1.5 /usr/local/lib/jdk1.5.0/bin/java unbound civquest.swing.CivQuest]) apply(jde-run-vm [object jde-run-vm-1-5 JDK 1.5 vm 1.5 /usr/local/lib/jdk1.5.0/bin/java unbound civquest.swing.CivQuest]) eieio-generic-call(jde-run-classpath-arg ([object jde-run-vm-1-5 JDK 1.5 vm 1.5 /usr/local/lib/jdk1.5.0/bin/java unbound civquest.swing.CivQuest])) jde-run-classpath-arg([object jde-run-vm-1-5 JDK 1.5 vm 1.5 /usr/local/lib/jdk1.5.0/bin/java unbound civquest.swing.CivQuest]) jde-run-vm-1-4([object jde-run-vm-1-5 JDK 1.5 vm 1.5 /usr/local/lib/jdk1.5.0/bin/java unbound civquest.swing.CivQuest]) apply(jde-run-vm-1-4 [object jde-run-vm-1-5 JDK 1.5 vm 1.5 /usr/local/lib/jdk1.5.0/bin/java unbound civquest.swing.CivQuest]) eieio-generic-call(jde-run-get-vm-args ([object jde-run-vm-1-5 JDK 1.5 vm 1.5 /usr/local/lib/jdk1.5.0/bin/java unbound civquest.swing.CivQuest])) jde-run-get-vm-args([object jde-run-vm-1-5 JDK 1.5 vm 1.5 /usr/local/lib/jdk1.5.0/bin/java unbound civquest.swing.CivQuest]) jde-run-vm([object jde-run-vm-1-5 JDK 1.5 vm 1.5 /usr/local/lib/jdk1.5.0/bin/java unbound civquest.swing.CivQuest]) apply(jde-run-vm [object jde-run-vm-1-5 JDK 1.5 vm 1.5 /usr/local/lib/jdk1.5.0/bin/java unbound civquest.swing.CivQuest]) eieio-generic-call(jde-run-vm-launch ([object jde-run-vm-1-5 JDK 1.5 vm 1.5 /usr/local/lib/jdk1.5.0/bin/java unbound civquest.swing.CivQuest])) jde-run-vm-launch([object jde-run-vm-1-5 JDK 1.5 vm 1.5 /usr/local/lib/jdk1.5.0/bin/java unbound civquest.swing.CivQuest]) jde-run(1) * call-interactively(jde-run)
Problems with some jde-javadoc-gen customizations
Lenz, Georg writes: Hei under NTEmacs (with cygwin) I experiencing various problems with jde-gen-javadoc settings: ;; Does not work on windows (works under Linux?!) jde-javadoc-gen-doc-title Some API jde-javadoc-gen-window-title Some API jde-javadoc-gen-overview some url This was caused by inadvertent double quoting, first by the JDEE and then by Emacs, of string arguments passed by Emacs to the javadoc process. I have fixed this in the latest version of the source for jde-javadoc-gen.el, which you can download from the JDEE's source repository. ;; Does not work at all ! e.g. increasing the memory with -J- jde-javadoc-gen-args (quote ( -J-Xmx180m)) In what sense does this not work? I tried this option exactly as you specifed and it works fine on NTEmacs, i.e., the option appears on the command line as -J-Xmx180m and javadoc does not complain. Paul The last one is really bad because it is almost always needed and renders jde-javadoc-make useless for all but the smallest projects. The versions of NTEmacs is latest JDE latest but one. Any fixes available Regards Georg Lenz
Re: bsh-exit doesn't work in JDE 2.3.4
Jon Schewe writes: On Tue, 2004-12-21 at 22:06, Paul Kinnucan wrote: Jon Schewe writes: Please enter the details of your bug report here Calling bsh-exit results in the following stack trace. Jon, Starting in JDEE 2.3.4, to terminate the JDEE's instance of the beanshell, execute M-x jde-bsh-exit. Thanks. It might be a good idea to remove bsh-exit then... No. As the JDEE release notes stated at some point, I restructured beanshell.el so that it is a package in its own right that can be used independently of the JDEE. The package includes the ability for the user to start an instance of the beanshell, using bsh-exit, interact with it, and then shut it down, using bsh-exit. This made it necessary to create equivalent commands for starting and terminating, the JDEE's instance of the beanshell, which has additional functionality not necessary and hence not included in the standalone instance. Paul Your mouse has moved. Windows must restart for change to take effect. Reboot now? [OK] http://web-unix.htc.honeywell.com/people/jschewe [Honeywell Intranet Only] *My views may not represent those of my employers !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 TRANSITIONAL//EN HTML HEAD META HTTP-EQUIV=Content-Type CONTENT=text/html; CHARSET=UTF-8 META NAME=GENERATOR CONTENT=GtkHTML/3.0.10 /HEAD BODY On Tue, 2004-12-21 at 22:06, Paul Kinnucan wrote: BLOCKQUOTE TYPE=CITE PREFONT COLOR=#737373IJon Schewe writes: gt; gt; Please enter the details of your bug report here gt; gt; Calling bsh-exit results in the following stack trace. Jon, Starting in JDEE 2.3.4, to terminate the JDEE's instance of the beanshell, execute M-x jde-bsh-exit. /I/FONT/PRE /BLOCKQUOTE Thanks.nbsp; It might be a good idea to remove bsh-exit then...BR BR PRETABLE CELLSPACING=0 CELLPADDING=0 WIDTH=100% TR TD HR BR Your mouse has moved.BR Windows must restart for change to take effect.BR Reboot now? [OK]BR A HREF=http://web-unix.htc.honeywell.com/people/jschewe;Uhttp://web-unix.htc.honeywell.com/people/jschewe/U/A [Honeywell Intranet Only]BR *My views may not represent those of my employers /TD /TR /TABLE /PRE /BODY /HTML
cannot read files in zip file after installing jde 2.3.5
Yoon Kyung Koo writes: After installing jde 2.3.5 I cannot read files embedded in zip or jar file. The error message is as follows : Searching for program: no such file or directory, pkunzip I use unzip instead of pkunzip. ;; use unzip instead of pkunzip (setq archive-zip-use-pkzip nil) The JDEE does not set this variable, as far as I know. Paul
Re: Problems with the bean shell
Prof. Dr. Jobst Hoffmann writes: On thursday, 16.12.2004, 16:23 -0500 Paul Kinnucan wrote: Jobst Hoffmann writes: I've worked succesfully with the jde.2.3.4betas. Now I switched over to released jde 2.3.4 and can't do anything besides editing .java-files. When I call the compiler, I get the following messages (excerpt from the log): The only change I can think of that might have affected the beanshell is the one that sets the process-connection-type to nil. Search beanshell.el for this variable and change the code to set it to t. See if that works. If it does, let me know. Otherwise file a complete problem report. Paul In the meantime I've installed jde 2.3.5 with the same result. Then I replaced the contents of the directory java by the contents of the same directory from jde-2.3.4beta6 and all worked fine (only replacing jde.jar was not sufficient). What are the differences between the versions, is there anybody with the same problem? Hi, I upgraded the JDEE to the latest version of beanshell in JDEE 2.3.4. It's possible there is some imcompatibility. To confirm, please try just replacing the version of bsh.jar in JDEE 2.3.5 with the version from 2.3.4beta6. Paul Jobst PS. In the installation guide should be mentioned that the file attributes for the documentation should be set depending where the files are stored and who installed the files. It's trivial but as a simple reminder it could be valuable. -- Prof. Dr. Jobst HoffmannTel: +49-2461-99-3159 Fachhochschule Aachen Abt. Jülich Fax: +49-2461-99-3189 Fachbereich 3 email: [EMAIL PROTECTED]
RE: [ANNOUNCEMENT] JDEE 2.3.5 available at ...
Raul Acevedo writes: In the face of world hunger, poverty, and a Republican administration, it is a small issue I can live with. :) On Fri, 2004-12-17 at 18:18 -0500, Latchezar Dimitrov wrote: Is it too big a problem for you to rename it the way you like most after d/l? If nobody has an objection, I could do the following. Provide the latest distribution under two names * jde-VERSION * jde-latest with the link on the Web page to jde-VERSION. This assumes that it doesn't matter to people who have automatic download scripts (if there still are any) that the web page is not linked to jde-latest. Paul Thanks, Latchezar -Original Message- From: Raul Acevedo [mailto:[EMAIL PROTECTED] Sent: Friday, December 17, 2004 2:24 PM To: Paul Kinnucan Cc: Britton, Chris; [EMAIL PROTECTED] Subject: RE: [ANNOUNCEMENT] JDEE 2.3.5 available at ... Actually, it would be nice if the download file were called jde-2.3.5.zip instead of always being jde-latest.zip. It makes it easier to track versions I have downloaded and installed. Raul On Fri, 2004-12-17 at 12:56 -0500, Paul Kinnucan wrote: Britton, Chris writes: Hi Paul. I'm still getting JDE 2.3.4 from jde-latest.zip at this location. Can you please confirm if jde-latest.zip contains 2.3.5? Hi Chris, I just downloaded jde-latest.zip and verified that it contains 2.3.5. It seems that at least one person has this problem shortly after every release. Apparently, there's some kind of caching of download files going on somewhere. I'm posting this reply to the JDEE mailing list as well as to Chris in the hopes that somebody who is more knowledgable about the Internet than I am can explain this phenomenon and suggest a solution to keep it from happening or recovering from it if it does happen. Regards, Paul Thanks. -- Chris Britton [EMAIL PROTECTED] -Original Message- From: Paul Kinnucan [mailto:[EMAIL PROTECTED] Sent: Friday, December 17, 2004 8:07 AM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: [ANNOUNCEMENT] JDEE 2.3.5 available at ... http://jdee.sunsite.dk/rootpage.html#Downloading JDE 2.3.5 *** * PLEASE READ * *** * * * This release requires cedet 1.0beta2 or later. cedet* * includes semantic, eieio, speedbar, and senator, all* * packages required by the JDEE. You can obtain cedet * * at http://cedet.sourceforge.net * * * * Please note that your .emacs file must load cedet.el, * * not require cedet. See the installation instructions * * that come with the cedet package for more information. * * * * 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. * * * *** * On XEmacs, Use efc-xemacs-query-options, i.e., a GUI dialog box instead of a text dialog box, only if use-dialog-box is nonnil. * Fixes bug in ProjectClasses to avoid duplicate entries of imports. * Updated JDEE's Ant interface to force use of pipes to interact with external Ant process. * Fixed regression that caused jde-help-class-member to issue a Lisp error. * Fixed regression in jde-wiz-update-class-list command
RE: [ANNOUNCEMENT] JDEE 2.3.5 available at ...
Raul Acevedo writes: I'm sure you mean sourceforget.net right? :) On Fri, 2004-12-17 at 19:30 +, Matthew Kurjanowicz wrote: It may also be nice (if its possible/allowed) to mirror this in a project at slashdot. I like sunsite.dk and am very appreciative, but if they don't want to host multiple versions then slashdot would do that (as well as keeping track of every release and when it was made). I'm not saying move the whole project to slashdot, just mirror the releases there. It's not Sunsite. It's JDEE users who many years ago asked that I switch to always using jde-latest in order to accommodate automatic updating to the latest release. Paul $0.02, -Matt Actually, it would be nice if the download file were called jde-2.3.5.zip instead of always being jde-latest.zip. It makes it easier to track versions I have downloaded and installed. Raul On Fri, 2004-12-17 at 12:56 -0500, Paul Kinnucan wrote: Britton, Chris writes: Hi Paul. I'm still getting JDE 2.3.4 from jde-latest.zip at this location. Can you please confirm if jde-latest.zip contains 2.3.5? Hi Chris, I just downloaded jde-latest.zip and verified that it contains 2.3.5. It seems that at least one person has this problem shortly after every release. Apparently, there's some kind of caching of download files going on somewhere. I'm posting this reply to the JDEE mailing list as well as to Chris in the hopes that somebody who is more knowledgable about the Internet than I am can explain this phenomenon and suggest a solution to keep it from happening or recovering from it if it does happen. Regards, Paul Thanks. -- Chris Britton [EMAIL PROTECTED] -Original Message- From: Paul Kinnucan [mailto:[EMAIL PROTECTED] Sent: Friday, December 17, 2004 8:07 AM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: [ANNOUNCEMENT] JDEE 2.3.5 available at ... http://jdee.sunsite.dk/rootpage.html#Downloading JDE 2.3.5 *** * PLEASE READ * *** * * * This release requires cedet 1.0beta2 or later. cedet* * includes semantic, eieio, speedbar, and senator, all* * packages required by the JDEE. You can obtain cedet * * at http://cedet.sourceforge.net * * * * Please note that your .emacs file must load cedet.el, * * not require cedet. See the installation instructions * * that come with the cedet package for more information. * * * * 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. * * * *** * On XEmacs, Use efc-xemacs-query-options, i.e., a GUI dialog box instead of a text dialog box, only if use-dialog-box is nonnil. * Fixes bug in ProjectClasses to avoid duplicate entries of imports. * Updated JDEE's Ant interface to force use of pipes to interact with external Ant process. * Fixed regression that caused jde-help-class-member to issue a Lisp error. * Fixed regression in jde-wiz-update-class-list command. * Fixed regression that caused JDEbug to issue a Lisp error when launching an application. Thanks to Martin Schwamberger. * Revise the following templates to conform to CheckStyle requirements: - jde-gen-deep-clone-template - jde-gen-to-string-method-template
Problems with the bean shell
Jobst Hoffmann writes: I've worked succesfully with the jde.2.3.4betas. Now I switched over to released jde 2.3.4 and can't do anything besides editing .java-files. When I call the compiler, I get the following messages (excerpt from the log): The only change I can think of that might have affected the beanshell is the one that sets the process-connection-type to nil. Search beanshell.el for this variable and change the code to set it to t. See if that works. If it does, let me know. Otherwise file a complete problem report. Paul ... Loading semantic-edit... Loading semantic-edit...done Loading semanticdb-file... Loading semanticdb-file...done Loading jde-javadoc... Setting customized JDE variables to startup values... Loading jde-javadoc...done Loading semantic-decorate... Loading semantic-decorate...done Starting the BeanShell. Please wait... Starting the BeanShell. Please wait... Starting the BeanShell. Please wait... # after several minutes Process not open for writing: #process bsh pid 5882 state:exit ... Any task that is working with the beanshell ends up in long waiting for a response and an error message. What can I do, can you give me some hints? Thanks in advance Jobst -- Prof. Dr. Jobst HoffmannTel: (0049)-2461-99-3159 Fachhochschule Aachen Abt. Jülich Fax: (0049)-2461-99-3189 Fachbereich 3 email: [EMAIL PROTECTED]
attaching jdb to tomcat on localhost
Hi Emory, It would be nice to try to isolate the problems that you are experiencing, in particular, to try to determine if the problems are with jdb or with Emacs/JDEE or with the two in combination. A way to do this is to try a few debugging sessions, using the jdb command line interface alone. My suspicion is that the problem is with jdb on the Macintosh and that you'll experience the same problems if you try using jdb standalone. Paul Emory Smith writes: hi, ive been using jde for some time to debug webapps deployed locally on a tomcat server and have consistently had a couple of annoying problems. i set things up like so: * start tomcat in listen mode ... open browser * start emacs ... build and deploy to tomcat using jde-ant-build * attach using jde-jdb-attach-via-socket * set a breakpoint and refresh browser at this point, everything works great -- breakpoint is hit, and jdb runs without a hitch ... i do my stuff and then cont ... the browser page finishes loading ... 9 times out of 10, thats the extent of my debugging session ... if i want it to work again, i will have to quit tomcat at the least to get any of it to work again (usually i have to actually kill off all running java processes before tomcat will be able to connect to the listen port again). and even if tomcat connects, i can no longer set breakpoints in any of my source files -- jdb will say unable to set breakpoint ... no code at line xxx. ive tried everything i can think of (clearing breakpoints, quiting jdb, detaching, closing browser, etc ) and in every possible order ... but it practically never works a second time. and when it does, jdb will invariably end up stepping into some obscure java or tomcat class and i can type cont 200 times without ever getting back to my own code ... but as soon as i save files, quit jde, quit emacs, close my browsers, quit tomcat, grep top for java and kill off any running java processes (which are often very high cpu usage), wait for a little while, start tomcat back up, start emacs, run ant remove/compile/install, start jdb and attach to tomcat, set my breakpoint again, open the browser back up and return to the page ... boom - it hits the breakpoint and i can debug once again... it seems like there should be a more efficient way to go about this, so i was hoping someone might be able to point me in the right direction. i apologize if this has been explained/discussed here already (though i couldnt find anything like it in the archives). also, im running mac os10.3.6 (though this has happened since 10.2.x) on a powerbook g4. (carbon) emacs 21.3.5, jdee 2.3.4, tomcat 5.0.27, jre 1.4.2, ant 1.6.1, thanks for any suggestions anyone might have, emory
RE: _Long_ pause after each new directory is noticed. . .
Nascif Abousalh-Neto writes: I am having a similar problem, but it is not deterministic. Had it yesterday but can't reproduce today. On the face of it, it would appear that this is a problem with ecb as it tries to build lists of what's in directories whereas the JDEE does not. The first thing I would do is try to pinpoint the problem to one package or the other and to one file type another, i.e., to use the JDEE and ECB separately to determine if the problem occurs with one but not the other, with Java files but not other types of files, or with both packages and only Java files, both packages and nonJava files, etc. Paul Using ECB 2.30 and JDE 2.3.4. Debug-on-error doesn't work for this one, and the long breaks are *very* disruptive. Any idea on how to debug something like that? -Original Message- From: Henry S. Thompson [mailto:[EMAIL PROTECTED] Sent: Tuesday, December 07, 2004 10:34 AM To: jde Subject: _Long_ pause after each new directory is noticed. . . Just upgraded both jde and ecb (can't tell which is the problem, sorry) to latest versions (ecb 2.30.1 and jcb 2.3.4) Whenever I read or save a .java file to a particular package directory for the first time in a given session, xemacs goes away for a long (several minutes) time. It's not responsive to Ctrl-G during this time. Not sure this is new, but it seems worse. . . Any clues? ht -- Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh Half-time member of W3C Team 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 Fax: (44) 131 650-4587, e-mail: [EMAIL PROTECTED] URL: http://www.ltg.ed.ac.uk/~ht/ [mail really from me _always_ has this .sig -- mail without it is forged spam]
Re: jde-checkstyle and Emacs 21.50.3
Christian Plate writes: How do i set this in my .emacs? I dont know any lisp, sorry for this stupid question. (setq compilation-enter-directory-regexp-alist nil) Thanks, Paul. Ive done this. However now it says: save-excursion: Buffer is read-only: #buffer *check style* Hi Christian, This is the result of another recent change to the CVS (i.e., development) version of compilation mode in Emacs that I am not sure how to fix. As a rule, I prefer not to try to change the JDEE to track changes to development versions of Emacs. I prefer to wait wait until the changes are are officially released. So, unless you are willing and able to change the JDEE yourself (and, ideally, provide the fixes to me so I can incorporate them into the JDEE sources), I recommend that you use the latest production version of Emacs as I do. Paul
jde-checkstyle and Emacs 21.50.3
Christian Plate writes: Hello, with GNU Emacs 21.3.50.2 and JDE 2.3.4 I get following error with jde-checkstyle: let: Symbol's value as variable is void: c Any ideas? Yes, recent CVS versions of Emacs have changed compilation mode, which checkstyle uses. One of the changes eliminates compilation-enter-directory-regexp-alist. I will eventually get around to updating checkstyle to handle this change. Meanwhile, just define the variable yourself in your .emacs file. Paul TIA, Christian
Re: jde-checkstyle and Emacs 21.50.3
Christian Plate writes: Yes, recent CVS versions of Emacs have changed compilation mode, which checkstyle uses. One of the changes eliminates compilation-enter-directory-regexp-alist. I will eventually get around to updating checkstyle to handle this change. Meanwhile, just define the variable yourself in your .emacs file. Ok emacs 21.3 says: compilation-enter-directory-regexp-alist's value is ((.*: Entering directory `\\(.*\\)'$ 1)) How do i set this in my .emacs? I dont know any lisp, sorry for this stupid question. (setq compilation-enter-directory-regexp-alist nil) Paul
Re: Debugging remote 1.4.2 jvm
Ed Mooney writes: I couldn't get attach mode to work, either[1]. Attaching to a running process works for me as documented in the JDEE's jdb user's guide. JDEE version: 2.3.4 XEmacs version: 21.4 (patch 13) Rational FORTRAN [Lucid] (i586-pc-win32) of Sun May 25 2003. Windows version: Windows XP Paul -- Ed [1] http://article.gmane.org/gmane.emacs.jdee/4017 Karr, David wrote: -Original Message- From: Paul Kinnucan [mailto:[EMAIL PROTECTED] Sent: Friday, December 03, 2004 8:05 AM To: Karr, David Cc: Paul Kinnucan; [EMAIL PROTECTED] Subject: RE: Debugging remote 1.4.2 jvm Karr, David writes: I assume attach mode is further down the road, for either jdb or Jdebug mode? I don't know why I bother writing documentation for the JDEE. I read the documentation. I couldn't get Attach mode to work. Since you replied saying you were using listen mode, I assumed you meant that Attach mode isn't working yet. If that's not the case, then I'll continue trying to get Attach working with jdb mode. Paul [ ... ]
Re: Debugging remote 1.4.2 jvm
Paul Kinnucan writes: Ed Mooney writes: I couldn't get attach mode to work, either[1]. Attaching to a running process works for me as documented in the JDEE's jdb user's guide. JDEE version: 2.3.4 XEmacs version: 21.4 (patch 13) Rational FORTRAN [Lucid] (i586-pc-win32) of Sun May 25 2003. Windows version: Windows XP Here are the steps I used: 1. Set jde-sourcepath for my project to ./src 2. Set jde-run-option-debug as follows: Jde Run Option Debug: * [Value Menu] Connect: Mode: [Value Menu] Server Data Transport: [Value Menu] Shared Memory Shared Memory Name: [Value Menu] javadebug Socket Host: [Value Menu] nil Socket Port: [Value Menu] Suspend?: [Value Menu] No 3. Put point on the line where I wanted to set a breakpoint and selected Toggle Breakpoint from the Jdb menu. The JDEE highlighted the line in red. 4. Pressed C-c C-v C-r to run my program. My program ran to the point where it prompted me for input in the run buffer in Emacs. 5. Opened a new frame on the source buffer for the program. 6. Selected External Process-Attach Via Shared Memory from the buffer's Jdb menu. The JDEE started jdb and passed the breakpoint to it. Jdb responded with the following messages in the jdb buffer. Initializing jdb ... stop at jmath.Test:27 Set breakpoint jmath.Test:27 The breakpoint turns red to signify that it is enabled. 7. I selected Continue from the Jdb menu. Jdb responds: cont Nothing suspended. 7. I switched to my program's run buffer and entered some text and hit return. The debugger runs my program to the breakpoint and pauses. Breakpoint hit: thread=main, jmath.Test.main(), line=27 bci=163 27LinearSystem s = new LinearSystem(A); 8. I displayed the value of a local variable by entering a print command in the jdb buffer: main[1] print B[1] B[1] = 5.0 I then stepped a few lines and selected Continue from the Jdb menu to run the program to completion. Paul Paul -- Ed [1] http://article.gmane.org/gmane.emacs.jdee/4017 Karr, David wrote: -Original Message- From: Paul Kinnucan [mailto:[EMAIL PROTECTED] Sent: Friday, December 03, 2004 8:05 AM To: Karr, David Cc: Paul Kinnucan; [EMAIL PROTECTED] Subject: RE: Debugging remote 1.4.2 jvm Karr, David writes: I assume attach mode is further down the road, for either jdb or Jdebug mode? I don't know why I bother writing documentation for the JDEE. I read the documentation. I couldn't get Attach mode to work. Since you replied saying you were using listen mode, I assumed you meant that Attach mode isn't working yet. If that's not the case, then I'll continue trying to get Attach working with jdb mode. Paul [ ... ]
Debugging remote 1.4.2 jvm
Karr, David writes: I've decided to try experimenting with the jde debugger to see if it has features that make it worth using over netbeans. I first set jde-debugger to Jdebug in customize. Should I be using Jdebug for this, or jdb? I'd start with using the JDEE's interface to jdb. I revised the JDEE's debug infrastructure recently and ported jdb to use the new infrastructure. Still to be done is to port JDEbug. The jdb interface appears to be pretty solid based on my use of it. I've been using it to debug an XML application. This requires putting the debugger in listen mode and then starting the other application. It works very nicely. I am able to step through the code and examine variable values. Paul I'm not certain exactly what I'm supposed to set up now. I see the user guide mentions setting the location of the JPDA libraries. It has examples for JDK 1.3 and 1.2.2, but not 1.4.x. The customize info for that variable specifically says you only need to set this variable for a 1.2 JVM. The jre home variable seems to be needed if I start the debuggee through the debugger. I'm not. I'm only going to be remotely connecting, so it appears that I wouldn't set that variable. I set the Server Socket variable to the JPDA port my debuggee is configured for. The customize info for this variable seems ambiguous whether this is the correct variable to set. At this point, the contents of the Attach Process menu is grayed out, so I can't select a server to connect to.
Request hint on error message
Torsten Geise writes: Hi folks, since I updated my JDEE to the latest version I always get the error message error in process sentinel: file-truename: Apparent cycle of symbolic links for .. For more information I attached the Submit problem report-content to this mail. Thanks for any hints, I'm looking for the solution since almost 2 weeks. Torsten. It's possible that this is a problem with file-truename on your operating system. file-truename is used by jde-root-dir-p, which is in turn used by the JDEE to terminate its search up the directory tree looking for project files. The error message suggests there might be symbolic links in the directory tree containing a Java source file that you are trying to load and that file-truename cannot handle the symbolic links. I've never encountered this problem but then I work mainly on Windows and I do not use symbolic links on my Linux system. Paul
Preconfigure align.el?
Kai Grossjohann writes: I have this in ~/.emacs: (eval-after-load align '(add-to-list 'align-c++-modes 'jde-mode)) (java-mode is already listed there by default.) WIBNI this happened automatically? Perhaps because Emacs does not support the notion of mode inheritance, i.e., the value of major-mode in a jde-mode buffer is 'jde-mode, not '(cc-mode java-mode jde-mode) so align has no way of knowing that jde-mode is a subclass of java-mode. Paul
XAE still viable?
Karr, David writes: On a matter somewhat related to JDEE, I happened to notice the XAE package (that you wrote) associated with EIEIO. I hope you don't mind a direct question about this, but the mailing list seemed decidely inactive (I see more spam than real notes). It looks like this was developed quite a while ago (in web time). The information page about it doesn't actually say what it does. Actually, it does. It says it allows you to use Emacs to create, transform, and display XML documents, which is exactly what it does. The XAE website also explains my motivation for creating the XAE, which is to help others avoid the hassle of downloading and integrating all the tools one needs to create, transform, and display XML documents, using Emacs. The XAE download includes psgml, Docbook (the DTD and style sheets most widely used to create software doc), and Saxon, a stylesheet processor. psgml turns Emacs into a context-sensitive XML editor that ensures that you create a valid XML document. The XAE provides a menu of commands for applying style sheets to the xml document in the current buffer (for example, to generate PDF, HTML, or tex output), and for displaying the XML document in the current buffer in an XML-capable browser, such as Internet Explorer, or, for Docbook docs, that converts the XML document in the current buffer to HTML, using Saxon and an XML-HTML stylesheet, and displays it in an HTML browser. I noticed that when I tried to install it, it fails to find psgml-maint (executing the byte-compile step). I'm guessing it was most recently updated with a version of psgml prior to what's installed in my XEmacs (1.3.1, apparently). The latest available version of XAE appears to be labeled a beta version. Do you believe this package is still viable? I believe the XAE is viable. I use it regularly to maintain the doc for the JDEE. There haven't been any changes because I haven't found it necessary to make any changes. It works great for me as it is. Do you know what the psgml-maint problem is? No. Paul
patch for gnu emacs
Sam Steingold writes: the appended patch is necessary to use JDEE with GNU Emacs. Hi Sam, This problem has already been fixed in the latest CVS version of jde.el. Thanks, Paul -- Sam Steingold (http://www.podval.org/~sds) running w2k http://www.camera.org http://www.iris.org.il http://www.memri.org/ http://www.mideasttruth.com/ http://www.honestreporting.com Marriage is the sole cause of divorce. diff -u -b -w -i -B d:/gnu/sitelisp/jde/lisp/jde.el.old d:/gnu/sitelisp/jde/lisp/jde.el --- d:/gnu/sitelisp/jde/lisp/jde.el.old 2004-10-28 23:43:02.0 -0400 +++ d:/gnu/sitelisp/jde/lisp/jde.el 2004-11-23 15:04:54.351027400 -0500 @@ -1247,12 +1247,12 @@ (when (fboundp 'add-submenu) (add-submenu '(File) val Insert File...))) (let* ((mb (assq 'menu-bar global-map)) - (files (assq 'files mb)) + (file (assq 'file mb)) (menu (if (fboundp 'easy-menu-create-menu) (easy-menu-create-menu (car val) (cdr val (menu-name (car val))) - (define-key-after (cdr (cdr files)) [jde-new] + (define-key-after (cdr (cdr file)) [jde-new] (cons menu-name menu) 'open-file) Diff finished. Tue Nov 23 15:11:56 2004
Re: Problems debugging files with more than 1000 lines.
Hi Morten, It's possible there is a regression. I will take a look this evening to see if I can reproduce the problem. Just to be sure, which debugger are you using? The JDEE's interface to jdb or JDEbug? Paul Morten writes: fre, 2004-11-19 kl. 08:40 skrev Morten: tor, 2004-11-18 kl. 08:23 skrev Morten / Datagruppen MultiMED: ons, 2004-11-17 kl. 22:21 skrev Javier S. Lopez: Morten [EMAIL PROTECTED] writes: ons, 2004-11-17 kl. 14:05 skrev Javier S. Lopez: This has been fixed since version 2.3.4beta4 cut cut Not sure what to to tell you. Is is possible that the old version is getting loaded somehow. I would be rather surprised if that was the case. When I click the jde menu, and hold the mouse over help, it displays jde 2.3.4. Is there another way of testing which version of JDE I am running? It seems strange that I get the error that has been fixed ... Morten . Now I have deleted all other other versions of CEDET and JDE that I could find. I tried to remove the path in .emacs, and jde refused to load. I checked the sourcecode, and there are comments in the changelog about the problem with linenumber 999. I wonder if a specific version of java or something else might be required? I use j2sdk 1.4.2_01. I'm running GNU/Linux Debian sarge (and I purged both CEDET and jde from the system, so that I only use the files I downloaded). Please tell me what I can do to find out whats wrong with my system, since Javier seems to have no problem, I assume its my setup! Kind regards, Morten .
Re: Why does JDEE look for tools.jar
Suraj Acharya writes: JDE also looks for tools.jar to check if a directory is a JDK directory or not. Try creating an empty tools.jar in the lib directory of your JDK. You will be able to use the compile server, but it might let you used JDE with other jdks. The JDEE currently assumes that you are using Sun's toolset. I will look into supporting other tool sets as time permits. Paul Suraj On Mon, 22 Nov 2004 23:25:05 -0500, Matt Kurjanowicz [EMAIL PROTECTED] wrote: The tools.jar is the file that contains the compiler. This way JDEE can run the compiler directly using the classpath that JDEE sets. -Matt On Monday 22 November 2004 03:15 pm, Shyamal Prasad wrote: Hi, I'm having trouble running JDEE (with both Emacs and XEmacs) on a Debian GNU/Linux system. The problem is with finding the tools.jar file. Since I'm using runtimes not licensed from Sun (sablevm, kaffe etc.) this file is missing. Could some one explain to me (just a hint) why tools.jar is so important to JDEE? I can run beanshell without it, and I'm not sure what else might be needing it. Best regards, Shyamal PS: I read this list via the web, so I would never complain about a Cc :-) -- Matthew Kurjanowicz [EMAIL PROTECTED] CS 2110 TA College of Computing GEORGIA Institute of TECHnology
RE: Any way to customize where import generates the import statement?
Karr, David writes: Note that my setup did not replace the version of Semantic, I just put it in the load-path before other instances of Semantic (and I verified that by inspecting the value after startup). The User Guide specifically says to REMOVE the older instances. Is there any reason to expect this might be my problem? Yes. XEmacs seems to always load packages included in the distribution before any packages on the load-path. Paul -Original Message- From: Paul Kinnucan [mailto:[EMAIL PROTECTED] Sent: Sunday, November 14, 2004 10:02 PM To: Karr, David Cc: [EMAIL PROTECTED] Subject: RE: Any way to customize where import generates the import statement? Karr, David writes: I see now that the user guide just says it inserts at the head of the buffer, but the code appears to be a little more sophisticated, where it tries to figure out where it should insert the import (jde-import-get-import-insertion-point). However, the result is the same. It just inserts the new import before the package statement. I guess I'll try a little debugging of that function. Hi David, The import statements are supposed to be inserted AFTER the package statement. That's how it's always worked for me and how it worked when I just tested it by creating: file Foo.java package jmath; class Foo { JButton button; } and doing C-c C-v C-z with point on JButton. The result is package jmath; import javax.swing.JButton; public class Foo { JButton button; } I'm mystified that it works differently for you. Please send a test case that I can use to reproduce the bug. Paul -Original Message- From: Karr, David Is there any way to customize where import statements are generated? It presently inserts them at the head of the buffer, which means I still have to move them after they're generated. I always put imports in a block with no blank lines, after the package statement, with a blank line before and after the block. I see there are options for specifying how imports are grouped, but I assume that's separate from where they're initially inserted.
jde-complete generates imports I don't want
Kai Grossjohann writes: Create a file A.java with the following contents: public class A { public static int main(String[] args) { A a = new A(); a.@ } } Position point on @, delete the character, then hit C-c C-v . and observe how it adds import org.apache.ecs.xhtml.a; to the beginning of the file. Because there is a class named a on hyour classpath, the JDEE assumes that you are trying to complete a static member of that class and therefore creates an import statement for class a. As it is unlikely that you will ever intend to use class a in your programs, you can easily deal with this problem by excluding the org.apache.ecs class from importation via jde-import-excluded-classes. Or this one: create a file Action.java that looks like this: public class Action { public int foo() { return 42; } } Then create a file BTest.java that looks like this: public class BTest extends Action { public int bar() { return this. } } Then position point after this. and invoke jde-complete (in one of its flavors). Observe how it adds an import statement for javax.swing.Action. This is because javax.swing.Action is the only class on the classpath at this point. Compile your Action class and then retry the completion. The JDEE should then prompt you to choose one of the Action classes to import. Paul Is it pilot error? Is it just me? Kai PS: Using jde 2.3.4 on GNU Emacs 21.3.50.1 (i386-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2004-11-02 on ketchup, modified by Debian.
RE: Any way to customize where import generates the import statement?
Karr, David writes: I see now that the user guide just says it inserts at the head of the buffer, but the code appears to be a little more sophisticated, where it tries to figure out where it should insert the import (jde-import-get-import-insertion-point). However, the result is the same. It just inserts the new import before the package statement. I guess I'll try a little debugging of that function. Hi David, The import statements are supposed to be inserted AFTER the package statement. That's how it's always worked for me and how it worked when I just tested it by creating: file Foo.java package jmath; class Foo { JButton button; } and doing C-c C-v C-z with point on JButton. The result is package jmath; import javax.swing.JButton; public class Foo { JButton button; } I'm mystified that it works differently for you. Please send a test case that I can use to reproduce the bug. Paul -Original Message- From: Karr, David Is there any way to customize where import statements are generated? It presently inserts them at the head of the buffer, which means I still have to move them after they're generated. I always put imports in a block with no blank lines, after the package statement, with a blank line before and after the block. I see there are options for specifying how imports are grouped, but I assume that's separate from where they're initially inserted.
Import generation problems
Karr, David writes: For the longest time, I've only barely used the features of JDE. I'm now looking at it a little closer. I'm using version 2.3.2, in Xemacs/Cygwin. I set up a prj.el file, and I set the jde-global-classpath there, so I could get import generation (jde-import-find-and-import) working. I find that this works much of the time, but fails to find some classes, but I'm not sure why. In fact, it almost seems like it doesn't find any classes that would have been reached by my setting of jde-global-classpath. It finds classes in the JDK, but none in my related projects or jar files. Here is my prj.el contents: - (setq jde-global-classpath (quote (common/cmcmbeans/build/cmcmbeans.jar common/serviceregistry/build/esbserviceregistry.jar CMC/common/cmcgui/build/cmcgui.jar lib/weblogic.jar ))) - These jar files all exist, relative to the directory the prj.el file is in. You should update to the latest version of the JDEE that is several years old. A lot of water has flowed under the bridge since then. You should also read the section on project-relative paths in the JDEE user's guide. The reason the JDEE cannot find that classes in your projects is that you have incorrectly specified the paths. To specify a path relative to the project file directory, you must use the period (.) character, e.g., ./common/cmcmbeans/build/cmcmbeans.jar Paul
Patch: File menu in recent CVS Emacs no longer called 'files
Jason Rumney writes: The File menu has recently been renamed from 'files to 'file in Emacs CVS. This has revealed a dependancy in JDEE that can easily be fixed by using menu-bar-file-menu (which has existed since at least 19.27) which also simplifies the code a little: Hi Jason, I have applied your patch to the JDEE source. Thanks for providing a fix for this problem. Paul *** jde.el-orig Fri Oct 29 00:43:02 2004 --- jde.el Wed Nov 10 23:09:59 2004 *** *** 1247,1258 (when (fboundp 'add-submenu) (add-submenu '(File) val Insert File...))) (let* ((mb (assq 'menu-bar global-map)) - (files (assq 'files mb)) (menu (if (fboundp 'easy-menu-create-menu) (easy-menu-create-menu (car val) (cdr val (menu-name (car val))) ! (define-key-after (cdr (cdr files)) [jde-new] (cons menu-name menu) 'open-file) --- 1247,1257 (when (fboundp 'add-submenu) (add-submenu '(File) val Insert File...))) (let* ((mb (assq 'menu-bar global-map)) (menu (if (fboundp 'easy-menu-create-menu) (easy-menu-create-menu (car val) (cdr val (menu-name (car val))) ! (define-key-after menu-bar-file-menu [jde-new] (cons menu-name menu) 'open-file)
[ANNOUNCEMENT] JDEE 2.3.4 available at ...
http://jdee.sunsite.dk/rootpage.html#Downloading JDE 2.3.4 *** * PLEASE READ * *** * * * This release requires cedet 1.0beta2 or later. cedet* * includes semantic, eieio, speedbar, and senator, all* * packages required by the JDEE. You can obtain cedet * * at http://cedet.sourceforge.net * * * * Please note that your .emacs file must load cedet.el, * * not require cedet. See the installation instructions * * that come with the cedet package for more information. * * * * 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. * * * *** * After compiling a class, the JDEE updates its class info database from the directory containing the compiled class instead of from the entire project classpath. Thanks to Martin Schwamberger. * Fixed regression that caused JDEbug to issue a Lisp error when launching an application. * Fixed bug in the JDEE's dynamic class loader caused by assuming that only one read operation is needed to read a class from the file system. This was causing class load errors that were suppressed by exception handling in the dynamic class loader. Thanks to Suraj Acharya. * Configured Emacs to always use pipes to interact with the BeanShell. This fixes code 129 errors that occur on some Linux systems.
Add capability to jdee to read source file in jar file
Christophe writes: I have made a couple of modification to jdee to have the capability to open source file directly from jar file (if jar file is specified in jde-sourcepath) this modification are based on code found in arc-mode. I have modified the function jde-find-class-source-file and re-write the function jde-search-src-dirs Maybe it is possible to add this modification to jdee for future release. I'm not an expert lisp coder, if something is wrong, tou can mdofiy this code without hesitating Hi Christophe, Thanks for contributing this useful enhancement. I have updated jde-util.el to include your contribution, making a few changes to simplify the code. Your contribution will require a similar enhancement to be made to the command for finding the definition of the symbol at point so that it supports symbols defined in source code stored in jar and zip files. I plan to make this enhancement as soon as possible. Users who want to get your enhancement can do so by downloading the latest version of jde-util.el from the JDEE CVS repository. Paul Christophe ; jde-search-src-dirs ;;; (defun jde-find-class-source-file (class) *Find the source file for a specified class. CLASS is the fully qualified name of the class. This function searchs the source file paths specified by `jde-sourcepath' for the source file corresponding to CLASS. If it finds the source file, it returns the file's path. Otherwise, it returns nil. (let* ((class (jde-remove-inner-class class)) (source-dir (jde-search-src-dirs class)) (file-name (concat (jde-parse-get-unqualified-name class) .java))) (if source-dir (if (not (string= source-dir jar-src)) (expand-file-name file-name source-dir) ) (message JDE error: Could not find source for \%s\. See `jde-sourcepath' for more information. class) nil))) ; ; jde-search-src-dirs ;;; (defun jde-search-src-dirs(class) ;;(interactive) ;;(setq class (read-buffer CLASS: )) (let ((file (concat (jde-parse-get-unqualified-name class) .java)) (package (jde-parse-get-package-from-name class)) ) (catch 'found (loop for dir in jde-sourcepath do (progn (setq dir(jde-normalize-path dir 'jde-sourcepath)) (setq extractor nil) (if (and (or (string-match \.jar$ dir) (string-match \.zip$ dir) ) (file-exists-p dir)) (progn (let* ((other-window-p nil) (pkg-path (subst-char-in-string ?. ?/ package)) (view-p (eq other-window-p 'view)) (class-file-name (concat pkg-path / file)) (bufname (concat file ( (file-name-nondirectory dir) ))) (buffer (get-buffer bufname)) (just-created nil) exit-status success) (if buffer (progn (or (not (buffer-name buffer)) (progn (if view-p (view-buffer buffer (and just-created 'kill-buffer)) (if (eq other-window-p 'display) (display-buffer buffer) (if other-window-p (switch-to-buffer-other-window buffer) (switch-to-buffer buffer))) ))) ) (setq buffer (get-buffer-create bufname)) (setq just-created t) (save-excursion (set-buffer buffer) (setq buffer-file-name (expand-file-name (concat dir : class-file-name))) (setq buffer-file-truename file) (setq default-directory (file-name-directory dir)) (setq exit-status (archive-extract-by-stdout dir class-file-name archive-zip-extract)) (message status:%s exit-status) (if (and (numberp exit-status) (= exit-status 0)) (progn (message found); (setq buffer-read-only t) (goto-char (point-min)) (rename-buffer bufname) (setq buffer-undo-list nil)
jdee debug error: Comint exited abnormally with code 129
patrick duval writes: Hello, On linux fedora-core-2 I get a Comint exited abnormally with code 129 error message when trying to debug any java app with jdee: Comint exited abnormally with code 129 NB: the same jdb command submitted in a shell runs fine. NB: I don't get this error on MacOS X using the same versions of emacs and jdee. I found a message on this issue in the mail archive, but no answer to it (http://www.mail-archive.com/[EMAIL PROTECTED]/msg07772.html). Any progress on that issue? Try JDEE 2.3.4beta5. Paul This error arises in the following environment: platform: linux fedora-core-2 jdee version: 2.3.3 emacs version: 21.3.1 *Backtrace* buffer: none *JDEEbug* buffer: none prj.el: none jdee debug buffer: cd /home/der_gi/duval/hello/ /usr/local/java/bin/jdb -launch -classpath /home/der_gi/duval/hello HelloYou Comint exited abnormally with code 129 *compile* buffer: cd /home/der_gi/duval/hello/ /usr/local/java/bin/javac -classpath /home/der_gi/duval/hello -g HelloYou.java Compilation finished at ... emacs startup file: (setq debug-on-error t) (setq load-path (append load-path (list ~/elisp))) (if (and (boundp 'window-system) window-system) (if (string-match XEmacs emacs-version) (require 'sym-lock) (require 'font-lock))) ;; font-lock colorized minor modes (global-font-lock-mode t) ;; jde mode for Java (cond (window-system ;; nb: the order of semantic and jde invocations below is mandatory ;; (setq semantic-load-turn-everything-on nil) makes jde bug (setq semantic-load-turn-useful-things-on t) (add-to-list 'load-path /usr/share/emacs/site-lisp/jde/lisp) (add-to-list 'load-path /usr/share/emacs/site-lisp/semantic) (add-to-list 'load-path /usr/share/emacs/site-lisp/speedbar) (add-to-list 'load-path /usr/share/emacs/site-lisp/elib) (add-to-list 'load-path /usr/share/emacs/site-lisp/eieio) (require 'jde) ;; get rid of semantic's header-line and deco (global-semantic-stickyfunc-mode -1) (global-semantic-decoration-mode -1) ;; Set c-basic-offset to 2 for indents in java-mode (add-hook 'jde-mode-hook (lambda () (setq c-basic-offset 2) ;; Set JDE default classpath to . for java, and use javac -g option (custom-set-variables ;; custom-set-variables was added by Custom -- don't edit or cut/paste it! ;; Your init file should contain only one such instance. '(jde-compiler (quote (javac ))) '(jde-global-classpath (quote (.))) '(jde-sourcepath (quote (.))) '(jde-compile-option-debug (quote (all (t nil nil ) *Messages* Buffer: (emacs -q -l .emacs-jde.el) Loading disp-table...done Loading tool-bar...done Loading image...done Loading tooltip...done Loading /usr/share/emacs/site-lisp/site-start.d/lang-coding-systems-init.el (source)...done Loading /usr/share/emacs/site-lisp/site-start.d/mew-init.el (source)... Loading /usr/libexec/emacs/21.3/i386-redhat-linux/fns-21.3.1.el (source)...done Loading /usr/share/emacs/site-lisp/site-start.d/mew-init.el (source)...done Loading /usr/share/emacs/site-lisp/site-start.d/php-mode-init.el (source)...done Loading /usr/share/emacs/site-lisp/site-start.d/po-mode-init.el (source)...done Loading /usr/share/emacs/site-lisp/site-start.d/psgml-init.el (source)...done Loading /usr/share/emacs/site-lisp/site-start.d/python-mode-init.el (source)...done Loading /usr/share/emacs/site-lisp/site-start.d/rpm-spec-mode-init.el (source)...done Loading /usr/share/emacs/site-lisp/site-start.d/ruby-mode-init.el (source)...done Loading regexp-opt...done Loading easymenu...done Loading derived...done Loading semantic-idle...done Loading semanticdb...done Loading semantic-decorate-mode...done Loading senator...done Loading mule-util...done jde-java-font-lock: building names cache...empty Loading wisent-java-tags...done Loading cl-seq...done Setting JDE variables to startup values... Loading semantic-edit...done Loading semanticdb-file...done Mark set [2 times] Loading jde-javadoc... Setting JDE variables to startup values... Loading jde-javadoc...done (No files need saving) No compilation errors Flushed completion cache. Mark set [2 times] *Buffer List* buffer: MR Buffer Size Mode File -- -- *
Re: [PATCH] Jikes bootclasspath
[EMAIL PROTECTED] writes: Len Trigg [EMAIL PROTECTED] writes: Sending this to the main jde list for more discussion. Background: I wrote this patch so that the system classes (rt.jar) would be added to jikes command line using -bootclasspath rather than -classpath. This was to prevent a conflict in versions between any inherited BOOTCLASSPATH environment variable (see jikes manpage), and the rt.jar located by jde (which can depend on the jde-jdk variable for targetting different JVM versions). (I encountered this problem which is why I wrote the patch). The question is, what is the best way to add the system classes when using jikes. Javier indicates that using -bootclasspath may interfere with people using it for other purposes (but at this point I'm not sure how) Mainly I don't like messing around with users settings. The particular case I was referring was if the rt.jar gets appended before any of the user customized bootclasspath. The classes could get compiled against the wrong class files, causing problems at runtime. Your patch does not have this problem since rt.jar gets appended to the bootclasspath. Javier S. Lopez wrote: Could you send me the patch? The attachment you sent seems to be empty. Sure, here it is, inlined: Thus jikes gets the non-overridden definition of jde-compile-classpath-arg, and the inferred system classes are added using -bootclasspath I took a look at Ant and I was mistaken about its behavior. Ant does not add anything at all to the classpath or boot class path. Perhaps we should do the same. As in, using the jikes compiler doesn't require either classpath/bootclasspath parameters in the build.xml or environment variables to be set in order to work? Then they must be adding an implicit rt.jar to jikes somehow when they invoke it (otherwise jikes wouldn't be able to compile it). Originally I thought that they were adding rt.jar either to the classpath or bootclasspath. This is not the case though, users need to add rt.jar to the claspath or bootclasspth in build.xml A good solution for this is something along this lines: jde-compile-option-jikes-classpath Location to add system classes: (*) bootclasspath ( ) classpath ( ) none Classes: INS DEL: /jre/lib/rt.jar INS I don't see the need for the () none option as you can simply delete all entries. I suggest the following: jde-jikes-system-classpath Compiler option used to specify system classpath: (*) -bootclasspath ( ) -classpath System classpath: INS DEL: /jre/lib/rt.jar INS Paul This will allow users to choose the location or disable the functionality altogether. In addition it will allows users to add other jar files like: jce.jar and jsse.jar Javier Cheers, Len.
Re: [PATCH] jde-junit.el
m0smith writes: Hi, I would love to help out but I need an example of what it should do. Its still a bit fuzzy in my mind what you need. The OpenAccess class would include methods for invoking the private and protected static and instance methods and variables of any class, e.g., /* * Calls a static method. */ public Object call(String class, String method, Object[] args); /* * Calls a static method. */ public Object call(Class class, String method, Object[] args); /* * Calls an instance method. */ public Object call(Object object, String method, Object[] args); /* * Sets a static variable. */ public void set(String class, String variable, Object value); /* * Gets a static variable. */ public Object get(String class, String variable); The OpenAccess class would use Java reflection methods to access private and protected members of a class. The class should be smart enough to wrap and unwrap builtin types in the corresponding objects and should throw appropriate exceptions, including an InvalidTargetException (?) that wraps an exception thrown by the private or protected method. Paul snip Secondly, it would be nice to have a class member accessor class that would allow test points that do not reside in the same directory as the tested class to access the private and protected members of the class. Any volunteers to create and contribute a MemberAccessor class the JDEE? Paul -- I am, truly and sincerely, your friend and well-wisher, m0smith http://www.topoged.com
Re: [PATCH] jde-junit.el
Ole Arndt writes: Hi Paul, Len, Paul Kinnucan [EMAIL PROTECTED] writes: Len Trigg writes: JDE. I've had some functions for ages that I use for running test classes ... I am planning to provide a command like this. However, I want to make the JDEE's support of unit testing more flexible. Here is the plugin I use for switching forth and back between Class source and test file and running tests. It uses some customisation variables, perhaps you can use it as a base. The mapping from class source to test source can surely be improved. It is based on some code from the list, I don't remember whose work it was, shame on me. I committed an updated jde-junit.el file last night. It adds a customization variable jde-junit-tester-name-tag variable that allows you to specify a tag for generating JUnit class names from testee class names. You can specify whether to prefix or append the tag to the testee class name. The default tag is the prefix T, i.e., it generates TFoo as the name for a JUnit class that tests Foo. I added functions that use this variable to determine a test case name from a testee class and vice-versa. I plan to use these functions to provide a command that switches you from a testee class to the test case that tests it and vice versa. This command will also use a customization variable that I plan to implement named, jde-junit-test-case-directory that will allow you to specify where test cases are located for a project. My thought is to allow you to specify one of two locations: - same directory as the classes to be tested - a specified directory beneath the classes to be tested, e.g., unittest. Please let me know if you know of other places that people commonly store test cases. I plan to add a customization variable jde-junit-generic-test-case-class that allows you to specify the parent class for all test case classes. This allows you to create your own subclass of JUnit's TestCase and use this as the parent for all test cases. The default value will be TestCase. The JDEE test case class template will use this variable to generate skeleton test cases. Paul See attachment. This is only the lisp file from the plugin. The only other file in the plugin is junit.jar in java/lib/junit.jar. -- Ole Arndt http://www.sugarshark.com
Re: [PATCH] jde-junit.el
Paul Kinnucan writes: Ole Arndt writes: Hi Paul, Len, Paul Kinnucan [EMAIL PROTECTED] writes: Len Trigg writes: JDE. I've had some functions for ages that I use for running test classes ... I am planning to provide a command like this. However, I want to make the JDEE's support of unit testing more flexible. Here is the plugin I use for switching forth and back between Class source and test file and running tests. It uses some customisation variables, perhaps you can use it as a base. The mapping from class source to test source can surely be improved. It is based on some code from the list, I don't remember whose work it was, shame on me. I committed an updated jde-junit.el file last night. It adds a customization variable jde-junit-tester-name-tag Hmm, on second thougth, I might rename this to jde-junit-test-case-name-tag Paul variable that allows you to specify a tag for generating JUnit class names from testee class names. You can specify whether to prefix or append the tag to the testee class name. The default tag is the prefix T, i.e., it generates TFoo as the name for a JUnit class that tests Foo. I added functions that use this variable to determine a test case name from a testee class and vice-versa. I plan to use these functions to provide a command that switches you from a testee class to the test case that tests it and vice versa. This command will also use a customization variable that I plan to implement named, jde-junit-test-case-directory that will allow you to specify where test cases are located for a project. My thought is to allow you to specify one of two locations: - same directory as the classes to be tested - a specified directory beneath the classes to be tested, e.g., unittest. Please let me know if you know of other places that people commonly store test cases. I plan to add a customization variable jde-junit-generic-test-case-class that allows you to specify the parent class for all test case classes. This allows you to create your own subclass of JUnit's TestCase and use this as the parent for all test cases. The default value will be TestCase. The JDEE test case class template will use this variable to generate skeleton test cases. Paul See attachment. This is only the lisp file from the plugin. The only other file in the plugin is junit.jar in java/lib/junit.jar. -- Ole Arndt http://www.sugarshark.com
Re: [PATCH] jde-junit.el
Ole Arndt writes: Paul Kinnucan [EMAIL PROTECTED] writes: This command will also use a customization variable that I plan to implement named, jde-junit-test-case-directory that will allow you to specify where test cases are located for a project. My thought is to allow you to specify one of two locations: - same directory as the classes to be tested - a specified directory beneath the classes to be tested, e.g., unittest. Please let me know if you know of other places that people commonly store test cases. A very common scheme is to have the java source files of a project under one top directory and to use a parallel directory hierarchy for the test sources. All projects managed with maven follow this scheme for example. Thanks. I will include a parallel directory option to jde-junit-test-case-directory option and an option to specify a custom test-case storage scheme. I think I'll change the name to something like jde-junit-test-case-storage-scheme to reflect the fact that what you are really specifying is a rule for determining the location of test cases based on the location of classes to be tested. Paul Example: project/src/net/java/project/Source.java project/test/net/java/project/SourceTest.java or: project/src/java/net/java/project/Source.java project/src/test/net/java/project/SourceTest.java -- Ole Arndt http://www.sugarshark.com
Re: [jde] [ANNOUNCEMENT] JDEE 2.3.4beta6 available at ...
Raul Acevedo writes: On Wed, 2004-10-13 at 01:14 -0400, Paul Kinnucan wrote: * Update the class list used by completion and by code generation wizards after compiling a class or building a project. This should ensure that completion and the wizards work for new classes and changes to existing classes after compiling new or changed classes. This is extremely slow on large projects, even if I'm just compiling a single class. I'm assuming that's because it's updating everything in the class path. If so, can it be changed to only update the class that was just compiled? And until that happens, how can I disable it and run it manually when necessary? It takes about 30 seconds right now. Hi Raul, I'll see if I can get the first approach to work. Meanwhile, you can easily disable this feature by removing je-compile-finish-update-class-info from jde-compile-finish-hook. Paul
Slightly annoying behavior in JDEE 2.3.4beta5
Jon Schewe writes: I found that jde-lib-directory-names is set to '(^lib ^jar) by default. This doesn't work for a couple of projects I'm on that use jar-staging-dir as a directory name and this gets expanded in undesirable ways. So I set jde-lib-directory-names to nil and then found that this breaks jde-ant-build when using the Java invocation method. After doing some looking I came up with the solution to set jde-lib-directory-names to '(^lib$ ^jar$). This works for everything. Perhaps the default value should be changed to be more restrictive like this, or a separate expansion variable be created for jde-ant? Does anyone have an objection to restricting the default library names to lib and jar as Jon suggests? Paul Your mouse has moved. Windows must restart for change to take effect. Reboot now? [OK] http://web-unix.htc.honeywell.com/people/jschewe [Honeywell Intranet Only] *My views may not represent those of my employers !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 TRANSITIONAL//EN HTML HEAD META HTTP-EQUIV=Content-Type CONTENT=text/html; CHARSET=UTF-8 META NAME=GENERATOR CONTENT=GtkHTML/3.0.10 /HEAD BODY I found that jde-lib-directory-names is set to '(quot;^libquot; quot;^jarquot;) by default.nbsp; This doesn't work for a couple of projects I'm on that use quot;jar-staging-dirquot; as a directory name and this gets expanded in undesirable ways.nbsp; So I set jde-lib-directory-names to nil and then found that this breaks jde-ant-build when using the Java invocation method.nbsp; After doing some looking I came up with the solution to set jde-lib-directory-names to '(quot;^lib$quot; quot;^jar$quot;).nbsp; This works for everything.nbsp; Perhaps the default value should be changed to be more restrictive like this, or a separate expansion variable be created for jde-ant?BR BR TABLE CELLSPACING=0 CELLPADDING=0 WIDTH=100% TR TD HR BR Your mouse has moved.BR Windows must restart for change to take effect.BR Reboot now? [OK]BR A HREF=http://web-unix.htc.honeywell.com/people/jschewe;Uhttp://web-unix.htc.honeywell.com/people/jschewe/U/A [Honeywell Intranet Only]BR *My views may not represent those of my employers /TD /TR /TABLE /BODY /HTML
[PATCH] jde-junit.el
Len Trigg writes: Hi there, I just had a look at the jde-junit that came with the latest beta of JDE. I've had some functions for ages that I use for running test classes, and so I've written a patch that lets my functions piggyback off jde-junit. The patch (attached) separates the jde-junit-run into separate functions for getting the name of the class to pass to the runner, and for running tests given a class name. This keeps the existing functionality, but lets me define the following modifications (which you may want to include): 1) If the current buffer doesn't appear to be a test class, derive the name of the appropriate test class (e.g.: if I'm editing com.example.Blah, runs com.example.BlahTest) (defun jde-junit-get-test-class () Gets the test class for the current buffer (let ((test-class (jde-run-get-main-class))) (if (string-match .*Tests?$ test-class) test-class (concat (jde-db-get-package) (file-name-sans-extension (file-name-nondirectory (buffer-file-name))) Test I am planning to provide a command like this. However, I want to make the JDEE's support of unit testing more flexible. In particular, I plan to provide customization variables that allow you to specify where your test files are located, e.g, in the same directory as the tested class, in a directory beneath, etc. I also plan to provide a customization variable that allows you to specify a rule for name test classes, e.g., by prepending or appending a specified string. The JDEE would then use the specified conventions to determine the name and location of the test class that tests the class in the current source buffer. I'd also like to get some feedback from users on a couple of matters. First, the current test class template requires that you insert testpoints manually in the Test suite() method. I think it better to take advantage of TestSuite's ability to determine test points by reflection, e.g., public static TestSuite suite(){ return new TestSuite (TDynamicClassLoader.class); } Secondly, it would be nice to have a class member accessor class that would allow test points that do not reside in the same directory as the tested class to access the private and protected members of the class. Any volunteers to create and contribute a MemberAccessor class the JDEE? Paul 2) Being able to run all the tests for the package corresponding to the current buffer (e.g.: com.example.AllTests). This may depend on peoples own naming conventions for their package test class. (defun jde-junit-run-alltests () Runs the corresponding test class that belongs to the package of the current buffer, piping output from the program to the buffer and input from the buffer to the program. (interactive) (jde-junit-run-class (jde-junit-get-package-test-class))) (defun jde-junit-get-package-test-class () Gets the package test class for the current buffer (let ((package-test-class (concat (jde-db-get-package) AllTests))) package-test-class)) I also have a function that enables quickly switching between a source file and its corresponding test source file (I have it bound to a key). This may be of less value depending on how (or whether) people segregate their source files from their test source files (we have a separate src and test hierarchy, e.g. project/src/com/example/Blah.java and project/test/com/example/BlahTest.java). (Experienced elisp people can probably suggest a better method than my simple-replace-in-string hackery.) (defun jde-junit-swap-testsrc-file() Swaps between source files in test and code hierarchies. (interactive) (find-file (if (string-match /src/ (buffer-file-name)) (simple-replace-in-string (simple-replace-in-string (buffer-file-name) /src/ /test/) .java$ Test.java) (simple-replace-in-string (simple-replace-in-string (buffer-file-name) /test/ /src/) Test.java$ .java (defun simple-replace-in-string (str oldtext newtext) Replace all matches in STR for OLDTEXT with NEWTEXT string, and returns the new string. (let ((index (string-match oldtext str))) (if index (concat (substring str 0 index) newtext (if ( (+ (length oldtext) index) (length str)) (substring str (+ (length oldtext) index)) )) str))) Hope you find these interesting. Cheers, Len. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
jde-usages and jde-2.3.4beta6 do not play nicely together
Raul Acevedo writes: The jde-usages plugin doesn't like the new JDEE beta 6. It's hard to describe the behavior, but they clearly don't work together. The jde-usages commands don't work well or at all, and after running them, the JDEE keeps restarting the bsh process. I'm on Linux, Fedora Core 2. Is this possibly a process-connection-type issue? Possibly. You could easily test this by changing the setting of process-connection-type from nil to t in jde-run.el Paul
JDEE 2.3.4beta6 problems with latest CEDET
Nascif Abousalh-Neto writes: Hi, I just tried the latest JDEE with the latest CEDET (1.0beta3b) and Emacs fails to start with the following error trace (sorry about the binary chars): cedet 1.0beta3 works fine for me with JDEE 2.3.4beta6. Must be something wrong with your configuration. Paul Debugger entered--Lisp error: (void-function semantic-bind) semantic-bind(((idle-summary-current-symbol-info . semantic-idle-summary-current-symbol-info-jde-mode)) (constant nil override t) jde-mode) byte-code(ÃÄÅÆ\nÇ ?ÈÄF#«Ä,G(B [mode transient overrides ((idle-summary-current-symbol-info . semantic-idle-summary-current-symbol-info-jde-mode)) t jde-mode semantic-bind constant override] 6) require(jde-complete) byte-code(ÀÁ!,[EMAIL PROTECTED](B!,[EMAIL PROTECTED](B!,[EMAIL PROTECTED](B!,[EMAIL PROTECTED](B!,[EMAIL PROTECTED](B!,HGÈÉÊËÌÍÎ(B ,G(B [require semantic-util beanshell jde-complete efc jde-parse jde-gen custom-declare-group jde-wiz nil JDE Wizards :group jde :prefix jde-wiz-] 8) require(jde-wiz) byte-code(ÃB,T I reverted back to cedet1.0beta2b and JDEE loaded fine. Regards, Nascif -Original Message- From: Paul Kinnucan [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 13, 2004 1:14 AM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: [ANNOUNCEMENT] JDEE 2.3.4beta6 available at ... http://jdee.sunsite.dk/rootpage.html#Downloading JDE 2.3.4beta6 *** * PLEASE READ * *** * * * This release requires cedet 1.0beta2 or later. cedet* * includes semantic, eieio, speedbar, and senator, all* * packages required by the JDEE. You can obtain cedet * * at http://cedet.sourceforge.net * * * * Please note that your .emacs file must load cedet.el, * * not require cedet. See the installation instructions * * that come with the cedet package for more information. * * * * 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. * * * *** * Moved JUnit templates to a separate package jde-junit.el and added some contributed commands for starting unit tests. This restructuring is preparatory to providing more systematic support for unit testing in the JDEE in future releases. * Configured the JDEE to always use pipes (rather than pseudo terminals) to communicate with external processes (see process-connection-type for more info). This change assumes that Java processes expect to use pipes. This change fixes a Code 129 error with XEmacs on some Linux operating systems and may fix similar errors on Linux with Emacs. * Fixed Emacs interface to JDEbug so that it handles chunked responses to debugger commands. Thanks to Brian Rumple. * If jde-run-application-class is a jar file, expand any environment variables or relative path indicators in the jar file path. Thanks to Joshua Spiewak. * The JDEE now supports use of emacs-w3m to browse Javadoc files. To use emacs-w3m, set jde-help-browser-function to w3m-browse-url. * Fixes bug that caused the generation of an extraneous slash in Javadoc URLs on UNIX systems. * Adds an Import submenu to the Code Generation menu. The submenu contains all of the JDEE's import-related commands. * JDEE now allows the plugins directory to be under CVS or RCS version control, i.e., to contain a directory named CVS or RCS. * Fixes regressions that broke applet debugging. * Upgrades BeanShell from version 1.2.7
Re: problem with JDEE
Jon Schewe writes: Thanks. I tried that by adding 21 to the end of prop-args in jde-run-vm-launch, but that didn't help. Got any other ideas? Hi Jon, The JDEE launches a Java process (see jde-run.el) by calling (save-w32-show-window (comint-exec run-buffer prog-name prog-path nil prog-args)) where save-w32-show-window is defined as: (defmacro save-w32-show-window (rest body) Saves the value of the w32-start-process-show-window variable before evaluating body and restores the value afterwards. `(let ((win32-start-process-show-window t) (w32-start-process-show-window t) (windowed-process-io t)) ,@body)) comint-exec is a standard Emacs/XEmacs function that is used by the compile command, the shell command, and other standard Emacs commands that allow the user to launch and interact with external processes. At some point, I don't recall when or by who, somebody added a binding for the variable windowed-process-io, which is defined by the XEmacs C code (i.e., it is a built-in XEmacs variable) and is not defined by Emacs, to save-w32-show-window macro. The doc says this variable should only be set if you have a Microsoft Windows GUI app that does standard I/O (GUI Windows apps typically do not do standard I/O). It would seem to me that this variable should not be set to t unconditionally as the JDEE currently does. There should be some JDEE variable that would allow you to specify whether the app you are about to launch is an app of the appropriate type. At any rate, the doc also says that this variable has no effect on Unix. Despite this, the facts that this variable affects process I/O under some circumstances and that the variable is only used by XEmacs seem to correlate strongly with the problem you are having. So I would suggest that you comment out the binding of this variable in the save-w32-show-window macro in jde-run.el, recompile jde-run.el if necessary, and see if that makes a difference. Paul On Tue, 2004-10-12 at 08:32, Matthew Smith wrote: I am having the same problem. If I add 21 to the compile command it works OK. This just started happening since I upgraded my JDEE. Looks like some problem handling STD ERR. Paul Kinnucan wrote: Jon Schewe writes: I've noticed this problem under JDEE 2.3.4beta5 and 2.3.2 using XEmacs 21.4.15 on Linux kernel 2.6.5 and JDK 1.4.2_05 and JDK 1.5.0. I've also filed a bug report with Sun and sent this test case to one of their engineers. If you compile and run bugs.jdk.code129.SplitDB and just wait, you don't have to press anything and it errors out with a code 129 when run from inside JDEE. If you run it from the commandline it's just fine. Here's the commandline I'm using. java -classpath /net/users/jschewe/projects/test/build/ -Xmx256m -ea bugs.jdk.code129.SplitDB If I comment out the setIcon call in DatabaseDialog, then it's just fine. So my guess is that there's something with the signal handling when the image finishes loading. Do you have any ideas as to what JDEE/XEmacs may be doing when it executes the java process that would cause this to occur? Thanks for any input you have. Until then I'll have to resort to the commandline. BTW this happens also when running ant inside JDEE. Hi Jon, I have no problem running the test case that you sent from the JDEE on Windows XP with Emacs 21.3.1. The icon loads just fine. The problem thus cannot be the JDEE. You say you can run the program from the command line. Do you mean from an external shell or from an XEmacs shell buffer? If you cannot run it from a shell buffer in XEmacs or from the JDEE but you can run it from a Linux shell, that would indicate that the problem is with XEmacs. If so, I'd try to find out what code129 means. Paul Your mouse has moved. Windows must restart for change to take effect. Reboot now? [OK] http://web-unix.htc.honeywell.com/people/jschewe [Honeywell Intranet Only] *My views may not represent those of my employers !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 TRANSITIONAL//EN HTML HEAD META HTTP-EQUIV=Content-Type CONTENT=text/html; CHARSET=UTF-8 META NAME=GENERATOR CONTENT=GtkHTML/3.0.10 /HEAD BODY I've noticed this problem under JDEE 2.3.4beta5 and 2.3.2 using XEmacs 21.4.15 on Linux kernel 2.6.5 and JDK 1.4.2_05 and JDK 1.5.0.nbsp; I've also filed a bug report with Sun and sent this test case to one of their engineers.BR BR If you compile and run bugs.jdk.code129.SplitDB and just wait, you don't have to press anything and it errors out with a code 129 when run from inside
Re: problem with JDEE
Jon Schewe writes: On Tue, 2004-10-12 at 11:00, Paul Kinnucan wrote: The doc says this variable should only be set if you have a Microsoft Windows GUI app that does standard I/O (GUI Windows apps typically do not do standard I/O). It would seem to me that this variable should not be set to t unconditionally as the JDEE currently does. There should be some JDEE variable that would allow you to specify whether the app you are about to launch is an app of the appropriate type. At The app here is defined as java or javaw, not the Java application being written, so I suspect the current JDEE behavior is correct. any rate, the doc also says that this variable has no effect on Unix. Despite this, the facts that this variable affects process I/O under some circumstances and that the variable is only used by XEmacs seem to correlate strongly with the problem you are having. So I would suggest that you comment out the binding of this variable in the save-w32-show-window macro in jde-run.el, recompile jde-run.el if necessary, and see if that makes a difference. I tried that and it doesn't help. I even commented out the call to the macro and evaluated the method again and still the same behavior. I tried adding 21 onto the end of my execution line and that doesn't seem to help either. I'm grasping at straws here but you could try adding (setq process-connection-type nil) to your .emacs file. This variable is set to t by default on XEmacs. If I understand the doc correctly, this tells XEmacs to use pseudo terminal (pty) commands to connect to the external process. I believe Java uses pipes for interprocess communications. Thus if XEmacs is using pty and Java is expecting pipes, there could be a problem. Paul Your mouse has moved. Windows must restart for change to take effect. Reboot now? [OK] http://web-unix.htc.honeywell.com/people/jschewe [Honeywell Intranet Only] *My views may not represent those of my employers
[ANNOUNCEMENT] JDEE 2.3.4beta6 available at ...
http://jdee.sunsite.dk/rootpage.html#Downloading JDE 2.3.4beta6 *** * PLEASE READ * *** * * * This release requires cedet 1.0beta2 or later. cedet* * includes semantic, eieio, speedbar, and senator, all* * packages required by the JDEE. You can obtain cedet * * at http://cedet.sourceforge.net * * * * Please note that your .emacs file must load cedet.el, * * not require cedet. See the installation instructions * * that come with the cedet package for more information. * * * * 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. * * * *** * Moved JUnit templates to a separate package jde-junit.el and added some contributed commands for starting unit tests. This restructuring is preparatory to providing more systematic support for unit testing in the JDEE in future releases. * Configured the JDEE to always use pipes (rather than pseudo terminals) to communicate with external processes (see process-connection-type for more info). This change assumes that Java processes expect to use pipes. This change fixes a Code 129 error with XEmacs on some Linux operating systems and may fix similar errors on Linux with Emacs. * Fixed Emacs interface to JDEbug so that it handles chunked responses to debugger commands. Thanks to Brian Rumple. * If jde-run-application-class is a jar file, expand any environment variables or relative path indicators in the jar file path. Thanks to Joshua Spiewak. * The JDEE now supports use of emacs-w3m to browse Javadoc files. To use emacs-w3m, set jde-help-browser-function to w3m-browse-url. * Fixes bug that caused the generation of an extraneous slash in Javadoc URLs on UNIX systems. * Adds an Import submenu to the Code Generation menu. The submenu contains all of the JDEE's import-related commands. * JDEE now allows the plugins directory to be under CVS or RCS version control, i.e., to contain a directory named CVS or RCS. * Fixes regressions that broke applet debugging. * Upgrades BeanShell from version 1.2.7 to version 2.0b2. * Update the class list used by completion and by code generation wizards after compiling a class or building a project. This should ensure that completion and the wizards work for new classes and changes to existing classes after compiling new or changed classes. * This release includes the following enhancements to the JDEE's class import wizard. - A new customization variable: jde-import-excluded-classes. The new variable replaces jde-import-excluded-packages, which the JDEE no longer defines. The new variable provides the following new class exclusion options. - It allows you to use Lisp functions as well as regular expressions to specify exclusion rules. - It allows you to specify that a rule excludes all unqualified synonyms of a class that meets the rule. For example, one of the default rules specifed by this variable excludes java.lang.String as well as any other class whose unqualified name is String. - This release adds the jde-import-expand-imports command. This command replaces package imports, e.g., java.io.* with imports of the classes specifically referenced by the current buffer. - The following commands now include a prefix argument that causes all classes to be imported, regardless of the setting of jde-import-excluded-classes. - jde-import-find-and-import - jde-import-all-filter - jde-import-all - This release includes a new import organization option: jde-import-blank-line-between-groups. Thanks to Martin Schwamberger for these enhancements. * Fixed bugs that caused
Re: Feedback needed on w3m support
Kai Grossjohann writes: Paul Kinnucan [EMAIL PROTECTED] writes: Several days ago I submitted a fix to CVS for problem 1. That fix uses the intermediate file only if browse-url-browser-function is set to browse-url-default-windows-browser, i.e., Internet Explorer. The problem with that fix is that it disables the frames mode display for all other browsers. As I happen to like the frames mode display, I intend to back this fix out of CVS. Does it work to do the opposite logic? That is, instead of using the intermediate file for IE only, use the intermediate file for everything except w3m? Yes. That's in fact what I did. Paul I wish emacs-w3m grokked frames. w3m itself supports -F, but that does not seem to have any effect on emacs-w3m. Kai
problem with JDEE
Jon Schewe writes: I've noticed this problem under JDEE 2.3.4beta5 and 2.3.2 using XEmacs 21.4.15 on Linux kernel 2.6.5 and JDK 1.4.2_05 and JDK 1.5.0. I've also filed a bug report with Sun and sent this test case to one of their engineers. If you compile and run bugs.jdk.code129.SplitDB and just wait, you don't have to press anything and it errors out with a code 129 when run from inside JDEE. If you run it from the commandline it's just fine. Here's the commandline I'm using. java -classpath /net/users/jschewe/projects/test/build/ -Xmx256m -ea bugs.jdk.code129.SplitDB If I comment out the setIcon call in DatabaseDialog, then it's just fine. So my guess is that there's something with the signal handling when the image finishes loading. Do you have any ideas as to what JDEE/XEmacs may be doing when it executes the java process that would cause this to occur? Thanks for any input you have. Until then I'll have to resort to the commandline. BTW this happens also when running ant inside JDEE. Hi Jon, I have no problem running the test case that you sent from the JDEE on Windows XP with Emacs 21.3.1. The icon loads just fine. The problem thus cannot be the JDEE. You say you can run the program from the command line. Do you mean from an external shell or from an XEmacs shell buffer? If you cannot run it from a shell buffer in XEmacs or from the JDEE but you can run it from a Linux shell, that would indicate that the problem is with XEmacs. If so, I'd try to find out what code129 means. Paul Your mouse has moved. Windows must restart for change to take effect. Reboot now? [OK] http://web-unix.htc.honeywell.com/people/jschewe [Honeywell Intranet Only] *My views may not represent those of my employers !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 TRANSITIONAL//EN HTML HEAD META HTTP-EQUIV=Content-Type CONTENT=text/html; CHARSET=UTF-8 META NAME=GENERATOR CONTENT=GtkHTML/3.0.10 /HEAD BODY I've noticed this problem under JDEE 2.3.4beta5 and 2.3.2 using XEmacs 21.4.15 on Linux kernel 2.6.5 and JDK 1.4.2_05 and JDK 1.5.0.nbsp; I've also filed a bug report with Sun and sent this test case to one of their engineers.BR BR If you compile and run bugs.jdk.code129.SplitDB and just wait, you don't have to press anything and it errors out with a code 129 when run from inside JDEE.nbsp; If you run it from the commandline it's just fine. BR BR Here's the commandline I'm using.BR java -classpath /net/users/jschewe/projects/test/build/ -Xmx256m -ea bugs.jdk.code129.SplitDBBR BR If I comment out the setIcon call in DatabaseDialog, then it's just fine.nbsp; So my guess is that there's something with the signal handling when the image finishes loading.BR BR Do you have any ideas as to what JDEE/XEmacs may be doing when it executes the java process that would cause this to occur?BR BR Thanks for any input you have.nbsp; Until then I'll have to resort to the commandline.nbsp; BR BR BTW this happens also when running ant inside JDEE.BR BR TABLE CELLSPACING=0 CELLPADDING=0 WIDTH=100% TR TD HR BR Your mouse has moved.BR Windows must restart for change to take effect.BR Reboot now? [OK]BR A HREF=http://web-unix.htc.honeywell.com/people/jschewe;Uhttp://web-unix.htc.honeywell.com/people/jschewe/U/A [Honeywell Intranet Only]BR *My views may not represent those of my employers /TD /TR /TABLE /BODY /HTML
Re: [jde] Re: [jde] problems finding symbol definition if class implements interface
Raul Acevedo writes: On Sat, 2004-10-09 at 00:32 -0400, Paul Kinnucan wrote: Raul Acevedo writes: Looking at the JDEE source, it looks like it just doesn't know about symbols in interfaces at all. In particular, jde-open-jump-to-class only knows to look in the parent class, but it doesn't consider any implemented interfaces, either in the current class or in any parent class. Is this a known limitation? Not to me. jde-open-jump-to-class has other limitations as well. I plan to work on removing them as soon as possible. If anybody else wants to jump in and help with this, feel free. Hi Raul, I'll take a look at your implementation as soon as possible. At the moment, I am working on integrating and qualifying a large backlog of contributions and so it may take me a few days to get to yours. Regards, Paul Here's an implementation that looks through all interfaces in addition to the parent classes. It keeps a list of already seen classes lest we get into an infinite loop somehow. It also restores buffer positions after it visits a buffer and doesn't find what it wants, and does a bury-buffer on all intermediate buffers visited so if the definition you want is in another buffer, and you do Ctrl-x b, your previous buffer is right there (instead of the default now being some random file you haven't explicitly visited). This method is somewhat complicated so I'm sure I haven't done it the best way and haven't taken everything into account, but it Works For Me. Ideally though this would be done entirely differently... rather than visiting a bunch of files, maybe there's a way to use the jde-usages plugin data to find the definition directly and more efficiently. Raul (defun jde-open-jump-to-class (parsed-symbol class-name java-file-name) Opens JAVA-FILE-NAME and place the cursor in the parsed variable (let* (tokens super-class seen-before old-point (first-time t)) ;; if the current buffer contains java-file-name do not try to ;; open the file (if (not (string-equal (buffer-file-name) java-file-name)) (funcall (or jde-open-cap-ff-function-temp-override jde-open-class-at-point-find-file-function) java-file-name)) (setq old-point (point)) (search-forward { nil t) (setq tokens (append (semantic-tag-type-superclasses (semantic-current-tag-of-class 'type)) (semantic-tag-type-interfaces (semantic-current-tag-of-class 'type (setq super-class (car tokens)) (when (and (fboundp 'senator-search-forward) (not (string= parsed-symbol ))) (beginning-of-buffer) (senator-parse) (setq parsed-symbol (concat \\b parsed-symbol \\b)) (while (and (not (senator-re-search-forward parsed-symbol nil t)) (consp tokens)) (message (format tokens %s tokens)) (let ((token (car tokens))) (setq tokens (cdr tokens)) (if (and (stringp token) (not (member token seen-before))) ;; searching for the thing-of-interest has failed ;; let's try in the base class (progn (setq seen-before (cons token seen-before)) (goto-char old-point) (if (not first-time) (bury-buffer)) (let ((jde-open-cap-ff-function-temp-override 'find-file)) (jde-show-superclass-source-2 (ncons token))) (setq old-point (point)) (beginning-of-buffer) (senator-parse) (search-forward { nil t) (setq tokens (append tokens (semantic-tag-type-superclasses (semantic-current-tag-of-class 'type)) (semantic-tag-type-interfaces (semantic-current-tag-of-class 'type ;;if it is the first time try in the class definition ;;itself. (if first-time (progn (setq first-time nil) (senator-re-search-forward (progn (string-match .*\\.\\([^.]+\\)$ (concat . class-name)) (match-string 1 (concat . class-name))) nil t))) (if (not super-class) (error Method not found)) (setq super-class token
Re: [jde] problems finding symbol definition if class implements interface
Raul Acevedo writes: Looking at the JDEE source, it looks like it just doesn't know about symbols in interfaces at all. In particular, jde-open-jump-to-class only knows to look in the parent class, but it doesn't consider any implemented interfaces, either in the current class or in any parent class. Is this a known limitation? Not to me. jde-open-jump-to-class has other limitations as well. I plan to work on removing them as soon as possible. If anybody else wants to jump in and help with this, feel free. Paul Raul On Thu, 2004-10-07 at 15:49 -0700, Raul Acevedo wrote: I have something like: public interface FooInterface { public static final int FOO = 1; } public class FooClass implements FooInterface { public void doSomething() { System.out.println(I'm doing something with + FOO); } } If I put the cursor on the System.out.println, on FOO, jde-open-class-at-point can't find the definition. If I write FooInterface.FOO instead of FOO, it's fine, but FOO by itself is not. Raul
Re: debugging with jdb
Len Trigg writes: Raul Acevedo wrote: Would the problem be solved if comint returned code 1, instead of 129? In other words, is the problem that comint returns an inappropriate error code, or that comint returns *any* error code at all (i.e. it shouldn't get an error from the subprocess in the first place)? I think the latter. The bug typically bites me when running JUnit tests and it's clear (based on the expected output) that either the process terminates early, or a large part of the output is just lost. comint is the Emacs interface to external processes such as jdb or bash. It's purpose is to allow Emacs users to interact with external processes, i.e., to send input to the standard input of the external process and to view the standard output of the external process. The JDEE uses comint to allow JDEE users to interact with jdb, the BeanShell, and other external processes. comint writes Emacs user input to the standard input of the external process and reads from the standard output of the external process and displays the output in an Emacs buffer. I don't know how comint handles the error output of an external process. My assumption has always been that it reads the standard error output of the external process and treats it as if it were coming from standard output, i.e., it simply passes the standard output to clients of comint as if the error output were coming from the external process's standard outpuut. My guess is that some recent versions of comint or Emacs have a bug in the handler for the standard error output of an external process that causes the error. Because the JDEE uses comint to interfaces to external processes, in particular, jdb, this would mean that if jdb encounters an error condition and tries to communicate the error by writing a message to its standard error output instead of to its standard output pipe, this causes the 129 error message on some versions of Emacs or Linux. I'm not sure that the JDEE can fix this problem as my suspicion is that the problem is with comint or with Emacs C functions on which comint relies. Paul
debugging with jdb
Raul Acevedo writes: I haven't debugged with JDE in a while, so I don't know if this is a new bug with the latest JDEE beta. Every time I display an expression with jdb, the debugger exits. Is this a known issue? It will display the expression just fine, and then exit with Comint exited abnormally with code 129. No this is a problem with Comint on some combinations of Emacs and the host operating system. I believe it may have something to do with how comint handles standard error input from an external process, e.g., jdb. It's my impression that recent versions of Emacs or Linux have developed an incompatibility in this area. I cannot fix this problem without the active assistance of those who are experiencing it as I do not experience the problem on the versions of Emacs, Windows XP, and Linux that I use. Paul
Re: debugging with jdb
Raul Acevedo writes: On Tue, 2004-10-05 at 15:18 -0400, Paul Kinnucan wrote: No this is a problem with Comint on some combinations of Emacs and the host operating system. I believe it may have something to do with how comint handles standard error input from an external process, e.g., jdb. It's my impression that recent versions of Emacs or Linux have developed an incompatibility in this area. I cannot fix this problem without the active assistance of those who are experiencing it as I do not experience the problem on the versions of Emacs, Windows XP, and Linux that I use. I'm willing to help you figure that out... I just tried JDEBug, and that also doesn't work. The JDEBug process dies mysteriously shortly after I try to attach to a local process, with no error message on the Emacs side. However the stdout for the Java process I'm connecting to says Transport error, error code = -1. I'm using JDK 1.4.2_05 on Linux. Do you know anything about that? It means that JDEbug cannot attach to the debuggee process for some unspecified reason. One possibility is that the debuggee process was not startedin debug server mode or is expecting to be accessed on a socket other than the one you specified. Paul Raul
Feedback needed on w3m support
Hi, I need some feedback on how the JDEE should support w3m, the text-mode browser that, when used with the emacs-w3m package, enables Emacs to render HTML in a buffer. First, some background. The current version of the JDEE uses the Emacs lisp function browse-url to display HTML documentation, e.g., Javadoc for the class at point and the JDEE user's guide. browse-url in turn uses the function specified by the customization variable browse-url-browser-function to display HTML. On Windows, this variable is set to browse-url-default-windows-browser which uses the Windows default browser, which is Internet Exploer by default. On Unix, browse-url-browser-function is browse-url-default-browser, which searches for the presence of one of a predetermined list of browsers (gnome, Mozilla, Galeon, Netscape, etc.) and uses the first that it finds. The JDEE does not display Javadoc pages directly. Instead, it creates an intermediate HTML file on the fly, name jde_meta.html. This URL-transfer file causes the browser to load the target page. The original reason for doing this was to work around a bug in the Emacs windows implementation of browse-url-default-windows-browser that caused Emacs to fail to forward the anchor portion of an HTML address. Later, the intermediate file approach was used to implement display of the multiframe view for displaying Javadoc. Currently it is possible for you to configure the JDEE to use the w3m browser simply by setting browse-url-browser-function to w3m-browse-url. However, there are problems with this approach: 1. There seems to be a bug in the w3m implementation of URL forwarding on Windows. At least, the forwarding does not work in the latest version of emacs-w3m.el installed on my machine. As a result, when you ask the JDEE to display Javadoc for the symbol at point, the jde_meta.html, file appears in the buffer, with the link to the target page highlighted. You need to click the link to display the target page. 2. Users have reported that the Unix version of w3m cannot handle the URL format that the JDEE uses for Javadoc files stored on the local system. 3. w3m is incapable of rendering the JDEE User's Guide because it uses an applet to display its TOC. Several days ago I submitted a fix to CVS for problem 1. That fix uses the intermediate file only if browse-url-browser-function is set to browse-url-default-windows-browser, i.e., Internet Explorer. The problem with that fix is that it disables the frames mode display for all other browsers. As I happen to like the frames mode display, I intend to back this fix out of CVS. So now the problem is to find an easy-to-use fix for all three problems. My inclination is to add a JDEE customization variable, jde-help-browser-function, that would allow you to choose: * browse-url (default) * w3m-browse-url * other If you choose w3m browse-url, the JDEE will pass the target URL to w3m-browse-url. In the other cases, it will pass the URL of the URL-transfer file to the browser, causing the browser to load the target file in frames or non-frame mode depending on the setting of jde-help-use-frames. Regardless of the setting of jde-help-browser-function, the JDEE would use browse-url-default-windows-browser or browse-url-default-browser to display the JDEE User's Guide. Does this approach seem reasonable? Is there an easier way to handle these problems? I'd also appreciate it if someone who is using w3m on Unix would take a look at the URL that the JDEE generates for local files and tell me what's wrong with it and what URL would be acceptable to w3m. Paul
refactoring in jdee
Raul Acevedo writes: I know this question comes up at least once a year. I figure it's about time to ask again, in case new tools have come up. How do you do refactoring in Emacs/JDEE? Are there plans to include refactoring into JDEE at some point? My plan originally was to use xref as a basis for factoring commands. Now it appears that jde-usages might be a better basis. I need input on what kind of factoring commands users want. Paul
Re: refactoring in jdee
Raul Acevedo writes: On Thu, 2004-09-30 at 13:50 -0400, Paul Kinnucan wrote: My plan originally was to use xref as a basis for factoring commands. Now it appears that jde-usages might be a better basis. I need input on what kind of factoring commands users want. I think just being able to refactor variable and method name changes would be awesome. That should be fairly straight forward, using jde-usages as a basis. Paul
RE: refactoring in jdee
Chitale, Sandip V writes: I guess we don't have to list each type of refactoring. We could get the readymade list from Eclipse or IDEA and then prioritize the list. Another cool thing in these IDEs is a notion of Quick Fixes, auto naming of local variables etc. How does autonaming of local variables work? Paul Here are the links: Eclipse: Refactoring: http://help.eclipse.org/help30/index.jsp?topic=/org.eclipse.jdt.doc.user /reference/ref-menu-refactor.htm Quick Fix: http://help.eclipse.org/help30/index.jsp?topic=/org.eclipse.jdt.doc.user /concepts/cquickfix.htm IDEA: Refactoring: http://www.jetbrains.com/idea/docs/help/refactoring/ Intention Actions: http://www.jetbrains.com/idea/docs/help/editing/intentionactions.html ala Quick Fixes Regards, Sandip -Original Message- From: Paul Kinnucan [mailto:[EMAIL PROTECTED] Sent: Thursday, September 30, 2004 10:51 AM To: Raul Acevedo Cc: [EMAIL PROTECTED] Subject: refactoring in jdee Raul Acevedo writes: I know this question comes up at least once a year. I figure it's about time to ask again, in case new tools have come up. How do you do refactoring in Emacs/JDEE? Are there plans to include refactoring into JDEE at some point? My plan originally was to use xref as a basis for factoring commands. Now it appears that jde-usages might be a better basis. I need input on what kind of factoring commands users want. Paul
Re: [jde] xref *-caller files empty
Raul Acevedo writes: On Tue, 2004-09-28 at 16:15 +0100, Dominik Dahlem wrote: I'm testing the xref functionality on a small codebase. In my most simple example, I would like to display the call tree of a private method in a class. Also, jde-xref-first-caller results in a message No more calls in my minibuffer. I verified the xrefdb and found out that all *-caller files just contain (). I suppose this is the reason, why I can not navigate through call-trees since the information could not be properly generated. Find below my prj.el file. Am I missing something? Rather than help you with jde-xref, I'd recommend trying the usages plugin, which works much better and provides extra functionality. Check it out at http://jde-usages.sourceforge.net. Are there plans to integrate the usages plugin as a replacement for jde- xref? I don't know any advantages jde-xref has over the plugin. If there are no objections, I will do this. Paul
RE: maven contribution
Nascif Abousalh-Neto writes: That would be a nice extension to JDE. Would it be possible to extend the Ant Server or the Compile Server to make them generic enough to run Maven, or other Java-based tools like PMD, CheckStyle, etc., etc? I found that the code in AntServer.java and CompileServer.java is very similar; the differences could be refactored to a separate file, and a generic interface be defined. New Java-based plugins could implement this interface and thus be added to the JDE server support (through the BeanShell), instead of calling new JVMs on demand. Hi Nascif, JDEE 2.3.4 already has this capability: jde-jeval-cm is a Lisp function in `jde'. (jde-jeval-cm JAVA-EXPR optional BUFFER-HEAD FINISH-FCN) Evaluate JAVA-EXPR and display the result in a compilation-mode buffer. The optional argument BUFFER-HEAD specifies text to appear at the head of the compilation buffer. The optional argument FINISH-FCN specifies a function to be called when the compilation is finished. This function is intended to be used to invoke Java development utilities, such as source code style checkers, that emit compiler-like error messages. Displaying the output in a compilation-mode buffer enables the user to use compilation-mode's error message navigation and hyperlinking capabilities. The following example uses this function to invoke the javac compiler on a file in the current directory: (jde-bsh-compile-mode-eval jde.util.CompileServer.compile(\Test.java\); Compile Test.java 'jde-compile-finish-kill-buffer) Paul Regards, Nascif -Original Message- From: Dominik Dahlem [mailto:[EMAIL PROTECTED] Sent: Friday, September 24, 2004 7:15 AM To: [EMAIL PROTECTED] Subject: maven contribution Hi all, I'm curious to know whether there are plans to add jde-maven.el under the hood of JDEE? There are two versions of jde-maven.el around [1,2] but they have not been contributed to the JDE CVS. Thanks, Dominik [1]-http://lists.gnu.org/archive/html/gnu-emacs-sources/2004-0 5/msg00032.html [2]-http://www.mail-archive.com/[EMAIL PROTECTED]/msg06674.html -- Dominik Dahlem [EMAIL PROTECTED] --- Trinity College Dublin Department of Computer Science, Dublin 2, Ireland tel: (+353) 1-608 1539 fax: (+353) 1-677 2204 www: http://www.cs.tcd.ie/Dominik.Dahlem/ ---
javac mistakes filename for flag
Allen Hsu writes: When I did C-c C-v C-v, javac seems to think the source filename as a flag. Is there a setting to correct this? Allen, Please submit a full bug report (see the JDEE web site and the Submit Problem Report item on the JDEE's help menu) when asking for tech support. The problem could be caused by an incorrect setting of a JDEE customization variable. The problem report includes the settings of all variables so we don't have to waste time querying you about how you've set the variables. Paul I'm using JDE2.3.4beta5, emacs21.2.1, JDK1.4.2_05. Thanks. Allen cd c:/Allen/DesignPatterns/FactoryMethod/ c:/j2sdk1.4.2_05/bin/javac.exe -classpath c:/Allen/DesignPatterns/FactoryMethod -g -deprecation -O -verbose -source 1.4 MyDocument.Java javac: invalid flag: MyDocument.Java Usage: javac options source files where possible options include: -gGenerate all debugging info ... ___ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com
Re: [jde] Color coding only on first java file
Raul Acevedo writes: On Tue, 2004-09-21 at 23:06 -0400, Paul Kinnucan wrote: There seems to be a bug in semantic that is cured by putting the following in your .emacs file: (setq semantic-load-turn-useful-things-on t) See Jeff Greif's post to the JDEE mailing list earlier today. Is it necessary to restart emacs, or is there something that can be done inside a running emacs to take advantage of this fix? Evaluate (setq semantic-load-turn-useful-things-on t) in an ielm buffer (M-x ielm). Paul I already have quite a little session of buffers going and I'd hate to restart and have to find all the files, rename the buffers accordingly (I'm editing a bunch of files with the same name so I've renamed the buffers to make it easier to switch), etc. Raul
Re: remove * in import list.
Martin Schwamberger writes: George Flaherty wrote: Is there a way I can eliminate any import which might include *. I Hi George, this is not possible with the existing set of functions. I've written a function which does this job. It calls jde-import-all after removing all package-imports. Note that this function works with the CVS version of jde-import.el. In order to use it with a prior version, replace the last line by (jde-import-all I have included Martin's command in the JDEE. Thank you, Martin. Paul (defun jde-import-expand-imports (optional no-exclude) Delete all package imports and replace them by their respective class imports. The replacement is done by `jde-import-all'. `jde-import-auto-collapse-imports' is temporarily disabled during the execution of `jde-import-all'. The optional prefix argumet NO-EXCLUDE is used by `jde-import-all'. This function is roughly the opposite of `jde-import-collapse-imports'. (interactive P) (let* ((tags (semantic-fetch-tags)) (imports (semantic-brute-find-tag-by-class 'include tags)) import-all package-import-start package-import-end jde-import-auto-collapse-imports) ; disable auto collapse (dolist (import imports) (when package-import-start ;; kill from start of package-import to beginning of following import (kill-region package-import-start (semantic-tag-start import)) (setq import-all t) (setq package-import-start nil)) (when (string-match \\.\\* (semantic-tag-name import)) ; package-import? (setq package-import-start (semantic-tag-start import)) (setq package-import-end (semantic-tag-end import ;; kill last import? (when package-import-start ;; kill from start of package-import to end of line (kill-region package-import-start (save-excursion (goto-char package-import-end) (end-of-line) (or (eobp) (forward-char)) (point))) (setq import-all t)) (if import-all (jde-import-all no-exclude Regards, Martin George Flaherty wrote: Is there a way I can eliminate any import which might include *. I would like to be able to do the following import foo.foobar.*; and convert it into import foo.foobar.ClassOne; import foo.foobar.ClassTwo; I have tried with jde-import-all-unique and jde-import-kill-extra-imports, but what happens is I will will end up with the following: import foo.foobar.*; import foo.foobar.ClassOne; import foo.foobar.ClassTwo; thanks. -george
Debug Applet (2)
Guy Durrieu writes: (B (B (B Hello, (B (B Few days ago, I sent this mail on the JDEE mailing list. (B (B (B I am a newbie with JDE. I recently installed JDE-2.3.3 on my system, (B and many things seem to work fine, but when I try JDE - Debug Applet, (B I get : (B (B apply: Wrong number of arguments: #[(this main-class) ",[EMAIL PROTECTED]'(B" (B ["Launch the application whose main class is MAIN-CLASS in debug mode."] 1 "Launch (B the application whose main class is MAIN-CLASS in debug mode."], 1 (B (B (B Does anybody know what happens ? (B (BHi Guy, (B (BI restructured the JDEE's debugger code in JDEE 2.3.3. Unfortunately, (Bthis broke the code for debugging applets. The bottom line is that the (BJDE-Debug Applet command does not work in JDEE 2.3.3. It will work in (Bthe next beta release of JDEE 2.3.4. (B (BPaul (B (B (B Thanks in advance for your help ! (B (B (B I didn't receive any response until now. Maybe I wasn't precise enough : (B (B On my installation (JDE-2.3.3, JDK-1.4.1 under Solaris 5.8) (B (B load application + JDE - Run App : OK. (B (B load application + JDE - Debug App : OK. (B (B load applet + JDE - Run Applet : OK. (B (B load applet + JDE - Debug Applet : gives the error message above. (B (B I can't figure out what is wrong here, but I really would like to know (B if I did a mistake somewhere. (B (B Thanks in advance for your help ! (B (B Regards. (B (B --Guy Durrieu. (B (B -- (B =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= (B Guy DURRIEU ONERA/TIS/DTIMtel(33) 05.62.25.26.59 (B CERT, 2, avenue Edouard Belin B.P. 4025 fax(33) 05.62.25.25.93 (B 31055 TOULOUSE CEDEX 4 FRANCE e-mail [EMAIL PROTECTED] (B =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= (B (B (B
jde-run-etrace and the new compile.el
Suraj Acharya writes: If you are using a relatively new emacs with the revamped compile.el and find that the jde-run-etrace commands to jump to the souce line for a stack trace do not work, the following may help (defun jde-run-etrace-goto (optional next) Display the current stack using `compilation-goto-locus'. (jde-run-etrace-current-marker next) (compilation-goto-locus (car jde-run-etrace-current-marker) (cdr jde-run-etrace-current-marker) nil)) The signature of compilation-goto-locus seems to have changed from taking a single argument of a pair of markers to taking two (or three) marker arguments. Hi Suraj, Where can I get a prebuilt copy of Windows NT Emacs that uses this new version of compile.el? I need it to test changes to the JDEE required to support it. Paul
Hot code replace?
Greger Sernemar writes: Hi! Is Hot code replace supported with JDE? Not yet. Paul /Greger _ Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail
Allowing shell wildcards in jde-global-classpath and jde-sourcepath
Suraj Acharya writes: I made the following changes to allow me to use wildcards in the classpath and sourcepath variables. The file expansion included with jde which expands specially named directories (for example lib) didn't do the job for me because: Thanks, Suraj. I will consider your contribution for inclusion in the next release. Paul 1) My project has a bunch of library directories under a common root: extensions/ foo/lib/{a,b,c,d}.jar bar/lib/{e,f}.jar baz/lib/{x,y,z}.jar Without the wildcard expansion my classpath looked like this : (extensions/foo/lib, extensions/bar/lib, extensions/baz/lib, ...), with the wildcards I can say (extensions/*/lib/*.jar) 2) Jde's file expansion only worked on jde-global-classpath Suraj (defun jde-search-src-dirs (class) Return the directory containing the source file for a class. CLASS is the fully qualified name of the class. (let ((file (concat (jde-parse-get-unqualified-name class) .java)) (package (jde-parse-get-package-from-name class))) (catch 'found - (loop for dir in jde-sourcepath do + (loop for dir in (jde-expand-wildcards-and-normalize jde-sourcepath) do (progn - (setq - dir - (jde-normalize-path dir 'jde-sourcepath)) (if (file-exists-p (expand-file-name file dir)) (throw 'found dir) (let* ((pkg-path (subst-char-in-string ?. ?/ package)) (pkg-dir (expand-file-name pkg-path dir)) (file-path (expand-file-name file pkg-dir))) (if (file-exists-p file-path) (throw 'found pkg-dir) (defun jde-open-get-path-prefix-list () Builds all the path prefixes used to search for the full qualified source file. For this method to work `jde-sourcepath' needs to be set. (if jde-sourcepath - (append (jde-normalize-paths jde-sourcepath 'jde-sourcepath)) + (append (jde-expand-wildcards-and-normalize jde-sourcepath 'jde-sourcepath)) (error (concat For this method to work the variable jde-sourcepath needs to be set (defun jde-expand-classpath (classpath optional symbol) If `jde-expand-classpath-p' is nonnil, replaces paths to directories that match `jde-lib-directory-names' with paths to jar or zip files in those directories, excepting those specified by `jde-lib-excluded-file-names'. This function assumes that the existing paths are already normalized. - (if jde-expand-classpath-p - (let (paths) -(loop for path in classpath do - (if (and - (file-exists-p path) - (file-directory-p path) - (let ((dir-name (file-name-nondirectory path))) - (member-if - (lambda (lib-name) -(string-match lib-name dir-name)) - jde-lib-directory-names))) - (progn -(setq paths - (append - paths - (jde-expand-directory -path -\\.jar$ -jde-lib-excluded-file-names -symbol))) -(setq paths - (append - paths - (jde-expand-directory -path -\\.zip$ -jde-lib-excluded-file-names -symbol -(setq paths (append paths (list path) -paths) -classpath)) + (if (or jde-expand-classpath-p jde-expand-wildcards-in-paths-p) + (mapcan (lambda (path) + (cond + ((and jde-expand-classpath-p (file-exists-p path) + (file-directory-p path) + (let ((dir-name (file-name-nondirectory path))) + (member-if +(lambda (lib-name) + (string-match lib-name dir-name)) +jde-lib-directory-names))) +(append + (jde-expand-directory + path + \\.jar$ + jde-lib-excluded-file-names + symbol) + (jde-expand-directory + path + \\.zip$ + jde-lib-excluded-file-names + symbol))) + (jde-expand-wildcards-in-paths-p +(let ((exp-paths (file-expand-wildcards path))) + (if exp-paths exp-paths (list path + (t (list path +classpath) +classpath)) +(defcustom
Re: Refreshing bsh database
Martin Schwamberger writes: Hi Eric, you don't need to restart beanshell. It is sufficient to call jde-wiz-update-class-list. You can use C-c C-v C-q to call it. This works quite well. But I think it would be even more convenient to have a compile-finish-hook which calls jde-wiz-update-class-list. There is also menu entry which calls this function: JDE-Code Generation-Wizards-Update Class List Since jde-wiz-update-class-list is necessary for jde-import, submenu JDE-Interpreter (or even a new submenu) might be a better place for Update Class List. I'd forgotten about this function. Thanks, Martin, for reminding me. I will update the JDEE to invoke this function in the compile-finish-hook. Paul Regards, Martin Erik Curiel wrote: I also notice that the jde-import suffers the same problem, that it won't be able to find newly created classes unless bsh is restarted. Thanks!!! Erik Curiel On Thu, 5 Aug 2004, Paul Kinnucan wrote: Robert Mecklenburg writes: It often occurs that jde-complete says no completion at point when it should not. In these cases, exiting and restarting the bean shell cures the problem. One of the most common cases is when a new class has been defined (after the bean shell has started). It seems to me that a refresh-classes command for the bean shell would be useful here. Does one exist? Hi Robert, Completion for a new class will work only if the new class has been compiled. That is because JDEE's implementation of completion uses Java reflection to determine the names of a class's members. The JDEE provides a jde-compile-finish-hook function, jde-compile-finish-flush-completion-class, that is supposed to update the JDEE's completion subsystem after compilation of the class. What this function does is flush the JDEE's completion cache. The JDEE's completion cache is an Emacs Lisp variable that lists the members of all classes that have be completed since the beginning of the session or the cache has been flushed. Flushing the cache forces the JDEE to regenerate the completion info for the class that has just been recompiled. This may not work for new classes. The reason is that the Java side of the JDEE's completion subsystem maintains its own cache of all classes on the current project's classpath. This cache is updated whenever you switch projects. However, it's possible the cache is not being updated everytime you compile a class. Hence, the completion subsystem would never see a new class. I will investigate further this evening and if this is the case provide a fix in the next beta release. Paul
Problem with query replace in beta?
Eric Raymond writes: I just upgraded to the latest beta. I noticed two weird things: 1) When I do a query replace, emacs seems to leave parts of the original string when it replaces string in some places (such as where a class name is expected) For example if it replace old to new in public class oldOne I get public class newldOne! This does not always break. It does seem to happen if JDEE can parse original string a class and if the idle thread kicks in during the replace? 2) There is a gray bar at the top of each page which seems to repeat the first line in the file. Is there a way to make this go away? I've not seen either of these two phenomena when using the latest beta with Emacs 21.3.1 on Linux and on Windows. Paul
File mode specification error
Thomas Piekarski writes: Hello, I tried some time ago to run jde, the result was the folowing error: File mode specification error: (void-variable href=) Please be specific. run jde tells me nothing. What exactly did you do that caused this error? Paul I am not very familiar with lisp, so this message does not say very much to me. I have installed jde using the install-jde.sh script from Artur Hefczyc. The version of jde I have installed was 2.3.3. This script also installed eieio (0.17), sematic (1.4.4) and a resent version of the speedbar (0.14beta4). I use these with emacs 21.2.1 and the jde is loaded by the following code, that I just found at the project homepage and modified only the load-path. (setq debug-on-error t) (dolist (jdee (list /usr/local/share/emacs/site-lisp/devel/eieio /usr/local/share/emacs/site-lisp/devel/elib /usr/local/share/emacs/site-lisp/devel/jde/lisp /usr/local/share/emacs/site-lisp/devel/semantic /usr/local/share/emacs/site-lisp/devel/speedbar)) (add-to-list 'load-path jdee)) (setq defer-loading-jde t) (setq semantic-load-turn-everything-on t) (require 'semantic-load) (if defer-loading-jde (progn (autoload 'jde-mode jde JDE mode. t) (setq auto-mode-alist (append '((\\.java\\' . jde-mode)) auto-mode-alist))) (require 'jde)) (defun my-jde-mode-hook () (setq c-basic-offset 2)) (add-hook 'jde-mode-hook 'my-jde-mode-hook) Thanks for your time, Thomas.
No syntax highlighting in java buffers
Torsten Geise writes: Hi, any hints why my syntax highlighting is disabled in java buffers? [snip] The contents of the *Messages* buffer were Loading cl-macs...done /home/geiset/emacs/cedet/cogre added to `load-path' /home/geiset/emacs/cedet/ede added to `load-path' /home/geiset/emacs/cedet/eieio added to `load-path' /home/geiset/emacs/cedet/semantic added to `load-path' Loading /usr/lib/emacs/21.3/i386-linux/fns-21.3.1-x.el (source)...done Loading advice...done Loading senator... Loading easymenu...done Loading ring...done Loading senator...done Loading semantic-idle...done Loading semanticdb...done /home/geiset/emacs/cedet/speedbar added to `load-path' /home/geiset/emacs/cedet/contrib added to `load-path' Loading /home/geiset/emacs/cedet/common/cedet.el (source)...done ECB 2.25 uses semantic 2.0beta2, eieio 0.18beta2 and speedbar 0.15beta2. Loading derived...done Loading mule-util...done jde-java-font-lock: building names cache...empty Loading cl-extra...done Loading cl-seq...done Loading ~/emacs/nxml-mode/rng-auto.el (source)...done Loading semantic-el...done For information about the GNU Project and its goals, type C-h C-p. The ECB is now activated. There are no incompatible or renamed options! There are no NEWS to display. Loading bookmark...done Loading wisent-java-tags...done Loading /home/geiset/projects/prj.el (source)...done Loading /home/geiset/projects/ibs/actual/prj.el (source)...done Loading /home/geiset/projects/prj.el (source)...done Loading /home/geiset/projects/ibs/actual/prj.el (source)...done my-jde-mode-hook: Symbol's function definition is void: turn-on-setnu-mode This error, which aborts jde-mode during loading of a Java file, might be the cause. I believe the JDEE used to load setnu.el by default. Anyway, it doesn't now. In fact, I've looked at the setnu support code and there's duplicate code. I need to do some cleanup. Meanwhile, you should be able to work around the problem by putting a (require 'setnu) form in your .emacs file. Paul Loading semantic-edit...done Loading semanticdb-file...done Mark set Loading semantic-tag-ls...done Loading semantic-decorate...done [2 times] Loading semantic-complete...done [3 times] Loading jde-javadoc (source)... Loading /home/geiset/projects/prj.el (source)...done Loading /home/geiset/projects/ibs/actual/prj.el (source)...done Loading jde-javadoc (source)...done [3 times] Preparing problem report... Loading sendmail...done Formatting bug report buffer. Mark set End Insert *Messages* buffer The contents of the .emacs file was ;; Set the debug option to enable a backtrace when a ;; problem occurs. ;; (setq debug-on-error t) ; language-env DON'T MODIFY THIS LINE! ; $Id: emacs,v 1.4 1998/02/20 18:35:26 leutloff Exp leutloff $ ;;--- support european keys --- (set-input-mode (car (current-input-mode)) (nth 1 (current-input-mode)) 0) ; `standard-display-european' is semi-obsolete and conflicts ; with multibyte characters. `set-language-environment' is ; a substitute. ; (standard-display-european t) ; don't use non-ascii (i.e. german umlauts) as word delimiter (if (= emacs-major-version 20) (set-language-environment Latin-1) (require 'iso-syntax)) (require 'disp-table) ;;--- redefine some keys -- ;(global-set-key [backspace] 'backward-delete-char-untabify) ; the following line should not break delete char during incremental ; search - has this other disadvantages? (global-set-key \177 'backward-delete-char-untabify) (global-set-key [delete] 'delete-char) (global-set-key [home] 'beginning-of-line) (global-set-key [end] 'end-of-line) ;(global-set-key [C-home] 'beginning-of-buffer) ;(global-set-key [C-end] 'end-of-buffer) ; entries needed by XEmacs: (global-set-key [(control home)] 'beginning-of-buffer) (global-set-key [(control end)] 'end-of-buffer) ;;--- Names for calendar command - (defvar calendar-day-name-array [Son Mon Die Mit Don Fre Sam]) (defvar calendar-month-name-array [Januar Februar März April Mai Juni Juli August September Oktober November Dezember]) ; language-env end DON'T MODIFY THIS LINE! (custom-set-variables ;; custom-set-variables was added by Custom -- don't edit or cut/paste it! ;; Your init file should contain only one such instance. '(auto-compression-mode t nil (jka-compr)) '(case-fold-search t) '(column-number-mode t) '(current-language-environment Latin-1) '(default-input-method latin-1-prefix) '(ecb-auto-activate t) '(ecb-layout-name leftright2) '(ecb-layout-window-sizes (quote ((leftright2 (0.20725388601036268 . 0.625)
Re: second error on a line
Nick Sieger writes: Paul Kinnucan writes: PK Ed Mooney writes: Thanks, Paul. Just to confirm, I'm talking about the case where a single line of Java code has more than one error, which show up as more than one line in the compilation buffer. E.g.: PK Hi Ed, PK I've confirmed the problem. I'll try to provide a fix. Forgive the late response, but I always thought this behavior was standard to emacs' compilation-mode. Did it turn out to be JDEE-specific? It is a problem with compilation mode but I'd still try to fix it. Paul
Semantic related problems with 2.3.4beta5
Gann Bierner writes: Hi everyone, I've finally upgraded after being on 2.3.2 for a long time. I definitely like what I see, but I've been seeing problems that make me think that I've done something wrong. I'm using jdee 2.3.4beta5 with cedet 1.0beta2b and gnu-emacs 21.2.93.1 on linux. Here are the symptoms: - import class causes the import statement to go on the top of the fine (before the package statement) - jde-import-sort gives me Semantic Java parser not found. - I no longer have my Classes menu Here's the relevant part of my .emacs: (add-to-list 'load-path (expand-file-name ~/emacs/site-lisp/elib)) (add-to-list 'load-path (expand-file-name ~/emacs/site-lisp/jde/lisp)) (setq semantic-load-turn-everything-on t) (load-file ~/emacs/site-lisp/cedet/common/cedet.el) (require 'jde) So, I'm guessing that I've screwed something up and am therefore not getting semantic loaded up. Interestingly, my *Messages* buffer does so activity loading up certain semantic components. Unfortunately, I don't know what other information to provide, so if The JDEE web site tells you what to provide under the heading Requesting Technical Support. I don't experience any of the problems you report nor has anyone else reported them. Paul anyone has a solution or can tell me what other data would be useful, I'd appreciate it. Thanks a bunch, Gann
[jde] problems compiling jde beta 5
Raul Acevedo writes: I'm using the makefile, with GNU Emacs 21.3.1, on Red Hat 9. I'm including the full build output below. Hi Raul, I cannot reproduce this problem. semantic-alias-obsolete is a function defined in the semantic-fw.el file in the semantic directory of the cedet 1.0beta2. The error message thus indicates that cedet is not being loaded or is being only partially loaded on your system. I can't understand why this would be the case as the output of the make indicates that the semantic directory was put on the classpath. Paul Raul # make test -d ../../cedet-1.0beta2b -a -d ../../elib rm -f *.elc jde-compile-script-init echo (add-to-list 'load-path \.\) jde-compile-script-init echo (add-to-list 'load-path \../../elib\) jde-compile-script-init echo (setq debug-on-error t) jde-compile-script-init echo (load-file \../../cedet-1.0beta2b/common/cedet.el\) jde-compile-script-init echo (require 'jde-compat) jde-compile-script-init echo (require 'jde) jde-compile-script-init if test `echo emacs | grep -w xemacs` ; \ then emacs -batch -l jde-compile-script-init -f batch-byte-compile `echo *.el` ; \ else emacs -batch -l jde-compile-script-init \ -f batch-byte-compile `ls -1 *.el | egrep -v 'jde-xemacs.el'`; \ fi; Loading /usr/share/emacs/site-lisp/site-start.d/lang-coding-systems-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/php-mode-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/po-mode-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/psgml-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/python-mode-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/rpm-spec-mode-init.el (source)... Loading /usr/share/emacs/site-lisp/cedet-1.0beta2b/common/cedet.el (source)... /usr/share/emacs/site-lisp/cedet-1.0beta2b/common/ added to `load-path' /usr/share/emacs/site-lisp/cedet-1.0beta2b/eieio added to `load-path' /usr/share/emacs/site-lisp/cedet-1.0beta2b/semantic added to `load-path' Loading /usr/libexec/emacs/21.3/i386-redhat-linux/fns-21.3.1.el (source)... /usr/share/emacs/site-lisp/cedet-1.0beta2b/speedbar added to `load-path' Debugger entered--Lisp error: (void-function semantic-alias-obsolete) semantic-alias-obsolete(semantic-auto-parse-mode semantic-idle-scheduler-mode) byte-code(... [semantic-add-minor-mode semantic-idle-scheduler-mode ARP nil semantic-alias-obsolete semantic-auto-parse-mode global-semantic-auto-parse-mode global-semantic-idle-scheduler-mode] 4) require(semantic-idle) eval-buffer(#buffer *load*4 nil jde-complete nil t) load-with-code-conversion(/usr/share/emacs/site-lisp/jde-2.3.4beta5/lisp/jde-complete.el jde-complete nil t) require(jde-complete) eval-buffer(#buffer *load*3 nil jde-wiz nil t) load-with-code-conversion(/usr/share/emacs/site-lisp/jde-2.3.4beta5/lisp/jde-wiz.el jde-wiz nil t) require(jde-wiz) eval-buffer(#buffer *load*2 nil jde nil t) load-with-code-conversion(/usr/share/emacs/site-lisp/jde-2.3.4beta5/lisp/jde.el jde nil t) require(jde) eval-buffer(#buffer *load* nil /usr/share/emacs/site-lisp/jde-2.3.4beta5/lisp/jde-compile-script-init nil t) load-with-code-conversion(/usr/share/emacs/site-lisp/jde-2.3.4beta5/lisp/jde-compile-script-init /usr/share/emacs/site-lisp/jde-2.3.4beta5/lisp/jde-compile-script-init nil t) load(/usr/share/emacs/site-lisp/jde-2.3.4beta5/lisp/jde-compile-script-init nil t) command-line-1((-l jde-compile-script-init -f batch-byte-compile beanshell.el efc.el efc-xemacs.el jde-ant.el jde-autoload.el jde-bug.el jde-checkstyle.el jde-class.el jde-compat.el jde-compile.el jde-complete.el jde-custom.el jde-db.el jde-dbo.el jde-dbs.el jde-ejb.el jde.el jde-gen.el jde-help.el jde-imenu.el jde-import.el jde-javadoc.el jde-javadoc-gen.el jde-java-font-lock.el jde-java-grammar.el jde-jdb.el jde-make.el jde-open-source.el jde-package.el jde-parse-class.el jde-parse.el jde-plugins.el jde-project-file.el jde-run.el jde-sregex.el jde-stat.el jde-tree-widget.el jde-util.el jde-which-method.el jde-widgets.el jde-wiz.el jde-xref.el setnu.el tree-widget.el)) command-line() normal-top-level() if test -f jde-compile-script-init; then rm -f jde-compile-script-init; fi;
SV: SV: Jde-electric-return sometimes off
Petter Måhlén writes: You may have something there, Suraj, because I am setting it in .emacs, since I want it to be on for all Java files I work with. Hi Petter, There were many problems with the implementation of electric return mode enabling in the current beta release. I've fixed them in my sandbox and plan to include the fixes in the next beta release, which I plan to release by the end of this week. Paul / Petter -Ursprungligt meddelande- Från: Suraj Acharya [mailto:[EMAIL PROTECTED] Skickat: den 1 juli 2004 00:15 Till: Paul Kinnucan Kopia: Petter Måhlén; [EMAIL PROTECTED] Ämne: Re: SV: Jde-electric-return sometimes off Paul, I think the problem might occur if you set jde-electric-return-p in your .emacs (using custom-set-variable) and don't set in your jde project files.Petter, are setting the variable in your .emacs or your project file? I've just upgraded to jde beta5 from beta3 so I'm not sure there is new jde custom variable code that calls the :set methods for variables set globally when switching projects or loading a new one. Suraj On Wed, 30 Jun 2004 08:01:11 -0400, Paul Kinnucan [EMAIL PROTECTED] wrote: Petter Måhlén writes: Well, have to correct myself - the 'toggle' function has been changed to jde-electric-return-mode in beta5, the text referred to beta3. Nevertheless, the behaviour as such is the same in both betas, that is, the electric return doesn't work automatically for newly opened files. I can't reproduce this problem on my system. Please note that intended behavior is for you to use the customization variable jde-electric-return-p to specify the default setting for this mode (on or off) and jde-electric-return-mode to toggle the setting temporarily during a session. Paul / Petter -Ursprungligt meddelande- Från: Petter Måhlén [mailto:[EMAIL PROTECTED] Skickat: den 30 juni 2004 10:16 Till: '[EMAIL PROTECTED]' Ämne: Jde-electric-return sometimes off Hi, I like the jde-gen-embrace functionality that Suraj provided and that is included in the last few betas. However, that feature is often turned off when I open up a new buffer, even though jde-electric-return-p is true. I can turn the feature on by doing two jde-toggle-electric-return (not one), but it should work from the start. My guess is that the key-mapping doesn't take when I open or create a new buffer, could that be true? I have tried to understand what goes on, but haven't quite gotten there. I'm on 2.3.4beta5, by the way. / Petter
Re: second error on a line
Ed Mooney writes: Thanks, Paul. Just to confirm, I'm talking about the case where a single line of Java code has more than one error, which show up as more than one line in the compilation buffer. E.g.: Hi Ed, I've confirmed the problem. I'll try to provide a fix. Paul A c:/cygwin/files/sunsw.wpts/jaxb-test/test/jaxb/beta/usage/driver/JaxbDriver.java:171: cannot find symbol symbol : class InstanceFileType location: class test.jaxb.beta.usage.driver.JaxbDriver InstanceFileType _inst = (InstanceFileType)(instances.elementAt(ict)); ^ B c:/cygwin/files/sunsw.wpts/jaxb-test/test/jaxb/beta/usage/driver/JaxbDriver.java:171: cannot find symbol symbol : class InstanceFileType location: class test.jaxb.beta.usage.driver.JaxbDriver InstanceFileType _inst = (InstanceFileType)(instances.elementAt(ict)); ^ C c:/cygwin/files/sunsw.wpts/jaxb-test/test/jaxb/beta/usage/driver/JaxbDriver.java:229: cannot find symbol symbol : variable JaxbUtil location: class test.jaxb.beta.usage.driver.JaxbDriver testcaseResult = JaxbUtil.isXMLEqual(source,out); ^ If I put point in A and hit return, I land in line 171 of my source. If I put point in B and hit return, I land in line 229. -- Ed Paul Kinnucan wrote: Ed Mooney writes: Is there a way to configure the JDE so it doesn't care which of several errors in the same line point is on in order to locate the line in the source? I find that if there's more than one compilation errors on a line, point has to be on the first (in the *JDEE Compile Server* buffer) in order for RET to locate the line in the source. Hi Ed, I cannot reproduce this error on my system (Windows Millenium, Emacs 21.3.1, JDEE 2.3.4beta5). If there are multiple errors, I can select the compilation buffer and then use the keyboard to position point in any error message, hit Enter, and have Emacs scroll to the corresponding source line that caused the error. Paul Regards, -- Ed
Jde-import.el
Petter Måhlén writes: Hi Paul, The patched jde-import.el is attached. Basically, what it does is to create the list of fully expanded potential classes to import for each token, as before. Then, it checks if any of the classes belongs to java.lang or the current package, and if so, excludes all of them. Hi Petter, This seems to be a rather blunt solution to the problem of synonyms for java.lang classes. What if I really do want xyz.String instead of java.lang.String? May I suggest the following solution. Suppose the JDEE includes, in addition to jde-import-exclude-packages, jde-import-exclude-classes? The new variable allows you to exclude individual classes without excluding an entire package. In particular, you coulde exclude xyz.String and java.lang.String without exculding other classes from the xyz package. Paul
problems compiling jde beta 5
Raul Acevedo writes: I'm using cedet-1.0beta2b Raul Debugger entered--Lisp error: (void-function semantic-alias-obsolete) semantic-alias-obsolete(semantic-auto-parse-mode semantic-idle-scheduler-mode) How did you compile the JDEE: with the makefile? with jde-compile-jde? some other method? (I don't get this error.) Paul
SV: SV: Jde-electric-return sometimes off
Petter Måhlén writes: You may have something there, Suraj, because I am setting it in .emacs, since I want it to be on for all Java files I work with. / Petter -Ursprungligt meddelande- Från: Suraj Acharya [mailto:[EMAIL PROTECTED] Skickat: den 1 juli 2004 00:15 Till: Paul Kinnucan Kopia: Petter Måhlén; [EMAIL PROTECTED] Ämne: Re: SV: Jde-electric-return sometimes off Paul, I think the problem might occur if you set jde-electric-return-p in your .emacs (using custom-set-variable) and don't set in your jde project files.Petter, are setting the variable in your .emacs or your project file? I've just upgraded to jde beta5 from beta3 so I'm not sure there is new jde custom variable code that calls the :set methods for variables set globally when switching projects or loading a new one. Yes, project switching handles the case where a variable is set in the .emacs file but not in a project file. In this case, when switching to the project that does not set the variable, the JDEE sets the variable to the value in the .emacs file. I have tried setting jde-electric-return-p to on in my .emacs file, closing Emacs, reopening Emacs, loading two files, each from separate projects, and switching back and forth between the two projects. The electric return mode is on at Emacs startup, as expected, and remains on through multiple switching back and forth among projects. Further, if I customize jde-electric-return-p off in one project, it remains off in that project even if I switch to the other project in which it is on and then switch back. On the other hand, if I leave jde-electric-return-p on for both projects and then toggle JDEE-Code Generation-Modes-Electric Return to turn it off in one project temporarily and then switch to the other project and then back, electric return mode is reenabled. This is because the .emacs file setting overrides the temporary disabling of electric return mode. Paul Suraj On Wed, 30 Jun 2004 08:01:11 -0400, Paul Kinnucan [EMAIL PROTECTED] wrote: Petter Måhlén writes: Well, have to correct myself - the 'toggle' function has been changed to jde-electric-return-mode in beta5, the text referred to beta3. Nevertheless, the behaviour as such is the same in both betas, that is, the electric return doesn't work automatically for newly opened files. I can't reproduce this problem on my system. Please note that intended behavior is for you to use the customization variable jde-electric-return-p to specify the default setting for this mode (on or off) and jde-electric-return-mode to toggle the setting temporarily during a session. Paul / Petter -Ursprungligt meddelande- Från: Petter Måhlén [mailto:[EMAIL PROTECTED] Skickat: den 30 juni 2004 10:16 Till: '[EMAIL PROTECTED]' Ämne: Jde-electric-return sometimes off Hi, I like the jde-gen-embrace functionality that Suraj provided and that is included in the last few betas. However, that feature is often turned off when I open up a new buffer, even though jde-electric-return-p is true. I can turn the feature on by doing two jde-toggle-electric-return (not one), but it should work from the start. My guess is that the key-mapping doesn't take when I open or create a new buffer, could that be true? I have tried to understand what goes on, but haven't quite gotten there. I'm on 2.3.4beta5, by the way. / Petter
SV: Jde-electric-return sometimes off
Petter Måhlén writes: Well, have to correct myself - the 'toggle' function has been changed to jde-electric-return-mode in beta5, the text referred to beta3. Nevertheless, the behaviour as such is the same in both betas, that is, the electric return doesn't work automatically for newly opened files. I can't reproduce this problem on my system. Please note that intended behavior is for you to use the customization variable jde-electric-return-p to specify the default setting for this mode (on or off) and jde-electric-return-mode to toggle the setting temporarily during a session. Paul / Petter -Ursprungligt meddelande- Från: Petter Måhlén [mailto:[EMAIL PROTECTED] Skickat: den 30 juni 2004 10:16 Till: '[EMAIL PROTECTED]' Ämne: Jde-electric-return sometimes off Hi, I like the jde-gen-embrace functionality that Suraj provided and that is included in the last few betas. However, that feature is often turned off when I open up a new buffer, even though jde-electric-return-p is true. I can turn the feature on by doing two jde-toggle-electric-return (not one), but it should work from the start. My guess is that the key-mapping doesn't take when I open or create a new buffer, could that be true? I have tried to understand what goes on, but haven't quite gotten there. I'm on 2.3.4beta5, by the way. / Petter
Re: jde-customize
Len Trigg writes: Paul Kinnucan wrote: JDE 2.3.4beta5 I just tried out the jde-customize stuff. Would it be possible to use the same mechanism for selecting state options that is used by the regular customize? When I use jde-customize, selecting the state button gives me a minibuffer prompt where I am expected to remember (or tab complete) the textual options. Regular customize shows a numbered menu where all the options are immediately visible, and it takes a single keypress to carry out the required action. Hi Len, When I select the State button, I get a popup State menu whether I am using customize-variable or jde-customize-variable. I've never seen the numbered menu that you describe. Is the numbered menu a customization option? Paul Cheers, Len.
[ANNOUNCEMENT] JDEE 2.3.4beta5 available at ...
http://jdee.sunsite.dk/rootpage.html#Downloading JDE 2.3.4beta5 *** * PLEASE READ * *** * * * This release requires cedet 1.0beta2 or later. cedet* * includes semantic, eieio, speedbar, and senator, all* * packages required by the JDEE. You can obtain cedet * * at http://cedet.sourceforge.net * * * * Please note that your .emacs file must load cedet.el, * * not require cedet. See the installation instructions * * that come with the cedet package for more information. * * * * 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. * * * *** * Made jde-entering-java-buffer-hook non-customizable. This variable is part of the project-switching machinery and therefore should not itself be customizable. * Made various changes intended to make the JDEE's project-switching code more robust. * Fixed the following project file-related bugs: - Variable that has been changed from its standard value to nil is not saved in project file. - Variable whose customization has been erased is not removed from project file. * Fixes problem with jdb breakpoints. Opening a new java file after setting a breakpoint prevents the user from removing the breakpoint. * Update makefile for compiling the JDEE Lisp code to work with cedet. * Adds JDE-Documentation-Remove (jde-javadoc-remdoc-at-line) command. This command removes the javadoc block for the declarationa at point. Thanks to David Ponce.
Trans.: Class finding
[EMAIL PROTECTED] writes: Hi, is there a way to find all class names in the jde project matching a regexp ? i've read the jde doc, but it seems nothing appears about it. (i don't want jump to classsource, but just watch all class names then choose one and jump to source) Your question is not very clear. JDE-Find-Expression finds all occurrences of a regular expression in the current directory that matches a regular expression and displays the results in a buffer. Clicking on any result takes you to the source of the match. JDE-Find-Expression... finds all occurrences of a regular expression in a directory tree. Why can't you use these commands? Paul Thx Christophe - Fin du message transféré -
how to add ecb project to global sourcepath
Ding Lei writes: Hello, First of all, I'd like to say that I enjoy using JDE ECB very much, Thank you Paul Berndl! My question is how to add the path to both jde-global-classpath jde- source-path whenever a new ECB Source Path is added. And, they might under be different subdirectories, for ex, PROJECT_PATH/src PROJECT_PATH/build, which I hope it will be prompted upon creation. Anything is possible because we're talking about software. The problem is deciding exactly what you want to happen. For example, the ECB does not support the concept of projects where every project has its own source path and classpath while the JDEE does support such a concept. So the question becomes: what do you want to update when you update ecb-source-path: the project-specific value of jde-global-classpath and jde-source-path or the global value, i.e., the value stored in the .emacs file, and how do you indicate which if you want support for both. The question also is whether the updating should be done by ECB or by language-specific applications, such as the JDEE. My own preference would be that ECB provide support for ecb-source-path--hook functions that it would call each time a user changes ecb-source-path. Then ECB-aware applications, such as the JDEE (could become), could add a hook function to update their own class- and source-path variables to reflect changes to the ecb-source-path. Paul And is it possible to associate a build.xml with a ECB source path ? i.e. Upon adding of new Ecb source path, it would prompt for a build.xml for that ECB source path write it to somewhere, so that jde-ant-build will use that build.xml by default. Again anything is possible. I don't use Ant and I didn't write nor do I maintain the JDEE's interface to Ant. So I defer to anyone who is still interested in maintaining and enhancing the JDEE's Ant interface to decide how to implement what you suggest. Paul Thank you! Cheers, Ding Lei
RE: Question/Bug to 'jde-detect-java-buffer-activation
Berndl, Klaus writes: Paul Kinnucan wrote: Berndl, Klaus writes: Suraj Acharya wrote: Hi Paul, I replied too hastily earlier. On starting up a new emacs process, switching buffers as you describe results in loading the correct prj.el file. Ok, here comes my 100%-reproducable test that the hooks of jde-entering-java-buffer-hook are not called when switching from a non-jde-buffer to a jde-buffer: Your test has some problems (see below). When they are fixed, jde-entering-java-buffer-hook passes your test. No, the results are the same even after adding your suggestions to my test-setup. Well, if that is the case, there is a bug in the JDEE code that occurs on your system and not mine. That in turn means that project switching does not work correctly on your system, i.e., if you switch buffers belonging to different projects, the JDEE does not reload the project files. If this is the case, i.e., the jDEE does not reload a project's file whatever the path by which you reached it, even via non=Java buffers, I'd appreciate you're sending me a complete JDEE problem report so that I can try to reproduce the problem on my system. So far I've not been able to with the info that you've provided me. Paul but anywayyou have already given me the explanation how this hook is intended to work. Now its clear for me and the enhanced documentation sounds also good for me. Thanks for your patience, Klaus
Re: Question/Bug to 'jde-detect-java-buffer-activation
David PONCE writes: Hi Paul, [...] ;; to a buffer belonging to another. (make-local-hook 'post-command-hook) Hmm, I don't think I need the above form because the add-hook form below makes the variable local anyway. Indeed. I have removed the redundant form in the JDEE sources. (add-hook 'post-command-hook 'jde-detect-java-buffer-activation nil t) [...] I am not sure it is correct to remove the call to `make-local-hook'. It is at least necessary to preserve compatibility with XEmacs' version of `add-hook' (perhaps `add-hook' in version of GNU Emacs older than 21 are affected too). Here is what the doc string of `add-hook' says about the LOCAL argument, on my stock XEmacs 21.4.15: The optional fourth argument, LOCAL, if non-nil, says to modify the hook's buffer-local value rather than its default value. This makes no difference if the hook is not buffer-local. To make a hook variable buffer-local, always use `make-local-hook', not `make-local-variable'. Clearly, the LOCAL argument is ignored, unless `make-local-hook' has been called to make the hook buffer local! Hope it helps. I guess it doesn't pay to second-guess myself. I'll restore the make-local-hook form with a comment that it is required for XEmacs compatibility. Thanks, Paul Sincerely, David
cedet-version
George Flaherty writes: Hello, I just starting using the jdee beta4 version along with cedet 1.0beta2, yet when I attempt to open a java file, jde-mode does not initialize. When I attempt to force the jde-mode, I get the following message: Symbol's value as variable is void: cedet-version In my .emacs I have the following: ;;Load'em Up (add-to-list 'load-path (expand-file-name ~/.emacs.d/site-lisp/cedet/common/cedet.el)) (add-to-list 'load-path (expand-file-name ~/.emacs.d/site-lisp/ecb-2.24)) (add-to-list 'load-path (expand-file-name ~/.emacs.d/site-lisp/jde-beta/lisp)) (add-to-list 'load-path (expand-file-name ~/.emacs.d/site-lisp/elib)) (add-to-list 'load-path (expand-file-name~/.emacs.d/site-lisp/hidelines.el)) (require 'ecb) (require 'ecb-autoloads) (require 'jde) Try: (add-to-list 'load-path (expand-file-name ~/.emacs.d/site-lisp/elib)) (load-file (expand-file-name ~/.emacs.d/site-lisp/cedet/common/cedet.el)) (add-to-list 'load-path (expand-file-name ~/.emacs.d/site-lisp/jde-beta/lisp)) ;; Make jde-mode the default mode for Java source code buffers. ;; Prepend the jde-mode entry so that it shadows the java-mode ;; entry already in the list. ; (setq auto-mode-alist ; (append ;'((\\.java\\' . jde-mode)) ; auto-mode-alist)) ; (autoload 'jde-mode jde JDE t) ;; If you want Emacs to defer loading the JDE until you open a ;; Java file, edit the following line (setq defer-loading-jde t) ;; to read: ;; ;; (setq defer-loading-jde t) ;; (if defer-loading-jde (progn (autoload 'jde-mode jde JDE mode. t) (setq auto-mode-alist (append '((\\.java\\' . jde-mode)) auto-mode-alist))) (require 'jde)) (defun my-jde-mode-hook () (setq c-basic-offset 2 tab-width 4 tab-stop-list '(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80))) (add-hook 'jde-mode-hook 'my-jde-mode-hook) Paul thanks -george !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 TRANSITIONAL//EN HTML HEAD META HTTP-EQUIV=Content-Type CONTENT=text/html; CHARSET=UTF-8 META NAME=GENERATOR CONTENT=GtkHTML/3.0.10 /HEAD BODY Hello,BR BR I just starting using the jdee beta4 version along with cedet 1.0beta2, yet when I attempt to open a java file, jde-mode does not quot;initializequot;.BR When I attempt to force the jde-mode, I get the following message:BR BR quot;Symbol's value as variable is void: cedet-versionquot;BR BR In my .emacs I have the following:BR BR ;;Load'em UpBR (add-to-list 'load-path (expand-file-name quot;~/.emacs.d/site-lisp/cedet/common/cedet.elquot;))BR (add-to-list 'load-path (expand-file-name quot;~/.emacs.d/site-lisp/ecb-2.24quot;))BR (add-to-list 'load-path (expand-file-name quot;~/.emacs.d/site-lisp/jde-beta/lispquot;))BR (add-to-list 'load-path (expand-file-name quot;~/.emacs.d/site-lisp/elibquot;))BR (add-to-list 'load-path (expand-file-namequot;~/.emacs.d/site-lisp/hidelines.elquot;))BR (require 'ecb)BR (require 'ecb-autoloads)BR (require 'jde)BR BR thanksBR -georgeBR BR BR /BODY /HTML
patch for jde menu
Jens Lautenbacher writes: I assume that what is meant in the jde menu are toggle buttons, not radio button Hi Jens, I've committed your changes. Thanks, Paul