changeset 65362:601c1d04dcb1

Show a patch for Mule-UCS to make it byte-compiled correctly.
author Kenichi Handa <handa@m17n.org>
date Thu, 08 Sep 2005 06:59:38 +0000
parents 5780229616e2
children 0d10c1ac3740
files etc/PROBLEMS
diffstat 1 files changed, 30 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/etc/PROBLEMS	Wed Sep 07 21:59:36 2005 +0000
+++ b/etc/PROBLEMS	Thu Sep 08 06:59:38 2005 +0000
@@ -903,6 +903,36 @@
 Note that Emacs has native support for Unicode, roughly equivalent to
 Mule-UCS's, so you may not need it.
 
+** Mule-UCS compilation problem.
+
+Emacs of old versions and XEmacs byte-compile the form `(progn progn
+...)' the same way as `(progn ...)', but Emacs of version 21.3 and the
+later process that form just as interpreter does, that is, as `progn'
+variable reference.  Apply the following patch to Mule-UCS 0.84 to
+make it compiled by the latest Emacs.
+
+--- mucs-ccl.el	2 Sep 2005 00:42:23 -0000	1.1.1.1
++++ mucs-ccl.el	2 Sep 2005 01:31:51 -0000	1.3
+@@ -639,10 +639,14 @@
+       (mucs-notify-embedment 'mucs-ccl-required name)
+       (setq ccl-pgm-list (cdr ccl-pgm-list)))
+ ;   (message "MCCLREGFIN:%S" result)
+-    `(progn
+-       (setq mucs-ccl-facility-alist
+-	     (quote ,mucs-ccl-facility-alist))
+-       ,@result)))
++    ;; The only way the function is used in this package is included
++    ;; in `mucs-package-definition-end-hook' value, where it must
++    ;; return (possibly empty) *list* of forms.  Do this.  Do not rely
++    ;; on byte compiler to remove extra `progn's in `(progn ...)' 
++    ;; form.
++    `((setq mucs-ccl-facility-alist
++	    (quote ,mucs-ccl-facility-alist))
++      ,@result)))
+ 
+ ;;; Add hook for embedding translation informations to a package.
+ (add-hook 'mucs-package-definition-end-hook
+
 ** Accented ISO-8859-1 characters are displayed as | or _.
 
 Try other font set sizes (S-mouse-1).  If the problem persists with