From abb82152dcd743c284bcd7b4ecb31d20543ec735 Mon Sep 17 00:00:00 2001 From: David Engster Date: Tue, 7 Jan 2014 21:40:44 +0100 Subject: [PATCH] Add new hook to augment help buffers. * help-fns.el (help-fns-describe-function-functions): New variable to call functions for augmenting help buffers. (describe-function-1): Remove explicit calls to `help-fns--compiler-macro', `help-fns--parent-mode' and `help-fns--obsolete'. Put them in above new variable instead. Call all of them through `run-hook-with-args'. --- lisp/ChangeLog | 9 +++++++++ lisp/help-fns.el | 17 ++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index add146fd2b1..9f5e87f5e1e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2014-01-07 David Engster + + * help-fns.el (help-fns-describe-function-functions): New + variable to call functions for augmenting help buffers. + (describe-function-1): Remove explicit calls to + `help-fns--compiler-macro', `help-fns--parent-mode' and + `help-fns--obsolete'. Put them in above new variable instead. + Call all of them through `run-hook-with-args'. + 2014-01-07 Martin Rudalics * window.el (balance-windows-2): While rounding don't give a diff --git a/lisp/help-fns.el b/lisp/help-fns.el index 7b9e1783bad..2252c700fea 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -32,6 +32,12 @@ ;;; Code: +(defvar help-fns-describe-function-functions nil + "List of functions to run in help buffer in `describe-function'. +Those functions will be run after the header line and argument +list was inserted, and before the documentation will be inserted. +The functions will receive the function name as argument.") + ;; Functions ;;;###autoload @@ -649,14 +655,15 @@ FILE is the file where FUNCTION was probably defined." (help-fns--key-bindings function) (with-current-buffer standard-output (setq doc (help-fns--signature function doc real-def real-function)) - - (help-fns--compiler-macro function) - (help-fns--parent-mode function) - (help-fns--obsolete function) - + (run-hook-with-args 'help-fns-describe-function-functions function) (insert "\n" (or doc "Not documented."))))))) +;; Add defaults to `help-fns-describe-function-functions'. +(add-hook 'help-fns-describe-function-functions 'help-fns--obsolete) +(add-hook 'help-fns-describe-function-functions 'help-fns--parent-mode) +(add-hook 'help-fns-describe-function-functions 'help-fns--compiler-macro) + ;; Variables -- 2.39.2