]> git.eshelyaron.com Git - emacs.git/commitdiff
'global-mode-string' elements should have a space at the end
authorLars Ingebrigtsen <larsi@gnus.org>
Fri, 23 Jul 2021 12:40:53 +0000 (14:40 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Fri, 23 Jul 2021 12:40:53 +0000 (14:40 +0200)
* lisp/time.el (display-time-string-forms):
* lisp/battery.el (battery-mode-line-format): Add a space to the
end (bug#30056).
* lisp/bindings.el (mode-line-misc-info): Remove space from end.
This will make the default format have one space before the
line-of-dashes (instead of two) on terminals.

doc/lispref/modes.texi
etc/NEWS
lisp/battery.el
lisp/bindings.el
lisp/time.el

index 7214948850606415fc1993553ebfadd6c9293c91..b0dc0ff9166094428672bd39116d6c42c2e56b2d 100644 (file)
@@ -2287,11 +2287,14 @@ enabled separately in each buffer.
 
 @defvar global-mode-string
 This variable holds a mode line construct that, by default, appears in
-the mode line just after the @code{which-function-mode} minor mode if set,
-else after @code{mode-line-modes}.  The command @code{display-time} sets
+the mode line just after the @code{which-function-mode} minor mode if
+set, else after @code{mode-line-modes}.  Elements that are added to
+this construct should normally end in a space (to ensure that
+consecutive @code{global-mode-string} elements display properly).  For
+instance, the command @code{display-time} sets
 @code{global-mode-string} to refer to the variable
-@code{display-time-string}, which holds a string containing the time and
-load information.
+@code{display-time-string}, which holds a string containing the time
+and load information.
 
 The @samp{%M} construct substitutes the value of
 @code{global-mode-string}, but that is obsolete, since the variable is
index 95218faa1b6a4382c48664369ddec71a0684fa5e..759f7cabaaee9f90346c0bee31d993ad2a76f0c8 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2505,6 +2505,11 @@ If non-nil, repeating spaces are compressed into a single space.  If
 'long', this is only done when the mode line is longer than the
 current window width (in characters).
 
++++
+*** 'global-mode-string' constructs should end with a space.
+This was previously not formalized, which led to combinations of modes
+displaying data "smushed together" on the mode line.
+
 +++
 *** New command 'submit-emacs-patch'.
 This works like 'report-emacs-bug', but is more geared towards sending
index 59f6987ad1691a2994f1cbeb0ad5fa39e7c1364c..bf864c2bd4ac3fea45712fd71a49f44f49758c05 100644 (file)
@@ -161,9 +161,9 @@ The full `format-spec' formatting syntax is supported."
 
 (defcustom battery-mode-line-format
   (cond ((eq battery-status-function #'battery-linux-proc-acpi)
-        "[%b%p%%,%d°C]")
+        "[%b%p%%,%d°C] ")
        (battery-status-function
-        "[%b%p%%]"))
+        "[%b%p%%] "))
   "Control string formatting the string to display in the mode line.
 Ordinary characters in the control string are printed as-is, while
 conversion specifications introduced by a `%' character in the control
index 06ba5d06e729d4e16385e7684d81954f94592af5..4b194c0c0153e5b9f47eb12adca7e6b9998841be 100644 (file)
@@ -580,7 +580,7 @@ Major modes that edit things other than ordinary files may change this
 (put 'mode-line-buffer-identification 'risky-local-variable t)
 
 (defvar mode-line-misc-info
-  '((global-mode-string ("" global-mode-string " ")))
+  '((global-mode-string ("" global-mode-string)))
   "Mode line construct for miscellaneous information.
 By default, this shows the information specified by `global-mode-string'.")
 (put 'mode-line-misc-info 'risky-local-variable t)
index fd53f634c69316ddfc7ebfa749a03da3791a274a..9f25f99a149cfdcb26043b14aab15f4e2071a58a 100644 (file)
@@ -205,7 +205,8 @@ depend on `display-time-day-and-date' and `display-time-24hr-format'."
          'mouse-face 'mode-line-highlight
          'local-map (make-mode-line-mouse-map 'mouse-2
                                               read-mail-command)))
-      ""))
+      "")
+    " ")
   "List of expressions governing display of the time in the mode line.
 For most purposes, you can control the time format using `display-time-format'
 which is a more standard interface.