X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=emu.el;h=b6c36dcbe6746e19e1f5e895a1fc9f99cbfcea16;hb=8b0dbe5092ae30b5092d7abf96649f96635d1060;hp=030900cefa9781cf8f4f8bb00f2dcd6858f0e209;hpb=a86a169f6f8595b13d023ac870981e4503642855;p=elisp%2Fapel.git diff --git a/emu.el b/emu.el index 030900c..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,13 +74,14 @@ (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) ) (require 'poem) (require 'mcharset) +(require 'invisible) (defsubst char-list-to-string (char-list) "Convert list of character CHAR-LIST to string." @@ -97,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) "")) ) @@ -117,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) @@ -129,8 +135,8 @@ 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, -else returns nil. [emu-nemacs.el; Mule emulating function]" +On successful conversion, returns the result string, +else returns nil." (if (not (eq ic oc)) (convert-string-kanji-code str ic oc) str)) @@ -138,7 +144,7 @@ else returns nil. [emu-nemacs.el; Mule emulating function]" (defun code-convert-region (beg end ic oc) "Convert code of the text between BEGIN and END from SOURCE to TARGET. On successful conversion returns t, -else returns nil. [emu-nemacs.el; Mule emulating function]" +else returns nil." (if (/= ic oc) (save-excursion (save-restriction @@ -156,7 +162,7 @@ else returns nil. [emu-nemacs.el; Mule emulating function]" (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) @@ -192,8 +198,7 @@ It is obsolete, so don't use it.")) A buffer may be modified in several ways after reading into the buffer due to advanced Emacs features, such as file-name-handlers, format decoding, find-file-hooks, etc. - This function ensures that none of these modifications will take place. -\[emu-nemacs.el]" + This function ensures that none of these modifications will take place." (as-binary-input-file ;; Returns list absolute file name and length of data inserted. (insert-file-contents-literally filename visit beg end replace))) @@ -223,10 +228,35 @@ 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 ;;; -(provide 'emu) +(require 'product) +(product-provide (provide 'emu) (require 'apel-ver)) ;;; emu.el ends here