emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r110669: Merge changes from CEDET ups


From: David Engster
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r110669: Merge changes from CEDET upstream.
Date: Thu, 25 Oct 2012 22:16:14 +0200
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110669 [merge]
committer: David Engster <address@hidden>
branch nick: trunk
timestamp: Thu 2012-10-25 22:16:14 +0200
message:
  Merge changes from CEDET upstream.
modified:
  lisp/ChangeLog
  lisp/cedet/ChangeLog
  lisp/cedet/ede/locate.el
  lisp/cedet/semantic.el
  lisp/cedet/semantic/analyze.el
  lisp/cedet/semantic/chart.el
  lisp/cedet/semantic/db-el.el
  lisp/cedet/semantic/db-file.el
  lisp/cedet/semantic/grammar-wy.el
  lisp/cedet/semantic/grammar.el
  lisp/cedet/semantic/texi.el
  lisp/cedet/srecode/compile.el
  lisp/cedet/srecode/dictionary.el
  lisp/cedet/srecode/insert.el
  lisp/cedet/srecode/java.el
  lisp/cedet/srecode/map.el
  lisp/emacs-lisp/eieio-opt.el
  lisp/emacs-lisp/eieio.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-10-25 13:00:52 +0000
+++ b/lisp/ChangeLog    2012-10-25 20:13:16 +0000
@@ -1,3 +1,11 @@
+2012-10-25  David Engster  <address@hidden>
+
+       * 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.
+
 2012-10-25  Stefan Monnier  <address@hidden>
 
        * dired.el (dired-get-marked-files): Allow ! on . and .. (bug#12725).

=== modified file 'lisp/cedet/ChangeLog'
--- a/lisp/cedet/ChangeLog      2012-10-23 15:06:07 +0000
+++ b/lisp/cedet/ChangeLog      2012-10-25 20:13:16 +0000
@@ -1,3 +1,36 @@
+2012-10-25  David Engster  <address@hidden>
+
+       * 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.
+
 2012-10-23  Stefan Monnier  <address@hidden>
 
        * semantic/db-file.el (semanticdb-save-database-functions):

=== modified file 'lisp/cedet/ede/locate.el'
--- a/lisp/cedet/ede/locate.el  2012-01-19 07:21:25 +0000
+++ b/lisp/cedet/ede/locate.el  2012-10-25 20:13:16 +0000
@@ -49,13 +49,7 @@
 ;; when it is available.
 
 (require 'ede)
-(eval-when-compile (require 'data-debug)
-                  (require 'eieio-datadebug)
-                  (require 'cedet-global)
-                  (require 'cedet-idutils)
-                  (require 'cedet-cscope))
-
-(require 'locate)
+(eval-when-compile (require 'locate))
 
 ;;; Code:
 (defcustom ede-locate-setup-options
@@ -214,6 +208,12 @@
 
 ;;; GLOBAL
 ;;
+
+(declare-function cedet-gnu-global-version-check "cedet-global")
+(declare-function cedet-gnu-global-root "cedet-global")
+(declare-function cedet-gnu-global-expand-filename "cedet-global")
+(declare-function cedet-gnu-global-create/update-database "cedet-global")
+
 (defclass ede-locate-global (ede-locate-base)
   ()
   "EDE Locator using GNU Global.
@@ -260,6 +260,12 @@
 
 ;;; IDUTILS
 ;;
+
+(declare-function cedet-idutils-version-check "cedet-idutils")
+(declare-function cedet-idutils-support-for-directory "cedet-idutils")
+(declare-function cedet-idutils-expand-filename "cedet-idutils")
+(declare-function cedet-idutils-create/update-database "cedet-idutils")
+
 (defclass ede-locate-idutils (ede-locate-base)
   ()
   "EDE Locator using IDUtils.
@@ -303,6 +309,12 @@
 
 ;;; CSCOPE
 ;;
+
+(declare-function cedet-cscope-version-check "cedet-scope")
+(declare-function cedet-cscope-support-for-directory "cedet-scope")
+(declare-function cedet-cscope-expand-filename "cedet-cscope")
+(declare-function cedet-cscope-create/update-database "cedet-cscope")
+
 (defclass ede-locate-cscope (ede-locate-base)
   ()
   "EDE Locator using Cscope.
@@ -315,6 +327,7 @@
   ;; Get ourselves initialized.
   (call-next-method)
   ;; Do the checks.
+  (require 'cedet-cscope)
   (cedet-cscope-version-check)
   (when (not (cedet-cscope-support-for-directory (oref loc root)))
     (error "Cannot use Cscope in %s"
@@ -324,6 +337,7 @@
 (defmethod ede-locate-ok-in-project :static ((loc ede-locate-cscope)
                                             root)
   "Is it ok to use this project type under ROOT."
+  (require 'cedet-cscope)
   (cedet-cscope-version-check)
   (when (cedet-cscope-support-for-directory root)
     root))
@@ -334,11 +348,13 @@
 Searches are done under the current root of the EDE project
 that created this EDE locate object."
   (let ((default-directory (oref loc root)))
+    (require 'cedet-cscope)
     (cedet-cscope-expand-filename filesubstring)))
 
 (defmethod ede-locate-create/update-root-database :STATIC
   ((loc ede-locate-cscope) root)
   "Create or update the GNU Global database for the current project."
+  (require 'cedet-cscope)
   (cedet-cscope-create/update-database root))
 
 (provide 'ede/locate)

=== modified file 'lisp/cedet/semantic.el'
--- a/lisp/cedet/semantic.el    2012-10-14 19:20:28 +0000
+++ b/lisp/cedet/semantic.el    2012-10-25 20:13:16 +0000
@@ -382,7 +382,7 @@
   "When non-nil, activate the interactive parsing debugger.
 Do not set this yourself.  Call `semantic-debug'.")
 
-(defun semantic-elapsed-time (start end)
+(defsubst semantic-elapsed-time (start end)
   "Copied from elp.el.  Was `elp-elapsed-time'.
 Arguments START and END bound the time being calculated."
   (float-time (time-subtract end start)))

=== modified file 'lisp/cedet/semantic/analyze.el'
--- a/lisp/cedet/semantic/analyze.el    2012-01-19 07:21:25 +0000
+++ b/lisp/cedet/semantic/analyze.el    2012-10-25 20:13:16 +0000
@@ -527,7 +527,7 @@
         (function nil)
         (fntag nil)
         arg fntagend argtag
-        assign asstag
+        assign asstag newseq
         )
 
     ;; Pattern for Analysis:
@@ -601,16 +601,26 @@
 
       (if debug-on-error
          (catch 'unfindable
-           ;; If debug on error is on, allow debugging in this fcn.
            (setq prefix (semantic-analyze-find-tag-sequence
-                         prefix scope 'prefixtypes 'unfindable)))
+                         prefix scope 'prefixtypes 'unfindable))
+           ;; If there's an alias, dereference it and analyze
+           ;; sequence again.
+           (when (setq newseq
+                       (semantic-analyze-dereference-alias prefix))
+             (setq prefix (semantic-analyze-find-tag-sequence
+                           newseq scope 'prefixtypes 'unfindable))))
        ;; Debug on error is off.  Capture errors and move on
        (condition-case err
            ;; NOTE: This line is duplicated in
            ;;       semantic-analyzer-debug-global-symbol
            ;;       You will need to update both places.
-           (setq prefix (semantic-analyze-find-tag-sequence
-                         prefix scope 'prefixtypes))
+           (progn
+             (setq prefix (semantic-analyze-find-tag-sequence
+                           prefix scope 'prefixtypes))
+             (when (setq newseq
+                         (semantic-analyze-dereference-alias prefix))
+               (setq prefix (semantic-analyze-find-tag-sequence
+                             newseq scope 'prefixtypes))))
          (error (semantic-analyze-push-error err))))
       )
 
@@ -679,6 +689,20 @@
     ;; Return our context.
     context-return))
 
+(defun semantic-analyze-dereference-alias (taglist)
+  "Dereference first tag in TAGLIST if it is an alias.
+Returns a sequence of names which can then be fed again into
+`semantic-analyze-find-tag-sequence'.
+Returns nil if no alias was found."
+  (when (eq (semantic-tag-get-attribute (car taglist) :kind) 'alias)
+    (let ((tagname
+          (semantic-analyze-split-name
+           (semantic-tag-name 
+            (car (semantic-tag-get-attribute (car taglist) :members))))))
+      (append (if (listp tagname)
+                 tagname
+               (list tagname))
+             (cdr taglist)))))
 
 (defun semantic-adebug-analyze (&optional ctxt)
   "Perform `semantic-analyze-current-context'.

=== modified file 'lisp/cedet/semantic/chart.el'
--- a/lisp/cedet/semantic/chart.el      2012-01-19 07:21:25 +0000
+++ b/lisp/cedet/semantic/chart.el      2012-10-25 20:13:16 +0000
@@ -26,12 +26,9 @@
 ;; the output of the semantic parser.
 ;;
 
-(require 'semantic)
 (require 'chart)
 (require 'semantic/db)
-(require 'semantic/tag)
-
-(eval-when-compile (require 'semantic/find))
+(require 'semantic/find)
 
 ;;; Code:
 

=== modified file 'lisp/cedet/semantic/db-el.el'
--- a/lisp/cedet/semantic/db-el.el      2012-10-01 18:10:29 +0000
+++ b/lisp/cedet/semantic/db-el.el      2012-10-25 20:13:16 +0000
@@ -31,12 +31,7 @@
 ;;
 
 (require 'semantic/db)
-
-(eval-when-compile
-  ;; For generic function searching.
-  (require 'eieio)
-  (require 'eieio-opt)
-  (require 'eieio-base))
+(require 'eieio-opt)
 
 (declare-function semantic-elisp-desymbolify "semantic/bovine/el")
 (declare-function semantic-tag-similar-p "semantic/tag-ls")

=== modified file 'lisp/cedet/semantic/db-file.el'
--- a/lisp/cedet/semantic/db-file.el    2012-10-23 15:06:07 +0000
+++ b/lisp/cedet/semantic/db-file.el    2012-10-25 20:13:16 +0000
@@ -25,12 +25,9 @@
 ;; A set of semanticdb classes for persistently saving caches on disk.
 ;;
 
-(require 'semantic)
 (require 'semantic/db)
 (require 'cedet-files)
-
-(eval-when-compile
-  (require 'data-debug))
+(require 'data-debug)
 
 (defvar semanticdb-file-version semantic-version
   "Version of semanticdb we are writing files to disk with.")

=== modified file 'lisp/cedet/semantic/grammar-wy.el'
--- a/lisp/cedet/semantic/grammar-wy.el 2012-10-01 18:10:29 +0000
+++ b/lisp/cedet/semantic/grammar-wy.el 2012-10-25 20:13:16 +0000
@@ -23,9 +23,8 @@
 
 ;;; Code:
 
-(require 'semantic/lex)
-(eval-when-compile (require 'semantic/bovine))
-
+(require 'semantic)
+
 ;;; Prologue
 ;;
 (defvar semantic-grammar-lex-c-char-re)

=== modified file 'lisp/cedet/semantic/grammar.el'
--- a/lisp/cedet/semantic/grammar.el    2012-10-01 18:10:29 +0000
+++ b/lisp/cedet/semantic/grammar.el    2012-10-25 20:13:16 +0000
@@ -35,6 +35,7 @@
 (require 'semantic/format)
 (require 'semantic/grammar-wy)
 (require 'semantic/idle)
+(require 'help-fns)
 
 (declare-function semantic-momentary-highlight-tag "semantic/decorate")
 (declare-function semantic-analyze-context "semantic/analyze")
@@ -47,6 +48,9 @@
   (require 'semantic/find)
   (require 'semantic/db))
 
+(declare-function semantic-grammar-wy--install-parser
+                 "semantic/gram-wy-fallback")
+
 
 ;;;;
 ;;;; Set up lexer
@@ -825,6 +829,8 @@
 If optional argument FORCE is non-nil, unconditionally re-generate the
 Lisp code."
   (interactive "P")
+  (unless (semantic-active-p)
+    (error "You have to activate semantic-mode to create a package."))
   (setq force (or force current-prefix-arg))
   (semantic-fetch-tags)
   (let* (
@@ -1636,6 +1642,12 @@
     )
   "Association of syntax elements, and the corresponding help.")
 
+(declare-function eldoc-function-argstring "eldoc")
+(declare-function eldoc-docstring-format-sym-doc "eldoc")
+(declare-function eldoc-last-data-store "eldoc")
+(declare-function eldoc-get-fnsym-args-string "eldoc")
+(declare-function eldoc-get-var-docstring "eldoc")
+
 (defun semantic-grammar-eldoc-get-macro-docstring (macro expander)
   "Return a one-line docstring for the given grammar MACRO.
 EXPANDER is the name of the function that expands MACRO."

=== modified file 'lisp/cedet/semantic/texi.el'
--- a/lisp/cedet/semantic/texi.el       2012-10-01 18:10:29 +0000
+++ b/lisp/cedet/semantic/texi.el       2012-10-25 20:13:16 +0000
@@ -26,17 +26,11 @@
 ;; parser plug-in is the function `semantic-texi-parse-region' that
 ;; overrides `semantic-parse-region'.
 
-(require 'semantic)
+(require 'semantic/db-find)
 (require 'semantic/format)
+(require 'semantic/ctxt)
 (require 'texinfo)
 
-(eval-when-compile
-  (require 'semantic/db)
-  (require 'semantic/db-find)
-  (require 'semantic/ctxt)
-  (require 'semantic/find)
-  (require 'semantic/doc))
-
 (defvar ede-minor-mode)
 (declare-function lookup-words "ispell")
 (declare-function ede-current-project "ede")

=== modified file 'lisp/cedet/srecode/compile.el'
--- a/lisp/cedet/srecode/compile.el     2012-10-01 18:10:29 +0000
+++ b/lisp/cedet/srecode/compile.el     2012-10-25 20:13:16 +0000
@@ -199,6 +199,8 @@
 (defun srecode-compile-templates ()
   "Compile a semantic recode template file into a mode-local variable."
   (interactive)
+  (unless (semantic-active-p)
+    (error "You have to activate semantic-mode to compile SRecode templates."))
   (require 'srecode/insert)
   (message "Compiling template %s..."
           (file-name-nondirectory (buffer-file-name)))

=== modified file 'lisp/cedet/srecode/dictionary.el'
--- a/lisp/cedet/srecode/dictionary.el  2012-10-01 18:10:29 +0000
+++ b/lisp/cedet/srecode/dictionary.el  2012-10-25 20:13:16 +0000
@@ -604,7 +604,6 @@
   "Run data-debug on this mode's dictionary."
   (interactive)
   (require 'eieio-datadebug)
-  (require 'semantic)
   (require 'srecode/find)
   (let* ((modesym major-mode)
         (start (current-time))

=== modified file 'lisp/cedet/srecode/insert.el'
--- a/lisp/cedet/srecode/insert.el      2012-10-01 18:10:29 +0000
+++ b/lisp/cedet/srecode/insert.el      2012-10-25 20:13:16 +0000
@@ -195,6 +195,10 @@
     ;; area.  Return value is not important.
     ))
 
+(declare-function data-debug-new-buffer "data-debug")
+(declare-function data-debug-insert-stuff-list "data-debug")
+(declare-function data-debug-insert-thing dictionary "data-debug")
+
 (defun srecode-insert-show-error-report (dictionary format &rest args)
   "Display an error report based on DICTIONARY, FORMAT and ARGS.
 This is intended to diagnose problems with failed template

=== modified file 'lisp/cedet/srecode/java.el'
--- a/lisp/cedet/srecode/java.el        2012-10-01 18:10:29 +0000
+++ b/lisp/cedet/srecode/java.el        2012-10-25 20:13:16 +0000
@@ -26,10 +26,7 @@
 ;;; Code:
 
 (require 'srecode/dictionary)
-(require 'semantic/tag)
-
-(eval-when-compile
-  (require 'semantic/find))
+(require 'semantic/find)
 
 ;;;###autoload
 (defun srecode-semantic-handle-:java (dict)

=== modified file 'lisp/cedet/srecode/map.el'
--- a/lisp/cedet/srecode/map.el 2012-10-01 18:10:29 +0000
+++ b/lisp/cedet/srecode/map.el 2012-10-25 20:13:16 +0000
@@ -215,7 +215,8 @@
     ;; Eventually, I want to return many maps to search through.
     (list srecode-current-map)))
 
-(eval-when-compile (require 'data-debug))
+(declare-function data-debug-new-buffer "data-debug")
+(declare-function data-debug-insert-stuff-list "data-debug")
 
 (defun srecode-adebug-maps ()
   "Run ADEBUG on the output of `srecode-get-maps'."

=== modified file 'lisp/emacs-lisp/eieio-opt.el'
--- a/lisp/emacs-lisp/eieio-opt.el      2012-10-01 18:10:29 +0000
+++ b/lisp/emacs-lisp/eieio-opt.el      2012-10-25 20:13:16 +0000
@@ -29,9 +29,9 @@
 ;;
 
 (require 'eieio)
-(require 'button)
+(require 'find-func)
+(require 'speedbar)
 (require 'help-mode)
-(require 'find-func)
 
 ;;; Code:
 ;;;###autoload
@@ -710,10 +710,6 @@
 
 ;;; SPEEDBAR SUPPORT
 ;;
-(eval-when-compile
-  (condition-case nil
-      (require 'speedbar)
-    (error (message "Error loading speedbar... ignored"))))
 
 (defvar eieio-class-speedbar-key-map nil
   "Keymap used when working with a project in speedbar.")

=== modified file 'lisp/emacs-lisp/eieio.el'
--- a/lisp/emacs-lisp/eieio.el  2012-10-23 15:06:07 +0000
+++ b/lisp/emacs-lisp/eieio.el  2012-10-25 20:13:16 +0000
@@ -3049,29 +3049,6 @@
            )
          )
 
-;;; Interfacing with imenu in emacs lisp mode
-;;    (Only if the expression is defined)
-;;
-(if (eval-when-compile (boundp 'lisp-imenu-generic-expression))
-(progn
-
-(defun eieio-update-lisp-imenu-expression ()
-  "Examine `lisp-imenu-generic-expression' and modify it to find `defmethod'."
-  (let ((exp lisp-imenu-generic-expression))
-    (while exp
-      ;; it's of the form '( ( title expr indx ) ... )
-      (let* ((subcar (cdr (car exp)))
-            (substr (car subcar)))
-       (if (and (not (string-match "|method\\\\" substr))
-                (string-match "|advice\\\\" substr))
-           (setcar subcar
-                   (replace-match "|advice\\|method\\" t t substr 0))))
-      (setq exp (cdr exp)))))
-
-(eieio-update-lisp-imenu-expression)
-
-))
-
 ;;; Autoloading some external symbols, and hooking into the help system
 ;;
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]