aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2008-04-03 03:53:24 +0000
committerKenichi Handa2008-04-03 03:53:24 +0000
commite38bd11b607c699e49f19d87d315030b849cf182 (patch)
tree9615e33a170712e6e6d280176019639d409de684
parente0f0f3efb4fdedbb040968eba953d433816585bc (diff)
downloademacs-e38bd11b607c699e49f19d87d315030b849cf182.tar.gz
emacs-e38bd11b607c699e49f19d87d315030b849cf182.zip
(latin1-display): Don't use
make-char. Fix the argument to set-char-table-range. (latin1-display-identities): Don't use make-char. (latin1-display-reset): Use map-charset-chars instead of directly calling standard-display-default. (latin1-display-check-font): Don't use make-char. (latin1-display-setup): Likewise. (latin1-display-ucs-per-lynx): Likewise.
-rw-r--r--lisp/ChangeLog11
-rw-r--r--lisp/international/latin1-disp.el33
2 files changed, 27 insertions, 17 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d7ef6135529..dc8f5017185 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,14 @@
12008-04-03 Kenichi Handa <handa@m17n.org>
2
3 * international/latin1-disp.el (latin1-display): Don't use
4 make-char. Fix the argument to set-char-table-range.
5 (latin1-display-identities): Don't use make-char.
6 (latin1-display-reset): Use map-charset-chars instead of directly
7 calling standard-display-default.
8 (latin1-display-check-font): Don't use make-char.
9 (latin1-display-setup): Likewise.
10 (latin1-display-ucs-per-lynx): Likewise.
11
12008-04-03 Stefan Monnier <monnier@iro.umontreal.ca> 122008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
2 13
3 * emacs-lisp/timer.el (timer): Define as a defstruct, so we can 14 * emacs-lisp/timer.el (timer): Define as a defstruct, so we can
diff --git a/lisp/international/latin1-disp.el b/lisp/international/latin1-disp.el
index 26e1a699e45..a2119ad62c3 100644
--- a/lisp/international/latin1-disp.el
+++ b/lisp/international/latin1-disp.el
@@ -105,8 +105,7 @@ display for all of `latin1-display-sets'. See also
105 (if sets 105 (if sets
106 (progn 106 (progn
107 (mapc #'latin1-display-setup sets) 107 (mapc #'latin1-display-setup sets)
108 (unless (char-displayable-p 108 (unless (char-displayable-p #x101) ; a with macron
109 (make-char 'mule-unicode-0100-24ff 32 33))
110 ;; Extra stuff for windows-1252, in particular. 109 ;; Extra stuff for windows-1252, in particular.
111 (mapc 110 (mapc
112 (lambda (l) 111 (lambda (l)
@@ -126,8 +125,8 @@ display for all of `latin1-display-sets'. See also
126 ))) 125 )))
127 (setq latin1-display t)) 126 (setq latin1-display t))
128 (mapc #'latin1-display-reset latin1-display-sets) 127 (mapc #'latin1-display-reset latin1-display-sets)
129 (set-char-table-range standard-display-table '(#x0100 #x33FF) nil) 128 (set-char-table-range standard-display-table '(#x0100 . #x33FF) nil)
130 (set-char-table-range standard-display-table '(#xE000 #xFFFF) nil) 129 (set-char-table-range standard-display-table '(#xE000 . #xFFFF) nil)
131 (setq latin1-display nil) 130 (setq latin1-display nil)
132 (redraw-display))) 131 (redraw-display)))
133 132
@@ -172,13 +171,12 @@ CHARSET is a symbol which is the nickname of a language environment
172using an ISO8859 character set." 171using an ISO8859 character set."
173 (if (eq charset 'cyrillic) 172 (if (eq charset 'cyrillic)
174 (setq charset 'cyrillic-iso)) 173 (setq charset 'cyrillic-iso))
175 (let ((i 32) 174 (let ((i 128)
176 (set (car (remq 'ascii (get-language-info charset 'charset))))) 175 (set (car (remq 'ascii (get-language-info charset 'charset)))))
177 (while (<= i 127) 176 (while (<= i 255)
178 (let ((ch (decode-char set (+ i 128)))) 177 (let ((ch (decode-char set i)))
179 (if ch 178 (if ch
180 (aset standard-display-table ch 179 (aset standard-display-table ch (vector i))))
181 (vector (make-char 'latin-iso8859-1 i)))))
182 (setq i (1+ i))))) 180 (setq i (1+ i)))))
183 181
184(defun latin1-display-reset (language) 182(defun latin1-display-reset (language)
@@ -191,8 +189,9 @@ character set."
191 'arabic-iso8859-6 189 'arabic-iso8859-6
192 (car (remq 'ascii (get-language-info language 190 (car (remq 'ascii (get-language-info language
193 'charset)))))) 191 'charset))))))
194 (standard-display-default (make-char charset 32) 192 (map-charset-chars #'(lambda (range arg)
195 (make-char charset 127))) 193 (standard-display-default (car range) (cdr range)))
194 charset))
196 (sit-for 0)) 195 (sit-for 0))
197 196
198(defun latin1-display-check-font (language) 197(defun latin1-display-check-font (language)
@@ -202,7 +201,7 @@ character set: `latin-2', `hebrew' etc."
202 (if (eq language 'cyrillic) 201 (if (eq language 'cyrillic)
203 (setq language 'cyrillic-iso)) 202 (setq language 'cyrillic-iso))
204 (let* ((info (get-language-info language 'charset)) 203 (let* ((info (get-language-info language 'charset))
205 (char (and info (make-char (car (remq 'ascii info)) ?\ )))) 204 (char (and info (decode-char (car (remq 'ascii info)) ?\ ))))
206 (and char (char-displayable-p char)))) 205 (and char (char-displayable-p char))))
207 206
208;; Backwards compatibility. 207;; Backwards compatibility.
@@ -532,9 +531,10 @@ is. If FORCE is non-nil, set up the display regardless."
532 ;; missing some glyphs.) 531 ;; missing some glyphs.)
533 (let ((i 34)) 532 (let ((i 34))
534 (while (<= i 62) 533 (while (<= i 62)
535 (aset standard-display-table 534 (let ((ch (decode-char 'hebrew-iso8859-8 i)))
536 (make-char 'hebrew-iso8859-8 i) 535 (if ch
537 (vector (make-char 'latin-iso8859-1 i))) 536 (aset standard-display-table ch
537 (vector (decode-char 'latin-iso8859-1 i)))))
538 (setq i (1+ i)))) 538 (setq i (1+ i))))
539 (mapc 539 (mapc
540 (lambda (l) 540 (lambda (l)
@@ -767,8 +767,7 @@ turn it off and display Unicode characters literally. The display
767isn't changed if the display can render Unicode characters." 767isn't changed if the display can render Unicode characters."
768 (interactive "p") 768 (interactive "p")
769 (if (> arg 0) 769 (if (> arg 0)
770 (unless (char-displayable-p 770 (unless (char-displayable-p #x101) ; a with macron
771 (make-char 'mule-unicode-0100-24ff 32 33))
772 ;; It doesn't look as though we have a Unicode font. 771 ;; It doesn't look as though we have a Unicode font.
773 (let ((latin1-display-format "%s")) 772 (let ((latin1-display-format "%s"))
774 (mapc 773 (mapc