summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/international/utf-8.el6
2 files changed, 10 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2141bcd959f..66ef44650d5 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2004-08-27 Kenichi Handa <handa@m17n.org>
+
+ * international/utf-8.el (utf-8-post-read-conversion): If the
+ buffer is unibyte, temporarily make it multibyte.
+
2004-08-27 Masatake YAMATO <jet@gyve.org>
* calendar/time-date.el (time-to-seconds): Add autoload cookies.
diff --git a/lisp/international/utf-8.el b/lisp/international/utf-8.el
index bad79b58743..5a7acee0f0e 100644
--- a/lisp/international/utf-8.el
+++ b/lisp/international/utf-8.el
@@ -870,7 +870,9 @@ Also compose particular scripts if `utf-8-compose-scripts' is non-nil."
;; version of the string in the loop, since it's always loaded as
;; unibyte from a byte-compiled file.
(let ((range (string-as-multibyte "^\xc0-\xc3\xe1-\xf7"))
+ (buffer-multibyte enable-multibyte-characters)
hash-table ch)
+ (set-buffer-multibyte t)
(when utf-translate-cjk-mode
(if (not utf-translate-cjk-lang-env)
;; Check these characters:
@@ -893,7 +895,9 @@ Also compose particular scripts if `utf-8-compose-scripts' is non-nil."
(progn
(insert ch)
(delete-char 1))
- (forward-char 1)))))
+ (forward-char 1))))
+ (or buffer-multibyte
+ (set-buffer-multibyte nil)))
(when (and utf-8-compose-scripts (> length 1))
;; These currently have definitions which cover the relevant