X-Git-Url: http://git.chise.org/gitweb/?p=elisp%2Fapel.git;a=blobdiff_plain;f=emu.el;h=b6c36dcbe6746e19e1f5e895a1fc9f99cbfcea16;hp=d610c53997ed149aed883f7e8f47857a403bfee7;hb=8b0dbe5092ae30b5092d7abf96649f96635d1060;hpb=8ea0cf57c248b6a4ba2f73288cc1b7cad582e171 diff --git a/emu.el b/emu.el index d610c53..b6c36dc 100644 --- a/emu.el +++ b/emu.el @@ -3,7 +3,7 @@ ;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc. ;; Author: MORIOKA Tomohiko -;; Keywords: emulation, compatibility, NEmacs, MULE, Emacs/mule, XEmacs +;; Keywords: emulation, compatibility, Nemacs, MULE, Emacs/mule, XEmacs ;; This file is part of emu. @@ -19,8 +19,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Code: @@ -74,7 +74,7 @@ (defalias 'tl:overlay-put 'overlay-put) (make-obsolete 'tl:overlay-put 'overlay-put) ) -(unless (fboundp 'tl:overlay-put) +(unless (fboundp 'tl:overlay-buffer) (defalias 'tl:overlay-buffer 'overlay-buffer) (make-obsolete 'tl:overlay-buffer 'overlay-buffer) ) @@ -98,7 +98,12 @@ CHAR can be any multilingual character TABLE defaults to the current buffer's category table." (mapconcat (lambda (chr) - (char-to-string (int-char chr))) + (if (integerp chr) + (char-to-string (int-char chr)) + (char-to-string chr))) + ;; `char-category-list' returns a list of + ;; characters in XEmacs 21.2.25 and later, + ;; otherwise integers. (char-category-list character) "")) ) @@ -118,7 +123,7 @@ TABLE defaults to the current buffer's category table." )) ) ((boundp 'NEMACS) - ;; for NEmacs and NEpoch + ;; for Nemacs and Nepoch ;; old MULE emulation (defconst *noconv* 0) @@ -130,7 +135,7 @@ TABLE defaults to the current buffer's category table." (defun code-convert-string (str ic oc) "Convert code in STRING from SOURCE code to TARGET code, -On successful converion, returns the result string, +On successful conversion, returns the result string, else returns nil." (if (not (eq ic oc)) (convert-string-kanji-code str ic oc) @@ -157,7 +162,7 @@ else returns nil." (defun code-convert-string (str ic oc) "Convert code in STRING from SOURCE code to TARGET code, -On successful converion, returns the result string, +On successful conversion, returns the result string, else returns nil. [emu-latin1.el; old MULE emulating function]" str) @@ -223,6 +228,30 @@ find-file-hooks, etc. (autoload 'enriched-decode "tinyrich") )) +(if (or (and (eq emacs-major-version 19) + (>= emacs-minor-version (if (featurep 'xemacs) 14 29))) + (and (eq emacs-major-version 20) + (< emacs-minor-version (if (featurep 'xemacs) 3 1)))) + (eval-after-load "enriched" + '(if (fboundp 'si:enriched-encode) + nil + (fset 'si:enriched-encode (symbol-function 'enriched-encode)) + (defun enriched-encode (from to &optional orig-buf) + (let* ((si:enriched-initial-annotation enriched-initial-annotation) + (enriched-initial-annotation + (if (stringp si:enriched-initial-annotation) + si:enriched-initial-annotation + (function + (lambda () + (save-excursion + ;; Eval this in the buffer we are annotating. This + ;; fixes a bug which was saving incorrect File-Width + ;; information, since we were looking at local + ;; variables in the wrong buffer. + (if orig-buf (set-buffer orig-buf)) + (funcall si:enriched-initial-annotation))))))) + (si::enriched-encode from to)))))) + ;;; @ end ;;;