unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* Mule-UCS in 21.3 and newer
       [not found] ` <028143189f1c38-gin@mo.msk.ru>
@ 2005-09-06 19:20   ` Ilya N. Golubev
  0 siblings, 0 replies; only message in thread
From: Ilya N. Golubev @ 2005-09-06 19:20 UTC (permalink / raw)


Versions: 21.3, 21.4a

Mule-UCS, as referenced by `etc/MORE.STUFF', will not work with emacs
21.3 or 21.4a.  Worked only after patching as reproduced below, and
did not observe critical bugs in it yet.  Wrote to <mule@m17n.org>
about that on 2005-08-31, and on 2005-09-02 posted the fix.  Still
received no response to neither of messages, and it is very unlikely
to happen in the nearest future.
<http://www.m17n.org/mlarchive/mule/> that mailing list contains at
most half-dozen msgs a month, and often no one in a month, so the
mailing list appears near to dead, and patch release of mule-ucs is
very unlikely.

Perhaps you will decide to maintain its own branch of mule-ucs.
Perhaps putting the patch in `PROBLEMS' file is enough.  Anyway,
posting it.

To comments and `ChangeLog' entry may add that actually checked the
byte compilers misfeature in question.  In both emacs 20.7 and xemacs
21.4 they process `(progn progn ...)' the same way as `(progn ...)'.
In emacs 21.3, 21.4a `(progn progn ...)'  is processed just as
interpreter does, that is, as `progn' variable reference.  Never
figured what such a misfeature depends on and what version changed it.

	* mucs-ccl.el (mucs-ccl-generate-registration-program): Return
	exactly list of forms suitable for including in BODY of `progn' or
	like.  Do not rely on byte-compiler (mis-) features.

--- 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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-09-06 19:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <027a4315fa9186-gin@mo.msk.ru>
     [not found] ` <028143189f1c38-gin@mo.msk.ru>
2005-09-06 19:20   ` Mule-UCS in 21.3 and newer Ilya N. Golubev

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).