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]

Reply via email to