From: Lars Ingebrigtsen Date: Tue, 1 Oct 2019 14:45:24 +0000 (+0200) Subject: Make the help page mention the customizeable global mode variable X-Git-Tag: emacs-27.0.90~1339 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bc95fc78bbf9c91ce5c3adb7d199c84c0c5032ca;p=emacs.git Make the help page mention the customizeable global mode variable * lisp/help-fns.el (help-fns--customize-variable): Factor out into own function for reuse. (help-fns--globalized-minor-mode): Use it to mention the equivalent variable. * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Mark globalized minor modes as such (bug#7177). --- diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el index bbc3a27504c..5e7b29eddf8 100644 --- a/lisp/emacs-lisp/easy-mmode.el +++ b/lisp/emacs-lisp/easy-mmode.el @@ -418,6 +418,7 @@ on if the hook has explicitly disabled it. `(progn (progn + (put ',global-mode 'globalized-minor-mode t) :autoload-end (defvar ,MODE-major-mode nil) (make-variable-buffer-local ',MODE-major-mode)) diff --git a/lisp/help-fns.el b/lisp/help-fns.el index d6b4e763bbc..e9e2818d98a 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -556,6 +556,13 @@ suitable file is found, return nil." (t ".")) "\n")))) +(add-hook 'help-fns-describe-function-functions + #'help-fns--globalized-minor-mode) +(defun help-fns--globalized-minor-mode (function) + (when (get function 'globalized-minor-mode) + (help-fns--customize-variable function " the global mode variable.") + (terpri))) + ;; We could use `symbol-file' but this is a wee bit more efficient. (defun help-fns--autoloaded-p (function file) "Return non-nil if FUNCTION has previously been autoloaded. @@ -1092,28 +1099,29 @@ it is displayed along with the global value." (with-current-buffer standard-output (insert (or doc "Not documented as a variable.")))) - ;; Make a link to customize if this variable can be customized. - (when (custom-variable-p variable) - (let ((customize-label "customize")) - (terpri) - (terpri) - (princ (concat "You can " customize-label " this variable.")) - (with-current-buffer standard-output - (save-excursion - (re-search-backward - (concat "\\(" customize-label "\\)") nil t) - (help-xref-button 1 'help-customize-variable variable)))) - ;; Note variable's version or package version. - (let ((output (describe-variable-custom-version-info variable))) - (when output - (terpri) - (terpri) - (princ output)))) - (with-current-buffer standard-output ;; Return the text we displayed. (buffer-string)))))))) +(add-hook 'help-fns-describe-variable-functions #'help-fns--customize-variable) +(defun help-fns--customize-variable (variable &optional text) + ;; Make a link to customize if this variable can be customized. + (when (custom-variable-p variable) + (let ((customize-label "customize")) + (princ (concat " You can " customize-label (or text " this variable."))) + (with-current-buffer standard-output + (save-excursion + (re-search-backward + (concat "\\(" customize-label "\\)") nil t) + (help-xref-button 1 'help-customize-variable variable))) + (terpri)) + ;; Note variable's version or package version. + (let ((output (describe-variable-custom-version-info variable))) + (when output + (terpri) + (terpri) + (princ output))))) + (add-hook 'help-fns-describe-variable-functions #'help-fns--var-safe-local) (defun help-fns--var-safe-local (variable) (let ((safe-var (get variable 'safe-local-variable)))