Mercurial > hg > xemacs-beta
annotate man/lispref/index.texi @ 5648:3f4a234f4672
Support non-ASCII correctly in character classes, test this.
src/ChangeLog addition:
2012-04-21 Aidan Kehoe <kehoea@parhasard.net>
Support non-ASCII correctly in character classes ([:alnum:] and
friends).
* regex.c:
* regex.c (ISBLANK, ISUNIBYTE): New. Make these and friends
independent of the locale, since we want them to be consistent in
XEmacs.
* regex.c (print_partial_compiled_pattern): Print the flags for
charset_mule; don't print non-ASCII as the character values in
ranges, this breaks with locales.
* regex.c (enum):
Define various flags the charset_mule and charset_mule_not opcodes
can now take.
* regex.c (CHAR_CLASS_MAX_LENGTH): Update this.
* regex.c (re_iswctype, re_wctype): New, from GNU.
* regex.c (re_wctype_can_match_non_ascii): New; used when deciding
on whether to use charset_mule or the ASCII-only regex character
set opcode.
* regex.c (regex_compile):
Error correctly on long, non-existent character class names.
Break out the handling of charsets that can match non-ASCII into a
separate clause. Use compile_char_class when compiling character
classes.
* regex.c (compile_char_class): New. Used in regex_compile when
compiling character sets that may match non-ASCII.
* regex.c (re_compile_fastmap):
If there are flags set for charset_mule or charset_mule_not, we
can't use the fastmap (since we need to check syntax table values
that aren't available there).
* regex.c (re_match_2_internal):
Check the new flags passed to the charset_mule{,_not} opcode,
observe them if appropriate.
* regex.h:
* regex.h (enum):
Expose re_wctype_t here, imported from GNU.
tests/ChangeLog addition:
2012-04-21 Aidan Kehoe <kehoea@parhasard.net>
* automated/regexp-tests.el:
* automated/regexp-tests.el (Assert-char-class):
Check that #'string-match errors correctly with an over-long
character class name.
Add tests for character class functionality that supports
non-ASCII characters. These tests expose bugs in GNU Emacs
24.0.94.2, but pass under current XEmacs.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 21 Apr 2012 18:58:28 +0100 |
parents | 576fb035e263 |
children |
rev | line source |
---|---|
398 | 1 @c -*-texinfo-*- |
2 @setfilename ../../info/index.info | |
3 | |
4 @c Indexing guidelines | |
5 | |
6 @c I assume that all indexes will be combined. | |
7 @c Therefore, if a generated findex and permutations | |
8 @c cover the ways an index user would look up the entry, | |
9 @c then no cindex is added. | |
10 @c Concept index (cindex) entries will also be permuted. Therefore, they | |
11 @c have no commas and few irrelevant connectives in them. | |
12 | |
13 @c I tried to include words in a cindex that give the context of the entry, | |
14 @c particularly if there is more than one entry for the same concept. | |
15 @c For example, "nil in keymap" | |
16 @c Similarly for explicit findex and vindex entries, e.g. "print example". | |
17 | |
18 @c Error codes are given cindex entries, e.g. "end-of-file error". | |
19 | |
20 @c pindex is used for .el files and Unix programs | |
21 | |
22 @node Index, , Standard Hooks, Top | |
23 @unnumbered Index | |
24 | |
25 @ignore | |
26 All variables, functions, keys, programs, files, and concepts are | |
444 | 27 in this one index. |
398 | 28 |
29 All names and concepts are permuted, so they appear several times, one | |
30 for each permutation of the parts of the name. For example, | |
31 @code{function-name} would appear as @b{function-name} and @b{name, | |
32 function-}. Key entries are not permuted, however. | |
33 @end ignore | |
34 | |
35 @c Print the indices | |
36 | |
37 @printindex fn |