]> git.eshelyaron.com Git - emacs.git/commitdiff
Use nobreak-space on all non-ASCII whitespace characters
authorNeil Roberts <bpeeluk@yahoo.co.uk>
Fri, 30 Oct 2020 12:13:31 +0000 (13:13 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Fri, 30 Oct 2020 12:13:31 +0000 (13:13 +0100)
* doc/emacs/display.texi (Text Display): Document it.

* src/xdisp.c (get_next_display_element): Use blankp to test whether
to use the nobreak_space face (bug#44236).

doc/emacs/display.texi
etc/NEWS
src/xdisp.c

index dd2c6e2cd86bed867c4f48e6fd90f0412a3091fc..02859d522e367e9b088518e72da73098bfdf736d 100644 (file)
@@ -1608,7 +1608,8 @@ can cause problems if they are entered into a buffer without your
 realization, e.g., by yanking; for instance, source code compilers
 typically do not treat non-@acronym{ASCII} spaces as whitespace
 characters.  To deal with this problem, Emacs displays such characters
-specially: it displays @code{U+00A0} (no-break space) with the
+specially: it displays @code{U+00A0} (no-break space) and other
+characters from the Unicode horizontal space class with the
 @code{nobreak-space} face, and it displays @code{U+00AD} (soft
 hyphen), @code{U+2010} (hyphen), and @code{U+2011} (non-breaking
 hyphen) with the @code{nobreak-hyphen} face.  To disable this, change
index 8504186208c90b554ce29a9a6717d4ac089917dc..11783ef319202c76812e279b5dcb34995a620bcd 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -163,6 +163,12 @@ your init file:
     (setq frame-title-format '(multiple-frames "%b"
                               ("" invocation-name "@" system-name)))
 
++++
+** 'nobreak-char-display' now also affects all non-ASCII space characters.
+Previously, this was limited only to NO-BREAK-SPACE and hyphen
+characters.  Now it also covers the rest of the non-ASCII Unicode
+space characters.
+
 \f
 * Editing Changes in Emacs 28.1
 
index 5c80e375810439707ed28ae41628cb85917b1464..0e5dffbe00784ad9b0a3c25e5ca76a5ffb412e43 100644 (file)
@@ -7555,7 +7555,7 @@ get_next_display_element (struct it *it)
             non-ASCII spaces and hyphens specially.  */
          if (! ASCII_CHAR_P (c) && ! NILP (Vnobreak_char_display))
            {
-             if (c == NO_BREAK_SPACE)
+             if (blankp (c))
                nonascii_space_p = true;
              else if (c == SOFT_HYPHEN || c == HYPHEN
                       || c == NON_BREAKING_HYPHEN)
@@ -34747,7 +34747,8 @@ If the value is t, Emacs highlights non-ASCII chars which have the
 same appearance as an ASCII space or hyphen, using the `nobreak-space'
 or `nobreak-hyphen' face respectively.
 
-U+00A0 (no-break space), U+00AD (soft hyphen), U+2010 (hyphen), and
+All of the non-ASCII characters in the Unicode horizontal whitespace
+character class, as well as U+00AD (soft hyphen), U+2010 (hyphen), and
 U+2011 (non-breaking hyphen) are affected.
 
 Any other non-nil value means to display these characters as an escape