From: Stephen Leake Date: Tue, 1 Sep 2015 09:36:05 +0000 (-0500) Subject: Show all known mode-local overrides in *Help* X-Git-Tag: emacs-25.0.90~1230^2~3 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/fcdd22dd4be2312aace9cce724f8ae8128b585ac 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. --- diff --git a/lisp/cedet/mode-local.el b/lisp/cedet/mode-local.el index 287e6558b2..95cf65fdda 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." (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)