CVS update by aidan packages/mule-packages/mule-base, fsf-compat-unicode.el ...

xemacs-cvs at xemacs.org xemacs-cvs at xemacs.org
Sun Jul 29 07:09:08 EDT 2007


  User: aidan   
  Date: 07/07/29 13:09:08

  Modified:    packages/mule-packages/mule-base ChangeLog
                        fsf-compat-unicode.el
Log:
Have fsf-compat-unicode.el behave better on 21.4.

Revision  Changes    Path
1.63      +13 -0     XEmacs/packages/mule-packages/mule-base/ChangeLog

Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/mule-packages/mule-base/ChangeLog,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -p -r1.62 -r1.63
--- ChangeLog	2007/07/27 20:30:22	1.62
+++ ChangeLog	2007/07/29 11:09:07	1.63
@@ -1,3 +1,16 @@
+2007-07-29  Aidan Kehoe  <kehoea at parhasard.net>
+
+	* fsf-compat-unicode.el:
+	* fsf-compat-unicode.el (and):
+	* fsf-compat-unicode.el (fsf-compat-ccl-program):
+	* fsf-compat-unicode.el (fsf-compat-init-mule-unicode-charsets):
+	Shifting the arguments to mule-to-unicode 7 bits was appropriate,
+	but for redisplay r1 needs to be the highest octet, r2 the lowest,
+	of the 16-bit UCS code. 
+
+	text-conversion-error is not available on 21.4, so it turns out
+	the code fails in a more ugly way thatn I wanted there. 
+
 2007-07-27  Aidan Kehoe  <kehoea at parhasard.net>
 
 	* fsf-compat-unicode.el:



1.5       +9 -10     XEmacs/packages/mule-packages/mule-base/fsf-compat-unicode.el

Index: fsf-compat-unicode.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/mule-packages/mule-base/fsf-compat-unicode.el,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- fsf-compat-unicode.el	2007/07/27 20:30:23	1.4
+++ fsf-compat-unicode.el	2007/07/29 11:09:07	1.5
@@ -28,23 +28,22 @@
 
 ;;; Code:
 
-;;; Only for 21.5 and newer. 
+;;; Only for 21.5 and newer. Compiles with 21.4 fine. 
 
 (eval-when-compile (require 'ccl))
 
 ;; Check at runtime that the Unicode support is available, and that its
 ;; coverage is good enough.
-(unless (if-fboundp 'encode-char
-	    (with-fboundp '(encode-char decode-char)
-	      (eq #x31C (encode-char (decode-char 'ucs #x31C) 'ucs))))
-  (error 'text-conversion-error
+(unless (and (fboundp 'encode-char)
+             (eq #x31C (encode-char (decode-char 'ucs #x31C) 'ucs)))
+  (error 'unimplemented
 	 "Unicode support needed is not available in your XEmacs."))
 
 ;; For redisplay of these character sets, provide a CCL program to address
 ;; iso10646-1 X11 fonts.
 (defvar fsf-compat-ccl-program 
   (eval-when-compile
-    (let ((pre-existing [1 10 131127 7 98872 65823 147513 7 82009 127 22]))
+    (let ((pre-existing [1 10 131127 7 98872 65823 147513 8 82009 255 22]))
       (when (and (> emacs-major-version 20) (> emacs-minor-version 4)
                  (featurep 'mule))
         ;; In the event that we're compiling on 21.5, check that the
@@ -56,8 +55,8 @@
                           ((r1 = (r1 << 7)) 
                            (r1 = (r1 | r2)) 
                            (mule-to-unicode r0 r1) 
-                           (r1 = (r0 >> 7)) 
-                           (r2 = (r0 & #x7F))))))
+                           (r1 = (r0 >> 8)) 
+                           (r2 = (r0 & #xFF))))))
                 nil 
                 "The pre-compiled CCL program appears broken. "))
       pre-existing))
@@ -87,9 +86,9 @@ character sets if you're editing FSF sou
                       chars 96
                       columns 1
                       direction l2r
-                      final final
+                      final ,final
                       graphic 0
-                      short-name ,(format "Unicode subset %c" final)
+                      short-name ,(format "Unicode subset U+%04X" first-ucs)
                       long-name ,(format "Unicode subset (U+%04X..U+%04X)"
                                          first-ucs last-ucs)
                       ccl-program ,fsf-compat-ccl-program))





More information about the XEmacs-CVS mailing list