Re: void-function semantic-java-expand-tag error while loading a java file

benruza <[email protected]> Tue, 12 Feb 2008 22:06:18 -0800
Newsgroups gmane.emacs.jdee
Message-ID <[email protected]>
Eric,

I tried "make bootstrap" in the 
/usr/share/emacs22/site-lisp/cedet-1.0pre4 directory, but the problem is 
still there.

BTW, I found that the missing function "semantic-java-expand-tag" is 
actually defined in "cedet-1.0pre4/semantic/bovine/semantic-java.el". 
So, AFTER I got the "void-function" error, if I load-file 
"semantic-java.el", then the problem goes away, and I can load .java 
files without error. But this is a painful workaround. Any idea?

Thanks,

Ben

Eric M. Ludlam wrote:
> It looks like part of CEDET's support for java didn't load.  It might
> be worth doing a "make bootstrap" for CEDET to make sure everything
> rebuilds.
>
> Eric
>
>
>   
>>>> benruza <[email protected]> seems to think that:
>>>>         
>> When I try to load a java file, I got the following error (see the stack 
>> dump). Can you help? Here are the information about my Emacs/JDEE 
>> environment.
>>
>> host platform: Linux river 2.6.22-14-generic #1 SMP Fri Feb 1 04:59:50 
>> UTC 2008 i686 GNU/Linux
>> JDEE version: JDE 2.3.5.1
>> Emacs version: GNU Emacs 22.1.1 (i486-pc-linux-gnu, GTK+ Version 2.12.0) 
>> of 2007-11-06 on terranova, modified by Ubuntu
>> My .emacs file: see the attachment
>> Contents of the backtrace buffer (see below)
>> Contents of the |*messages*| buffer (see below)
>>
>> Thanks,
>>
>> Ben
>> =====================================================
>> Debugger entered--Lisp error: (void-function semantic-java-expand-tag)
>>  semantic-java-expand-tag(("org.apache.hadoop.fs" package nil nil [809 
>> 838]))
>>  funcall(semantic-java-expand-tag ("org.apache.hadoop.fs" package nil 
>> nil [809 838]))
>>  (or (funcall semantic-tag-expand-function tag) (list tag))
>>  (if semantic-tag-expand-function (or (funcall 
>> semantic-tag-expand-function tag) (list tag)) (list tag))
>>  (if (semantic--tag-expanded-p tag) tag (condition-case nil (let ... 
>> ... ...) (error ... ... nil)) (unless semantic-tag-expand-function (setq 
>> semantic-tag-expand-function semantic-expand-nonterminal)) (if 
>> semantic-tag-expand-function (or ... ...) (list tag)))
>>  semantic--tag-expand(("org.apache.hadoop.fs" package nil nil [809 838]))
>>  (mapcar (function (lambda ... ... tag)) (semantic--tag-expand tag))
>>  (setq tag (mapcar (function ...) (semantic--tag-expand tag)) result 
>> (append tag result))
>>  (if (car tag) (setq tag (mapcar ... ...) result (append tag result)))
>>  (if tag (if (car tag) (setq tag ... result ...)) (if returnonerror 
>> (setq stream nil) (setq semantic-unmatched-syntax-cache ...)))
>>  (while stream (setq nontermsym (semantic-parse-stream stream nonterm) 
>> tag (car ...)) (if (not nontermsym) (error "Parse error @ %d" ...)) (if 
>> (eq ... stream) (error "Parser error: Infinite loop?")) (if tag (if ... 
>> ...) (if returnonerror ... ...)) (setq stream (car nontermsym)) (if 
>> stream (if ... ... ...)))
>>  (let ((result nil) (case-fold-search semantic-case-fold) nontermsym 
>> tag) (while stream (setq nontermsym ... tag ...) (if ... ...) (if ... 
>> ...) (if tag ... ...) (setq stream ...) (if stream ...)) result)
>>  semantic-repeat-parse-whole-stream(((PACKAGE 809 . 816) (IDENTIFIER 
>> 817 . 820) (DOT 820 . 821) (IDENTIFIER 821 . 827) (DOT 827 . 828) 
>> (IDENTIFIER 828 . 834) (DOT 834 . 835) (IDENTIFIER 835 . 837) (SEMICOLON 
>> 837 . 838) (IMPORT 840 . 846) (IDENTIFIER 847 . 851) (DOT 851 . 852) 
>> (IDENTIFIER 852 . 855) (DOT 855 . 856) (MULT 856 . 857) (SEMICOLON 857 . 
>> 858) (IMPORT 859 . 865) (IDENTIFIER 866 . 870) (DOT 870 . 871) 
>> (IDENTIFIER 871 . 873) (DOT 873 . 874) (MULT 874 . 875) (SEMICOLON 875 . 
>> 876) (IMPORT 878 . 884) (IDENTIFIER 885 . 888) (DOT 888 . 889) 
>> (IDENTIFIER 889 . 895) (DOT 895 . 896) (IDENTIFIER 896 . 902) (DOT 902 . 
>> 903) (IDENTIFIER 903 . 907) (DOT 907 . 908) (IDENTIFIER 908 . 921) 
>> (SEMICOLON 921 . 922) (PUBLIC 1094 . 1100) (CLASS 1101 . 1106) 
>> (IDENTIFIER 1107 . 1111) (IMPLEMENTS 1112 . 1122) (IDENTIFIER 1123 . 
>> 1133) (BRACE_BLOCK 1134 . 9456)) nil nil)
>>  (nreverse (semantic-repeat-parse-whole-stream (or ... ...) nonterminal 
>> returnonerror))
>>  semantic-parse-region-default(1 9457 nil nil nil)
>>  (if override (funcall override start end nonterminal depth 
>> returnonerror) (semantic-parse-region-default start end nonterminal 
>> depth returnonerror))
>>  (let ((override ...)) (if override (funcall override start end 
>> nonterminal depth returnonerror) (semantic-parse-region-default start 
>> end nonterminal depth returnonerror)))
>>  semantic-parse-region(1 9457)
>>  (setq res (semantic-parse-region (point-min) (point-max)))
>>  (progn (setq res (semantic-parse-region ... ...)) (working-status t))
>>  (unwind-protect (progn (setq res ...) (working-status t)) (setq 
>> working-mode-line-message nil) (if working-use-echo-area-p (message 
>> working-current-message) (working-mode-line-update) (sit-for 0)))
>>  (let ((working-current-message ...) (working-message ...) 
>> (working-donestring "done") (working-ref1 0) (working-last-percent 0)) 
>> (unwind-protect (progn ... ...) (setq working-mode-line-message nil) (if 
>> working-use-echo-area-p ... ... ...)))
>>  (working-status-forms (semantic-parser-working-message (buffer-name)) 
>> "done" (setq res (semantic-parse-region ... ...)) (working-status t))
>>  (cond ((semantic-parse-tree-needs-update-p) (setq res ...) (if ... ... 
>> ... ...)) ((semantic-parse-tree-needs-rebuild-p) (working-status-forms 
>> ... "done" ... ...) (let ... ...) (semantic--tag-link-list-to-buffer 
>> res) (semantic--set-buffer-cache res)))
>>  (let* ((gc-cons-threshold ...) (semantic-lex-block-streams nil) (res 
>> nil)) (garbage-collect) (cond (... ... ...) (... ... ... ... ...)))
>>  (and (semantic-active-p) (run-hook-with-args-until-failure (quote 
>> semantic-before-toplevel-bovination-hook)) 
>> (run-hook-with-args-until-failure (quote 
>> semantic--before-fetch-tags-hook)) (not 
>> (semantic-parse-tree-unparseable-p)) (not 
>> (semantic-parse-tree-up-to-date-p)) (let* (... ... ...) 
>> (garbage-collect) (cond ... ...)))
>>  semantic-fetch-tags()
>>  jde-parse-semantic-default-setup()
>>  run-hooks(semantic-init-hooks)
>>  (progn (setq semantic-new-buffer-fcn-was-run t) (semantic-lex-init) 
>> (semantic-clear-toplevel-cache) (run-hooks (quote 
>> semantic-init-db-hooks)) (run-hooks (quote semantic-init-hooks)))
>>  (if (and semantic--parse-table (not ...) (not ...)) (progn (setq 
>> semantic-new-buffer-fcn-was-run t) (semantic-lex-init) 
>> (semantic-clear-toplevel-cache) (run-hooks ...) (run-hooks ...)))
>>  (when (and semantic--parse-table (not ...) (not ...)) (setq 
>> semantic-new-buffer-fcn-was-run t) (semantic-lex-init) 
>> (semantic-clear-toplevel-cache) (run-hooks (quote 
>> semantic-init-db-hooks)) (run-hooks (quote semantic-init-hooks)))
>>  semantic-new-buffer-fcn()
>>  run-hooks(mode-local-init-hook)
>>  (lambda nil (activate-mode-local-bindings) (run-hooks (quote 
>> mode-local-init-hook)))()
>>  funcall((lambda nil (activate-mode-local-bindings) (run-hooks (quote 
>> mode-local-init-hook))))
>>  (progn (funcall function))
>>  (if (or (not predicate) (funcall predicate)) (progn (funcall function)))
>>  (when (or (not predicate) (funcall predicate)) (funcall function))
>>  (save-current-buffer (set-buffer b) (when (or ... ...) (funcall 
>> function)))
>>  (with-current-buffer b (when (or ... ...) (funcall function)))
>>  (and (buffer-live-p b) (buffer-file-name b) (with-current-buffer b 
>> (when ... ...)))
>>  (while --cl-dolist-temp-- (setq b (car --cl-dolist-temp--)) (and 
>> (buffer-live-p b) (buffer-file-name b) (with-current-buffer b ...)) 
>> (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--)))
>>  (let ((--cl-dolist-temp-- ...) b) (while --cl-dolist-temp-- (setq b 
>> ...) (and ... ... ...) (setq --cl-dolist-temp-- ...)) nil)
>>  (catch (quote --cl-block-nil--) (let (... b) (while --cl-dolist-temp-- 
>> ... ... ...) nil))
>>  (cl-block-wrapper (catch (quote --cl-block-nil--) (let ... ... nil)))
>>  (block nil (let (... b) (while --cl-dolist-temp-- ... ... ...) nil))
>>  (dolist (b (or buffers ...)) (and (buffer-live-p b) (buffer-file-name 
>> b) (with-current-buffer b ...)))
>>  mode-local-map-file-buffers((lambda nil (activate-mode-local-bindings) 
>> (run-hooks (quote mode-local-init-hook))) (lambda nil (not 
>> (mode-local-initialized-p))) (#<buffer Path.java>))
>>  (let ((buffers mode-local-changed-mode-buffers)) (setq 
>> mode-local-changed-mode-buffers nil) (mode-local-map-file-buffers 
>> (function ...) (function ...) buffers))
>>  mode-local-post-major-mode-change()
>>  run-hooks(find-file-hook)
>>  after-find-file(nil t)
>>  find-file-noselect-1(#<buffer Path.java> "~/src/Path.java" nil nil 
>> "~/src/Path.java" (4489218 2050))
>>  find-file-noselect("~/src/Path.java" nil nil t)
>>  find-file("~/src/Path.java" t)
>>  call-interactively(find-file)
>>
>>
>>
>> ("/usr/bin/emacs22-gtk")
>> Loading 00debian-vars...
>> No /etc/mailname. Reverting to default...
>> Loading 00debian-vars...done
>> Loading /etc/emacs22/site-start.d/35elib-startup.el (source)...done
>> Loading /etc/emacs/site-start.d/50cedet-common.el (source)...
>> Loading advice...done
>> Loading /etc/emacs/site-start.d/50cedet-common.el (source)...done
>> Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...
>> Loading debian-ispell...
>> Loading /var/cache/dictionaries-common/emacsen-ispell-default.el 
>> (source)...done
>> Loading debian-ispell...done
>> Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el 
>> (source)...done
>> Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...done
>> Loading /etc/emacs/site-start.d/50eieio.el (source)...done
>> Loading /etc/emacs/site-start.d/50psvn.el (source)...done
>> Loading /etc/emacs/site-start.d/51ede.el (source)...done
>> Loading /etc/emacs/site-start.d/51speedbar.el (source)...done
>> Loading /etc/emacs/site-start.d/52semantic.el (source)...done
>> Loading /usr/share/emacs22/site-lisp/eshell/eshell-2.4.2/eshell-auto.el 
>> (source)...done
>> Loading regexp-opt...done
>> Loading derived...done
>> Loading /usr/share/emacs22/site-lisp/cedet-1.0pre4/common/cedet.el 
>> (source)...
>> "/usr/share/emacs22/site-lisp/cedet-1.0pre4/common/" added to `load-path'
>> Loading cl-macs...done
>> Setting up cedet...done
>> Setting up cogre...done
>> Setting up ede...
>> Loading /usr/share/emacs/22.1/site-lisp/cedet-1.0pre4/ede/ede.el (source)...
>> Loading 
>> /usr/share/emacs/22.1/site-lisp/cedet-1.0pre4/ede/ede-speedbar.el 
>> (source)...done
>> Loading /usr/share/emacs/22.1/site-lisp/cedet-1.0pre4/ede/ede.el 
>> (source)...done
>> Setting up ede...done
>> Setting up eieio...done
>> Setting up semantic...done
>> Setting up speedbar...done
>> Setting up cedet-contrib...done
>> Loading /usr/share/emacs22/site-lisp/cedet-1.0pre4/common/cedet.el 
>> (source)...done
>> jde-java-font-lock: building names cache...empty
>> Loading bytecomp...done
>> Loading byte-opt...done
>> Loading cl-extra...done
>> Loading cl-seq...done
>> Loading time...done
>> Loading semantic-el...done
>> For information about the GNU Project and its goals, type C-h C-p. [2 times]
>> Loading 
>> /usr/share/emacs/22.1/site-lisp/cedet-1.0pre4/semantic/wisent/wisent-java-tags.el 
>> (source)...done
>> Setting customized JDE variables to startup values...
>> Loading 
>> /usr/share/emacs/22.1/site-lisp/cedet-1.0pre4/semantic/semantic-edit.el 
>> (source)...done
>> Loading debug...done
>> Entering debugger...
>> byte-code: Beginning of buffer
>> byte-code: Beginning of buffer
>>
>> ;;===========================================================================
>> ;;   System settings
>> ;;===========================================================================
>> ;(set-frame-font "-*-Courier New-normal-r-*-*-12-90-*-*-c-*-*-ansi-")
>> (set-frame-font "7x13")
>> (setq default-major-mode 'text-mode)
>> (setq text-mode-hook '(lambda () (auto-fill-mode 1)))
>> (auto-fill-mode 1)
>>
>> (put 'suspend-emacs 'disabled nil)
>> (put 'eval-expression 'disabled nil)
>>
>> (require 'paren) ;;highlight matching parentheses whenever point
>>
>> ;; make tab be replaced by spaces
>> ;;(setq indent-tabs-mode nil)
>>
>> ;; This will shows different color for language-specific reserved words
>> (global-font-lock-mode t)
>> (setq font-lock-maximum-decoration t)
>>
>> ;;---------- Global key settings ----------
>> (global-set-key "\C-z" 'goto-line)
>> (global-set-key "\C-\\" 'delete-horizontal-space)
>> (global-set-key [home] 'beginning-of-line)
>> (global-set-key [end] 'end-of-line)
>> (global-set-key [C-tab] 'toggle-tab-width)
>> (defun toggle-tab-width ()
>>  (interactive)
>>  (cond ((= tab-width 4) (setq tab-width 8))
>> 	((= tab-width 8) (setq tab-width 4)))
>>  (recenter)
>>  )
>>
>> (add-to-list 'load-path (expand-file-name "/usr/share/emacs22/site-lisp"))
>>
>> ;;---------- restore SPACE as filename auto-complete
>> (progn
>>  (define-key minibuffer-local-completion-map " " 'minibuffer-complete-word)
>>  (define-key minibuffer-local-filename-completion-map " " 'minibuffer-complete-word)
>>  (define-key minibuffer-local-must-match-filename-map " " 'minibuffer-complete-word))
>>
>> ;;---------- set file name auto-complete to case in-sensitive
>> (setq read-file-name-completion-ignore-case t)
>>
>> ;;---------- backup-dir 
>> (setq make-backup-files nil) 
>>
>> ;;---------- EShell
>> (add-to-list 'load-path (expand-file-name "/usr/share/emacs22/site-lisp/eshell/eshell-2.4.2"))
>> (load "eshell-auto")
>>
>> ;;---------- java-find
>> (require 'java-find)
>>
>> ;;---------- Prompt before exiting Emacs ----------
>> (setq kill-emacs-query-functions
>>      (cons (lambda () (yes-or-no-p "Really kill Emacs? "))
>>            kill-emacs-query-functions))
>>
>> ;;---------------------------------------------------------------------------
>> ;; C-mode setttings
>>
>> (add-hook 'c-mode-hook 'ben-c-mode-hook)
>> (defun ben-c-mode-hook ()
>>  (require 'cc-mode)
>>  (c-initialize-cc-mode)
>>  (c-set-style "stroustrup")
>>  (setq tab-width 4)
>>  (setq indent-tabs-mode t)
>>  (setq c-basic-offset 4)
>>  (c-set-offset 'substatement-open 0)
>>  (c-set-offset 'inline-open 0)
>>  (setq c-tab-always-indent t)
>> )
>>
>> ;;---------- ispell (aspell) ----------
>> (setq-default ispell-progra-name "aspell") 
>>
>> ;;---------- PHP ----------
>> (require 'php-mode)
>>
>> ;;---------- Mako ----------
>> (add-to-list 'auto-mode-alist '("\\.mako\\'" . html-mode))
>> (autoload 'html-mode "html-mode" "HTML editing mode." t)
>>
>> ;;;===========================================================================
>> ;;   Ubuntu JDE Settings
>> ;;===========================================================================
>> (setq debug-on-error t)
>> (add-to-list 'load-path (expand-file-name "/usr/share/emacs22/site-lisp/jde-2.3.5.1/lisp"))
>> (add-to-list 'load-path (expand-file-name "/usr/share/emacs22/site-lisp/cedet-1.0pre4/common"))
>> (add-to-list 'load-path (expand-file-name "/usr/share/emacs22/site-lisp/elib-1.0"))
>> (load-file (expand-file-name "/usr/share/emacs22/site-lisp/cedet-1.0pre4/common/cedet.el"))
>> (require 'jde)
>>
>> (defun my-jde-mode-hook ()
>>  (setq c-basic-offset 2))
>> (add-hook 'jde-mode-hook 'my-jde-mode-hook)
>>
>> ;;===========================================================================
>> ;;   Python Settings 
>> ;;===========================================================================
>> (add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))
>> (autoload 'python-mode "python-mode" "Python editing mode." t)
>>
>> ;;===========================================================================
>> ;;   PSGML setup
>> ;;===========================================================================
>> ; Add PSGML to load-path so Emacs can find it.
>> ; Note the forward slashes in the path... this is platform-independant so I 
>> ; would suggest using them over back-slahes. If you use back-slashes, they 
>> ; MUST BE doubled, as Emacs treats backslash as an escape character. 
>> (setq load-path 
>>      (append (list nil "/usr/share/emacs22/site-lisp/psgml-1.2.4") 
>> 	      load-path))
>> ;;(autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t)
>> ;;(autoload 'xml-mode "psgml" "Major mode to edit XML files." t)
>> ;;(load "xhtml/xhtml_setup")
>>
>> (cd "~/")
>> (display-time) 
>> (custom-set-variables
>>  ;; custom-set-variables was added by Custom.
>>  ;; If you edit it by hand, you could mess it up, so be careful.
>>  ;; Your init file should contain only one such instance.
>>  ;; If there is more than one, they won't work right.
>> '(browse-url-browser-function (quote browse-url-default-windows-browser))
>> '(browse-url-new-window-flag t)
>> '(display-time-mode t)
>> '(xslt-process-default-processor (quote (Saxon))))
>> (custom-set-faces
>>  ;; custom-set-faces was added by Custom.
>>  ;; If you edit it by hand, you could mess it up, so be careful.
>>  ;; Your init file should contain only one such instance.
>>  ;; If there is more than one, they won't work right.
>> )
>>
>>     
>
>