I am somewhat of newbie with emacs. Sorry for length of email, but I tried to
include everything requested by the installation notes.
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."
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.
Any suggestions from the experts?
Do the warnings/errors from the jde-compile-jde mean anything?
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.