Function: describe-mode--minor-modes

describe-mode--minor-modes is a byte-compiled function defined in help-fns.el.gz.

Signature

(describe-mode--minor-modes MODES &optional GLOBAL)

Source Code

;; Defined in /usr/src/emacs/lisp/help-fns.el.gz
(defun describe-mode--minor-modes (modes &optional global)
  (dolist (mode (seq-sort #'string< modes))
    (let ((pretty-minor-mode
           (capitalize
            (replace-regexp-in-string
             "\\(\\(-minor\\)?-mode\\)?\\'" ""
             (symbol-name mode)))))
      (if (not describe-mode-outline)
          (insert
           " "
           (buttonize
            pretty-minor-mode
            (lambda (mode)
              (goto-char (point-min))
              (text-property-search-forward
               'help-minor-mode mode t)
              (beginning-of-line))
            mode))
        (goto-char (point-max))
        (put-text-property
         (point) (progn (insert (if global "Global" "Local")
                                (format " minor mode %S" mode))
                        (point))
         'outline-level 1)
        (insert "\n\n"))
      (save-excursion
	(unless describe-mode-outline
          (goto-char (point-max))
	  (insert "\n\n\f\n"))
	;; Document the minor modes fully.
        (insert (buttonize
                 (propertize pretty-minor-mode 'help-minor-mode mode)
                 #'describe-function
                 mode))
        (let ((indicator
               (format-mode-line (assq mode minor-mode-alist))))
	  (insert (format " minor mode (%s):\n"
			  (if (zerop (length indicator))
			      "no indicator"
			    (format "indicator%s"
				    indicator)))))
	(insert (or (help-split-fundoc (documentation mode) nil 'doc)
                    "No docstring"))
        (when describe-mode-outline
          (insert "\n\n")))))
  (unless describe-mode-outline
    (forward-line -1)
    (fill-paragraph nil)
    (forward-paragraph 1)
    (ensure-empty-lines 1)))