summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/faces.el21
1 files changed, 18 insertions, 3 deletions
diff --git a/lisp/faces.el b/lisp/faces.el
index 93fd4204351..4df2d444cb3 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -2022,13 +2022,28 @@ Note: Other faces cannot inherit from the cursor face."
:group 'basic-faces)
-(defface glyph
- '((t
- :inherit secondary-selection))
+;; Make escape characters stand out in display
+
+(defface escape-glyph
+ '((t :inherit secondary-selection))
"Basic face for displaying \\ and ^ in multichar glyphs.
It is also used for ... in ellipses."
:group 'basic-faces)
+(or standard-display-table
+ ;; avoid using autoloaded make-display-table here
+ (setq standard-display-table (make-char-table 'display-table nil)))
+
+(let* ((face (lsh (face-id 'escape-glyph) 19))
+ (backslash (+ face ?\\))
+ (dot (+ face ?.)))
+ (set-char-table-extra-slot standard-display-table 2 backslash)
+ (aset standard-display-table 2208 (vector backslash ?\s))
+ (aset standard-display-table 2221 (vector backslash ?-))
+ (set-char-table-extra-slot standard-display-table 3 (+ face ?^))
+ (set-char-table-extra-slot standard-display-table 4 (vector dot dot dot)))
+
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;