Commit b82525f2 authored by Chong Yidong's avatar Chong Yidong
Browse files

* 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.
parent 826608a5
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>
......
......@@ -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)))
))
......
......@@ -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
......
......@@ -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
......@@ -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 ()
......
......@@ -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:
......
......@@ -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:
......
......@@ -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
......@@ -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'.")
......
......@@ -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:
......
......@@ -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:
......
......@@ -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))
......
......@@ -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.
......
......@@ -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))))
......
......@@ -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"))
......
......@@ -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]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment