diff src/ChangeLog @ 3439:d1754e7f0cea

[xemacs-hg @ 2006-06-03 17:50:39 by aidan] Just-in-time Unicode code point support.
author aidan
date Sat, 03 Jun 2006 17:51:06 +0000
parents 1e217fa4ad7d
children 551c008d3777
line wrap: on
line diff
--- a/src/ChangeLog	Fri Jun 02 22:18:08 2006 +0000
+++ b/src/ChangeLog	Sat Jun 03 17:51:06 2006 +0000
@@ -1,3 +1,90 @@
+2006-06-03  Aidan Kehoe  <kehoea@parhasard.net>
+
+	* charset.h:
+	* charset.h (struct Lisp_Charset):
+	* charset.h (CHARSET_ENCODE_AS_UTF_8):
+	* charset.h (XCHARSET_ENCODE_AS_UTF_8):
+	Add a flag `encode-as-utf-8' to the Mule charset structure; if
+	set, it's an indication to ISO 2022-oriented coding systems that
+	the characters of that charset should be encoded using the ISO-IR
+	196 UTF-8 escape syntax, since they're not members of any other
+	well-known character set we're aware of.
+
+	Make enum unicode_type, encode_unicode_char and Funicode_to_char
+	available outside of unicode.c
+	
+	* lread.c:
+	* event-xlike-inc.c:
+	Use the charset.h declaration of Funicode_to_char, don't declare
+	it ourselves. 
+
+	My XFree86 installation has taken to passing me ASCII characters
+	using the Unicode keysyms; accept them too. 
+	
+	* general-slots.h:
+	Make `ccl-program' and `encode-as-utf-8' available as symbols
+	generally. 
+
+	* mule-ccl.c:
+	Add CCL_MuleToUnicode, CCL_UnicodeToMule, implement them, enable
+	and debug CCL_MAKE_CHAR, have CCL_WriteMultibyteChar2 segfault
+	less, fix some grammar. 
+
+	* mule-charset.c (make_charset):
+	* mule-charset.c (Fmake_charset):
+	* mule-charset.c (Fcharset_property):
+	* mule-charset.c (complex_vars_of_mule_charset):
+	Require the encode_as_utf_8 property when calling make_charset ();
+	accept it when creating a charset from Lisp in Fmake_charset. 
+
+	* mule-coding.c:
+	* mule-coding.c (dynarr_add_2022_one_dimension):
+	* mule-coding.c (dynarr_add_2022_two_dimensions):
+	Add two convenience functions for iso2022_decode, to abstract out
+	writing UTF-8 a little. 
+	
+	* mule-coding.c (enum iso_esc_flag):
+	Add one more state to reflect the existence of the UTF-8 escape. 
+
+	* mule-coding.c (struct iso2022_coding_stream):
+	Add a counter variable to the state to permit handling
+	variable-length UTF-8. 
+	
+	* mule-coding.c (parse_iso2022_esc):
+	Update the function to work with ISO_STATE_UTF_8; only the ESC % @
+	escape is processed in that state, everything else is ignored and
+	passed through by the error handler. 
+	
+	* mule-coding.c (iso2022_decode):
+	* mule-coding.c (iso2022_designate):
+	* mule-coding.c (iso2022_encode):
+	Handle the UTF-8 escape sequences in reading and in writing ISO
+	2022. 
+	
+	* redisplay-x.c (separate_textual_runs):
+	Add a comment to the effect that the dimension stuff breaks when
+	using CCL programs and registries to map to a bigger charset. 
+	
+	* unicode.c:
+	Add support for creating new characters on the fly as unknown
+	Unicode code points are encountered. 
+
+	* unicode.c (get_free_codepoint): New.
+	* unicode.c (unicode_to_ichar): Reworked to create new code points
+	on the fly. 
+	* unicode.c (Funicode_to_char): Update the docstring. 
+	* unicode.c (struct unicode_coding_system):
+	Move enum unicode_type into charset.h. 
+
+	* unicode.c (encode_unicode_char):
+	encode_unicode_char isn't static any longer, mule-coding.c uses
+	it. 
+	* unicode.c (syms_of_unicode):
+	Make a couple of symbols available to unicode.c
+	* unicode.c (vars_of_unicode):
+	Tell the garbage collector about current_jit_charset, initialise
+	it. 
+
 2006-05-25  Stephen J. Turnbull  <stephen@xemacs.org>
 
 	* objects-x.c (x_find_charset_font): Keep local names local; wrap