emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master bc95fc7: Make the help page mention the customizeab


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master bc95fc7: Make the help page mention the customizeable global mode variable
Date: Tue, 1 Oct 2019 10:45:30 -0400 (EDT)

branch: master
commit bc95fc78bbf9c91ce5c3adb7d199c84c0c5032ca
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    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).
---
 lisp/emacs-lisp/easy-mmode.el |  1 +
 lisp/help-fns.el              | 44 +++++++++++++++++++++++++------------------
 2 files changed, 27 insertions(+), 18 deletions(-)

diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index bbc3a27..5e7b29e 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 d6b4e76..e9e2818d 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)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]