changeset 35154:e459e9bee789

(make-coding-system): If the coding system accepts extra latin codes, register such codes as safe for the coding system.
author Kenichi Handa <handa@m17n.org>
date Tue, 09 Jan 2001 02:30:03 +0000
parents ac15dde5f6a3
children 9e39c86c678b
files lisp/international/mule.el
diffstat 1 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/international/mule.el	Tue Jan 09 02:29:21 2001 +0000
+++ b/lisp/international/mule.el	Tue Jan 09 02:30:03 2001 +0000
@@ -716,6 +716,7 @@
   (let ((coding-spec (make-vector 5 nil))
 	(no-initial-designation t)
 	(no-alternative-designation t)
+	(accept-latin-extra-code nil)
 	coding-category)
     (if (or (not (integerp type)) (< type 0) (> type 5))
 	(error "TYPE argument must be 0..5"))
@@ -763,6 +764,9 @@
 	       (setq fl (cdr fl) i (1+ i)))
 	     (while (and (< i 32) fl)
 	       (aset vec i (car fl))
+	       (if (and (= i 16)	; ACCEPT-LATIN-EXTRA-CODE
+			(car fl))
+		   (setq accept-latin-extra-code t))
 	       (setq fl (cdr fl) i (1+ i)))
 	     (aset coding-spec 4 vec)
 	     (setq coding-category
@@ -839,7 +843,13 @@
 			     (aset safe-chars i t)
 			     (setq i (1+ i)))))
 			(t
-			 (aset safe-chars (make-char charset) t)))))
+			 (aset safe-chars (make-char charset) t))))
+		(if accept-latin-extra-code
+		    (let ((i 128))
+		      (while (< i 160)
+			(if (aref latin-extra-code-table i)
+			    (aset safe-chars i t))
+			(setq i (1+ i))))))
 	      (setq l (cons (cons 'safe-chars safe-chars) l))))
 	(while l
 	  (setq prop (car (car l)) val (cdr (car l)) l (cdr l))