changeset 4073:c098c0d9125f

[xemacs-hg @ 2007-07-23 14:19:39 by aidan] Interpret @cyrillic as a locale modifier, pick up coding-sys aliases.
author aidan
date Mon, 23 Jul 2007 14:20:29 +0000
parents aa28d959af41
children 61b662e30ea9
files lisp/ChangeLog lisp/mule/general-late.el lisp/mule/mule-cmds.el src/ChangeLog src/text.c
diffstat 5 files changed, 26 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sun Jul 22 22:04:14 2007 +0000
+++ b/lisp/ChangeLog	Mon Jul 23 14:20:29 2007 +0000
@@ -1,3 +1,12 @@
+2007-07-23  Aidan Kehoe  <kehoea@parhasard.net>
+
+	* mule/general-late.el (posix-charset-to-coding-system-hash):
+	Pick up coding system aliases as well as their canonical names
+	when initialising this hash. 
+	* mule/mule-cmds.el (parse-posix-locale-string):
+	Interpret @cyrillic to mean that the coding system for a language
+	environment is Windows-1251. 
+
 2007-07-21  Aidan Kehoe  <kehoea@parhasard.net>
 
 	* mule/chinese.el:
--- a/lisp/mule/general-late.el	Sun Jul 22 22:04:14 2007 +0000
+++ b/lisp/mule/general-late.el	Mon Jul 23 14:20:29 2007 +0000
@@ -31,13 +31,16 @@
 (setq posix-charset-to-coding-system-hash
       (eval-when-compile
 	(let ((res (make-hash-table :test 'equal)))
-	  (dolist (coding-system (coding-system-list) res)
+	  ;; We want both normal and internal coding systems in order
+	  ;; to pick up coding system aliases.
+	  (dolist (coding-system (coding-system-list 'both-normal-and-internal) res)
 	    (setq coding-system
-		  (symbol-name (coding-system-name coding-system)))
-	    (unless (string-match #r"\(-unix\|-mac\|-dos\)$" coding-system)
+		  (symbol-name coding-system))
+	    (unless (or (string-match #r"\(-unix\|-mac\|-dos\)$" coding-system)
+			(string-match #r"^\(internal\|mswindows\)" coding-system))
 	      (puthash 
 	       (replace-in-string (downcase coding-system) "[^a-z0-9]" "")
-	       (intern coding-system) res)))))
+	       (coding-system-name (intern coding-system)) res)))))
 
       ;; In a thoughtless act of cultural imperialism, move English, German
       ;; and Japanese to the front of language-info-alist to make start-up a
--- a/lisp/mule/mule-cmds.el	Sun Jul 22 22:04:14 2007 +0000
+++ b/lisp/mule/mule-cmds.el	Mon Jul 23 14:20:29 2007 +0000
@@ -1053,6 +1053,9 @@
 	     ;; where the @euro modifier doesn't mean ISO-8859-15 in the 956
 	     ;; I have.
 	     (setq charset "iso-8859-15"))
+	   (when (and modifiers (equal modifiers "cyrillic") (null charset))
+	     ;; Feedback wanted!
+	     (setq charset "windows-1251"))
 	   (values language region charset modifiers))
 	  ((and (string-match "^[a-z0-9]+$" locale-string)
 		(assoc-ignore-case locale-string language-info-alist))
--- a/src/ChangeLog	Sun Jul 22 22:04:14 2007 +0000
+++ b/src/ChangeLog	Mon Jul 23 14:20:29 2007 +0000
@@ -1,3 +1,9 @@
+2007-07-23  Aidan Kehoe  <kehoea@parhasard.net>
+
+	* text.c:
+	Backslash a parenthesis at the start of a line, for the sake of
+	our font lock engine. 
+
 2007-07-21  Aidan Kehoe  <kehoea@parhasard.net>
 
 	* elhash.c (struct Lisp_Hash_Table):
--- a/src/text.c	Sun Jul 22 22:04:14 2007 +0000
+++ b/src/text.c	Mon Jul 23 14:20:29 2007 +0000
@@ -245,7 +245,7 @@
 @item
 The Eistring API
 
-(This API is currently under-used) When doing simple things with
+\(This API is currently under-used) When doing simple things with
 internal text, the basic internal-format API's are enough.  But to do
 things like delete or replace a substring, concatenate various strings,
 etc. is difficult to do cleanly because of the allocation issues.