aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Leake2015-09-01 04:36:05 -0500
committerStephen Leake2015-09-01 05:15:26 -0500
commitfcdd22dd4be2312aace9cce724f8ae8128b585ac (patch)
treee567c51c37e7f6ae6b933bc4d6fd728fda39a7de
parentb62c0e7bee1dcf74c97e7979fe87b81598d4a4b2 (diff)
downloademacs-fcdd22dd4be2312aace9cce724f8ae8128b585ac.tar.gz
emacs-fcdd22dd4be2312aace9cce724f8ae8128b585ac.zip
Show all known mode-local overrides in *Help*
* lisp/cedet/mode-local.el (describe-mode-local-overload): Assume Emacs 25. Add all known mode-local overrides.
-rw-r--r--lisp/cedet/mode-local.el22
1 files changed, 17 insertions, 5 deletions
diff --git a/lisp/cedet/mode-local.el b/lisp/cedet/mode-local.el
index 287e6558b2d..95cf65fdda5 100644
--- a/lisp/cedet/mode-local.el
+++ b/lisp/cedet/mode-local.el
@@ -637,11 +637,10 @@ SYMBOL is a function that can be overridden."
637 (when (get symbol 'mode-local-overload) 637 (when (get symbol 'mode-local-overload)
638 (let ((default (or (intern-soft (format "%s-default" (symbol-name symbol))) 638 (let ((default (or (intern-soft (format "%s-default" (symbol-name symbol)))
639 symbol)) 639 symbol))
640 (override (and 640 (override (with-current-buffer describe-function-orig-buffer
641 (boundp 'describe-function-orig-buffer) ;; added in Emacs 25 641 (fetch-overload symbol)))
642 describe-function-orig-buffer 642 modes)
643 (with-current-buffer describe-function-orig-buffer 643
644 (fetch-overload symbol)))))
645 (insert (overload-docstring-extension symbol) "\n\n") 644 (insert (overload-docstring-extension symbol) "\n\n")
646 (insert (format-message "default function: `%s'\n" default)) 645 (insert (format-message "default function: `%s'\n" default))
647 (when (and (boundp 'describe-function-orig-buffer) ;; added in Emacs 25 646 (when (and (boundp 'describe-function-orig-buffer) ;; added in Emacs 25
@@ -651,6 +650,19 @@ SYMBOL is a function that can be overridden."
651 describe-function-orig-buffer override)) 650 describe-function-orig-buffer override))
652 (insert (format-message "\nno override in buffer '%s'\n" 651 (insert (format-message "\nno override in buffer '%s'\n"
653 describe-function-orig-buffer)))) 652 describe-function-orig-buffer))))
653
654 (mapatoms
655 (lambda (sym) (when (get sym 'mode-local-symbol-table) (push sym modes)))
656 obarray)
657
658 (dolist (mode modes)
659 (let* ((major-mode mode)
660 (override (fetch-overload symbol)))
661
662 (when override
663 (insert (format-message "\noverride in mode ā€˜%s’: ’%s’\n"
664 major-mode override))
665 )))
654 ))) 666 )))
655 667
656(add-hook 'help-fns-describe-function-functions 'describe-mode-local-overload) 668(add-hook 'help-fns-describe-function-functions 'describe-mode-local-overload)