APPROVE COMMIT
NOTE: This patch has been committed.
lisp/ChangeLog addition:
2007-05-20 Aidan Kehoe <kehoea(a)parhasard.net>
* mule/devanagari.el ("Devanagari"):
* mule/ethiopic.el ("Ethiopic"):
* mule/hebrew.el ("Hebrew"):
* mule/lao.el ("Lao"):
* mule/tibetan.el ("Tibetan"):
* mule/vietnamese.el ("Vietnamese"):
The Hebrew input method we don't provide, for less than stellar
reasons; we should reconsider when and if we get bidi support.
The other input methods require changes to mule-category.el that
21.4 doesn't have, and as such supporting them in the packages is
mostly impossible. I've commented out the references to them in
the corresponding language environment.
* mule/mule-category.el (define-category):
Add an optional argument to define-category, taken from GNU; it's
still only a partial implementation, though. This whole file is
chaos.
* mule/mule-category.el (make-category-table): New.
Trivial implementation, for GNU compatibility.
tests/ChangeLog addition:
2007-05-20 Aidan Kehoe <kehoea(a)parhasard.net>
* automated/mule-tests.el:
Make the file name coding system tests work on OS X.
Check various slots of the language environment structure to make
sure they're well formed--we've been shipping without a Turkish or
Latin-10 input method for years, for example, which is an error.
XEmacs Trunk source patch:
Diff command: cvs -q diff -Nu
Files affected: tests/automated/mule-tests.el
===================================================================
RCS lisp/mule/vietnamese.el
===================================================================
RCS lisp/mule/tibetan.el
===================================================================
RCS lisp/mule/mule-category.el
===================================================================
RCS lisp/mule/lao.el
===================================================================
RCS lisp/mule/hebrew.el
===================================================================
RCS lisp/mule/ethiopic.el
===================================================================
RCS lisp/mule/devanagari.el
===================================================================
RCS
Index: lisp/mule/devanagari.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/mule/devanagari.el,v
retrieving revision 1.3
diff -u -u -r1.3 devanagari.el
--- lisp/mule/devanagari.el 2002/03/16 10:39:05 1.3
+++ lisp/mule/devanagari.el 2007/05/20 20:02:08
@@ -62,7 +62,8 @@
"Devanagari" '((charset indian-is13194 indian-2-column indian-1-column)
(coding-system in-is13194-devanagari)
(coding-priority in-is13194-devanagari)
- (input-method . "devanagari-itrans")
+ ;; Not available in packages.
+ ; (input-method . "devanagari-itrans")
(features devan-util)
(documentation . "\
Such languages using Devanagari script as Hindi and Marathi
Index: lisp/mule/ethiopic.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/mule/ethiopic.el,v
retrieving revision 1.7
diff -u -u -r1.7 ethiopic.el
--- lisp/mule/ethiopic.el 2006/11/05 22:31:37 1.7
+++ lisp/mule/ethiopic.el 2007/05/20 20:02:08
@@ -78,7 +78,7 @@
(charset ethiopic)
(coding-system iso-2022-7bit)
(coding-priority iso-2022-7bit)
- (input-method . "ethiopic")
+ ;; (input-method . "ethiopic")
(features ethio-util)
(sample-text . "$(3$Q#U!.(B")
(documentation . t)))
Index: lisp/mule/hebrew.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/mule/hebrew.el,v
retrieving revision 1.4
diff -u -u -r1.4 hebrew.el
--- lisp/mule/hebrew.el 2002/03/16 10:39:06 1.4
+++ lisp/mule/hebrew.el 2007/05/20 20:02:08
@@ -73,7 +73,8 @@
"Hebrew" '((charset hebrew-iso8859-8)
(coding-system iso-8859-8)
(coding-priority iso-8859-8)
- (input-method . "hebrew")
+ ;; Not available in packages.
+ ;; (input-method . "hebrew")
(sample-text . "Hebrew [2],Hylem[0](B")
(documentation . "Right-to-left writing is not yet supported.")
))
Index: lisp/mule/lao.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/mule/lao.el,v
retrieving revision 1.5
diff -u -u -r1.5 lao.el
--- lisp/mule/lao.el 2006/11/05 22:31:37 1.5
+++ lisp/mule/lao.el 2007/05/20 20:02:08
@@ -62,7 +62,7 @@
"Lao" '((charset lao)
(coding-system lao)
(coding-priority lao)
- (input-method . "lao")
+ ;; (input-method . "lao")
(nonascii-translation . lao)
(unibyte-display . lao)
(features lao-util)
Index: lisp/mule/mule-category.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/mule/mule-category.el,v
retrieving revision 1.9
diff -u -u -r1.9 mule-category.el
--- lisp/mule/mule-category.el 2002/08/02 16:54:25 1.9
+++ lisp/mule/mule-category.el 2007/05/20 20:02:08
@@ -37,13 +37,18 @@
(defvar defined-category-hashtable (make-hash-table :size 50))
-(defun define-category (designator doc-string)
+(defun define-category (designator doc-string &optional table)
"Make a new category whose designator is DESIGNATOR.
DESIGNATOR should be a visible letter of ' ' thru '~'.
-STRING is a doc string for the category.
-Letters of 'a' thru 'z' are already used or kept for the system."
+DOC-STRING is a doc string for the category.
+Letters of 'a' thru 'z' are already used or kept for the system.
+The category should be defined only in category table TABLE, which defaults
+to the current buffer's category table, but this is not implemented. "
+ ;; #### Implement the limiting of the definition.
(check-argument-type 'category-designator-p designator)
(check-argument-type 'stringp doc-string)
+ (setq table (or table (category-table)))
+ (check-argument-type 'category-table-p table)
(puthash designator doc-string defined-category-hashtable))
(defun undefine-category (designator)
@@ -141,6 +146,10 @@
(unwind-protect
(progn ,@body)
(set-category-table current-category-table))))
+
+(defun make-category-table ()
+ "Construct a new and empty category table and return it."
+ (make-char-table 'category))
(defun describe-category ()
"Describe the category specifications in the category table.
Index: lisp/mule/tibetan.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/mule/tibetan.el,v
retrieving revision 1.4
diff -u -u -r1.4 tibetan.el
--- lisp/mule/tibetan.el 2006/11/05 22:31:38 1.4
+++ lisp/mule/tibetan.el 2007/05/20 20:02:08
@@ -136,7 +136,8 @@
"Tibetan" '((charset tibetan tibetan-1-column)
(coding-system tibetan-iso-8bit)
(coding-priority iso-2022-7bit tibetan-iso-8bit)
- (input-method . "tibetan-wylie")
+ ;; Not available in packages.
+ ;; (input-method . "tibetan-wylie")
(features tibet-util)
(documentation . t)
(sample-text
Index: lisp/mule/vietnamese.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/mule/vietnamese.el,v
retrieving revision 1.7
diff -u -u -r1.7 vietnamese.el
--- lisp/mule/vietnamese.el 2006/11/05 22:31:38 1.7
+++ lisp/mule/vietnamese.el 2007/05/20 20:02:08
@@ -331,7 +331,8 @@
(coding-system viscii vscii viqr)
(coding-priority viscii)
(locale "vietnamese" "vi")
- (input-method . "vietnamese-viqr")
+ ;; Not available in packages.
+ ;; (input-method . "vietnamese-viqr")
(features viet-util)
(sample-text . "Vietnamese (Ti,1*(Bng Vi,1.(Bt) Ch,1`(Bo b,1U(Bn")
(documentation . "\
Index: tests/automated/mule-tests.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/tests/automated/mule-tests.el,v
retrieving revision 1.16
diff -u -u -r1.16 mule-tests.el
--- tests/automated/mule-tests.el 2007/05/13 11:11:38 1.16
+++ tests/automated/mule-tests.el 2007/05/20 20:02:09
@@ -327,23 +327,26 @@
;;---------------------------------------------------------------
;; Test file-system character conversion (and, en passant, file ops)
;;---------------------------------------------------------------
- (let* ((scaron (make-char 'latin-iso8859-2 57))
- (latin2-string (make-string 4 scaron))
+ (let* ((dstroke (make-char 'latin-iso8859-2 80))
+ (latin2-string (make-string 4 dstroke))
(prefix (concat (file-name-as-directory
(file-truename (temp-directory)))
latin2-string))
- (name1 (make-temp-name prefix))
- (name2 (make-temp-name prefix))
(file-name-coding-system
;; 'iso-8859-X doesn't work on darwin (as of "Panther" 10.3), it
;; seems to know that file-name-coding-system is definitely utf-8
(if (string-match "darwin" system-configuration)
'utf-8
'iso-8859-2))
- )
+ ;; make-temp-name does stat(), which on OS X requires that you
+ ;; normalise, where open() will normalise for you. Previously we
+ ;; used scaron as the Latin-2 character, and make-temp-name errored
+ ;; on OS X. LATIN CAPITAL LETTER D WITH STROKE does decompose.
+ (name1 (make-temp-name prefix))
+ (name2 (make-temp-name prefix)))
+ ;; This is how you suppress output from `message', called by `write-region'
(Assert (not (equal name1 name2)))
(Assert (not (file-exists-p name1)))
- ;; This is how you suppress output from `message', called by `write-region'
(Silence-Message
(write-region (point-min) (point-max) name1))
(Assert (file-exists-p name1))
@@ -352,9 +355,8 @@
(Assert (file-exists-p name2))
(Assert (equal (file-truename name2) name1))
(Assert (equal (file-truename name1) name1)))
+ (ignore-file-errors (delete-file name1) (delete-file name2)))
- (ignore-file-errors (delete-file name1) (delete-file name2)))
-
;; Add many more file operation tests here...
;;---------------------------------------------------------------
@@ -475,6 +477,20 @@
hebrew-iso8859-8 japanese-jisx0208 japanese-jisx0212
katakana-jisx0201 korean-ksc5601 latin-iso8859-1
latin-iso8859-2 thai-xtis vietnamese-viscii-lower))))
+
+ ;; Language environments.
+ (dolist (language (mapcar 'car language-info-alist))
+ (set-language-environment language)
+ (Assert (equal language current-language-environment))
+ (set-input-method (get-language-info language 'input-method))
+ (Assert (equal (get-language-info language 'input-method)
+ current-input-method))
+ (dolist (charset (get-language-info language 'charset))
+ (Assert (charsetp (find-charset charset))))
+ (dolist (coding-system (get-language-info language 'coding-system))
+ (Assert (coding-system-p (find-coding-system coding-system))))
+ (dolist (coding-system (get-language-info language 'coding-system))
+ (Assert (coding-system-p (find-coding-system coding-system)))))
(with-temp-buffer
(flet
--
On the quay of the little Black Sea port, where the rescued pair came once
more into contact with civilization, Dobrinton was bitten by a dog which was
assumed to be mad, though it may only have been indiscriminating. (Saki)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches