Hi Paul,
I am trying to make JDE work with my xemacs. I have tried a lot of things
and I got a lot of errors. I fixed some of them but I can't figure out what
else is wrong now.
I am working on Solaris, XEmacs [version 20.4; Feb 1998]. Here is what I
have in my '.emacs' file which also shows what versions of different
packages I am using (these are the first lines in my .emacs file, I will
append the whole '.emacs' file at the end of this email):
;;; Updating the Emacs Lisp load path
(setq load-path (cons "/home/parhaf/emacs/jde-2.2.7.1/lisp" load-path))
(setq load-path (cons "/home/parhaf/emacs/semantic-1.4beta7" load-path))
(setq load-path (cons "/home/parhaf/emacs/speedbar-0.14beta1" load-path))
(setq load-path (cons "/home/parhaf/emacs/elib-1.0" load-path))
(setq load-path (cons "/home/parhaf/emacs/eieio-0.17beta1" load-path))
(setq load-path (cons "/home/parhaf/emacs/site-lisp" load-path))
The following is the trace for the error:
Signaling: (file-error "Cannot open load file" "imenu")
load-internal("imenu" nil t nil nil nil)
load("imenu" nil t nil)
require(imenu)
load-internal("jde" nil t nil nil nil)
load("jde" nil t nil)
require(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()
Here is my whole '.emacs' file:
(setq debug-on-error t)
;;; Updating the Emacs Lisp load path
(setq load-path (cons "/home/parhaf/emacs/jde-2.2.7.1/lisp" load-path))
(setq load-path (cons "/AT/parhaf/jde/jde-2.2.8beta4/lisp" load-path))
(setq load-path (cons "/home/parhaf/emacs/semantic-1.4beta7" load-path))
(setq load-path (cons "/home/parhaf/emacs/speedbar-0.14beta1" load-path))
(setq load-path (cons "/home/parhaf/emacs/elib-1.0" load-path))
(setq load-path (cons "/home/parhaf/emacs/eieio-0.17beta1" load-path))
(setq load-path (cons "/home/parhaf/emacs/site-lisp" load-path))
;; Complicated regexp to match method declarations in interfaces or classes
;; A nasty test case is:
;; else if(foo instanceof bar) {
;; To avoid matching this as a method named "if" must check that within
;; a parameter list there are an even number of symbols, i.e., one type name
;; paired with one variable name. The trick there is to use the regexp
;; patterns \< and \> to match beginning and end of words.
(defvar java-function-regexp
(concat
"^[ \t]*" ; leading white space
"\\(public\\|private\\|protected\\|" ; some of these 8 keywords
"abstract\\|final\\|static\\|"
"synchronized\\|native"
"\\|[ \t\n\r]\\)*" ; or whitespace
"[a-zA-Z0-9_$]+" ; return type
"[ \t\n\r]*[[]?[]]?" ; (could be array)
"[ \t\n\r]+" ; whitespace
"\\([a-zA-Z0-9_$]+\\)" ; the name we want!
"[ \t\n\r]*" ; optional whitespace
"(" ; open the param list
"\\([ \t\n\r]*" ; optional whitespace
"\\<[a-zA-Z0-9_$]+\\>" ; typename
"[ \t\n\r]*[[]?[]]?" ; (could be array)
"[ \t\n\r]+" ; whitespace
"\\<[a-zA-Z0-9_$]+\\>" ; variable name
"[ \t\n\r]*[[]?[]]?" ; (could be array)
"[ \t\n\r]*,?\\)*" ; opt whitespace and comma
"[ \t\n\r]*" ; optional whitespace
")" ; end the param list
"[ \t\n\r]*" ; whitespace
; "\\(throws\\([, \t\n\r]\\|[a-zA-Z0-9_$]\\)+\\)?{"
"\\(throws[^{;]+\\)?" ; optional exceptions
"[;{]" ; ending ';' (interfaces) or
'{'
)
"Matches method names in java code, select match 2")
(defvar java-class-regexp
"^[ \t\n\r]*\\(final\\|abstract\\|public\\|[ \t\n\r]\\)*class[
\t\n\r]+\\([a-zA-Z0-9_$]+\\)[^;{]*{"
"Matches class names in java code, select match 2")
(defvar java-interface-regexp
"^[ \t\n\r]*\\(abstract\\|public\\|[ \t\n\r]\\)*interface[
\t\n\r]+\\([a-zA-Z0-9_$]+\\)[^;]*;"
"Matches interface names in java code, select match 2")
(defvar java-imenu-regexp
(list (list nil java-function-regexp 2)
(list ".CLASSES." java-class-regexp 2)
(list ".INTERFACES." java-interface-regexp 2))
"Imenu expression for Java")
;; install it
(add-hook 'java-mode-hook
(function (lambda ()
(setq imenu-generic-expression java-imenu-regexp))))
;; Setting the indentation
(custom-set-faces
'(default ((t (:size "14pt" :family "clean" :foreground "white" :background
"#003333"))) t)
'(info-node ((t (:size "14" :bold t :italic t))))
'(font-lock-string-face ((t (:foreground "tan"))) t)
'(font-lock-reference-face ((t (:foreground "cadetblue2"))) t)
'(custom-group-tag-face ((t (:foreground "brown" :underline t))))
'(font-lock-doc-string-face ((t (:foreground "light coral"))) t)
'(font-lock-preprocessor-face ((t (:foreground "brown"))) t)
'(font-lock-variable-name-face ((t (:foreground "magenta3"))) t)
'(speedbar-directory-face ((((class color) (background light)) (:foreground
"blue4"))))
'(font-lock-keyword-face ((t (:foreground "cyan"))) t)
'(font-lock-type-face ((t (:foreground "wheat"))) t)
'(bold-italic ((t (:size "14" :bold t :italic t))) t)
'(blue ((t (:foreground "blue"))) t)
'(italic ((t (:size "14" :bold t :italic t))) t)
'(font-lock-comment-face ((t (:foreground "yellow"))) t)
'(cvs-header-face ((((class color) (background light)) (:foreground "Brown"
:bold t))))
'(font-lock-function-name-face ((t (:foreground "aquamarine"))) t)
'(cvs-filename-face ((((class color) (background light)) (:foreground
"Yellow3" :bold t)))))
(custom-set-variables
'(c-basic-offset 3)
'(ps-number-of-columns 2)
'(inverse-video t)
'(fill-column 76)
'(font-lock-maximum-decoration t t)
'(ps-right-margin 32)
'(delete-key-deletes-forward t)
'(uniquify-buffer-name-style (quote post-forward-angle-brackets))
'(ps-printer-name "lp" t)
'(column-number-mode t)
'(ps-line-number t)
'(ps-right-header (quote ("/pagenumberstring load"
time-stamp-mon-dd-yyyy)))
'(c-echo-syntactic-information-p t)
'(ps-inter-column 40)
'(browse-url-browser-function (quote browse-url-netscape))
'(ps-header-offset 20)
'(tab-width 3)
'(global-font-lock-mode t)
'(ps-print-color-p nil)
'(ps-left-margin 48)
'(jde-build-use-make t)
'(line-number-mode t)
'(jde-enable-abbrev-mode nil)
'(ps-landscape-mode t)
'(indent-tabs-mode nil)
'(ps-print-only-one-header t)
'(ps-print-background-text (quote (("XXX" nil nil "" 180 nil nil)))))
;;; Speedbar
(require 'speedbar)
(add-menu-button '("Tools")
["Speedbar" speedbar-frame-mode
:style toggle
:selected (and (boundp 'speedbar-frame)
(frame-live-p speedbar-frame)
(frame-visible-p speedbar-frame))]
"--")
;;; Line to top of window;
;;; replace three keystroke sequence C-u 0 C-l
(defun line-to-top-of-window ()
"Move the line point is on to top of window."
(interactive)
(recenter 0))
;;; Keybindings
;; Compare windows
(global-set-key "\C-cw" 'compare-windows)
;; Keybinding for `occur'
(global-set-key "\C-co" 'occur)
;; Rebind `C-x C-b' for `buffer-menu'
(global-set-key "\C-x\C-b" 'buffer-menu)
;; Keybind for 'line-to-top-of-window'
(global-set-key [f6] 'line-to-top-of-window)
;; Keybind for 'revert-buffer
(global-set-key "\C-x\C-r" 'revert-buffer)
;;; To start up the emacs server
;(require 'gnuserv)
;(gnuserv-start)
;; Other keybindings
(global-set-key "\C-h" 'delete-backward-char)
(global-set-key "\C-?" 'delete-char)
;;; Ensure that the JDE is loaded at Emacs startup
(require 'jde)
(require 'font-lock)
I can work with xemacs after this error, but I can not use JDE (no JDE drop
down is shown).
I would really appreciate any help you can provide.
Thank you very much
Faraz Parhami
Core Analytic Technology
Goldman Sachs
311 South Wacker Drive, Suite 1400
Chicago, IL 60606
Phone: (312) 697-2549
Fax: (312) 697-2785
[EMAIL PROTECTED]