diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2009-09-21 02:14:58 +0000 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2009-09-21 02:14:58 +0000 |
commit | b82525f29a46897b1583919818d174d6f778e2bd (patch) | |
tree | 5511f4ab7485018d22b9953c91735bc006c8f6e5 /lisp | |
parent | 826608a5fd403acf8a9ae40884fac604b31b0843 (diff) | |
download | emacs-b82525f29a46897b1583919818d174d6f778e2bd.tar.gz |
* menu-bar.el: Remove ediff-misc from Tools menu.
* cedet/semantic.el (semantic-init-hook)
(semantic-init-mode-hook, semantic-init-db-hook): Rename
from *-hooks, to follow hook naming conventions.
(semantic-submode-list, semantic-default-submodes): New vars.
(semantic-mode): New mode.
(semantic-parser-working-message): Add ellipses to parse message.
* cedet/semantic/bovine/c.el:
* cedet/semantic/bovine/make.el:
* cedet/semantic/bovine/scm.el:
* cedet/semantic/wisent/java-tags.el:
* cedet/semantic/wisent/javascript.el: Don't set hooks directly.
This is now done in semantic-mode.
* cedet/semantic/decorate/mode.el (global-semantic-decoration-mode):
Autoload.
* cedet/srecode/compile.el:
* cedet/srecode/insert.el:
* cedet/srecode/mode.el: Fix require statements.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 37 | ||||
-rw-r--r-- | lisp/cedet/ede/cpp-root.el | 2 | ||||
-rw-r--r-- | lisp/cedet/ede/pmake.el | 2 | ||||
-rw-r--r-- | lisp/cedet/semantic.el | 132 | ||||
-rw-r--r-- | lisp/cedet/semantic/bovine/c.el | 5 | ||||
-rw-r--r-- | lisp/cedet/semantic/bovine/make.el | 3 | ||||
-rw-r--r-- | lisp/cedet/semantic/bovine/scm.el | 3 | ||||
-rw-r--r-- | lisp/cedet/semantic/decorate/mode.el | 8 | ||||
-rw-r--r-- | lisp/cedet/semantic/html.el | 3 | ||||
-rw-r--r-- | lisp/cedet/semantic/wisent/java-tags.el | 3 | ||||
-rw-r--r-- | lisp/cedet/semantic/wisent/javascript.el | 5 | ||||
-rw-r--r-- | lisp/cedet/srecode/compile.el | 2 | ||||
-rw-r--r-- | lisp/cedet/srecode/insert.el | 2 | ||||
-rw-r--r-- | lisp/cedet/srecode/mode.el | 2 | ||||
-rw-r--r-- | lisp/ediff-hook.el | 7 | ||||
-rw-r--r-- | lisp/menu-bar.el | 2 |
16 files changed, 166 insertions, 52 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 200ff032de9..3f4b8f705ae 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,40 @@ +2009-09-21 Chong Yidong <cyd@stupidchicken.com> + + * menu-bar.el: Remove ediff-misc from Tools menu. + + * cedet/semantic.el (semantic-init-hook) + (semantic-init-mode-hook, semantic-init-db-hook): Rename + from *-hooks, to follow hook naming conventions. + (semantic-submode-list, semantic-default-submodes): New vars. + (semantic-mode): New mode. + (semantic-parser-working-message): Add ellipses to parse message. + + * cedet/semantic/bovine/c.el: + * cedet/semantic/bovine/make.el: + * cedet/semantic/bovine/scm.el: + * cedet/semantic/wisent/java-tags.el: + * cedet/semantic/wisent/javascript.el: Don't set hooks directly. + This is now done in semantic-mode. + + * cedet/semantic/decorate/mode.el (global-semantic-decoration-mode): + Autoload. + + * cedet/srecode/compile.el: + * cedet/srecode/insert.el: + * cedet/srecode/mode.el: Fix require statements. + 2009-09-20 Chong Yidong <cyd@stupidchicken.com> + * cedet/semantic/decorate/mode.el (global-semantic-decoration-mode): + Autoload. + + * cedet/ede/cpp-root.el (ede-set-project-variables): Fix featurep. + + * cedet/srecode/mode.el (global-srecode-minor-mode): Fix require. + + * cedet/srecode/insert.el (srecode--insert-into-buffer): Fix + require. + * cedet/cedet.el: Require srecode. * cedet/ede/system.el: Add local vars for autoloading. @@ -7,9 +42,11 @@ * cedet/ede/pmake.el (ede-proj-makefile-create): Require ede/srecode. + (ede-proj-makefile-create): Fix require. * cedet/srecode/compile.el (srecode-compile-split-code) (srecode-compile-parse-inserter): Fix compiler warning. + (srecode-compile-templates): Fix require. 2009-09-20 Chong Yidong <cyd@stupidchicken.com> diff --git a/lisp/cedet/ede/cpp-root.el b/lisp/cedet/ede/cpp-root.el index 02f86d2c856..a922cc15782 100644 --- a/lisp/cedet/ede/cpp-root.el +++ b/lisp/cedet/ede/cpp-root.el @@ -467,7 +467,7 @@ This is for project include paths and spp source files." "Set variables local to PROJECT in BUFFER. Also set up the lexical preprocessor map." (call-next-method) - (when (and (featurep 'semantic-c) (featurep 'semantic-lex-spp)) + (when (and (featurep 'semantic/c) (featurep 'semantic/lex-spp)) (setq semantic-lex-spp-project-macro-symbol-obarray (semantic-lex-make-spp-table (oref project spp-table))) )) diff --git a/lisp/cedet/ede/pmake.el b/lisp/cedet/ede/pmake.el index 302de420543..348bc3e302b 100644 --- a/lisp/cedet/ede/pmake.el +++ b/lisp/cedet/ede/pmake.el @@ -204,7 +204,7 @@ MFILENAME is the makefile to generate." ((eq (oref this makefile-type) 'Makefile.in) (error "Makefile.in is not supported")) ((eq (oref this makefile-type) 'Makefile.am) - (require 'ede-pconf) + (require 'ede/pconf) ;; Distribution variables (let ((targ (if isdist (oref this targets) mt))) (ede-compiler-begin-unique diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el index 2d38103f9ee..5596bda981b 100644 --- a/lisp/cedet/semantic.el +++ b/lisp/cedet/semantic.el @@ -255,19 +255,26 @@ setup to use Semantic." :group 'semantic :type 'hook) -(defvar semantic-init-hooks nil - "*Hooks run when a buffer is initialized with a parsing table.") +(defvar semantic-init-hook nil + "Hook run when a buffer is initialized with a parsing table.") -(defvar semantic-init-mode-hooks nil - "*Hooks run when a buffer of a particular mode is initialized.") -(make-variable-buffer-local 'semantic-init-mode-hooks) +(defvar semantic-init-mode-hook nil + "Hook run when a buffer of a particular mode is initialized.") +(make-variable-buffer-local 'semantic-init-mode-hook) -(defvar semantic-init-db-hooks nil - "Hooks run when a buffer is initialized with a parsing table for DBs. +(defvar semantic-init-db-hook nil + "Hook run when a buffer is initialized with a parsing table for DBs. This hook is for database functions which intend to swap in a tag table. This guarantees that the DB will go before other modes that require a parse of the buffer.") +(define-obsolete-variable-alias 'semantic-init-hooks + 'semantic-init-hook "23.2") +(define-obsolete-variable-alias 'semantic-init-mode-hooks + 'semantic-init-mode-hook "23.2") +(define-obsolete-variable-alias 'semantic-init-db-hooks + 'semantic-init-db-hook "23.2") + (defvar semantic-new-buffer-fcn-was-run nil "Non nil after `semantic-new-buffer-fcn' has been executed.") (make-variable-buffer-local 'semantic-new-buffer-fcn-was-run) @@ -306,17 +313,11 @@ to use Semantic, and `semantic-init-hook' is run." ;; Force this buffer to have its cache refreshed. (semantic-clear-toplevel-cache) ;; Call DB hooks before regular init hooks - (run-hooks 'semantic-init-db-hooks) + (run-hooks 'semantic-init-db-hook) ;; Set up semantic modes - (run-hooks 'semantic-init-hooks) + (run-hooks 'semantic-init-hook) ;; Set up major-mode specific semantic modes - (run-hooks 'semantic-init-mode-hooks) - )) - -(add-hook 'mode-local-init-hook 'semantic-new-buffer-fcn) - -;; Test the above hook. -;;(add-hook 'semantic-init-hooks (lambda () (message "init for semantic"))) + (run-hooks 'semantic-init-mode-hook))) (defun semantic-fetch-tags-fast () "For use in a hook. When only a partial reparse is needed, reparse." @@ -325,9 +326,6 @@ to use Semantic, and `semantic-init-hook' is run." (semantic-fetch-tags)) (error nil)) semantic--buffer-cache) - -(if (boundp 'eval-defun-hooks) - (add-hook 'eval-defun-hooks 'semantic-fetch-tags-fast)) ;;; Parsing Commands ;; @@ -528,7 +526,7 @@ Bufferse larger than this will display the working progress bar.") If optional argument ARG is non-nil it is appended to the message string." (if semantic-parser-name - (format "%s/%s" semantic-parser-name (or arg "")) + (format "%s/%s..." semantic-parser-name (or arg "")) (format "%s" (or arg "")))) ;;; Application Parser Entry Points @@ -817,10 +815,104 @@ a START and END part." (make-obsolete 'semantic-bovinate-from-nonterminal-full 'semantic-parse-region) +;;; User interface + +;; The `semantic-mode' command, in conjuction with the +;; `semantic-default-submodes' variable, are used to collectively +;; toggle Semantic's various auxilliary minor modes. + +(defvar semantic-load-system-cache-loaded nil + "Non nil when the Semantic system caches have been loaded. +Prevent this load system from loading files in twice.") + +(defconst semantic-submode-list + '(global-semantic-highlight-func-mode + global-semantic-decoration-mode + global-semantic-stickyfunc-mode + global-semantic-idle-completions-mode + global-semantic-idle-scheduler-mode + global-semanticdb-minor-mode + global-semantic-idle-summary-mode + global-semantic-mru-bookmark-mode) + "List of auxilliary minor modes in the Semantic package.") + +;;;###autoload +(defcustom semantic-default-submodes + '(global-semantic-idle-scheduler-mode global-semanticdb-minor-mode) + "List of auxilliary Semantic minor modes enabled by `semantic-mode'. +The possible elements of this list include the following: + + `semantic-highlight-func-mode' - Highlight the current tag. + `semantic-decoration-mode' - Decorate tags based on various attributes. + `semantic-stickyfunc-mode' - Track current function in the header-line. + `semantic-idle-completions-mode' - Provide smart symbol completion + automatically when idle. + `semantic-idle-scheduler-mode' - Keep a buffer's parse tree up to date. + `semanticdb-minor-mode' - Store tags when a buffer is not in memory. + `semantic-idle-summary-mode' - Show a summary for the code at point. + `semantic-mru-bookmark-mode' - Provide `switch-to-buffer'-like + keybinding for tag names." + :group 'semantic + :type `(set ,@(mapcar (lambda (c) (list 'const c)) + semantic-submode-list))) + +;;;###autoload +(define-minor-mode semantic-mode + "Toggle Semantic mode. +With ARG, turn Semantic mode on if ARG is positive, off otherwise. + +In Semantic mode, Emacs parses the buffers you visit for their +semantic content. This information is used by a variety of +auxilliary minor modes, listed in `semantic-default-submodes'; +all the minor modes in this list are also enabled when you enable +Semantic mode." + :group 'semantic + (if semantic-mode + ;; Turn on Semantic mode + (progn + (dolist (mode semantic-submode-list) + (if (memq mode semantic-default-submodes) + (funcall mode 1))) + (unless semantic-load-system-cache-loaded + (setq semantic-load-system-cache-loaded t) + (when (and (boundp 'semanticdb-default-system-save-directory) + (stringp semanticdb-default-system-save-directory) + (file-exists-p semanticdb-default-system-save-directory)) + (semanticdb-load-ebrowse-caches))) + (add-hook 'mode-local-init-hook 'semantic-new-buffer-fcn) + ;; Add mode-local hooks + (add-hook 'javascript-mode-hook 'wisent-javascript-setup-parser) + (add-hook 'ecmascript-mode-hook 'wisent-javascript-setup-parser) + (add-hook 'java-mode-hook 'wisent-java-default-setup) + (add-hook 'scheme-mode-hook 'semantic-default-scheme-setup) + (add-hook 'makefile-mode-hook 'semantic-default-make-setup) + (add-hook 'c-mode-hook 'semantic-default-c-setup) + (add-hook 'c++-mode-hook 'semantic-default-c-setup) + (add-hook 'html-mode-hook 'semantic-default-html-setup)) + ;; Disable all Semantic features. + (remove-hook 'mode-local-init-hook 'semantic-new-buffer-fcn) + (remove-hook 'javascript-mode-hook 'wisent-javascript-setup-parser) + (remove-hook 'ecmascript-mode-hook 'wisent-javascript-setup-parser) + (remove-hook 'java-mode-hook 'wisent-java-default-setup) + (remove-hook 'scheme-mode-hook 'semantic-default-scheme-setup) + (remove-hook 'makefile-mode-hook 'semantic-default-make-setup) + (remove-hook 'c-mode-hook 'semantic-default-c-setup) + (remove-hook 'c++-mode-hook 'semantic-default-c-setup) + (remove-hook 'html-mode-hook 'semantic-default-html-setup) + + ;; FIXME: handle semanticdb-load-ebrowse-caches + + (dolist (mode semantic-submode-list) + (if (and (boundp mode) (eval mode)) + (funcall mode -1))))) + + (provide 'semantic) ;; Semantic-util is a part of the semantic API. Include it last ;; because it depends on semantic. (require 'semantic/util) +;; (require 'semantic/load) + ;;; semantic.el ends here diff --git a/lisp/cedet/semantic/bovine/c.el b/lisp/cedet/semantic/bovine/c.el index 5ab658d6af7..f49d569c43e 100644 --- a/lisp/cedet/semantic/bovine/c.el +++ b/lisp/cedet/semantic/bovine/c.el @@ -1629,11 +1629,6 @@ DO NOT return the list of tags encompassing point." (semantic-c-reset-preprocessor-symbol-map) ) -;;;###autoload -(add-hook 'c-mode-hook 'semantic-default-c-setup) -;;;###autoload -(add-hook 'c++-mode-hook 'semantic-default-c-setup) - ;;; SETUP QUERY ;; (defun semantic-c-describe-environment () diff --git a/lisp/cedet/semantic/bovine/make.el b/lisp/cedet/semantic/bovine/make.el index 1686ef2aa15..ac7d084a384 100644 --- a/lisp/cedet/semantic/bovine/make.el +++ b/lisp/cedet/semantic/bovine/make.el @@ -230,9 +230,6 @@ Uses default implementation, and also gets a list of filenames." (setq semantic-lex-analyzer #'semantic-make-lexer) ) -;;;###autoload -(add-hook 'makefile-mode-hook 'semantic-default-make-setup) - (provide 'semantic/bovine/make) ;; Local variables: diff --git a/lisp/cedet/semantic/bovine/scm.el b/lisp/cedet/semantic/bovine/scm.el index 3558062d61d..091486cc382 100644 --- a/lisp/cedet/semantic/bovine/scm.el +++ b/lisp/cedet/semantic/bovine/scm.el @@ -110,9 +110,6 @@ syntax as specified by the syntax table." (setq semantic-lex-analyzer #'semantic-scheme-lexer) ) -;;;###autoload -(add-hook 'scheme-mode-hook 'semantic-default-scheme-setup) - (provide 'semantic/bovine/scm) ;; Local variables: diff --git a/lisp/cedet/semantic/decorate/mode.el b/lisp/cedet/semantic/decorate/mode.el index a02d4c388fb..c35df575812 100644 --- a/lisp/cedet/semantic/decorate/mode.el +++ b/lisp/cedet/semantic/decorate/mode.el @@ -234,6 +234,7 @@ When this mode is activated, decorations specified by :set (lambda (sym val) (global-semantic-decoration-mode (if val 1 -1)))) +;;;###autoload (defun global-semantic-decoration-mode (&optional arg) "Toggle global use of option `semantic-decoration-mode'. Decoration mode turns on all active decorations as specified @@ -558,5 +559,10 @@ Use a primary decoration." (provide 'semantic/decorate/mode) -;;; semantic/decorate/mode.el ends here +;; Local variables: +;; generated-autoload-file: "../loaddefs.el" +;; generated-autoload-feature: semantic/loaddefs +;; generated-autoload-load-name: "semantic/decorate/mode" +;; End: +;;; semantic/decorate/mode.el ends here diff --git a/lisp/cedet/semantic/html.el b/lisp/cedet/semantic/html.el index 5ed7908f893..0ce3ed710b0 100644 --- a/lisp/cedet/semantic/html.el +++ b/lisp/cedet/semantic/html.el @@ -254,9 +254,6 @@ tag with greater section value than LEVEL is found." t) ) -;;;###autoload -(add-hook 'html-mode-hook 'semantic-default-html-setup) - (define-child-mode html-helper-mode html-mode "`html-helper-mode' needs the same semantic support as `html-mode'.") diff --git a/lisp/cedet/semantic/wisent/java-tags.el b/lisp/cedet/semantic/wisent/java-tags.el index ff5e0634d96..5a9d8c398b4 100644 --- a/lisp/cedet/semantic/wisent/java-tags.el +++ b/lisp/cedet/semantic/wisent/java-tags.el @@ -111,9 +111,6 @@ Use the alternate LALR(1) parser." ;; Setup javadoc stuff (semantic-java-doc-setup)) -;;;###autoload -(add-hook 'java-mode-hook 'wisent-java-default-setup) - (provide 'semantic/wisent/java-tags) ;; Local variables: diff --git a/lisp/cedet/semantic/wisent/javascript.el b/lisp/cedet/semantic/wisent/javascript.el index 184f1eaf546..892f76be4f0 100644 --- a/lisp/cedet/semantic/wisent/javascript.el +++ b/lisp/cedet/semantic/wisent/javascript.el @@ -92,11 +92,6 @@ This function overrides `get-local-variables'." semantic-command-separation-character ";" )) -;;;###autoload -(add-hook 'javascript-mode-hook 'wisent-javascript-setup-parser) -;;;###autoload -(add-hook 'ecmascript-mode-hook 'wisent-javascript-setup-parser) - (provide 'semantic/wisent/javascript-jv) ;; Local variables: diff --git a/lisp/cedet/srecode/compile.el b/lisp/cedet/srecode/compile.el index 769c0137e68..5b3d8fb50fc 100644 --- a/lisp/cedet/srecode/compile.el +++ b/lisp/cedet/srecode/compile.el @@ -197,7 +197,7 @@ Arguments ESCAPE-START and ESCAPE-END are the current escape sequences in use." (defun srecode-compile-templates () "Compile a semantic recode template file into a mode-local variable." (interactive) - (require 'srecode-insert) + (require 'srecode/insert) (message "Compiling template %s..." (file-name-nondirectory (buffer-file-name))) (let ((tags (semantic-fetch-tags)) diff --git a/lisp/cedet/srecode/insert.el b/lisp/cedet/srecode/insert.el index 743c8e8e652..e1772b3c578 100644 --- a/lisp/cedet/srecode/insert.el +++ b/lisp/cedet/srecode/insert.el @@ -159,7 +159,7 @@ Buffer based features related to change hooks is handled one level up." ;; while the field insert tool is loaded via autoloads during ;; the insert. (when (eq srecode-insert-ask-variable-method 'field) - (require 'srecode-fields)) + (require 'srecode/fields)) (let ((srecode-field-archive nil) ; Prevent field leaks during insert (start (point)) ; Beginning of the region. diff --git a/lisp/cedet/srecode/mode.el b/lisp/cedet/srecode/mode.el index 3100a392cf2..f8493138e49 100644 --- a/lisp/cedet/srecode/mode.el +++ b/lisp/cedet/srecode/mode.el @@ -42,7 +42,7 @@ "Non-nil in buffers with Semantic Recoder macro keybindings." :group 'srecode :type 'boolean - :require 'srecode-mode + :require 'srecode/mode :initialize 'custom-initialize-default :set (lambda (sym val) (global-srecode-minor-mode (if val 1 -1)))) diff --git a/lisp/ediff-hook.el b/lisp/ediff-hook.el index 00525b6fe44..f2b3e0d437f 100644 --- a/lisp/ediff-hook.el +++ b/lisp/ediff-hook.el @@ -123,7 +123,7 @@ :style toggle :selected (if (featurep 'ediff-tbar) (ediff-use-toolbar-p))])) - + ;; put these menus before Object-Oriented-Browser in Tools menu (if (and (featurep 'menubar) (not (featurep 'infodock)) (not (featurep 'ediff-hook))) @@ -141,8 +141,11 @@ (symbol-value 'menu-bar-ediff-merge-menu)) (defvar menu-bar-ediff-menu (make-sparse-keymap "Compare")) (fset 'menu-bar-ediff-menu (symbol-value 'menu-bar-ediff-menu)) - + ;; define ediff compare menu + (define-key menu-bar-ediff-menu [ediff-misc] + (list 'menu-item "Ediff Miscellanea" menu-bar-ediff-misc-menu)) + (define-key menu-bar-ediff-menu [separator-ediff-misc] '("--")) (define-key menu-bar-ediff-menu [window] '(menu-item "This Window and Next Window" compare-windows :help "Compare the current window and the next window")) diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 24fd88e6819..e3aa7bc04b8 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -1312,8 +1312,6 @@ mail status in mode line")) (define-key menu-bar-tools-menu [separator-compare] '("--")) -(define-key menu-bar-tools-menu [ediff-misc] - '(menu-item "Ediff Miscellanea" menu-bar-ediff-misc-menu)) (define-key menu-bar-tools-menu [epatch] '(menu-item "Apply Patch" menu-bar-epatch-menu)) (define-key menu-bar-tools-menu [ediff-merge] |