X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=poem.el;h=70ef7be0c03603b340e31339b9719ed2a54fa3b6;hb=4426be092c80a2e8c8113ccb1e696743d6210263;hp=01dad14aed560d45a614583c9e8695d642db4d51;hpb=0df64d3b6ef5ae5212fd59ee13dd5f044b378ba6;p=elisp%2Fapel.git diff --git a/poem.el b/poem.el index 01dad14..70ef7be 100644 --- a/poem.el +++ b/poem.el @@ -1,6 +1,6 @@ -;;; poem.el --- Portable Outfit for Emacsen: about MULE API +;;; poem.el --- Emulate latest MULE features; -*-byte-compile-dynamic: t;-*- -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,1999 Free Software Foundation, Inc. ;; Author: MORIOKA Tomohiko ;; Keywords: emulation, compatibility, Mule @@ -19,12 +19,12 @@ ;; 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: -(require 'poe) +(require 'pces) (cond ((featurep 'mule) (cond ((featurep 'xemacs) @@ -50,35 +50,57 @@ ;;; @ Emacs 20.3 emulation ;;; -(defmacro-maybe string-as-unibyte (string) +(defsubst-maybe string-as-unibyte (string) "Return a unibyte string with the same individual bytes as STRING. If STRING is unibyte, the result is STRING itself. \[Emacs 20.3 emulating macro]" string) -(defmacro-maybe string-as-multibyte (string) +(defsubst-maybe string-as-multibyte (string) "Return a multibyte string with the same individual bytes as STRING. If STRING is multibyte, the result is STRING itself. \[Emacs 20.3 emulating macro]" string) +(defun-maybe charset-after (&optional pos) + "Return charset of a character in current buffer at position POS. +If POS is nil, it defaults to the current point. +If POS is out of range, the value is nil. +\[Emacs 20.3 emulating function]" + (char-charset (char-after pos)) + ) -;;; @ XEmacs 20 emulation +;;; @ XEmacs-mule emulation ;;; -(or (fboundp 'char-int) - (fset 'char-int (symbol-function 'identity))) +(defalias-maybe 'char-int 'identity) -(or (fboundp 'int-char) - (fset 'int-char (symbol-function 'identity))) +(defalias-maybe 'int-char 'identity) -(or (fboundp 'char-or-char-int-p) - (fset 'char-or-char-int-p (symbol-function 'integerp))) +(defalias-maybe 'characterp + (cond + ((fboundp 'char-valid-p) 'char-valid-p) + (t 'integerp))) + +(defalias-maybe 'char-or-char-int-p + (cond + ((fboundp 'char-valid-p) 'char-valid-p) + (t 'integerp))) + +(defun-maybe char-octet (ch &optional n) + "Return the octet numbered N (should be 0 or 1) of char CH. +N defaults to 0 if omitted. [XEmacs-mule emulating function]" + (or (nth (if n + (1+ n) + 1) + (split-char ch)) + 0)) ;;; @ end ;;; -(provide 'poem) +(require 'product) +(product-provide (provide 'poem) (require 'apel-ver)) ;;; poem.el ends here