Jim Wilson writes:
 > I am somewhat of newbie with emacs. Sorry for length of email, but I tried to 
 > include everything requested by the installation notes.
 > 

You should use the JDE->Help->Submit Problem Report command. It gathers
the information about your system that experience has shown to be
the most useful in debugging JDEE programs.

 > The JDE for emacs looked like it was worth trying. I installed and it mostly 
 > works, except....
 > 
 > Doing a compile of a Java source file (JDE->Compile, or C-c C-v C-c) works
 > fine until I attempt to compile the lisp sources for JDE. 
 > 
 > The compile of the lisp sources (M-x jde-compile-jde) yields various
 >   "reference to free variable" messages and a final 
 >   "The function `extent-list' is not known to be defined."

This has nothing to do with your problem. extent-list is defined
only in XEmacs. The JDEE has lots of code that refers to XEmacs-only
symbols. The Emacs compiler doesn't know about them so it complains.

 > See below for complete messages buffer contents.
 > 
 > If I then try a Java compile, I get (see below for full backtrace)
 >     "(wrong-type-argument char-or-string-p nil)"
 > from emacs. 
 >

The error occurs because Emacs returned nil when the JDEE tried to get
the file name for the current Java source buffer. The only way I know
this can happen is if you try to run the jde-compile command  
with a buffer selected that is not a Java buffer and does
not have a file associated with it.

 > Any suggestions from the experts?
 > 
 > Do the warnings/errors from the jde-compile-jde mean anything?
 > 

Yes. They mostly mean that the JDEE tries to support both Emacs and
XEmacs and both editors define symbols that the other does not know
about and hence the JDEE refers to symbols that the Emacs compiler
does not know about and that the XEmacs compiler does not know
about. Occasionally they can indicate a real problem but I don't of
any such case with the current release.

