changeset:   4629:c83cab5a4f04d9f2c7f94946c6fbbaa9749961f6
parent:      4621:00ed9903a988de9a983c074bf0abdc667639eeaf
user:        Aidan Kehoe <kehoea(a)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(a)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(a)xemacs.o
+2009-01-31  Aidan Kehoe  <kehoea(a)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(a)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)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches