diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2016-10-16 18:48:19 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2016-10-16 22:51:51 -0700 |
commit | c06a518b5b0706509252abb03875867b10a92fc7 (patch) | |
tree | 06f34f07e642dff4b7c614b55e2fefb96f2c332a | |
parent | 032a299b0ed25f067f4133c547a822b283bc4cb8 (diff) | |
download | emacs-c06a518b5b0706509252abb03875867b10a92fc7.tar.gz |
New face homoglyph
Suggested by Eli Zaretskii, from a feature request by
Alan Mackenzie (Bug#24468).
* doc/emacs/display.texi (Standard Faces, Text Display):
* etc/NEWS: Document this.
* etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
* etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
* etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
* etc/themes/wombat-theme.el:
Customize homoglyph to be the same as escape-glyph.
* lisp/cus-theme.el (custom-theme--listed-faces):
Add homoglyph.
* lisp/faces.el (homoglyph): New face.
* lisp/startup.el (startup--setup-quote-display): Use it.
-rw-r--r-- | doc/emacs/display.texi | 10 | ||||
-rw-r--r-- | etc/NEWS | 4 | ||||
-rw-r--r-- | etc/themes/dichromacy-theme.el | 1 | ||||
-rw-r--r-- | etc/themes/leuven-theme.el | 1 | ||||
-rw-r--r-- | etc/themes/light-blue-theme.el | 1 | ||||
-rw-r--r-- | etc/themes/manoj-dark-theme.el | 1 | ||||
-rw-r--r-- | etc/themes/tango-dark-theme.el | 1 | ||||
-rw-r--r-- | etc/themes/tango-theme.el | 1 | ||||
-rw-r--r-- | etc/themes/wombat-theme.el | 1 | ||||
-rw-r--r-- | lisp/cus-theme.el | 3 | ||||
-rw-r--r-- | lisp/faces.el | 8 | ||||
-rw-r--r-- | lisp/startup.el | 2 |
12 files changed, 29 insertions, 5 deletions
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 738d72d046a..492dfc6afd5 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -657,6 +657,10 @@ Whitespace}). @item escape-glyph The face for displaying control characters and escape sequences (@pxref{Text Display}). +@item homoglyph +The face for displaying lookalike characters, i.e., characters that +look like but are not the characters being represented +(@pxref{Text Display}). @item nobreak-space The face for displaying no-break space characters (@pxref{Text Display}). @@ -1520,12 +1524,12 @@ for details. @cindex curly quotes @cindex curved quotes -@cindex escape-glyph face +@cindex homoglyph face If the curved quotes @samp{‘}, @samp{’}, @samp{“}, and @samp{”} are known to look just like @acronym{ASCII} characters, they are shown -with the @code{escape-glyph} face. Curved quotes that cannot be +with the @code{homoglyph} face. Curved quotes that cannot be displayed are shown as their @acronym{ASCII} approximations @samp{`}, -@samp{'}, and @samp{"} with the @code{escape-glyph} face. +@samp{'}, and @samp{"} with the @code{homoglyph} face. @node Cursor Display @section Displaying the Cursor @@ -115,6 +115,10 @@ to control whether to suggest shorter 'M-x' commands or not. ** Non-breaking hyphens are now displayed with the 'nobreak-hyphen' face instead of the 'escape-glyph' face. ++++ +** Approximations to quotes are now displayed with the new 'homoglyph' +face instead of the 'escape-glyph' face. + --- ** 'C-x h' ('mark-whole-buffer') will now avoid marking the prompt part of minibuffers. diff --git a/etc/themes/dichromacy-theme.el b/etc/themes/dichromacy-theme.el index f8fae70c51b..1e7c5099938 100644 --- a/etc/themes/dichromacy-theme.el +++ b/etc/themes/dichromacy-theme.el @@ -60,6 +60,7 @@ Ansi-Color faces are included.") ;; Escape and prompt faces `(minibuffer-prompt ((,class (:weight bold :foreground ,blue)))) `(escape-glyph ((,class (:foreground ,vermillion)))) + `(homoglyph ((,class (:foreground ,vermillion)))) `(error ((,class (:weight bold :slant italic :foreground ,vermillion)))) `(warning ((,class (:foreground ,orange)))) diff --git a/etc/themes/leuven-theme.el b/etc/themes/leuven-theme.el index 75635eb076d..19d5561e748 100644 --- a/etc/themes/leuven-theme.el +++ b/etc/themes/leuven-theme.el @@ -119,6 +119,7 @@ Semantic, and Ansi-Color faces are included -- and much more...") `(minibuffer-prompt ((,class (:weight bold :foreground "black" :background "gold")))) `(minibuffer-noticeable-prompt ((,class (:weight bold :foreground "black" :background "gold")))) `(escape-glyph ((,class (:foreground "#008ED1")))) + `(homoglyph ((,class (:foreground "#008ED1")))) `(error ((,class (:foreground "red")))) `(warning ((,class (:weight bold :foreground "orange")))) `(success ((,class (:foreground "green")))) diff --git a/etc/themes/light-blue-theme.el b/etc/themes/light-blue-theme.el index 8c80a6658d0..a2ed71ae641 100644 --- a/etc/themes/light-blue-theme.el +++ b/etc/themes/light-blue-theme.el @@ -48,6 +48,7 @@ `(mode-line-inactive ((,class (:inherit mode-line :background "LightGray" :foreground "grey20" :box (:line-width -1 :color "grey75") :weight light)))) ;; Escape and prompt faces `(escape-glyph ((,class (:background "gold" :foreground "blue" :box (:line-width 1 :color "blue" :style released-button))))) + `(homoglyph ((,class (:background "gold" :foreground "blue" :box (:line-width 1 :color "blue" :style released-button))))) ;; Font lock faces `(font-lock-builtin-face ((,class (:foreground "#b35caf")))) `(font-lock-constant-face ((,class (:foreground "#00006DE06DE0")))) diff --git a/etc/themes/manoj-dark-theme.el b/etc/themes/manoj-dark-theme.el index b5120209d4d..549d11b0bb2 100644 --- a/etc/themes/manoj-dark-theme.el +++ b/etc/themes/manoj-dark-theme.el @@ -482,6 +482,7 @@ jarring angry fruit salad look to reduce eye fatigue.") '(epa-validity-medium ((t (:italic t :foreground "PaleTurquoise" :slant italic)))) '(escape-glyph ((t (:foreground "cyan")))) + '(homoglyph ((t (:foreground "cyan")))) '(eshell-ls-archive-face ((t (:bold t :foreground "IndianRed")))) '(eshell-ls-backup-face ((t (:foreground "Grey")))) diff --git a/etc/themes/tango-dark-theme.el b/etc/themes/tango-dark-theme.el index 9ef0276a894..407c79badf9 100644 --- a/etc/themes/tango-dark-theme.el +++ b/etc/themes/tango-dark-theme.el @@ -78,6 +78,7 @@ Semantic, and Ansi-Color faces are included.") ;; Escape and prompt faces `(minibuffer-prompt ((,class (:foreground ,cham-0)))) `(escape-glyph ((,class (:foreground ,butter-3)))) + `(homoglyph ((,class (:foreground ,butter-3)))) `(error ((,class (:foreground ,red-0)))) `(warning ((,class (:foreground ,orange-1)))) `(success ((,class (:foreground ,cham-1)))) diff --git a/etc/themes/tango-theme.el b/etc/themes/tango-theme.el index cda546b8f12..a2d7c849c54 100644 --- a/etc/themes/tango-theme.el +++ b/etc/themes/tango-theme.el @@ -66,6 +66,7 @@ Semantic, and Ansi-Color faces are included.") ;; Escape and prompt faces `(minibuffer-prompt ((,class (:weight bold :foreground ,blue-3)))) `(escape-glyph ((,class (:foreground ,red-3)))) + `(homoglyph ((,class (:foreground ,red-3)))) `(error ((,class (:foreground ,red-3)))) `(warning ((,class (:foreground ,orange-3)))) `(success ((,class (:foreground ,cham-3)))) diff --git a/etc/themes/wombat-theme.el b/etc/themes/wombat-theme.el index 08ae12f2b13..6768cce08ae 100644 --- a/etc/themes/wombat-theme.el +++ b/etc/themes/wombat-theme.el @@ -46,6 +46,7 @@ are included.") ;; Escape and prompt faces `(minibuffer-prompt ((,class (:foreground "#e5786d")))) `(escape-glyph ((,class (:foreground "#ddaa6f" :weight bold)))) + `(homoglyph ((,class (:foreground "#ddaa6f" :weight bold)))) ;; Font lock faces `(font-lock-builtin-face ((,class (:foreground "#e5786d")))) `(font-lock-comment-face ((,class (:foreground "#99968b")))) diff --git a/lisp/cus-theme.el b/lisp/cus-theme.el index 3160e23d9e0..5a20b8ef671 100644 --- a/lisp/cus-theme.el +++ b/lisp/cus-theme.el @@ -61,7 +61,8 @@ Do not call this mode function yourself. It is meant for internal use." (defvar custom-theme-insert-face-marker nil) (defvar custom-theme--listed-faces '(default cursor fixed-pitch - variable-pitch escape-glyph minibuffer-prompt highlight region + variable-pitch escape-glyph homoglyph + minibuffer-prompt highlight region shadow secondary-selection trailing-whitespace font-lock-builtin-face font-lock-comment-delimiter-face font-lock-comment-face font-lock-constant-face diff --git a/lisp/faces.el b/lisp/faces.el index 15090e1f94a..d6ec98b9782 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -2470,6 +2470,14 @@ If you set `term-file-prefix' to nil, this function does nothing." :group 'basic-faces :version "22.1") +(defface homoglyph + '((((background dark)) :foreground "cyan") + (((type pc)) :foreground "magenta") + (t :foreground "brown")) + "Face for lookalike characters." + :group 'basic-faces + :version "25.2") + (defface nobreak-space '((((class color) (min-colors 88)) :inherit escape-glyph :underline t) (((class color) (min-colors 8)) :background "magenta") diff --git a/lisp/startup.el b/lisp/startup.el index d5225bdcb30..4a04f9c2d1b 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -870,7 +870,7 @@ If STYLE is nil, display appropriately for the terminal." (if repl (aset (or standard-display-table (setq standard-display-table (make-display-table))) - char (vector (make-glyph-code repl 'escape-glyph))) + char (vector (make-glyph-code repl 'homoglyph))) (when standard-display-table (aset standard-display-table char nil))))))) |