Restore 'imenu-create-index-function' on exiting semantic
* lisp/cedet/semantic.el: Restore the 'imenu-create-index-function' on exiting. * lisp/cedet/semantic/bovine/make.el: * lisp/cedet/semantic/bovine/scm.el: * lisp/cedet/semantic/html.el: * lisp/cedet/semantic/texi.el: * lisp/cedet/semantic/wisent/java-tags.el: * lisp/cedet/semantic/wisent/javascript.el: * lisp/cedet/semantic/wisent/python.el: * lisp/cedet/srecode/template.el: Store the original 'imenu-create-index-function' before changing it. (Bug#74803)
This commit is contained in:
parent
ed1f3b8488
commit
64981660c9
9 changed files with 18 additions and 1 deletions
|
@ -997,6 +997,9 @@ The following modes are more targeted at people who want to see
|
|||
:type `(set ,@(mapcar (lambda (c) (list 'const c))
|
||||
semantic-submode-list)))
|
||||
|
||||
(defvar-local semantic--create-index-function-origin nil
|
||||
"The original `imenu-create-index-function' before semantic.")
|
||||
|
||||
;;;###autoload
|
||||
(define-minor-mode semantic-mode
|
||||
"Toggle parser features (Semantic mode).
|
||||
|
@ -1070,7 +1073,13 @@ Semantic mode.
|
|||
(setq semantic--buffer-cache nil)
|
||||
;; Make sure we run the setup function if Semantic gets
|
||||
;; re-activated.
|
||||
(setq semantic-new-buffer-fcn-was-run nil)))
|
||||
(setq semantic-new-buffer-fcn-was-run nil)
|
||||
;; restore the original `imenu-create-index-function'
|
||||
(unless (eq semantic--create-index-function-origin
|
||||
imenu-create-index-function)
|
||||
(setq imenu-create-index-function
|
||||
(or semantic--create-index-function-origin
|
||||
(default-value 'imenu-create-index-function))))))
|
||||
|
||||
;;; Autoload some functions that are not in semantic/loaddefs
|
||||
|
||||
|
|
|
@ -226,6 +226,7 @@ Uses default implementation, and also gets a list of filenames."
|
|||
(?+ ".")
|
||||
(?\\ ".")
|
||||
)
|
||||
semantic--create-index-function-origin imenu-create-index-function
|
||||
imenu-create-index-function #'semantic-create-imenu-index
|
||||
)
|
||||
(setq semantic-lex-analyzer #'semantic-make-lexer)
|
||||
|
|
|
@ -102,6 +102,7 @@ syntax as specified by the syntax table."
|
|||
(function . "Functions")
|
||||
(include . "Loads")
|
||||
(package . "DefineModule"))
|
||||
semantic--create-index-function-origin imenu-create-index-function
|
||||
imenu-create-index-function #'semantic-create-imenu-index
|
||||
)
|
||||
(setq semantic-lex-analyzer #'semantic-scheme-lexer)
|
||||
|
|
|
@ -238,6 +238,7 @@ tag with greater section value than LEVEL is found."
|
|||
;; This will use our parser.
|
||||
(setq semantic-parser-name "HTML"
|
||||
semantic--parse-table t
|
||||
semantic--create-index-function-origin imenu-create-index-function
|
||||
imenu-create-index-function #'semantic-create-imenu-index
|
||||
semantic-command-separation-character ">"
|
||||
semantic-type-relation-separator-character '(":")
|
||||
|
|
|
@ -445,6 +445,7 @@ that start with that symbol."
|
|||
(setq semantic-parser-name "TEXI"
|
||||
;; Setup a dummy parser table to enable parsing!
|
||||
semantic--parse-table t
|
||||
semantic--create-index-function-origin imenu-create-index-function
|
||||
imenu-create-index-function #'semantic-create-imenu-index
|
||||
semantic-command-separation-character "@"
|
||||
semantic-type-relation-separator-character '(":")
|
||||
|
|
|
@ -113,6 +113,7 @@ Use the alternate LALR(1) parser."
|
|||
semantic-tag-expand-function #'semantic-java-expand-tag
|
||||
;; Environment
|
||||
semantic-imenu-summary-function #'semantic-format-tag-prototype
|
||||
semantic--create-index-function-origin imenu-create-index-function
|
||||
imenu-create-index-function #'semantic-create-imenu-index
|
||||
semantic-type-relation-separator-character '(".")
|
||||
semantic-command-separation-character ";"
|
||||
|
|
|
@ -135,6 +135,7 @@ This is currently needed for the mozrepl omniscient database."
|
|||
semantic-tag-expand-function #'wisent-javascript-jv-expand-tag
|
||||
;; Environment
|
||||
semantic-imenu-summary-function #'semantic-format-tag-name
|
||||
semantic--create-index-function-origin imenu-create-index-function
|
||||
imenu-create-index-function #'semantic-create-imenu-index
|
||||
semantic-command-separation-character ";"
|
||||
))
|
||||
|
|
|
@ -514,6 +514,7 @@ Shortens `code' tags, but passes through for others."
|
|||
;; Semantic to take over from the one provided by python.
|
||||
;; The python one, if it uses the senator advice, will hang
|
||||
;; Emacs unrecoverably.
|
||||
semantic--create-index-function-origin imenu-create-index-function
|
||||
imenu-create-index-function #'semantic-create-imenu-index
|
||||
|
||||
;; I need a python guru to update this list:
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
;; Parsing
|
||||
;; Environment
|
||||
semantic-imenu-summary-function #'semantic-format-tag-name
|
||||
semantic--create-index-function-origin imenu-create-index-function
|
||||
imenu-create-index-function #'semantic-create-imenu-index
|
||||
semantic-command-separation-character "\n"
|
||||
semantic-lex-comment-regex ";;"
|
||||
|
|
Loading…
Add table
Reference in a new issue