]> code.delx.au - gnu-emacs/commitdiff
Show all known mode-local overrides in *Help*
authorStephen Leake <stephen_leake@stephe-leake.org>
Tue, 1 Sep 2015 09:36:05 +0000 (04:36 -0500)
committerStephen Leake <stephen_leake@stephe-leake.org>
Tue, 1 Sep 2015 10:15:26 +0000 (05:15 -0500)
* lisp/cedet/mode-local.el (describe-mode-local-overload): Assume Emacs
25. Add all known mode-local overrides.

lisp/cedet/mode-local.el

index 287e6558b2db24f8be9d89ff9dd0021b5cdd3a73..95cf65fdda5a0eedf94db5047380a9b46784cddb 100644 (file)
@@ -637,11 +637,10 @@ SYMBOL is a function that can be overridden."
   (when (get symbol 'mode-local-overload)
     (let ((default (or (intern-soft (format "%s-default" (symbol-name symbol)))
                       symbol))
-         (override (and
-                    (boundp 'describe-function-orig-buffer) ;; added in Emacs 25
-                    describe-function-orig-buffer
-                    (with-current-buffer describe-function-orig-buffer
-                      (fetch-overload symbol)))))
+         (override (with-current-buffer describe-function-orig-buffer
+                      (fetch-overload symbol)))
+          modes)
+
       (insert (overload-docstring-extension symbol) "\n\n")
       (insert (format-message "default function: `%s'\n" default))
       (when (and (boundp 'describe-function-orig-buffer) ;; added in Emacs 25
@@ -651,6 +650,19 @@ SYMBOL is a function that can be overridden."
                                    describe-function-orig-buffer override))
          (insert (format-message "\nno override in buffer '%s'\n"
                                  describe-function-orig-buffer))))
+
+      (mapatoms
+       (lambda (sym) (when (get sym 'mode-local-symbol-table) (push sym modes)))
+       obarray)
+
+      (dolist (mode modes)
+       (let* ((major-mode mode)
+              (override (fetch-overload symbol)))
+
+         (when override
+           (insert (format-message "\noverride in mode ā€˜%sā€™: ā€™%sā€™\n"
+                                   major-mode override))
+            )))
       )))
 
 (add-hook 'help-fns-describe-function-functions 'describe-mode-local-overload)