Commit 99139556 authored by Katsumi Yamaoka's avatar Katsumi Yamaoka
Browse files

mm-util.el (mm-ucs-to-char): Use eval-and-compile.

parent 650453a9
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
   
2010-12-09 Katsumi Yamaoka <yamaoka@jpl.org> 2010-12-09 Katsumi Yamaoka <yamaoka@jpl.org>
   
* mm-util.el (mm-ucs-to-char): Use eval-and-compile.
* shr.el (shr-image-displayer): Work for images lined side by side. * shr.el (shr-image-displayer): Work for images lined side by side.
   
2010-12-08 Robert Pluim <rpluim@gmail.com> 2010-12-08 Robert Pluim <rpluim@gmail.com>
......
...@@ -220,42 +220,43 @@ to the contents of the accessible portion of the buffer." ...@@ -220,42 +220,43 @@ to the contents of the accessible portion of the buffer."
(t 'identity)))) (t 'identity))))
;; `ucs-to-char' is a function that Mule-UCS provides. ;; `ucs-to-char' is a function that Mule-UCS provides.
(if (featurep 'xemacs) (eval-and-compile
(cond ((and (fboundp 'unicode-to-char) ;; XEmacs 21.5. (if (featurep 'xemacs)
(subrp (symbol-function 'unicode-to-char))) (cond ((and (fboundp 'unicode-to-char) ;; XEmacs 21.5.
(if (featurep 'mule) (subrp (symbol-function 'unicode-to-char)))
(defalias 'mm-ucs-to-char 'unicode-to-char) (if (featurep 'mule)
(defalias 'mm-ucs-to-char 'unicode-to-char)
(defun mm-ucs-to-char (codepoint)
"Convert Unicode codepoint to character."
(or (unicode-to-char codepoint) ?#))))
((featurep 'mule)
(defun mm-ucs-to-char (codepoint)
"Convert Unicode codepoint to character."
(if (fboundp 'ucs-to-char) ;; Mule-UCS is loaded.
(progn
(defalias 'mm-ucs-to-char
(lambda (codepoint)
"Convert Unicode codepoint to character."
(condition-case nil
(or (ucs-to-char codepoint) ?#)
(error ?#))))
(mm-ucs-to-char codepoint))
(condition-case nil
(or (int-to-char codepoint) ?#)
(error ?#)))))
(t
(defun mm-ucs-to-char (codepoint) (defun mm-ucs-to-char (codepoint)
"Convert Unicode codepoint to character." "Convert Unicode codepoint to character."
(or (unicode-to-char codepoint) ?#))))
((featurep 'mule)
(defun mm-ucs-to-char (codepoint)
"Convert Unicode codepoint to character."
(if (fboundp 'ucs-to-char) ;; Mule-UCS is loaded.
(progn
(defalias 'mm-ucs-to-char
(lambda (codepoint)
"Convert Unicode codepoint to character."
(condition-case nil
(or (ucs-to-char codepoint) ?#)
(error ?#))))
(mm-ucs-to-char codepoint))
(condition-case nil (condition-case nil
(or (int-to-char codepoint) ?#) (or (int-to-char codepoint) ?#)
(error ?#))))) (error ?#)))))
(t (if (let ((char (make-char 'japanese-jisx0208 36 34)))
(defun mm-ucs-to-char (codepoint) (eq char (decode-char 'ucs char)))
"Convert Unicode codepoint to character." ;; Emacs 23.
(condition-case nil (defalias 'mm-ucs-to-char 'identity)
(or (int-to-char codepoint) ?#) (defun mm-ucs-to-char (codepoint)
(error ?#))))) "Convert Unicode codepoint to character."
(if (let ((char (make-char 'japanese-jisx0208 36 34))) (or (decode-char 'ucs codepoint) ?#)))))
(eq char (decode-char 'ucs char)))
;; Emacs 23.
(defalias 'mm-ucs-to-char 'identity)
(defun mm-ucs-to-char (codepoint)
"Convert Unicode codepoint to character."
(or (decode-char 'ucs codepoint) ?#))))
;; Fixme: This seems always to be used to read a MIME charset, so it ;; Fixme: This seems always to be used to read a MIME charset, so it
;; should be re-named and fixed (in Emacs) to offer completion only on ;; should be re-named and fixed (in Emacs) to offer completion only on
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment