Mercurial > hg > xemacs-beta
view etc/unicode/other/lao.txt @ 4690:257b468bf2ca
Move the #'query-coding-region implementation to C.
This is necessary because there is no reasonable way to access the
corresponding mswindows-multibyte functionality from Lisp, and we need such
functionality if we're going to have a reliable and portable
#'query-coding-region implementation. However, this change doesn't yet
provide #'query-coding-region for the mswindow-multibyte coding systems,
there should be no functional differences between an XEmacs with this change
and one without it.
src/ChangeLog addition:
2009-09-19 Aidan Kehoe <kehoea@parhasard.net>
Move the #'query-coding-region implementation to C.
This is necessary because there is no reasonable way to access the
corresponding mswindows-multibyte functionality from Lisp, and we
need such functionality if we're going to have a reliable and
portable #'query-coding-region implementation. However, this
change doesn't yet provide #'query-coding-region for the
mswindow-multibyte coding systems, there should be no functional
differences between an XEmacs with this change and one without it.
* mule-coding.c (struct fixed_width_coding_system):
Add a new coding system type, fixed_width, and implement it. It
uses the CCL infrastructure but has a much simpler creation API,
and its own query_method, formerly in lisp/mule/mule-coding.el.
* unicode.c:
Move the Unicode query method implementation here from
unicode.el.
* lisp.h: Declare Fmake_coding_system_internal, Fcopy_range_table
here.
* intl-win32.c (complex_vars_of_intl_win32):
Use Fmake_coding_system_internal, not Fmake_coding_system.
* general-slots.h: Add Qsucceeded, Qunencodable, Qinvalid_sequence
here.
* file-coding.h (enum coding_system_variant):
Add fixed_width_coding_system here.
(struct coding_system_methods):
Add query_method and query_lstream_method to the coding system
methods.
Provide flags for the query methods.
Declare the default query method; initialise it correctly in
INITIALIZE_CODING_SYSTEM_TYPE.
* file-coding.c (default_query_method):
New function, the default query method for coding systems that do
not set it. Moved from coding.el.
(make_coding_system_1):
Accept new elements in PROPS in #'make-coding-system; aliases, a
list of aliases; safe-chars and safe-charsets (these were
previously accepted but not saved); and category.
(Fmake_coding_system_internal):
New function, what used to be #'make-coding-system--on Mule
builds, we've now moved some of the functionality of this to
Lisp.
(Fcoding_system_canonical_name_p):
Move this earlier in the file, since it's now called from within
make_coding_system_1.
(Fquery_coding_region):
Move the implementation of this here, from coding.el.
(complex_vars_of_file_coding):
Call Fmake_coding_system_internal, not Fmake_coding_system;
specify safe-charsets properties when we're a mule build.
* extents.h (mouse_highlight_priority, Fset_extent_priority,
Fset_extent_face, Fmap_extents):
Make these available to other C files.
lisp/ChangeLog addition:
2009-09-19 Aidan Kehoe <kehoea@parhasard.net>
Move the #'query-coding-region implementation to C.
* coding.el:
Consolidate code that depends on the presence or absence of Mule
at the end of this file.
(default-query-coding-region, query-coding-region):
Move these functions to C.
(default-query-coding-region-safe-charset-skip-chars-map):
Remove this variable, the corresponding C variable is
Vdefault_query_coding_region_chartab_cache in file-coding.c.
(query-coding-string): Update docstring to reflect actual multiple
values, be more careful about not modifying a range table that
we're currently mapping over.
(encode-coding-char): Make the implementation of this simpler.
(featurep 'mule): Autoload #'make-coding-system from
mule/make-coding-system.el if we're a mule build; provide an
appropriate compiler macro.
Do various non-mule compatibility things if we're not a mule
build.
* update-elc.el (additional-dump-dependencies):
Add mule/make-coding-system as a dump time dependency if we're a
mule build.
* unicode.el (ccl-encode-to-ucs-2):
(decode-char):
(encode-char):
Move these earlier in the file, for the sake of some byte compile
warnings.
(unicode-query-coding-region):
Move this to unicode.c
* mule/make-coding-system.el:
New file, not dumped. Contains the functionality to rework the
arguments necessary for fixed-width coding systems, and contains
the implementation of #'make-coding-system, which now calls
#'make-coding-system-internal.
* mule/vietnamese.el (viscii):
* mule/latin.el (iso-8859-2):
(windows-1250):
(iso-8859-3):
(iso-8859-4):
(iso-8859-14):
(iso-8859-15):
(iso-8859-16):
(iso-8859-9):
(macintosh):
(windows-1252):
* mule/hebrew.el (iso-8859-8):
* mule/greek.el (iso-8859-7):
(windows-1253):
* mule/cyrillic.el (iso-8859-5):
(koi8-r):
(koi8-u):
(windows-1251):
(alternativnyj):
(koi8-ru):
(koi8-t):
(koi8-c):
(koi8-o):
* mule/arabic.el (iso-8859-6):
(windows-1256):
Move all these coding systems to being of type fixed-width, not of
type CCL. This allows the distinct query-coding-region for them to
be in C, something which will eventually allow us to implement
query-coding-region for the mswindows-multibyte coding systems.
* mule/general-late.el (posix-charset-to-coding-system-hash):
Document why we're pre-emptively persuading the byte compiler that
the ELC for this file needs to be written using escape-quoted.
Call #'set-unicode-query-skip-chars-args, now the Unicode
query-coding-region implementation is in C.
* mule/thai-xtis.el (tis-620):
Don't bother checking whether we're XEmacs or not here.
* mule/mule-coding.el:
Move the eight bit fixed-width functionality from this file to
make-coding-system.el.
tests/ChangeLog addition:
2009-09-19 Aidan Kehoe <kehoea@parhasard.net>
* automated/mule-tests.el:
Check a coding system's type, not an 8-bit-fixed property, for
whether that coding system should be treated as a fixed-width
coding system.
* automated/query-coding-tests.el:
Don't test the query coding functionality for mswindows-multibyte
coding systems, it's not yet implemented.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 19 Sep 2009 22:53:13 +0100 |
parents | a29c4eef8f00 |
children | 03ab78e48ef6 |
line wrap: on
line source
## Made up based on the comment in lao.el: ## ;; ISO10646's 0x0E80..0x0EDF are mapped to 0x20..0x7F. ## This isn't quite right, since lao is a 94-char charset and 0x20 and 0x7F ## don't exist. 0x21 0x0E81 0x22 0x0E82 0x23 0x0E83 0x24 0x0E84 0x25 0x0E85 0x26 0x0E86 0x27 0x0E87 0x28 0x0E88 0x29 0x0E89 0x2a 0x0E8A 0x2b 0x0E8B 0x2c 0x0E8C 0x2d 0x0E8D 0x2e 0x0E8E 0x2f 0x0E8F 0x30 0x0E90 0x31 0x0E91 0x32 0x0E92 0x33 0x0E93 0x34 0x0E94 0x35 0x0E95 0x36 0x0E96 0x37 0x0E97 0x38 0x0E98 0x39 0x0E99 0x3a 0x0E9A 0x3b 0x0E9B 0x3c 0x0E9C 0x3d 0x0E9D 0x3e 0x0E9E 0x3f 0x0E9F 0x40 0x0EA0 0x41 0x0EA1 0x42 0x0EA2 0x43 0x0EA3 0x44 0x0EA4 0x45 0x0EA5 0x46 0x0EA6 0x47 0x0EA7 0x48 0x0EA8 0x49 0x0EA9 0x4a 0x0EAA 0x4b 0x0EAB 0x4c 0x0EAC 0x4d 0x0EAD 0x4e 0x0EAE 0x4f 0x0EAF 0x50 0x0EB0 0x51 0x0EB1 0x52 0x0EB2 0x53 0x0EB3 0x54 0x0EB4 0x55 0x0EB5 0x56 0x0EB6 0x57 0x0EB7 0x58 0x0EB8 0x59 0x0EB9 0x5a 0x0EBA 0x5b 0x0EBB 0x5c 0x0EBC 0x5d 0x0EBD 0x5e 0x0EBE 0x5f 0x0EBF 0x60 0x0EC0 0x61 0x0EC1 0x62 0x0EC2 0x63 0x0EC3 0x64 0x0EC4 0x65 0x0EC5 0x66 0x0EC6 0x67 0x0EC7 0x68 0x0EC8 0x69 0x0EC9 0x6a 0x0ECA 0x6b 0x0ECB 0x6c 0x0ECC 0x6d 0x0ECD 0x6e 0x0ECE 0x6f 0x0ECF 0x70 0x0ED0 0x71 0x0ED1 0x72 0x0ED2 0x73 0x0ED3 0x74 0x0ED4 0x75 0x0ED5 0x76 0x0ED6 0x77 0x0ED7 0x78 0x0ED8 0x79 0x0ED9 0x7a 0x0EDA 0x7b 0x0EDB 0x7c 0x0EDC 0x7d 0x0EDD 0x7e 0x0EDE