changeset 50125:a9135466b161

(ucs-tables): Don't require. (latin1-display-face): New. (latin1-display-char): Use it.
author Dave Love <fx@gnu.org>
date Thu, 13 Mar 2003 23:00:49 +0000
parents d4f965eb8fd5
children 96dd6a3c9baa
files lisp/international/latin1-disp.el
diffstat 1 files changed, 19 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/international/latin1-disp.el	Thu Mar 13 18:15:07 2003 +0000
+++ b/lisp/international/latin1-disp.el	Thu Mar 13 23:00:49 2003 +0000
@@ -49,7 +49,6 @@
 
 ;; Ensure `standard-display-table' is set up:
 (require 'disp-table)
-(require 'ucs-tables)
 
 (defconst latin1-display-sets '(latin-2 latin-3 latin-4 latin-5 latin-8
 		                latin-9 arabic cyrillic greek hebrew)
@@ -66,7 +65,8 @@
 (defcustom latin1-display-format "{%s}"
   "A format string used to display the ASCII sequences.
 The default encloses the sequence in braces, but you could just use
-\"%s\" to avoid the braces."
+\"%s\" to avoid the braces, maybe with a non-default value of
+`latin1-display-face'."
   :group 'latin1-display
   :type 'string)
 
@@ -152,6 +152,12 @@
   :type 'boolean
   :group 'latin1-display)
 
+(defcustom latin1-display-face 'default
+  "Face to use for displaying substituted ASCII sequences."
+  :type 'face
+  :version "21.4"
+  :group 'latin1-display)
+
 (defun latin1-display-char (char display &optional alt-display)
   "Make an entry in `standard-display-table' for CHAR using string DISPLAY.
 If ALT-DISPLAY is provided, use that instead if
@@ -166,8 +172,17 @@
 	   latin1-display-mnemonic)
       (setq display alt-display))
   (if (stringp display)
-      (standard-display-ascii char (format latin1-display-format display))
-    (aset standard-display-table char display)))
+      (if (eq 'default latin1-display-face)
+	  (standard-display-ascii char (format latin1-display-format display))
+	(aset standard-display-table char
+	      (vconcat (mapcar (lambda (c)
+				 (logior c (lsh (face-id latin1-display-face)
+						19)))
+			       display))))
+    (aset standard-display-table char
+	  (if (eq 'default latin1-display-face)
+	      display
+	    (logior display (lsh (face-id latin1-display-face) 19))))))
 
 (defun latin1-display-identities (charset)
   "Display each character in CHARSET as the corresponding Latin-1 character.