Re: jde.el and tramp
Can anyone help with the question raised in the following thread? Paul Jose M Vidal writes: Yup, 100 is a hack that works for me. I don't know what the actual maximums are. On the other hand, we just need to pick a number bigger than the most unreasonably long file name but smaller than infinity. H. What is 1024? Sorry, Jose On Mon, 22 Oct 2001, [EMAIL PROTECTED] wrote: Jose M Vidal writes: jde 1.17 will not work with tramp because of the way it keeps trying to go up the directory hierarchy assuming ange-ftp usage. It would get into an infinite loop. I fixed this by simply constraining the length of the directory to 100 characters. I think this makes the code much Hi Jose, Why did you choose 100 characters? How do you know that there won't be a valid path somewhere that is more than 100 characters. I'm very leery of hacks like this based on someone's estimate of what is a reasonable maximum for some value. I'd rather have the maximum be greater than the maximum of the maximum paths supported by Windows and Unix. Is there such a maximum? I vaguely recall reading somewhere that the limit for Windows paths is 256 characters. If Unix and Windows have constraints on path sizes, I'd be much more comfortable adopting this hack. - Paul more robust. Here is the changed function (from jde.el): (defun jde-find-project-file (dir) Finds the next project file upwards in the directory tree from DIR. Returns nil if it cannot find a project file in DIR or an ascendant directory. (let ((file (find jde-project-file-name (directory-files dir) :test 'string=))) (if file (expand-file-name file dir) (if ( (length dir) 100) (if (not (jde-root-dir-p dir)) (jde-find-project-file (concat dir ../))) Cheer, and thanks for a *great* product, Jose -- Jose M. Vidal [EMAIL PROTECTED] http://jmvidal.cse.sc.edu University of South Carolina http://www.multiagent.com -- Jose M. Vidal [EMAIL PROTECTED] http://jmvidal.cse.sc.edu University of South Carolina http://www.multiagent.com
Re: jde.el and tramp
Microsoft's stdlib.h defines the following: #ifndef _MAC #define _MAX_PATH 260 /* max. length of full pathname */ #define _MAX_DRIVE 3 /* max. length of drive component */ #define _MAX_DIR256 /* max. length of path component */ #define _MAX_FNAME 256 /* max. length of file name component */ #define _MAX_EXT256 /* max. length of extension component */ In windef.h, they also define MAX_PATH to be 260. (This is include files that came with VC++ 6.0). Martin - Original Message - From: Paul Kinnucan [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, October 23, 2001 6:58 AM Subject: Re: jde.el and tramp Can anyone help with the question raised in the following thread? Paul Jose M Vidal writes: Yup, 100 is a hack that works for me. I don't know what the actual maximums are. On the other hand, we just need to pick a number bigger than the most unreasonably long file name but smaller than infinity. H. What is 1024? Sorry, Jose On Mon, 22 Oct 2001, [EMAIL PROTECTED] wrote: Jose M Vidal writes: jde 1.17 will not work with tramp because of the way it keeps trying to go up the directory hierarchy assuming ange-ftp usage. It would get into an infinite loop. I fixed this by simply constraining the length of the directory to 100 characters. I think this makes the code much Hi Jose, Why did you choose 100 characters? How do you know that there won't be a valid path somewhere that is more than 100 characters. I'm very leery of hacks like this based on someone's estimate of what is a reasonable maximum for some value. I'd rather have the maximum be greater than the maximum of the maximum paths supported by Windows and Unix. Is there such a maximum? I vaguely recall reading somewhere that the limit for Windows paths is 256 characters. If Unix and Windows have constraints on path sizes, I'd be much more comfortable adopting this hack. - Paul more robust. Here is the changed function (from jde.el): (defun jde-find-project-file (dir) Finds the next project file upwards in the directory tree from DIR. Returns nil if it cannot find a project file in DIR or an ascendant directory. (let ((file (find jde-project-file-name (directory-files dir) :test 'string=))) (if file (expand-file-name file dir) (if ( (length dir) 100) (if (not (jde-root-dir-p dir)) (jde-find-project-file (concat dir ../))) Cheer, and thanks for a *great* product, Jose -- Jose M. Vidal [EMAIL PROTECTED] http://jmvidal.cse.sc.edu University of South Carolina http://www.multiagent.com -- Jose M. Vidal [EMAIL PROTECTED] http://jmvidal.cse.sc.edu University of South Carolina http://www.multiagent.com
(Un)Quoted classpath problem with compile server
I'm sending this message to the list rather than Paul to allow other jde experts a chance to help with Paul's e-mail load. If this is not appropriate, please let me know. I'm getting the following error trying to use the compile server with beta4 (the elipsis indicates lots more classpath stuff) : CompileServer output: -classpath q:/debug;r:/mssqldriver/classes;r:/Sun Collections/lib/collections.jar;r:/Tom Sawyer Software/Graph Editor Toolkit 3.1 for Java/lib/swingall.jar ... -sourcepath q:/code -g -d q:/debug -target 1.3 q:/code/com/cimsoft/lws/creator/ValidateNames.java javac: invalid argument: Collections/lib/collections.jar;r:/Tom Usage: javac options source files where possible options include: -gGenerate all debugging info ... Clearly, the class path is not being quoted. As you can see below the value of jde-quote-classpath is t. Although I thought Paul addressed the problem I followed the gist of previous posts and changed the value of jde-compile-option-debug. Every value for this variable produced the same error. Here is what I know about the problem: 1. In jde-compile-run-server the args string passed to jde-jeval does not quote the class path. 2. The expression (second (jde-compile-get-args this)) returns this class path as a single value. 3. No combination of backslashed quotes (in the jde-jeval format) resolved the situation. From inspection it appears that the CompileServer.compile(String) method assumes that each argument is separated by spaces and thus breaks apart the classpath. If the lisp could invoke the compile(String[]) method instead, all would be well, but I'm not sure how to accompilish this. Barring this solution, encoded spaces (following the example of urls) could be used and decoded by compile(), but this seems like a hack. Suggestions? Thanks, Robert Emacs : GNU Emacs 20.7.1 (i386-*-nt5.0.2195) of Tue Jun 13 2000 on buffy Package: JDE version 2.2.9beta4 current state: == (setq jde-gen-session-bean-template '((jde-import-insert-imports-into-buffer (list \javax.ejb.*\\n\java.rmi.RemoteException\)) (jde-wiz-update-implements-clause \SessionBean\) ' \public void ejbActivate() throws RemoteException {\''n \}\''n\n''n ' \public void ejbPassivate() throws RemoteException {\''n \}\''n\n''n ' \public void ejbRemove() throws RemoteException {\''n \}\''n ''n ' \public void setSessionContext(SessionContext ctx) throws\nRemoteException {\ ''n \}\''n ''n ' \public void unsetSessionContext() throws RemoteException {\''n\n\}\''n ''n') jde-gen-beep '((end-of-line) ' \Toolkit.getDefaultToolkit().beep();\''n') jde-complete-signature-display '(Eldoc) jde-project-name core jde-which-method-format '([ jde-which-method-current ]) jde-run-classic-mode-vm nil jde-complete-unique-method-names nil jde-javadoc-gen-nodeprecatedlist nil jde-which-method-max-length 20 jde-package-search-classpath-variables '(jde-compile-option-classpath jde-global-classpath) jde-imenu-include-classdef t jde-javadoc-gen-link-online nil jde-gen-code-templates '((Get Set Pair . jde-gen-get-set) (toString method . jde-gen-to-string-method) (Action Listener . jde-gen-action-listener) (Window Listener . jde-gen-window-listener) (Mouse Listener . jde-gen-mouse-listener) (Mouse Motion Listener . jde-gen-mouse-motion-listener) (Inner Class . jde-gen-inner-class) (println . jde-gen-println) (beep . jde-gen-beep) (property change support . jde-gen-property-change-support) (EJB Entity Bean . jde-gen-entity-bean) (EJB Session Bean . jde-gen-session-bean)) jde-gen-cflow-else '((if (jde-parse-comment-or-quoted-p) '(l \else\) '(l ' \else \ (if jde-gen-kr () ''n) \{\''r'n \}\') )) jde-make-args jde-jdk-registry '((1.3.1 . r:/jdk1.3.1)) jde-javadoc-gen-destination-directory JavaDoc jde-mode-line-format '(- mode-line-mule-info mode-line-modified mode-line-frame-identification mode-line-buffer-identification global-mode-string %[( mode-name mode-line-process minor-mode-alist %n )%]-- (line-number-mode L%l--) (column-number-mode C%c--) (-3 . %p) (jde-which-method-mode (-- jde-which-method-format --)) -%-) jde-mode-abbreviations '((ab . abstract) (bo . boolean) (br . break) (by . byte) (ch . char) (cl . class) (con . continue) (de . default) (dou . double) (el . else) (ex . extends) (fa . false) (fi . final) (fin . finally) (fl . float) (impl . implements) (ins . instanceof) (inte . interface) (lo . long) (nu . null) (pa .
RE: jde-ant and fast ms-dos window
Hello, I have already done this for Ant back in the summer. If you check the archives you will see the patch to jde-ant.el... dwfa --- Molitor, Stephen [EMAIL PROTECTED] wrote: This doesn't happen to me -- I get the ant output in an Emacs buffer, no MS-DOS window. I can even click on compile errors and go to the source. But I believe you, I'm sure it's (not) working the way you described! Which versions of Ant, JDE, etc., are you runnning? Eventually, it might be nice to invoke Ant via java (starting a new JVM), not ant.bat or ant.sh. Steve Molitor [EMAIL PROTECTED] -Original Message- From: Larry Strollo [mailto:[EMAIL PROTECTED]] Sent: Sunday, October 21, 2001 9:09 PM To: [EMAIL PROTECTED] Subject: jde-ant and fast ms-dos window When I use ant to build within the JDE, a msdos window pops up, the build happens, and then the msdos window goes away and I have no idea what happened. Is there some setup for putting the output of the ant command into some emacs buffer (the compilation buffer?) ? Seems like this would be a FAQ, but I couldn't find anything in the ant related customizations, or in the archives. -- == Larry Strollo [EMAIL PROTECTED] == = Douglas WF Acheson __ Do You Yahoo!? Make a great connection at Yahoo! Personals. http://personals.yahoo.com
Re: completing variables that start with $
Nicolas Tondre [EMAIL PROTECTED] wrote: I'm using jde 2.2.8 and I noticed that jde-complete-at-point doesn't complete methods for variable names that start with the '$' character. Well I have to admit, I am surprised, but '$' is a valid letter for a variable name, as per the Java Lang Spec 6.1.4 [I have never looked it up before, but since '$' is used in the naming of compiled anonymous inner classes I just assumed it was a reserved symbol]. (setq curcar (char-before)) (while (or (and (= curcar ?a) (= curcar ?z)) (and (= curcar ?A) (= curcar ?Z)) (and (= curcar ?0) (= curcar ?9)) added line: --- (and (eq curcar ?$)) That line should probably just be: (eq curcar ?$) as the second argument to (and) is empty. greg_fenton. = Greg Fenton [EMAIL PROTECTED] __ Do You Yahoo!? Make a great connection at Yahoo! Personals. http://personals.yahoo.com
jde-bug-key-bindings
Hello, I took Paul's advice of customizing jde-bug-key-bindings to setup my functions keys for stepping in JDEbug. Previously they were set using global-set-keys. Unfortunately, I must be specifying the function keys incorrectly. If I do a C-h k F6, for example, I get: f6 is undefined Here is the definition from my .emacs: '(jde-bug-key-bindings (quote (([F6] . jde-bug-step-over) ([F7] . jde-bug-step-into) ([F8] . jde-bug-step-into-all) ([F9] . jde-bug-step-out) ([? ? ?] . jde-bug-continue) ([? ? ?] . jde-bug-toggle-breakpoint Can someone help me with the correct definition of these keys in customize. Thanks. Jeff
Re: jde-java-font-lock.api
It contains all the default java classes names to highlite them when conding. ^^^ I'm sorry, what does this word mean? Could somebody give me an example of this file? Is it something that's generated by the JDE? TIA Hi! Could somebody explain me what is the meaning of this file? -- -- myriam IM: tokujawa
compilation with packages
Maybe I'm not so quick about this, but I can't seem to figure out how one gets JDE to compile a program that's in a package, correctly w/o forcing a -classpath in the compile time options? why is this? I am trying to edit proj3.controller.MyController.java so I call emacs proj3/controller/MyController.java the file has the package line appropriatly. However, when I tell JDE to compile it, it insists on cd'ing into proj3/controller! and javac of course doesn't like that. Is their any way to automate JDE's ability to know about packages so I don't have to change the classpath for each project? thanks, shaya
New file template troubles
When using JDEE (2.2.9beta4) I have the tempo template for generating a new class failing when it it is required to choose from multiple Interfaces. For example: After using the command: M-x jde-gen-class-buffer I get the usual prompt for file, and then the tempo prompts for package , extends, implements. I enter Serializable after the implements prompt and receive the following information in the the minibuffer: Starting the BeanShell. Please wait... and then a JDE Dialog buffer appears with: Select interface to implement. (*) java.io.Serializable ( ) sunw.io.Serializable [Ok] [Cancel] Then the Backtrace buffer appears: Signaling: (wrong-type-argument stringp #buffer JDE Dialog) jde-gen-get-interface-implementation() eval((jde-gen-get-interface-implementation)) tempo-insert((jde-gen-get-interface-implementation) nil) #[(elt) Â \ [elt on-region tempo-insert] 3]((jde-gen-get-interface-implementation)) mapcar(#[(elt) Â\ [elt on-region tempo-insert] 3] ((funcall jde-gen-boilerplate-function) (jde-gen-get-package-statement) /** (quote ) (quote n) * (file-name-nondirectory buffer-file-name) (quote ) (quote n) * (quote ) (quote n) * (quote ) (quote n) * Created: (current-time-string) (quote ) (quote n) * (quote ) (quote n) * @author a href=\mailto:; (eval user-mail-address) \ (user-full-name) /a (quote ) (quote n) * @version (quote ) (quote n) */ (quote ) (quote n) (quote (quote )) (quote n) public class (file-name-sans-extension (file-name-nondirectory buffer-file-name)) (jde-gen-get-extend-class) (if jde-gen-kr nil (quote ) (quote n)) { (quote ) (quote n) public (file-name-sans-extension (file-name-nondirectory buffer-file-name)) () (if jde-gen-kr nil (quote ) (quote n)) { ... . ((quote ) (quote n) (quote ) (quote p) (quote n) } (quote ) (quote n) (jde-gen-get-interface-implementation) (quote ) (quote n) } // (file-name-sans-extension ...) (quote ) (quote n tempo-insert-template(tempo-template-java-class-buffer-template nil) jde-gen-class() jde-gen-class-buffer(c:/Documents/Java/Scratch/TryTempo.java) call-interactively(jde-gen-class-buffer) execute-extended-command(nil) call-interactively(execute-extended-command) I'm using JDK 1.3 on a win2k box. My .emacs is listed below: ;; .emacs - emacs startup file (setq debug-on-error t) (add-to-list 'load-path (expand-file-name c:/Local/TeX/NTEmacs/site-lisp/jde-2.2.9beta4/lisp)) (add-to-list 'load-path (expand-file-name c:/Local/TeX/NTEmacs/site-lisp/elib-1.0)) (add-to-list 'load-path (expand-file-name c:/Local/TeX/NTEmacs/site-lisp/speedbar-0.14beta1)) (add-to-list 'load-path (expand-file-name c:/Local/TeX/NTEmacs/site-lisp/eieio-0.17beta3)) (add-to-list 'load-path (expand-file-name c:/Local/TeX/NTEmacs/site-lisp/semantic-1.4beta11)) (custom-set-variables '(jde-compile-option-classpath '(. c:/Java/Classes/)) '(jde-compile-option-debug '(all (t nil nil))) '(jde-compile-option-directory c:/Java/Classes/) '(jde-run-option-classpath '(c:/Java/Classes/))) (require 'overlay-fix) (require 'jde) Note: I do not have failure when implementing other interfaces, which are unique, such as Cloneable.
compilation with packages
Shaya Potter writes: Maybe I'm not so quick about this, but I can't seem to figure out how one gets JDE to compile a program that's in a package, correctly w/o forcing a -classpath in the compile time options? why is this? I am trying to edit proj3.controller.MyController.java so I call emacs proj3/controller/MyController.java the file has the package line appropriatly. However, when I tell JDE to compile it, it insists on cd'ing into proj3/controller! and javac of course doesn't like that. The cd line at the top of the compilation buffer is simply an Emacs convention used to indicate the current directory when the compiliation command is invoked. No cd command is ever issued. The JDE always compiles with a Java source buffer selected. The current directory of an Emacs buffer is always the directory of the file associated with that buffer, if any. Therefore the current directory of a Java source buffer is always the directory of the Java source file as indicated by the pseudo cd line at the top of the compilation buffer. Is their any way to automate JDE's ability to know about packages so I don't have to change the classpath for each project? I suppose there could be a version of the compile command that parses the source file for the presence of a package statement and then cd's to the directory containing the package before compiling. I'm not much motivated to do this myself as most of the projects I work need more than what is in the current package and in the JDK packages. Further, it is very easy to set up project files for each project and let the JDE switch classpaths for me as I move from project to project. However, if someone else wants to write a compile-from-package-root command, I'd be happy to include it. - Paul
Re: jde.el and tramp
Dug a little deeper: On linux, PATH_MAX is 4095; on Solaris it's 1024. In message [EMAIL PROTECTED], Eric D. Friedma n writes: : : This sounds like a bug that should be fixed in tramp, not in JDE. : : Directory *entry* length maximums are file system dependent too, which : means that a correct implementation of this hack would require looking at : the different filesystems that can be mounted on unix and windoze (both of : which can be nfs clients, of course, and so can mount other filesystems : through NFS or natively). A quick look at the header files on my linux : machine (which includes ufs_fs.h known to work with Solaris and HP/UX, : as well as ext{2,3}_fs.h, reiser_fs.h etc.) shows that 255 is a popular : (smile) maximum length for directory entries. : : If the question being asked is what's the longest legal *path* name -- : well, on unix that can be very, very large. I don't know how big exactly, : but you can definitely create paths that are much bigger than the thread : below would allow. To illustrate: I ran this script on my linux machine : (ext2 filesystem). Starting at /home/eric, it happily created a directory : structure /home/eric/0/1/2/3/../4096. Note also that it had no trouble : traversing the structure as it went. Note also that each of the nodes : in this path *could* have been up to 255 characters long. In sum, : (255 * 4097) 100. : : Obviously this is an edge case (although anyone with ClearCase experience : knows that you can end up dealing with some mighty big pathnames once : you start poking around in mvfs' view extended pathnames), but I : think it shows why it would be better to solve this problem through some : other means. Perhaps the original poster could describe the specific : issue with tramp in more detail? Perhaps the folks on the tramp mailing : list could be enlisted to help resolve it? : : #!/usr/bin/perl : : for my $n (0 .. 4096) { # upper limit chosen at random (note: *inclusive*) : system 'mkdir', $n; : if ($?) { exit 1; } : chdir $n; : } : : In message [EMAIL PROTECTED], Paul Kinnucan writ es : : : : : : Can anyone help with the question raised in the following : : thread? : : : : Paul : : : : Jose M Vidal writes: : : : : Yup, 100 is a hack that works for me. I don't know what the actual : : maximums are. : : : : On the other hand, we just need to pick a number bigger than the most : : unreasonably long file name but smaller than infinity. H. What is : : 1024? : : : : Sorry, : : Jose : : : : : : On Mon, 22 Oct 2001, [EMAIL PROTECTED] wrote: : : : :Jose M Vidal writes: : : : : jde 1.17 will not work with tramp because of the way it keeps : : trying to go up the directory hierarchy assuming ange-ftp : : usage. It would get into an infinite loop. I fixed this by simply : : constraining the length of the directory to 100 characters. I : : think this makes the code much : : : :Hi Jose, : : : :Why did you choose 100 characters? How do you know that there won't : :be a valid path somewhere that is more than 100 characters. : :I'm very leery of hacks like this based on someone's estimate : :of what is a reasonable maximum for some value. I'd rather have : :the maximum be greater than the maximum of the maximum paths : :supported by Windows and Unix. Is there such a maximum? I vaguely : :recall reading somewhere that the limit for Windows paths is : :256 characters. If Unix and Windows have constraints on path sizes, : :I'd be much more comfortable adopting this hack. : : : :- Paul : : : : more robust. Here is the changed function (from jde.el): : : : : : : (defun jde-find-project-file (dir) : :Finds the next project file upwards in the directory tree : : from DIR. Returns nil if it cannot find a project file in DIR : : or an ascendant directory. : :(let ((file (find jde-project-file-name : : (directory-files dir) :test 'string=))) : : (if file : : (expand-file-name file dir) : :(if ( (length dir) 100) : :(if (not (jde-root-dir-p dir)) : :(jde-find-project-file (concat dir ../))) : : : : Cheer, and thanks for a *great* product, : : Jose : : : : -- : : Jose M. Vidal [EMAIL PROTECTED] http://jmvidal.cse.sc.edu : : University of South Carolina http://www.multiagent.com : : : : : : -- : : Jose M. Vidal [EMAIL PROTECTED] http://jmvidal.cse.sc.edu : : University of South Carolina http://www.multiagent.com : : : : :
RE: important .INFO registration details
Dear Internet User, Have you heard the latest news on .INFO? It's finally launched and official! The wait is finally over. As the owner of an existing domain, it's important for you to secure the rights to the .INFO equivalent of your domain name immediately. According to Afilias, the registry operator for the .INFO extension, more than 400,000 names have been successfully registered so far and thousands are are being taken each day by customers like you. It's very important to maintain your online identity and prevent confusion, so register your .INFO today at: http://www.NewDomainFactory.com The .INFO extension works the same way as .COM/NET/ORG. Basically, once you register the domain, you will have access to a Domain Control Panel which you can use to manage the domain name. You can use it for a new email address or to redirect traffic to your existing domain name. As a matter of fact, many customers are now registering names just to keep them from falling into the hands of unscrupulous speculators and cybersquatters. Check if your domain is still available at: http://www.NewDomainFactory.com Sincerely, Rebecca ### We strongly oppose the continued sending of unsolicited email and do not want to send email to anyone who does not wish to receive our special mailings. As a result, we have retained the services of an independent 3rd party to administer our list management and removal services (http://www.autoemailremoval.com/cgi-bin/remove.pl?[EMAIL PROTECTED]). This is not SPAM. If you do not wish to receive further mailings, please click this link. The removal administrator can then preclude your email address from future mailings. http://www.autoemailremoval.com/cgi-bin/remove.pl?[EMAIL PROTECTED] Auto Email Removal Company. Ref# 011013 ###