commit: Display control characters using carets, invalid-sequence-coding-system

Aidan Kehoe aidan-guest at alioth.debian.org
Sat Jan 31 12:42:24 EST 2009


changeset:   4590:c83cab5a4f04d9f2c7f94946c6fbbaa9749961f6
parent:      4582:00ed9903a988de9a983c074bf0abdc667639eeaf
user:        Aidan Kehoe <kehoea at parhasard.net>
date:        Sat Jan 31 17:38:07 2009 +0000
files:       lisp/ChangeLog lisp/mule/mule-cmds.el
description:
Display control characters using carets, invalid-sequence-coding-system

2009-01-31  Aidan Kehoe  <kehoea at parhasard.net>

	* mule/mule-cmds.el (finish-set-language-environment):
	Treat control characters specially in the
	invalid-sequence-coding-system handling, display them using the
	caret notation.


diff -r 00ed9903a988de9a983c074bf0abdc667639eeaf -r c83cab5a4f04d9f2c7f94946c6fbbaa9749961f6 lisp/ChangeLog
--- a/lisp/ChangeLog	Sun Jan 18 12:56:51 2009 +0000
+++ b/lisp/ChangeLog	Sat Jan 31 17:38:07 2009 +0000
@@ -1,3 +1,10 @@ 2009-01-18  Ville Skyttä  <scop at xemacs.o
+2009-01-31  Aidan Kehoe  <kehoea at parhasard.net>
+
+	* mule/mule-cmds.el (finish-set-language-environment): 
+	Treat control characters specially in the
+	invalid-sequence-coding-system handling, display them using the
+	caret notation. 
+
 2009-01-18  Ville Skyttä  <scop at xemacs.org>
 
 	* font.el (font-*-p): Docstring spelling fix.
diff -r 00ed9903a988de9a983c074bf0abdc667639eeaf -r c83cab5a4f04d9f2c7f94946c6fbbaa9749961f6 lisp/mule/mule-cmds.el
--- a/lisp/mule/mule-cmds.el	Sun Jan 18 12:56:51 2009 +0000
+++ b/lisp/mule/mule-cmds.el	Sat Jan 31 17:38:07 2009 +0000
@@ -771,17 +771,18 @@ the language environment for the major l
   (let ((invalid-sequence-coding-system
          (get-language-info language-name 'invalid-sequence-coding-system))
         (disp-table (specifier-instance current-display-table))
-        glyph)
+        glyph string)
     (when (consp invalid-sequence-coding-system)
       (setq invalid-sequence-coding-system
             (car invalid-sequence-coding-system)))
     (map-char-table
      #'(lambda (key entry)
-         (setq glyph (make-glyph
-                      (vector
-                       'string :data
-                       (decode-coding-string (string entry)
-                                             invalid-sequence-coding-system))))
+         (setq string (decode-coding-string (string entry)
+                                            invalid-sequence-coding-system))
+         ;; Treat control characters specially:
+         (when (string-match "^[\x00-\x1f\x80-\x9f]$" string)
+           (setq string (format "^%c" (+ ?@ (aref string 0)))))
+         (setq glyph (make-glyph (vector 'string :data string)))
          (set-glyph-face glyph 'unicode-invalid-sequence-warning-face)
          (put-char-table key glyph disp-table)
          nil)





More information about the XEmacs-Patches mailing list