- Paul


 > My enviroment  is:
 >   SuSE Linux 8.1 on Pentium 900mhz, 512MB
 >   kde 3.0.5a
 >   emacs 21.2
 >   jde 2.3.2 (didn't have much luck installing 2.2.8-1)
 >   elib-1.0-813
 >   bsh-1.1a11-1
 >   semantic-1.4-realtime.1
 >   speedbar-0.14beta4-realtime.1
 >   eieio-0.17-beta3
 >   .emacs contents follow below
 >   
 > Jim Wilson
 > <[EMAIL PROTECTED]>
 > Registered Linux User # 302849
 > 
 > -- ~/.gnu-emacs-custom ----------
 > ;; function to save buffer and then compile
 > (defun my-save-compile ()
 >   (interactive)
 >   (save-buffer)
 >   (compile compile-command)
 > )
 > 
 > (global-set-key [f12] 'my-save-compile)
 > 
 > (add-hook 'java-mode-hook
 >           (function
 >            (lambda ()
 >              (make-local-variable 'compile-command)
 >              (setq compile-command
 >                    (concat "javac " 
 >                         (file-name-nondirectory buffer-file-name))))))
 > (add-hook 'perl-mode-hook
 >            (lambda ()
 >              (make-local-variable 'compile-command)
 >              (setq compile-command
 >                    (concat "perl -c " 
 >                         (file-name-nondirectory buffer-file-name)))))
 > 
 > ;; This .emacs file illustrates the minimul setup
 > ;; required to run the JDE.
 > 
 > ;; Set the debug option to enable a backtrace when a
 > ;; problem occurs.
 > (setq debug-on-error t)
 > 
 > ;; Update the Emacs load-path to include the path to
 > ;; the JDE and its require packages. This code assumes
 > ;; that you have installed the packages in the emacs/site
 > ;; subdirectory of your home directory.
 > 
 > 
 > ;; minimum jde-settings
 > (setq EMACS_EXTENSIONS "/usr/share/emacs/site-lisp/")
 > 
 > (add-to-list 'load-path  EMACS_EXTENSIONS)
 > (add-to-list 'load-path (concat EMACS_EXTENSIONS "jde-2.3.2/lisp"))
 > (add-to-list 'load-path (concat EMACS_EXTENSIONS "semantic")) 
 > (add-to-list 'load-path (concat EMACS_EXTENSIONS "elib"))
 > (add-to-list 'load-path (concat EMACS_EXTENSIONS "eieio"))
 > (add-to-list 'load-path (concat EMACS_EXTENSIONS "speedbar"))
 > 
 > ;; If you want Emacs to defer loading the JDE until you open a 
 > ;; Java file, edit the following line
 > ;;(setq defer-loading-jde nil)
 > ;; 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))
 > 
 > 
 > ;; Sets the basic indentation for Java source files
 > ;; to two spaces.
 > (defun my-jde-mode-hook ()
 >   (setq c-basic-offset 2))
 > 
 > (add-hook 'jde-mode-hook 'my-jde-mode-hook)
 > 
 > ;; Include the following only if you want to run
 > ;; bash as your shell.
 > 
 > ;; Setup Emacs to run bash as its primary shell.
 > (setq shell-file-name "bash")
 > (setq shell-command-switch "-c")
 > (setq explicit-shell-file-name shell-file-name)
 > (setenv "SHELL" shell-file-name)
 > (setq explicit-sh-args '("-login" "-i"))
 > (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.
 >  '(debug-on-error t)
 >  '(delete-selection-mode nil nil (delsel))
 >  '(scroll-bar-mode (quote right)))
 > (custom-set-faces
 >   ;; custom-set-faces was added by Custom -- don't edit or cut/paste it!
 >   ;; Your init file should contain only one such instance.
 >  )
 > 
 > --backtrace from Java compile----
 > Debugger entered--Lisp error: (wrong-type-argument char-or-string-p nil)
 >   insert(nil "\n")
 >   (save-excursion (set-buffer (oref this :buffer)) (insert "CompileServer 
 > output:\n") (insert "\n") (setq temp (mapconcat ... args " ")) (insert temp " 
 > ") (insert source-path "\n") (if (not ...) (bsh-eval ...)) (setq proc 
 > (bsh-get-process)) (setq jde-compile-comint-filter (process-filter proc)) 
 > (set-process-filter proc (quote jde-compile-filter)) (process-send-string 
 > proc (concat ... "\n")))
 >   (let* ((w32-quote-process-args 34) (win32-quote-process-args 34) proc flag 
 > temp) (save-excursion (set-buffer ...) (insert "CompileServer output:\n") 
 > (insert "\n") (setq temp ...) (insert temp " ") (insert source-path "\n") (if 
 > ... ...) (setq proc ...) (setq jde-compile-comint-filter ...) 
 > (set-process-filter proc ...) (process-send-string proc ...)))
 >   (let* ((directory-sep-char 47) (args ...) (source-path ...) (arg-array ...)) 
 > (if args (setq arg-array ...)) (setq arg-array (concat arg-array "}")) (let* 
 > (... ... proc flag temp) (save-excursion ... ... ... ... ... ... ... ... ... 
 > ... ...)))
 >   jde-compile-compiler([object jde-compile-javac-14 "javac 1.4.x" unbound 
 > "1.4" unbound #<buffer *compilation*> #<window 13 on *Backtrace*> nil t])
 >   apply(jde-compile-compiler [object jde-compile-javac-14 "javac 1.4.x" 
 > unbound "1.4" unbound #<buffer *compilation*> #<window 13 on *Backtrace*> nil 
 > t])
 >   eieio-generic-call(jde-compile-run-server ([object jde-compile-javac-14 
 > "javac 1.4.x" unbound "1.4" unbound #<buffer *compilation*> #<window 13 on 
 > *Backtrace*> nil t]))
 >   jde-compile-run-server([object jde-compile-javac-14 "javac 1.4.x" unbound 
 > "1.4" unbound #<buffer *compilation*> #<window 13 on *Backtrace*> nil t])
 >   (if (oref this :use-server-p) (jde-compile-run-server this) 
 > (jde-compile-run-exec this))
 >   jde-compile-compiler([object jde-compile-javac-14 "javac 1.4.x" unbound 
 > "1.4" unbound #<buffer *compilation*> #<window 13 on *Backtrace*> nil t])
 >   apply(jde-compile-compiler [object jde-compile-javac-14 "javac 1.4.x" 
 > unbound "1.4" unbound #<buffer *compilation*> #<window 13 on *Backtrace*> nil 
 > t])
 >   eieio-generic-call(jde-compile-launch ([object jde-compile-javac-14 "javac 
 > 1.4.x" unbound "1.4" unbound #<buffer *compilation*> #<window 13 on 
 > *Backtrace*> nil t]))
 >   jde-compile-launch([object jde-compile-javac-14 "javac 1.4.x" unbound "1.4" 
 > unbound #<buffer *compilation*> #<window 13 on *Backtrace*> nil t])
 >   jde-compile-compiler([object jde-compile-javac-14 "javac 1.4.x" unbound 
 > "1.4" unbound #<buffer *compilation*> #<window 13 on *Backtrace*> nil t])
 >   apply(jde-compile-compiler [object jde-compile-javac-14 "javac 1.4.x" 
 > unbound "1.4" unbound #<buffer *compilation*> #<window 13 on *Backtrace*> nil 
 > t])
 >   eieio-generic-call(jde-compile-compile ([object jde-compile-javac-14 "javac 
 > 1.4.x" unbound "1.4" unbound #<buffer *compilation*> #<window 13 on 
 > *Backtrace*> nil t]))
 >   jde-compile-compile([object jde-compile-javac-14 "javac 1.4.x" unbound "1.4" 
 > unbound #<buffer *compilation*> #<window 13 on *Backtrace*> nil t])
 >   (progn (oset compiler :interactive-args (if ... ...)) (jde-compile-compile 
 > compiler))
 >   (if compiler (progn (oset compiler :interactive-args ...) 
 > (jde-compile-compile compiler)) (error "Unknown compiler. Aborting 
 > compilation."))
 >   (let ((compiler ...)) (if compiler (progn ... ...) (error "Unknown compiler. 
 > Aborting compilation.")))
 >   jde-compile()
 >   call-interactively(jde-compile)
 > 
 > -----output of jde-compile-jde----------------
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/beanshell.el at Sat 
 > Feb  8 14:12:12 2003
 >   ** reference to free variable jde-ant-home
 > 
 > While compiling bsh-exit:
 >   ** reference to free variable jde-ant-invocation-method
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/efc.el at Sat Feb  8 
 > 14:12:12 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-ant.el at Sat Feb  
 > 8 14:12:12 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-autoload.el at 
 > Sat Feb  8 14:12:12 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-bug.el at Sat Feb  
 > 8 14:12:12 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-checkstyle.el at 
 > Sat Feb  8 14:12:12 2003
 > 
 > While compiling jde-make-checkstyle-command:
 >   ** reference to free variable jde-run-java-vm-w
 >   ** reference to free variable jde-run-java-vm
 > 
 > While compiling the end of the data:
 >   ** The function `jde-get-checkstyle-options' is not known to be defined.
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-compat.el at Sat 
 > Feb  8 14:12:12 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-compile.el at Sat 
 > Feb  8 14:12:12 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-complete.el at 
 > Sat Feb  8 14:12:13 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-db.el at Sat Feb  
 > 8 14:12:13 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-dbo.el at Sat Feb  
 > 8 14:12:14 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-dbs.el at Sat Feb  
 > 8 14:12:14 2003
 >   ** The function `frame-highest-window' is not known to be defined.
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-ejb.el at Sat Feb  
 > 8 14:12:15 2003
 > 
 > While compiling toplevel forms:
 >   ** assignment to free variable current-ejb-name
 >   ** assignment to free variable current-ejb-package
 >   ** reference to free variable current-ejb-name
 > 
 > While compiling current-ejb-package:
 >   ** reference to free variable current-ejb-package
 > 
 > While compiling jde-ejb-gen-bean:
 >   ** assignment to free variable current-ejb-package
 >   ** reference to free variable ejb-dir
 > 
 > While compiling the end of the data:
 >   ** The following functions are not known to be defined: jde-ejb-remote,
 >     jde-ejb-home
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-gen.el at Sat Feb  
 > 8 14:12:15 2003
 > 
 > While compiling jde-gen-get-package-statement:
 >   ** reference to free variable jde-package-unknown-package-name
 > 
 > While compiling the end of the data:
 >   ** The following functions are not known to be defined:
 >     replace-in-string, jde-package-get-package-directory,
 >     jde-package-convert-directory-to-package
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-help.el at Sat 
 > Feb  8 14:12:15 2003
 >   ** The function `url-file-exists' is not known to be defined.
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-imenu.el at Sat 
 > Feb  8 14:12:15 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-import.el at Sat 
 > Feb  8 14:12:16 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-java-font-lock.el 
 > at Sat Feb  8 14:12:16 2003
 > 
 > While compiling toplevel forms:
 >   ** font-lock-defaults-alist is an obsolete variable; use font-lock-defaults
 >      instead.
 >   ** font-lock-set-defaults called with 1 argument, but accepts only 0
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-java-grammar.el 
 > at Sat Feb  8 14:12:16 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-javadoc-gen.el at 
 > Sat Feb  8 14:12:16 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-javadoc.el at Sat 
 > Feb  8 14:12:16 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-jdb.el at Sat Feb  
 > 8 14:12:16 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-make.el at Sat 
 > Feb  8 14:12:17 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-open-source.el at 
 > Sat Feb  8 14:12:17 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-package.el at Sat 
 > Feb  8 14:12:17 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-parse-class.el at 
 > Sat Feb  8 14:12:17 2003
 > 
 > While compiling jde-parse-class-get-code-attribute:
 >   ** reference to free variable jde-parse-class-opcode-vec
 > 
 > While compiling jde-parse-class-get-constants:
 >   ** assignment to free variable i
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-parse.el at Sat 
 > Feb  8 14:12:18 2003
 > 
 > While compiling jde-etags-recognize-tags-table:
 >   ** assignment to free variable find-tag-tag-order
 > 
 > While compiling the end of the data:
 >   ** The following functions are not known to be defined:
 >     tag-exact-match-p, file-of-tag, etags-recognize-tags-table
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-run.el at Sat Feb  
 > 8 14:12:18 2003
 > 
 > While compiling jde-run-get-vm:
 >   ** function jde-run-get-vm defined multiple times in this file
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-stat.el at Sat 
 > Feb  8 14:12:18 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-util.el at Sat 
 > Feb  8 14:12:18 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-which-method.el 
 > at Sat Feb  8 14:12:18 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-widgets.el at Sat 
 > Feb  8 14:12:18 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-wiz.el at Sat Feb  
 > 8 14:12:18 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde-xref.el at Sat 
 > Feb  8 14:12:19 2003
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/jde.el at Sat Feb  8 
 > 14:12:19 2003
 > 
 > While compiling the end of the data:
 >   ** The function `setnu-mode' might not be defined at runtime.
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/setnu.el at Sat Feb  
 > 8 14:12:20 2003
 >   ** The following functions are not known to be defined:
 >     set-extent-begin-glyph, remove-specifier, set-specifier
 > 
 >  
 > Compiling file /usr/share/emacs/site-lisp/jde-2.3.2/lisp/tree-widget.el at Sat 
 > Feb  8 14:12:20 2003
 > 
 > While compiling toplevel forms:
 >   ** reference to free variable widget-button-keymap
 >   ** The function `extent-list' is not known to be defined.

Reply via email to