summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1998-04-20 07:08:17 +0000
committerRichard M. Stallman <rms@gnu.org>1998-04-20 07:08:17 +0000
commit88162676bc7db9d2ed94600658d15d1ba937850e (patch)
treee59c5639ada0e726756a507cb9c2a46f2e6a4e05 /lisp
parent8f3642a4ce3d22b48cbe4d9b044663f86267f64c (diff)
downloademacs-88162676bc7db9d2ed94600658d15d1ba937850e.tar.gz
emacs-88162676bc7db9d2ed94600658d15d1ba937850e.tar.bz2
emacs-88162676bc7db9d2ed94600658d15d1ba937850e.zip
(load-with-code-conversion):
Undo previous change. Instead, pass the UNIBYTE arg to eval-buffer.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/international/mule.el13
1 files changed, 11 insertions, 2 deletions
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 3ffb5d982a5..47c5816fc0f 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -45,7 +45,12 @@ Return t if file exists."
(let* ((buffer
;; To avoid any autoloading, set default-major-mode to
;; fundamental-mode.
- (let ((default-major-mode 'fundamental-mode))
+ ;; So that we don't get completely screwed if the
+ ;; file is encoded in some complicated character set,
+ ;; read it with real decoding, as a multibyte buffer,
+ ;; even if this is a --unibyte Emacs session.
+ (let ((default-major-mode 'fundamental-mode)
+ (default-enable-multibyte-characters t))
;; We can't use `generate-new-buffer' because files.el
;; is not yet loaded.
(get-buffer-create (generate-new-buffer-name " *load*"))))
@@ -66,7 +71,11 @@ Return t if file exists."
;; Make `kill-buffer' quiet.
(set-buffer-modified-p nil))
;; Have the original buffer current while we eval.
- (eval-buffer buffer nil file))
+ (eval-buffer buffer nil file
+ ;; If this Emacs is running with --unibyte,
+ ;; convert multibyte strings to unibyte
+ ;; after reading them.
+ (not default-enable-multibyte-characters)))
(let (kill-buffer-hook kill-buffer-query-functions)
(kill-buffer buffer)))
(let ((hook (assoc file after-load-alist)))