aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Engster2012-10-25 22:13:16 +0200
committerDavid Engster2012-10-25 22:13:16 +0200
commit3f2a848dbeb297cdadfc9dd3cff71bab24679b92 (patch)
tree3641e34f25caf6b5a6eca8537afdd24ee074c6a3
parentaaabfc8b2744aabe00b9fc97eaca59940b5afdeb (diff)
downloademacs-3f2a848dbeb297cdadfc9dd3cff71bab24679b92.tar.gz
emacs-3f2a848dbeb297cdadfc9dd3cff71bab24679b92.zip
Merge CEDET upstream.
* emacs-lisp/eieio.el (eieio-update-lisp-imenu-expression): Removed. This feature is already integrated in imenu. * emacs-lisp/eieio-opt.el: Remove require for `button' since it is always loaded. Require `speedbar' unconditionally. * semantic/analyze.el (semantic-analyze-dereference-alias): New function to dereference aliases. (semantic-analyze-current-context-default): Use it. * semantic/grammar.el (semantic-grammar-create-package): * srecode/compile.el (srecode-compile-templates): Throw a proper error if semantic-mode is not enabled (bug#9968). Compiler warning fixes: * semantic.el (semantic-elapsed-time): Make it a defsubst. * srecode/dictionary.el (srecode-adebug-dictionary): Remove require for `semantic'. * srecode/map.el: * srecode/insert.el: Declare functions from `data-debug'. * semantic/grammar.el: Require `help-fns'. Declare functions from `eldoc', which is required in function body. * srecode/java.el: * semantic/texi.el: * semantic/grammar-wy.el: * semantic/db-file.el: * semantic/db-el.el: * semantic/chart.el: Fix requires. * ede/locate.el: Remove useless requires. Declare functions instead and require in functions when needed.
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/cedet/ChangeLog33
-rw-r--r--lisp/cedet/ede/locate.el30
-rw-r--r--lisp/cedet/semantic.el2
-rw-r--r--lisp/cedet/semantic/analyze.el34
-rw-r--r--lisp/cedet/semantic/chart.el5
-rw-r--r--lisp/cedet/semantic/db-el.el7
-rw-r--r--lisp/cedet/semantic/db-file.el5
-rw-r--r--lisp/cedet/semantic/grammar-wy.el5
-rw-r--r--lisp/cedet/semantic/grammar.el12
-rw-r--r--lisp/cedet/semantic/texi.el10
-rw-r--r--lisp/cedet/srecode/compile.el2
-rw-r--r--lisp/cedet/srecode/dictionary.el1
-rw-r--r--lisp/cedet/srecode/insert.el4
-rw-r--r--lisp/cedet/srecode/java.el5
-rw-r--r--lisp/cedet/srecode/map.el3
-rw-r--r--lisp/emacs-lisp/eieio-opt.el8
-rw-r--r--lisp/emacs-lisp/eieio.el23
18 files changed, 124 insertions, 73 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index ea75d3774a1..188cd9ce941 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
12012-10-25 David Engster <deng@randomsample.de>
2
3 * emacs-lisp/eieio.el (eieio-update-lisp-imenu-expression):
4 Removed. This feature is already integrated in imenu.
5
6 * emacs-lisp/eieio-opt.el: Remove require for `button' since it is
7 always loaded. Require `speedbar' unconditionally.
8
12012-10-25 Stefan Monnier <monnier@iro.umontreal.ca> 92012-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
2 10
3 * dired.el (dired-get-marked-files): Allow ! on . and .. (bug#12725). 11 * dired.el (dired-get-marked-files): Allow ! on . and .. (bug#12725).
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog
index 7656248cac5..6f2669e9fee 100644
--- a/lisp/cedet/ChangeLog
+++ b/lisp/cedet/ChangeLog
@@ -1,3 +1,36 @@
12012-10-25 David Engster <deng@randomsample.de>
2
3 * semantic/analyze.el (semantic-analyze-dereference-alias): New
4 function to dereference aliases.
5 (semantic-analyze-current-context-default): Use it.
6
7 * semantic/grammar.el (semantic-grammar-create-package):
8 * srecode/compile.el (srecode-compile-templates): Throw a proper
9 error if semantic-mode is not enabled (bug#9968).
10
11 Compiler warning fixes:
12
13 * semantic.el (semantic-elapsed-time): Make it a defsubst.
14
15 * srecode/dictionary.el (srecode-adebug-dictionary): Remove
16 require for `semantic'.
17
18 * srecode/map.el:
19 * srecode/insert.el: Declare functions from `data-debug'.
20
21 * semantic/grammar.el: Require `help-fns'. Declare functions from
22 `eldoc', which is required in function body.
23
24 * srecode/java.el:
25 * semantic/texi.el:
26 * semantic/grammar-wy.el:
27 * semantic/db-file.el:
28 * semantic/db-el.el:
29 * semantic/chart.el: Fix requires.
30
31 * ede/locate.el: Remove useless requires. Declare functions
32 instead and require in functions when needed.
33
12012-10-23 Stefan Monnier <monnier@iro.umontreal.ca> 342012-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
2 35
3 * semantic/db-file.el (semanticdb-save-database-functions): 36 * semantic/db-file.el (semanticdb-save-database-functions):
diff --git a/lisp/cedet/ede/locate.el b/lisp/cedet/ede/locate.el
index c008f5fb945..03227907af4 100644
--- a/lisp/cedet/ede/locate.el
+++ b/lisp/cedet/ede/locate.el
@@ -49,13 +49,7 @@
49;; when it is available. 49;; when it is available.
50 50
51(require 'ede) 51(require 'ede)
52(eval-when-compile (require 'data-debug) 52(eval-when-compile (require 'locate))
53 (require 'eieio-datadebug)
54 (require 'cedet-global)
55 (require 'cedet-idutils)
56 (require 'cedet-cscope))
57
58(require 'locate)
59 53
60;;; Code: 54;;; Code:
61(defcustom ede-locate-setup-options 55(defcustom ede-locate-setup-options
@@ -214,6 +208,12 @@ that created this EDE locate object."
214 208
215;;; GLOBAL 209;;; GLOBAL
216;; 210;;
211
212(declare-function cedet-gnu-global-version-check "cedet-global")
213(declare-function cedet-gnu-global-root "cedet-global")
214(declare-function cedet-gnu-global-expand-filename "cedet-global")
215(declare-function cedet-gnu-global-create/update-database "cedet-global")
216
217(defclass ede-locate-global (ede-locate-base) 217(defclass ede-locate-global (ede-locate-base)
218 () 218 ()
219 "EDE Locator using GNU Global. 219 "EDE Locator using GNU Global.
@@ -260,6 +260,12 @@ that created this EDE locate object."
260 260
261;;; IDUTILS 261;;; IDUTILS
262;; 262;;
263
264(declare-function cedet-idutils-version-check "cedet-idutils")
265(declare-function cedet-idutils-support-for-directory "cedet-idutils")
266(declare-function cedet-idutils-expand-filename "cedet-idutils")
267(declare-function cedet-idutils-create/update-database "cedet-idutils")
268
263(defclass ede-locate-idutils (ede-locate-base) 269(defclass ede-locate-idutils (ede-locate-base)
264 () 270 ()
265 "EDE Locator using IDUtils. 271 "EDE Locator using IDUtils.
@@ -303,6 +309,12 @@ that created this EDE locate object."
303 309
304;;; CSCOPE 310;;; CSCOPE
305;; 311;;
312
313(declare-function cedet-cscope-version-check "cedet-scope")
314(declare-function cedet-cscope-support-for-directory "cedet-scope")
315(declare-function cedet-cscope-expand-filename "cedet-cscope")
316(declare-function cedet-cscope-create/update-database "cedet-cscope")
317
306(defclass ede-locate-cscope (ede-locate-base) 318(defclass ede-locate-cscope (ede-locate-base)
307 () 319 ()
308 "EDE Locator using Cscope. 320 "EDE Locator using Cscope.
@@ -315,6 +327,7 @@ file name searching variable `cedet-cscope-file-command'.")
315 ;; Get ourselves initialized. 327 ;; Get ourselves initialized.
316 (call-next-method) 328 (call-next-method)
317 ;; Do the checks. 329 ;; Do the checks.
330 (require 'cedet-cscope)
318 (cedet-cscope-version-check) 331 (cedet-cscope-version-check)
319 (when (not (cedet-cscope-support-for-directory (oref loc root))) 332 (when (not (cedet-cscope-support-for-directory (oref loc root)))
320 (error "Cannot use Cscope in %s" 333 (error "Cannot use Cscope in %s"
@@ -324,6 +337,7 @@ file name searching variable `cedet-cscope-file-command'.")
324(defmethod ede-locate-ok-in-project :static ((loc ede-locate-cscope) 337(defmethod ede-locate-ok-in-project :static ((loc ede-locate-cscope)
325 root) 338 root)
326 "Is it ok to use this project type under ROOT." 339 "Is it ok to use this project type under ROOT."
340 (require 'cedet-cscope)
327 (cedet-cscope-version-check) 341 (cedet-cscope-version-check)
328 (when (cedet-cscope-support-for-directory root) 342 (when (cedet-cscope-support-for-directory root)
329 root)) 343 root))
@@ -334,11 +348,13 @@ file name searching variable `cedet-cscope-file-command'.")
334Searches are done under the current root of the EDE project 348Searches are done under the current root of the EDE project
335that created this EDE locate object." 349that created this EDE locate object."
336 (let ((default-directory (oref loc root))) 350 (let ((default-directory (oref loc root)))
351 (require 'cedet-cscope)
337 (cedet-cscope-expand-filename filesubstring))) 352 (cedet-cscope-expand-filename filesubstring)))
338 353
339(defmethod ede-locate-create/update-root-database :STATIC 354(defmethod ede-locate-create/update-root-database :STATIC
340 ((loc ede-locate-cscope) root) 355 ((loc ede-locate-cscope) root)
341 "Create or update the GNU Global database for the current project." 356 "Create or update the GNU Global database for the current project."
357 (require 'cedet-cscope)
342 (cedet-cscope-create/update-database root)) 358 (cedet-cscope-create/update-database root))
343 359
344(provide 'ede/locate) 360(provide 'ede/locate)
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el
index 373864a43d5..01d3206f662 100644
--- a/lisp/cedet/semantic.el
+++ b/lisp/cedet/semantic.el
@@ -382,7 +382,7 @@ to use Semantic, and `semantic-init-hook' is run."
382 "When non-nil, activate the interactive parsing debugger. 382 "When non-nil, activate the interactive parsing debugger.
383Do not set this yourself. Call `semantic-debug'.") 383Do not set this yourself. Call `semantic-debug'.")
384 384
385(defun semantic-elapsed-time (start end) 385(defsubst semantic-elapsed-time (start end)
386 "Copied from elp.el. Was `elp-elapsed-time'. 386 "Copied from elp.el. Was `elp-elapsed-time'.
387Arguments START and END bound the time being calculated." 387Arguments START and END bound the time being calculated."
388 (float-time (time-subtract end start))) 388 (float-time (time-subtract end start)))
diff --git a/lisp/cedet/semantic/analyze.el b/lisp/cedet/semantic/analyze.el
index 63acc555343..d03c72a5983 100644
--- a/lisp/cedet/semantic/analyze.el
+++ b/lisp/cedet/semantic/analyze.el
@@ -527,7 +527,7 @@ Returns an object based on symbol `semantic-analyze-context'."
527 (function nil) 527 (function nil)
528 (fntag nil) 528 (fntag nil)
529 arg fntagend argtag 529 arg fntagend argtag
530 assign asstag 530 assign asstag newseq
531 ) 531 )
532 532
533 ;; Pattern for Analysis: 533 ;; Pattern for Analysis:
@@ -601,16 +601,26 @@ Returns an object based on symbol `semantic-analyze-context'."
601 601
602 (if debug-on-error 602 (if debug-on-error
603 (catch 'unfindable 603 (catch 'unfindable
604 ;; If debug on error is on, allow debugging in this fcn.
605 (setq prefix (semantic-analyze-find-tag-sequence 604 (setq prefix (semantic-analyze-find-tag-sequence
606 prefix scope 'prefixtypes 'unfindable))) 605 prefix scope 'prefixtypes 'unfindable))
606 ;; If there's an alias, dereference it and analyze
607 ;; sequence again.
608 (when (setq newseq
609 (semantic-analyze-dereference-alias prefix))
610 (setq prefix (semantic-analyze-find-tag-sequence
611 newseq scope 'prefixtypes 'unfindable))))
607 ;; Debug on error is off. Capture errors and move on 612 ;; Debug on error is off. Capture errors and move on
608 (condition-case err 613 (condition-case err
609 ;; NOTE: This line is duplicated in 614 ;; NOTE: This line is duplicated in
610 ;; semantic-analyzer-debug-global-symbol 615 ;; semantic-analyzer-debug-global-symbol
611 ;; You will need to update both places. 616 ;; You will need to update both places.
612 (setq prefix (semantic-analyze-find-tag-sequence 617 (progn
613 prefix scope 'prefixtypes)) 618 (setq prefix (semantic-analyze-find-tag-sequence
619 prefix scope 'prefixtypes))
620 (when (setq newseq
621 (semantic-analyze-dereference-alias prefix))
622 (setq prefix (semantic-analyze-find-tag-sequence
623 newseq scope 'prefixtypes))))
614 (error (semantic-analyze-push-error err)))) 624 (error (semantic-analyze-push-error err))))
615 ) 625 )
616 626
@@ -679,6 +689,20 @@ Returns an object based on symbol `semantic-analyze-context'."
679 ;; Return our context. 689 ;; Return our context.
680 context-return)) 690 context-return))
681 691
692(defun semantic-analyze-dereference-alias (taglist)
693 "Dereference first tag in TAGLIST if it is an alias.
694Returns a sequence of names which can then be fed again into
695`semantic-analyze-find-tag-sequence'.
696Returns nil if no alias was found."
697 (when (eq (semantic-tag-get-attribute (car taglist) :kind) 'alias)
698 (let ((tagname
699 (semantic-analyze-split-name
700 (semantic-tag-name
701 (car (semantic-tag-get-attribute (car taglist) :members))))))
702 (append (if (listp tagname)
703 tagname
704 (list tagname))
705 (cdr taglist)))))
682 706
683(defun semantic-adebug-analyze (&optional ctxt) 707(defun semantic-adebug-analyze (&optional ctxt)
684 "Perform `semantic-analyze-current-context'. 708 "Perform `semantic-analyze-current-context'.
diff --git a/lisp/cedet/semantic/chart.el b/lisp/cedet/semantic/chart.el
index c6b13475862..2c6f7344acf 100644
--- a/lisp/cedet/semantic/chart.el
+++ b/lisp/cedet/semantic/chart.el
@@ -26,12 +26,9 @@
26;; the output of the semantic parser. 26;; the output of the semantic parser.
27;; 27;;
28 28
29(require 'semantic)
30(require 'chart) 29(require 'chart)
31(require 'semantic/db) 30(require 'semantic/db)
32(require 'semantic/tag) 31(require 'semantic/find)
33
34(eval-when-compile (require 'semantic/find))
35 32
36;;; Code: 33;;; Code:
37 34
diff --git a/lisp/cedet/semantic/db-el.el b/lisp/cedet/semantic/db-el.el
index 281479045ea..dbb3bfae34d 100644
--- a/lisp/cedet/semantic/db-el.el
+++ b/lisp/cedet/semantic/db-el.el
@@ -31,12 +31,7 @@
31;; 31;;
32 32
33(require 'semantic/db) 33(require 'semantic/db)
34 34(require 'eieio-opt)
35(eval-when-compile
36 ;; For generic function searching.
37 (require 'eieio)
38 (require 'eieio-opt)
39 (require 'eieio-base))
40 35
41(declare-function semantic-elisp-desymbolify "semantic/bovine/el") 36(declare-function semantic-elisp-desymbolify "semantic/bovine/el")
42(declare-function semantic-tag-similar-p "semantic/tag-ls") 37(declare-function semantic-tag-similar-p "semantic/tag-ls")
diff --git a/lisp/cedet/semantic/db-file.el b/lisp/cedet/semantic/db-file.el
index 4f8e93dc391..905c62a89dd 100644
--- a/lisp/cedet/semantic/db-file.el
+++ b/lisp/cedet/semantic/db-file.el
@@ -25,12 +25,9 @@
25;; A set of semanticdb classes for persistently saving caches on disk. 25;; A set of semanticdb classes for persistently saving caches on disk.
26;; 26;;
27 27
28(require 'semantic)
29(require 'semantic/db) 28(require 'semantic/db)
30(require 'cedet-files) 29(require 'cedet-files)
31 30(require 'data-debug)
32(eval-when-compile
33 (require 'data-debug))
34 31
35(defvar semanticdb-file-version semantic-version 32(defvar semanticdb-file-version semantic-version
36 "Version of semanticdb we are writing files to disk with.") 33 "Version of semanticdb we are writing files to disk with.")
diff --git a/lisp/cedet/semantic/grammar-wy.el b/lisp/cedet/semantic/grammar-wy.el
index 8a33c8c8a1a..a926f636b4b 100644
--- a/lisp/cedet/semantic/grammar-wy.el
+++ b/lisp/cedet/semantic/grammar-wy.el
@@ -23,9 +23,8 @@
23 23
24;;; Code: 24;;; Code:
25 25
26(require 'semantic/lex) 26(require 'semantic)
27(eval-when-compile (require 'semantic/bovine)) 27
28
29;;; Prologue 28;;; Prologue
30;; 29;;
31(defvar semantic-grammar-lex-c-char-re) 30(defvar semantic-grammar-lex-c-char-re)
diff --git a/lisp/cedet/semantic/grammar.el b/lisp/cedet/semantic/grammar.el
index b85396a79ae..c0e7b8f9038 100644
--- a/lisp/cedet/semantic/grammar.el
+++ b/lisp/cedet/semantic/grammar.el
@@ -35,6 +35,7 @@
35(require 'semantic/format) 35(require 'semantic/format)
36(require 'semantic/grammar-wy) 36(require 'semantic/grammar-wy)
37(require 'semantic/idle) 37(require 'semantic/idle)
38(require 'help-fns)
38 39
39(declare-function semantic-momentary-highlight-tag "semantic/decorate") 40(declare-function semantic-momentary-highlight-tag "semantic/decorate")
40(declare-function semantic-analyze-context "semantic/analyze") 41(declare-function semantic-analyze-context "semantic/analyze")
@@ -47,6 +48,9 @@
47 (require 'semantic/find) 48 (require 'semantic/find)
48 (require 'semantic/db)) 49 (require 'semantic/db))
49 50
51(declare-function semantic-grammar-wy--install-parser
52 "semantic/gram-wy-fallback")
53
50 54
51;;;; 55;;;;
52;;;; Set up lexer 56;;;; Set up lexer
@@ -825,6 +829,8 @@ Does nothing if the Lisp code seems up to date.
825If optional argument FORCE is non-nil, unconditionally re-generate the 829If optional argument FORCE is non-nil, unconditionally re-generate the
826Lisp code." 830Lisp code."
827 (interactive "P") 831 (interactive "P")
832 (unless (semantic-active-p)
833 (error "You have to activate semantic-mode to create a package."))
828 (setq force (or force current-prefix-arg)) 834 (setq force (or force current-prefix-arg))
829 (semantic-fetch-tags) 835 (semantic-fetch-tags)
830 (let* ( 836 (let* (
@@ -1636,6 +1642,12 @@ Select the buffer containing the tag's definition, and move point there."
1636 ) 1642 )
1637 "Association of syntax elements, and the corresponding help.") 1643 "Association of syntax elements, and the corresponding help.")
1638 1644
1645(declare-function eldoc-function-argstring "eldoc")
1646(declare-function eldoc-docstring-format-sym-doc "eldoc")
1647(declare-function eldoc-last-data-store "eldoc")
1648(declare-function eldoc-get-fnsym-args-string "eldoc")
1649(declare-function eldoc-get-var-docstring "eldoc")
1650
1639(defun semantic-grammar-eldoc-get-macro-docstring (macro expander) 1651(defun semantic-grammar-eldoc-get-macro-docstring (macro expander)
1640 "Return a one-line docstring for the given grammar MACRO. 1652 "Return a one-line docstring for the given grammar MACRO.
1641EXPANDER is the name of the function that expands MACRO." 1653EXPANDER is the name of the function that expands MACRO."
diff --git a/lisp/cedet/semantic/texi.el b/lisp/cedet/semantic/texi.el
index 9380940282f..d79e71bb265 100644
--- a/lisp/cedet/semantic/texi.el
+++ b/lisp/cedet/semantic/texi.el
@@ -26,17 +26,11 @@
26;; parser plug-in is the function `semantic-texi-parse-region' that 26;; parser plug-in is the function `semantic-texi-parse-region' that
27;; overrides `semantic-parse-region'. 27;; overrides `semantic-parse-region'.
28 28
29(require 'semantic) 29(require 'semantic/db-find)
30(require 'semantic/format) 30(require 'semantic/format)
31(require 'semantic/ctxt)
31(require 'texinfo) 32(require 'texinfo)
32 33
33(eval-when-compile
34 (require 'semantic/db)
35 (require 'semantic/db-find)
36 (require 'semantic/ctxt)
37 (require 'semantic/find)
38 (require 'semantic/doc))
39
40(defvar ede-minor-mode) 34(defvar ede-minor-mode)
41(declare-function lookup-words "ispell") 35(declare-function lookup-words "ispell")
42(declare-function ede-current-project "ede") 36(declare-function ede-current-project "ede")
diff --git a/lisp/cedet/srecode/compile.el b/lisp/cedet/srecode/compile.el
index 8a1291f8d72..8457e35abe5 100644
--- a/lisp/cedet/srecode/compile.el
+++ b/lisp/cedet/srecode/compile.el
@@ -199,6 +199,8 @@ Arguments ESCAPE-START and ESCAPE-END are the current escape sequences in use."
199(defun srecode-compile-templates () 199(defun srecode-compile-templates ()
200 "Compile a semantic recode template file into a mode-local variable." 200 "Compile a semantic recode template file into a mode-local variable."
201 (interactive) 201 (interactive)
202 (unless (semantic-active-p)
203 (error "You have to activate semantic-mode to compile SRecode templates."))
202 (require 'srecode/insert) 204 (require 'srecode/insert)
203 (message "Compiling template %s..." 205 (message "Compiling template %s..."
204 (file-name-nondirectory (buffer-file-name))) 206 (file-name-nondirectory (buffer-file-name)))
diff --git a/lisp/cedet/srecode/dictionary.el b/lisp/cedet/srecode/dictionary.el
index 6262383c397..2b6bbb51eaa 100644
--- a/lisp/cedet/srecode/dictionary.el
+++ b/lisp/cedet/srecode/dictionary.el
@@ -604,7 +604,6 @@ STATE is the current compiler state."
604 "Run data-debug on this mode's dictionary." 604 "Run data-debug on this mode's dictionary."
605 (interactive) 605 (interactive)
606 (require 'eieio-datadebug) 606 (require 'eieio-datadebug)
607 (require 'semantic)
608 (require 'srecode/find) 607 (require 'srecode/find)
609 (let* ((modesym major-mode) 608 (let* ((modesym major-mode)
610 (start (current-time)) 609 (start (current-time))
diff --git a/lisp/cedet/srecode/insert.el b/lisp/cedet/srecode/insert.el
index 726aa41cffd..f099c0ca6eb 100644
--- a/lisp/cedet/srecode/insert.el
+++ b/lisp/cedet/srecode/insert.el
@@ -195,6 +195,10 @@ Buffer based features related to change hooks is handled one level up."
195 ;; area. Return value is not important. 195 ;; area. Return value is not important.
196 )) 196 ))
197 197
198(declare-function data-debug-new-buffer "data-debug")
199(declare-function data-debug-insert-stuff-list "data-debug")
200(declare-function data-debug-insert-thing dictionary "data-debug")
201
198(defun srecode-insert-show-error-report (dictionary format &rest args) 202(defun srecode-insert-show-error-report (dictionary format &rest args)
199 "Display an error report based on DICTIONARY, FORMAT and ARGS. 203 "Display an error report based on DICTIONARY, FORMAT and ARGS.
200This is intended to diagnose problems with failed template 204This is intended to diagnose problems with failed template
diff --git a/lisp/cedet/srecode/java.el b/lisp/cedet/srecode/java.el
index 3635a39d383..43e9273da76 100644
--- a/lisp/cedet/srecode/java.el
+++ b/lisp/cedet/srecode/java.el
@@ -26,10 +26,7 @@
26;;; Code: 26;;; Code:
27 27
28(require 'srecode/dictionary) 28(require 'srecode/dictionary)
29(require 'semantic/tag) 29(require 'semantic/find)
30
31(eval-when-compile
32 (require 'semantic/find))
33 30
34;;;###autoload 31;;;###autoload
35(defun srecode-semantic-handle-:java (dict) 32(defun srecode-semantic-handle-:java (dict)
diff --git a/lisp/cedet/srecode/map.el b/lisp/cedet/srecode/map.el
index d6613ee1b02..7fb5c16a1f3 100644
--- a/lisp/cedet/srecode/map.el
+++ b/lisp/cedet/srecode/map.el
@@ -215,7 +215,8 @@ Optional argument RESET forces a reset of the current map."
215 ;; Eventually, I want to return many maps to search through. 215 ;; Eventually, I want to return many maps to search through.
216 (list srecode-current-map))) 216 (list srecode-current-map)))
217 217
218(eval-when-compile (require 'data-debug)) 218(declare-function data-debug-new-buffer "data-debug")
219(declare-function data-debug-insert-stuff-list "data-debug")
219 220
220(defun srecode-adebug-maps () 221(defun srecode-adebug-maps ()
221 "Run ADEBUG on the output of `srecode-get-maps'." 222 "Run ADEBUG on the output of `srecode-get-maps'."
diff --git a/lisp/emacs-lisp/eieio-opt.el b/lisp/emacs-lisp/eieio-opt.el
index 64b240b9d5d..c8bdd7758fa 100644
--- a/lisp/emacs-lisp/eieio-opt.el
+++ b/lisp/emacs-lisp/eieio-opt.el
@@ -29,9 +29,9 @@
29;; 29;;
30 30
31(require 'eieio) 31(require 'eieio)
32(require 'button)
33(require 'help-mode)
34(require 'find-func) 32(require 'find-func)
33(require 'speedbar)
34(require 'help-mode)
35 35
36;;; Code: 36;;; Code:
37;;;###autoload 37;;;###autoload
@@ -710,10 +710,6 @@ Arguments UNUSED are not used."
710 710
711;;; SPEEDBAR SUPPORT 711;;; SPEEDBAR SUPPORT
712;; 712;;
713(eval-when-compile
714 (condition-case nil
715 (require 'speedbar)
716 (error (message "Error loading speedbar... ignored"))))
717 713
718(defvar eieio-class-speedbar-key-map nil 714(defvar eieio-class-speedbar-key-map nil
719 "Keymap used when working with a project in speedbar.") 715 "Keymap used when working with a project in speedbar.")
diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el
index 608134bd54f..3f7b49bde25 100644
--- a/lisp/emacs-lisp/eieio.el
+++ b/lisp/emacs-lisp/eieio.el
@@ -3049,29 +3049,6 @@ Optional argument NOESCAPE is passed to `prin1-to-string' when appropriate."
3049 ) 3049 )
3050 ) 3050 )
3051 3051
3052;;; Interfacing with imenu in emacs lisp mode
3053;; (Only if the expression is defined)
3054;;
3055(if (eval-when-compile (boundp 'lisp-imenu-generic-expression))
3056(progn
3057
3058(defun eieio-update-lisp-imenu-expression ()
3059 "Examine `lisp-imenu-generic-expression' and modify it to find `defmethod'."
3060 (let ((exp lisp-imenu-generic-expression))
3061 (while exp
3062 ;; it's of the form '( ( title expr indx ) ... )
3063 (let* ((subcar (cdr (car exp)))
3064 (substr (car subcar)))
3065 (if (and (not (string-match "|method\\\\" substr))
3066 (string-match "|advice\\\\" substr))
3067 (setcar subcar
3068 (replace-match "|advice\\|method\\" t t substr 0))))
3069 (setq exp (cdr exp)))))
3070
3071(eieio-update-lisp-imenu-expression)
3072
3073))
3074
3075;;; Autoloading some external symbols, and hooking into the help system 3052;;; Autoloading some external symbols, and hooking into the help system
3076;; 3053;;
3077 3054