JDEE Afficionados:
I seem to be unable to get JDEE 2.2.8 to startup properly when running Xemacs
21.1.13 on Solaris 8 and am hoping that someone can help to diagnose what I
have done wrong. While I probably have some sort of a configuration problem,
I can get JDEE running on the same machine with GNU emacs Version 21.1.1. (We
want to be able to have users use JDEE without arguing about whether GNU Emacs
or Xemacs is better ...). When I fire up xemacs (with the same .emacs file
that works for GNU emacs)
it seems to get far enough to get the "Java" menu item ... but never gets the
JCE, Classes, or Senator menu items added.
xemacs -version results in:
XEmacs 21.1 (patch 13) "Crater Lake" [Lucid] (sparc-sun-solaris2.8) of Wed Feb
21 2001 on solaris
Note: xemacs was installed from the binary from sunfreeware.com.). I then
used the xemacs package facility to install the following xemacs packages:
cc-mode, debug, edit-utils, efs, eterm, fsf-compat, ispell, mail-lib,
os-utils, ps-print-nomule, xemacs-base, and xemacs-devel. (Note: these
probably aren't all required for xemacs but they are the packages that we had
installed on our Solaris 2.6 machine and, like the other machine, are
installed in the xemacs default of /usr/local/lib/xemacs/xemacs-packages.
The backtrace that I get (without understanding it ...) is:
Signaling: (wrong-number-of-arguments #<subr make-char-table> 2)
make-char-table(syntax-table nil)
byte-code("..." [current-load-list jde-run-mode-map
jde-run-mode-syntax-table
boundp make-sparse-keymap make-char-table syntax-table nil
jde-run-mode-abbrev-table define-abbrev-table put jde-run-mode
derived-mode-parent comint-mode] 4)
load-internal("jde-run" nil t nil nil nil)
load("jde-run" nil t nil)
require(jde-run)
byte-code("..." [current-load-list jde-xemacsp emacs-major-version
jde-xemacs20p 20 require semantic-load easymenu cl font-lock cc-mode
cus-edit jde-compile jde-db jde-run jde-make jde-gen compile imenu
speedbar
browse-url beanshell jde-wiz jde-parse jde-help jde-bug jde-complete
jde-javadoc jde-javadoc-gen jde-stat jde-which-method jde-java-font-lock
jde-import jde-package executable nil (byte-code "��!�" [require custom]
2) ((error)) featurep custom fboundp custom-declare-variable
defgroup (macro . #<compiled-function ... "...(2)" ... 1>)
defface (macro . #<compiled-function ... "...(12)" ... 5>)
defcustom (macro . #<compiled-function ... "...(6)" ... 4>)
custom-set-default defalias ...] 8)
load-internal("jde" nil t nil nil nil)
load("jde" nil t nil)
require(jde)
(if defer-loading-jde (progn (autoload ... "jde" "JDE mode." t) (setq
auto-mode-alist ...)) (require (quote jde)))
)
load-internal("~/.emacs" t t t nil nil)
load("~/.emacs" t t t)
load-user-init-file("")
load-init-file()
command-line()
normal-top-level()
My load path is:
`load-path' is a simple built-in variable.
Value: ("/usr/local/share/emacs/site-lisp/idl"
"/usr/local/share/emacs/site-lisp/elib"
"/usr/local/share/emacs/site-lisp/eieio"
"/usr/local/share/emacs/site-lisp/speedbar"
"/usr/local/share/emacs/site-lisp/semantic"
"/usr/local/share/emacs/site-lisp/jde/lisp"
"/usr/local/lib/xemacs/xemacs-packages/lisp/"
"/usr/local/lib/xemacs/xemacs-packages/lisp/cc-mode/"
"/usr/local/lib/xemacs/xemacs-packages/lisp/debug/"
"/usr/local/lib/xemacs/xemacs-packages/lisp/edit-utils/"
"/usr/local/lib/xemacs/xemacs-packages/lisp/efs/"
"/usr/local/lib/xemacs/xemacs-packages/lisp/eterm/"
"/usr/local/lib/xemacs/xemacs-packages/lisp/fsf-compat/"
"/usr/local/lib/xemacs/xemacs-packages/lisp/ispell/"
"/usr/local/lib/xemacs/xemacs-packages/lisp/mail-lib/"
"/usr/local/lib/xemacs/xemacs-packages/lisp/os-utils/"
"/usr/local/lib/xemacs/xemacs-packages/lisp/ps-print-nomule/"
"/usr/local/lib/xemacs/xemacs-packages/lisp/xemacs-base/"
"/usr/local/lib/xemacs/xemacs-packages/lisp/xemacs-devel/"
"/usr/local/lib/xemacs-21.1.13/lisp/"
"/usr/local/lib/xemacs-21.1.13/lisp/mule/"
"/usr/local/lib/xemacs-21.1.13/lisp/term/")
And if I do an "ls -l" of /usr/local/share/emacs/site-lisp (so show exactly
which versions of eieio, speedbar, and friends I have installed) I get:
lrwxrwxrwx 1 root root 10 Jan 11 15:48 eieio -> eieio-0.16
drwxr-xr-x 3 root other 1024 Jan 14 08:56 eieio-0.16
lrwxrwxrwx 1 root root 8 Jan 11 15:48 elib -> elib-1.0
drwxrwxr-x 2 root other 1024 Jan 14 08:56 elib-1.0
drwxr-xr-x 2 root root 512 Jan 11 15:50 idl
lrwxrwxrwx 1 root root 9 Jan 13 10:43 jde -> jde-2.2.8
drwxr-xr-x 5 root other 512 Jan 13 15:57 jde-2.2.8
lrwxrwxrwx 1 root root 18 Jan 13 10:43 semantic ->
semantic-1.4beta13
drwxr-xr-x 3 root other 2048 Jan 14 08:56 semantic-1.4beta13
lrwxrwxrwx 1 root root 18 Jan 13 18:21 speedbar ->
speedbar-0.14beta2
drwxr-xr-x 2 root other 1024 Jan 14 08:56 speedbar-0.14beta2
-rw-r--r-- 1 root other 106 Dec 8 23:55 subdirs.el.orig
My full .emacs file is (which, incidentally, has run successullly against JDE
2.2.6 on a Solaris 2.6 machine for over a year) is:
;; 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)
;; Setup printing stuff ...
(setq lpr-command "lp")
(setq ps-lpr-command "lp")
(setq ps-print-color-p nil)
;; 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-lisp
;; subdirectory of your home directory.
;; (add-to-list 'load-path "/usr/local/share/emacs/20.7/lisp")
(add-to-list 'load-path "/usr/local/share/emacs/site-lisp/jde/lisp")
(add-to-list 'load-path "/usr/local/share/emacs/site-lisp/semantic")
(add-to-list 'load-path "/usr/local/share/emacs/site-lisp/speedbar")
(add-to-list 'load-path "/usr/local/share/emacs/site-lisp/eieio")
(add-to-list 'load-path "/usr/local/share/emacs/site-lisp/elib")
(add-to-list 'load-path "/usr/local/share/emacs/site-lisp/idl")
;; 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))
(setq auto-mode-alist (cons '("\\.idl\\'" . idl-mode) auto-mode-alist))
(require 'idl-font-lock)
;; 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"))
(if (boundp 'w32-quote-process-args)
(setq w32-quote-process-args ?\")) ;; Include only for MS Windows.
(custom-set-variables
'(paren-mode (quote paren) nil (paren)))
(custom-set-faces)
Finally, the "message log" file is:
Loading cus-face...
Loading cus-face...done
Loading customization dependencies...
Loading customization dependencies...done
Loading cl-macs...
Loading cl-macs...done
Bootstrapping objects...
Bootstrapping objects...done
Loading regexp-opt...
Loading regexp-opt...done
Loading debug...
Loading debug...done
Entering debugger...
Loading xpm-button...
Loading xpm-button...done
Loading annotations...
Loading annotations...done
There's probably something stupid that I have done ... but I sure can't see
it. I HAVE tried to carefully re-read all of the installation stuff and make
sure that I've done it all and in the proper order ....
Thanks for your consideration,
John