]> git.eshelyaron.com Git - emacs.git/commitdiff
Make the help page mention the customizeable global mode variable
authorLars Ingebrigtsen <larsi@gnus.org>
Tue, 1 Oct 2019 14:45:24 +0000 (16:45 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Tue, 1 Oct 2019 14:45:24 +0000 (16:45 +0200)
* 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
lisp/help-fns.el

index bbc3a27504c5a9ed4cade0931d37fa7664ed2836..5e7b29eddf8b2cec9396fc6af055afb031758046 100644 (file)
@@ -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))
index d6b4e763bbc5cb2ea0f4d6021e82af0dc307e0a7..e9e2818d98a10bb9c2261aac9e6402e9b3d9b84e 100644 (file)
@@ -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)))