]> git.eshelyaron.com Git - emacs.git/commitdiff
Add a new function for separator lines
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 19 Jul 2021 13:48:20 +0000 (15:48 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 19 Jul 2021 13:48:20 +0000 (15:48 +0200)
* lisp/help-fns.el (describe-symbol): Use it.

* lisp/help.el (describe-key): Use it.

* lisp/simple.el (separator-line): New face.
(make-separator-line): New function (bug#49630).

etc/NEWS
lisp/help-fns.el
lisp/help.el
lisp/simple.el

index 29568e7fd5c8f6bf52cce4d29ad5b22777f7a493..e241b512b6a5f9952344698aa277c2252b4d6b03 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2222,6 +2222,13 @@ This command, called interactively, toggles the local value of
 
 ** Miscellaneous
 
+---
+*** New utility function 'make-separator-line'.
+
+---
+*** New face 'separator-line'.
+This is used by 'make-separator-line'.
+
 +++
 *** New user option 'ignored-local-variable-values'.
 This is the opposite of 'safe-local-variable-values' -- it's an alist
index cb248b1d00914b8fbf1131999f35861f57b6c511..81d7f23fe3c5e880382eb890c6d98f02d377d695 100644 (file)
@@ -1573,11 +1573,7 @@ current buffer and the selected frame, respectively."
             (insert doc)
             (delete-region (point)
                            (progn (skip-chars-backward " \t\n") (point)))
-            (insert "\n\n"
-                    (eval-when-compile
-                      (propertize "\n" 'face
-                                  '(:height 0.1 :inverse-video t :extend t)))
-                    "\n")
+            (insert "\n\n" (make-separator-line) "\n")
             (when name
               (insert (symbol-name symbol)
                       " is also a " name "." "\n\n"))))
index 1bb1b307723bd61595169468dc953300de043725..ba27fc5810f55e9575da952280ad2bb05dc3c14c 100644 (file)
@@ -943,12 +943,7 @@ current buffer."
           (when defn
             (when (> (length info-list) 1)
               (with-current-buffer standard-output
-                (insert "\n\n"
-                        ;; FIXME: Can't use eval-when-compile because purified
-                        ;; strings lose their text properties :-(
-                        (propertize "\n" 'face
-                                    '(:height 0.1 :inverse-video t :extend t))
-                        "\n")))
+                (insert "\n\n" (make-separator-line) "\n")))
 
             (princ brief-desc)
             (when locus
index 6de219022100e2711bcd10ed152af16222a3da4f..ea3ccb388e59610d3c62debe43c92a27b004983b 100644 (file)
@@ -695,6 +695,27 @@ When called from Lisp code, ARG may be a prefix string to copy."
     (indent-to col 0)
     (goto-char pos)))
 
+(defface separator-line
+  '((((type graphic)) :height 0.1 :inverse-video t)
+    (t :foreground "ForestGreen"))
+  "Face for separator lines."
+  :version "28.1"
+  :group 'text)
+
+(defun make-separator-line (&optional length)
+  "Make a string appropriate for usage as a visual separator line.
+This uses the `separator-line' face.
+
+If LENGTH is nil, use the window width."
+  (if (display-graphic-p)
+      (if length
+          (concat (propertize (make-string length ?\s) 'face 'separator-line)
+                  "\n")
+        (propertize "\n" 'face '(:inherit separator-line :extend t)))
+    (concat (propertize (make-string (or length (1- (window-width))) ?-)
+                        'face 'separator-line)
+            "\n")))
+
 (defun delete-indentation (&optional arg beg end)
   "Join this line to previous and fix up whitespace at join.
 If there is a fill prefix, delete it from the beginning of this