comparison lisp/ChangeLog @ 4549:68d1ca56cffa

First part of interactive checks that coding systems encode regions. 2008-01-21 Aidan Kehoe <kehoea@parhasard.net> * coding.el (decode-coding-string): (encode-coding-string): Accept GNU's NOCOPY argument for these. Todo; write compiler macros to use it. (query-coding-warning-face): New face, to show unencodable characters. (default-query-coding-region-safe-charset-skip-chars-map): New variable, a cache used by #'default-query-coding-region. (default-query-coding-region): Default implementation of #'query-coding-region, using the safe-charsets and safe-chars coding systemproperties. (query-coding-region): New function; can a given coding system encode a given region? (query-coding-string): New function; can a given coding system encode a given string? (unencodable-char-position): Function API taken from GNU; return the first unencodable position given a string and coding system. (encode-coding-char): Function API taken from GNU; return CHAR encoded using CODING-SYSTEM, or nil if CODING-SYSTEM would trash CHAR. ((unless (featurep 'mule)): Override the default query-coding-region implementation on non-Mule. * mule/mule-coding.el (make-8-bit-generate-helper): Eliminate a duplicate comment. (make-8-bit-choose-category): Simplify implementation. (8-bit-fixed-query-coding-region): Implementation of #'query-coding-region for coding systems created with #'make-8-bit-coding-system. (make-8-bit-coding-system): Initialise the #'query-coding-region implementation for these character sets. (make-8-bit-coding-system): Ditto for the compiler macro version of this function. * unicode.el (unicode-query-coding-skip-chars-arg): New variable, used by unicode-query-coding-region, initialised in mule/general-late.el. (unicode-query-coding-region): New function, the #'query-coding-region implementation for Unicode coding systems. Initialise the query-coding-function property for the Unicode coding systems to #'unicode-query-coding-region. * mule/mule-charset.el (charset-skip-chars-string): New function. Return a #'skip-chars-forward argument that skips all characters in CHARSET. (map-charset-chars): Function synced from GNU, modified to work with XEmacs. Map FUNC across the int value charset ranges of CHARSET.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 21 Jan 2008 22:51:21 +0100
parents 555e21a66d51
children 1217f19ce196
comparison
equal deleted inserted replaced
4402:e70cc8a90e90 4549:68d1ca56cffa
1 2008-01-21 Aidan Kehoe <kehoea@parhasard.net>
2
3 * coding.el (decode-coding-string):
4 (encode-coding-string): Accept GNU's NOCOPY argument for
5 these. Todo; write compiler macros to use it.
6 (query-coding-warning-face): New face, to show unencodable
7 characters.
8 (default-query-coding-region-safe-charset-skip-chars-map):
9 New variable, a cache used by #'default-query-coding-region.
10 (default-query-coding-region): Default implementation of
11 #'query-coding-region, using the safe-charsets and safe-chars
12 coding systemproperties.
13 (query-coding-region): New function; can a given coding system
14 encode a given region?
15 (query-coding-string): New function; can a given coding system
16 encode a given string?
17 (unencodable-char-position): Function API taken from GNU; return
18 the first unencodable position given a string and coding system.
19 (encode-coding-char): Function API taken from GNU; return CHAR
20 encoded using CODING-SYSTEM, or nil if CODING-SYSTEM would trash
21 CHAR.
22 ((unless (featurep 'mule)): Override the default
23 query-coding-region implementation on non-Mule.
24 * mule/mule-coding.el (make-8-bit-generate-helper): Eliminate a
25 duplicate comment.
26 (make-8-bit-choose-category): Simplify implementation.
27 (8-bit-fixed-query-coding-region): Implementation of
28 #'query-coding-region for coding systems created with
29 #'make-8-bit-coding-system.
30 (make-8-bit-coding-system): Initialise the #'query-coding-region
31 implementation for these character sets.
32 (make-8-bit-coding-system): Ditto for the compiler macro version
33 of this function.
34 * unicode.el (unicode-query-coding-skip-chars-arg): New variable,
35 used by unicode-query-coding-region, initialised in
36 mule/general-late.el.
37 (unicode-query-coding-region): New function, the
38 #'query-coding-region implementation for Unicode coding systems.
39 Initialise the query-coding-function property for the Unicode
40 coding systems to #'unicode-query-coding-region.
41 * mule/mule-charset.el (charset-skip-chars-string): New
42 function. Return a #'skip-chars-forward argument that skips all
43 characters in CHARSET.
44 (map-charset-chars): Function synced from GNU, modified to work
45 with XEmacs. Map FUNC across the int value charset ranges of
46 CHARSET.
47
1 2008-01-17 Mike Sperber <mike@xemacs.org> 48 2008-01-17 Mike Sperber <mike@xemacs.org>
2 49
3 * files.el (insert-directory): Bind `coding-system-for-read' to 50 * files.el (insert-directory): Bind `coding-system-for-read' to
4 the `file-name' coding system. (Previously, the default ended up 51 the `file-name' coding system. (Previously, the default ended up
5 being undecided, which doesn't work well for UTF-8-based locales, 52 being undecided, which doesn't work well for UTF-8-based locales,