Ar an triochadú lá de mí na Samhain, scríobh Stephen J. Turnbull:
Looks like it's probably related to your work, Aidan. Please
Won’t get to committing it until this evening or tomorrow, but for
reference, here’s a fix.
--- fsf-compat-unicode.el~ 2006-11-30 10:26:10.453125000 +0100
+++ fsf-compat-unicode.el 2006-11-30 10:28:36.515625000 +0100
＠＠ -34,14 +34,44 ＠＠
(encode-char (decode-char 'ucs #x31C) 'ucs))))
(error "Unicode support needed for this file not available!"))
- ((r1 = (r1 << 8))
- (r1 = (r1 | r2))
- (mule-to-unicode r0 r1)
- (r1 = (r0 >> 8))
- (r2 = (r0 & 255))))
- "CCL program to transform Mule characters to UCS-2.")
+ (and (> emacs-major-version 20)
+ (> emacs-minor-version 4)
+ (featurep 'mule)))
+ ;; If we're being compiled by 21.5, use the actual define-ccl-program
+ ;; macro, but evaluated at runtime.
+ ;; Having this as
+ ;; (eval-when-compile (and (featurep 'mule) (macroexpand
+ ;; '(define-ccl-program ...))
+ ;; in order to have the macro evaluated at compile time, results
+ ;; in the statement being empty in the compiled file, which as I
+ ;; understand it is a bug.
+ '(define-ccl-program fsf-compat-ccl-encode-to-ucs-2
+ ((r1 = (r1 << 8))
+ (r1 = (r1 | r2))
+ (mule-to-unicode r0 r1)
+ (r1 = (r0 >> 8))
+ (r2 = (r0 & 255))))
+ "CCL program to transform Mule characters to UCS-2."))
+ ;; Pre-expand the macro for 21.4. 21.4 will error on loading this file, but
+ ;; it may compile it. define-ccl-program should not be a macro, but that's
+ ;; by the way.
+ (let ((prog [1 10 131127 8 98872 65823 147513 8 82009 255 22]))
+ (defconst fsf-compat-ccl-encode-to-ucs-2 prog
+ "CCL program to transform Mule characters to UCS-2.")
+ (put (quote fsf-compat-ccl-encode-to-ucs-2)
+ (quote ccl-program-idx)
+ (register-ccl-program (quote fsf-compat-ccl-encode-to-ucs-2) prog))
(defun fsf-compat-init-mule-unicode-charsets ()
"Make some Mule character sets that the FSF uses available in XEmacs.
Santa Maradona, priez pour moi!
XEmacs-Patches mailing list