diff options
author | Karoly Lorentey <lorentey@elte.hu> | 2005-11-01 06:23:08 +0000 |
---|---|---|
committer | Karoly Lorentey <lorentey@elte.hu> | 2005-11-01 06:23:08 +0000 |
commit | cd0cf71c4f41023a8d9c20b3a26e44b980992b5a (patch) | |
tree | b763cfec551254e2228335be4e218ed7a9a19109 /lisp/international | |
parent | c40bb1ba81a5df164f0b9b61e3480c55808717b7 (diff) | |
parent | 895725e10c0fb68ed21abb48183cc8843bcaadf3 (diff) | |
download | emacs-cd0cf71c4f41023a8d9c20b3a26e44b980992b5a.tar.gz |
Merged from miles@gnu.org--gnu-2005 (patch 142-148, 615-628)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-615
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-616
Add lisp/mh-e/.arch-inventory
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-617
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-618
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-619
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-620
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-621
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-622
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-623
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-624
Update from CVS: lisp/smerge-mode.el: Add 'tools' to file keywords.
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-625
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-626
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-627
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-628
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-142
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-143
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-144
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-145
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-146
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-147
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-148
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-435
Diffstat (limited to 'lisp/international')
-rw-r--r-- | lisp/international/mule.el | 4 | ||||
-rw-r--r-- | lisp/international/quail.el | 32 | ||||
-rw-r--r-- | lisp/international/utf-7.el | 1 |
3 files changed, 31 insertions, 6 deletions
diff --git a/lisp/international/mule.el b/lisp/international/mule.el index d51d871abe8..20bf5696f2e 100644 --- a/lisp/international/mule.el +++ b/lisp/international/mule.el @@ -85,7 +85,9 @@ 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 + ;; This is compatible with what `load' does. + (if purify-flag file fullname) ;; If this Emacs is running with --unibyte, ;; convert multibyte strings to unibyte ;; after reading them. diff --git a/lisp/international/quail.el b/lisp/international/quail.el index 0f9cc8f231d..3998764957e 100644 --- a/lisp/international/quail.el +++ b/lisp/international/quail.el @@ -1598,13 +1598,21 @@ Quail map for the sequence." (or (and (consp def) (aref (cdr def) (car (car def)))) def (and (> len 1) - (let ((str (quail-get-current-str - (1- len) - (quail-map-definition (quail-lookup-key - quail-current-key (1- len)))))) + (let* ((str (quail-get-current-str + (1- len) + (quail-map-definition (quail-lookup-key + quail-current-key (1- len))))) + (substr1 (substring quail-current-key (1- len) len)) + (str1 (and (quail-deterministic) + (quail-get-current-str + 1 + (quail-map-definition (quail-lookup-key + substr1 1)))))) (if str (concat (if (stringp str) str (char-to-string str)) - (substring quail-current-key (1- len) len))))))) + (if str1 + (if (stringp str1) str1 (char-to-string str1)) + substr1))))))) (defvar quail-guidance-translations-starting-column 20) @@ -1720,6 +1728,20 @@ sequence counting from the head." ;; And, we can terminate the current translation. t) + ((quail-deterministic) + ;; No way to handle the last character in this context. + ;; Commit the longest successfully translated characters, and + ;; handle the remaining characters in a new loop. + (setq def nil) + (while (and (not def) (> len 1)) + (setq len (1- len)) + (setq def (quail-map-definition + (quail-lookup-key quail-current-key len)))) + (if def (setq quail-current-str + (quail-get-current-str len def)) + (setq quail-current-str (aref quail-current-key 0))) + len) + (t ;; No way to handle the last character in this context. (setq def (quail-map-definition diff --git a/lisp/international/utf-7.el b/lisp/international/utf-7.el index 6340dafc12a..68d77123cde 100644 --- a/lisp/international/utf-7.el +++ b/lisp/international/utf-7.el @@ -36,6 +36,7 @@ ;;; Code: +;;;###autoload(autoload-coding-system 'utf-7 '(require 'utf-7)) (make-coding-system 'utf-7 0 ?U "UTF-7 encoding of Unicode (RFC 2152)" |