diff options
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index b2479bb0713..b18851b32f0 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,111 @@ | |||
| 1 | 2002-09-03 Kenichi Handa <handa@etl.go.jp> | ||
| 2 | |||
| 3 | The following changes (and some of 2002-08-20 changes of mine) are | ||
| 4 | for handling syntax, category, and case conversion for unibyte | ||
| 5 | characters by converting them to multibyte on the fly. With these | ||
| 6 | changes, we don't have to setup syntax and case tables for unibyte | ||
| 7 | characters in each language environment. | ||
| 8 | |||
| 9 | * abbrev.c (Fexpand_abbrev): Convert a unibyte character to | ||
| 10 | multibyte if necessary. | ||
| 11 | |||
| 12 | * bytecode.c (Fbyte_code): Likewise. | ||
| 13 | |||
| 14 | * character.h (LEADING_CODE_LATIN_1_MIN) | ||
| 15 | (LEADING_CODE_LATIN_1_MAX): New macros. | ||
| 16 | (unibyte_to_multibyte_table): Extern it. | ||
| 17 | (unibyte_char_to_multibyte): New macro. | ||
| 18 | (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table. | ||
| 19 | (CHAR_LEADING_CODE): New macro. | ||
| 20 | (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro. | ||
| 21 | |||
| 22 | * character.c (unibyte_to_multibyte_table): New variable. | ||
| 23 | (unibyte_char_to_multibyte): Move to character.h and defined as | ||
| 24 | macro. | ||
| 25 | (multibyte_char_to_unibyte): If C is an eight-bit character, | ||
| 26 | convert it to the corresponding byte value. | ||
| 27 | |||
| 28 | * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is | ||
| 29 | not 1, singals an error. Update the elements of | ||
| 30 | unibyte_to_multibyte_table. | ||
| 31 | (init_charset_once): Initialize unibyte_to_multibyte_table. | ||
| 32 | (syms_of_charset): Define the charset `iso-8859-1'. | ||
| 33 | |||
| 34 | * casefiddle.c (casify_object): Fix previous change. | ||
| 35 | |||
| 36 | * cmds.c (internal_self_insert): In a multibyte buffer, insert C | ||
| 37 | as is without converting it to unibyte. In a unibyte buffer, | ||
| 38 | convert C to multibyte before checking the syntax. | ||
| 39 | |||
| 40 | * lisp.h (unibyte_char_to_multibyte): Extern deleted. | ||
| 41 | |||
| 42 | * minibuf.c (Fminibuffer_complete_word): Use the macro | ||
| 43 | FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE. | ||
| 44 | |||
| 45 | * regex.h (struct re_pattern_buffer): New member target_multibyte. | ||
| 46 | |||
| 47 | * regex.c (RE_TARGET_MULTIBYTE_P): New macro. | ||
| 48 | (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If | ||
| 49 | that is zero, convert an eight-bit char to multibyte. | ||
| 50 | (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for | ||
| 51 | non-emacs case. | ||
| 52 | (PATFETCH): Convert an eight-bit char to multibyte. | ||
| 53 | (HANDLE_UNIBYTE_RANGE): New macro. | ||
| 54 | (regex_compile): Setup the compiled pattern for multibyte chars | ||
| 55 | even if the given regex string is unibyte. Use PATFETCH_RAW | ||
| 56 | instead of PATFETCH in many places. To handle `charset' | ||
| 57 | specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap | ||
| 58 | only for ASCII chars. | ||
| 59 | (analyse_first) <exactn>: Simplified because the compiled pattern | ||
| 60 | is multibyte. | ||
| 61 | <charset_not>: Setup fastmap from bitmap only for ASCII chars. | ||
| 62 | <charset>: Use CHAR_LEADING_CODE to get leading codes. | ||
| 63 | <categoryspec>: If multibyte, setup fastmap only for ASCII chars | ||
| 64 | here. | ||
| 65 | (re_compile_fastmap) [emacs]: Call analyse_first with the arg | ||
| 66 | multibyte always 1. | ||
| 67 | (re_search_2) In emacs, set the locale variable multibyte to 1, | ||
| 68 | otherwise to 0. New local variable target_multibyte. Check it | ||
| 69 | to decide the multibyteness of STR1 and STR2. If | ||
| 70 | target_multibyte is zero, convert unibyte chars to multibyte | ||
| 71 | before translating and checking fastmap. | ||
| 72 | (TARGET_CHAR_AND_LENGTH): New macro. | ||
| 73 | (re_match_2_internal): In emacs, set the locale variable multibyte | ||
| 74 | to 1, otherwise to 0. New local variable target_multibyte. Check | ||
| 75 | it to decide the multibyteness of STR1 and STR2. Use | ||
| 76 | TARGET_CHAR_AND_LENGTH to fetch a character from D. | ||
| 77 | <charset, charset_not>: If multibyte is nonzero, check fastmap | ||
| 78 | only for ASCII chars. Call bcmp_translate with | ||
| 79 | target_multibyte, not with multibyte. | ||
| 80 | <begline>: Declare the local variable C as `unsigned'. | ||
| 81 | (bcmp_translate): Change the last arg name to target_multibyte. | ||
| 82 | |||
| 83 | * search.c (compile_pattern_1): Don't adjust the multibyteness of | ||
| 84 | the regexp pattern and the matching target. Set cp->buf.multibyte | ||
| 85 | to the multibyteness of the regexp pattern. Set | ||
| 86 | cp->but.target_multibyte to the multibyteness of the matching | ||
| 87 | target. | ||
| 88 | (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of | ||
| 89 | FETCH_STRING_CHAR_ADVANCE. | ||
| 90 | (Freplace_match): Convert unibyte chars to multibyte. | ||
| 91 | |||
| 92 | * syntax.c (char_quoted): Use FETCH_CHAR_AS_MULTIBYTE to convert | ||
| 93 | unibyte chars to multibyte. | ||
| 94 | (back_comment): Likewise. | ||
| 95 | (scan_words): Likewise. | ||
| 96 | (skip_chars): The arg syntaxp is deleted, and the code for | ||
| 97 | handling syntaxes is moved to skip_syntaxes. Callers changed. | ||
| 98 | Fix the case that the multibyteness of STRING and the current | ||
| 99 | buffer doesn't match. | ||
| 100 | (skip_syntaxes): New function. | ||
| 101 | (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by | ||
| 102 | SINGLE_BYTE_CHAR_P. | ||
| 103 | (Fforward_comment): Use FETCH_CHAR_AS_MULTIBYTE to convert unibyte | ||
| 104 | chars to multibyte. | ||
| 105 | (scan_lists): Likewise. | ||
| 106 | (Fbackward_prefix_chars): Likewise. | ||
| 107 | (scan_sexps_forward): Likewise. | ||
| 108 | |||
| 1 | 2002-08-23 Kenichi Handa <handa@etl.go.jp> | 109 | 2002-08-23 Kenichi Handa <handa@etl.go.jp> |
| 2 | 110 | ||
| 3 | * xfaces.c (QCfontset): New variable. | 111 | * xfaces.c (QCfontset): New variable. |