-2002-03-04 Kenichi Handa <handa@etl.go.jp>
+2002-03-05 Kenichi Handa <handa@etl.go.jp>
+
+ * language/czech.el ("Czech"): Set `iso-8859-2' for
+ `nonascii-translation'.
+
+ * language/romanian.el ("Romanian"): Likewise.
+
+ * language/slovak.el ("Slovak"): Likewise.
* international/characters.el: Optimize calls of
modify-category-entry.
corresponding charcter code.
If it is a string, it is a name of file that contains the above
-information.
+information. Each line of the file must be this format:
+ 0xXXX 0xYYY
+where XXX is a hexadecimal representation of CODE-n and YYY is a
+hexadecimal representation of CHAR-n. A line starting with `#' is a
+comment line.
`:parents'
If it is a vector, the format is [ CODE-1 CHAR-1 CODE-2 CHAR-2 ... ],
where CODE-n is a code-point of the charset, and CHAR-n is the
-corresponding unified charcter code.
+corresponding Unicode charcter code.
If it is a string, it is a name of file that contains the above
-information."
+information. The file format is the same as what described for `:map'
+attribute."
(let ((attrs (mapcar 'list '(:dimension
:code-space
:iso-final-char
+2002-03-04 Kenichi Handa <handa@etl.go.jp>
+
+ * casefiddle.c (casify_region): Fix multibyte case.
+
+ * character.c (c_string_width): Add return type `int'.
+ (char_string_with_unification): Arg ADVANCED deleted.
+
+ * character.h (CHAR_VALID_P): Don't call CHARACTERP.
+ (CHAR_STRING): Adjusted for the change of
+ char_string_with_unification.
+ (CHAR_STRING_ADVANCE): Make it do-while statement.
+
+ * chartab.c (sub_char_table_set_range): Optimized for the case
+ DEPTH == 3. Add workaround code for a GCC optimization bug.
+
+ * coding.c: Delete unused variables.
+
+ * fileio.c (Finsert_file_contents): Set coding_system to Qnil
+ earlier. If inserted is zero and the coding system doesn't
+ require flushing, don't call decode_coding_gap.
+
+ * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
+
2002-03-01 Kenichi Handa <handa@etl.go.jp>
The following changes are for using Unicode as an internal
charset_plist,
/* If the method of the charset is `MAP_DEFERRED', the value is a
- mappint vector or a file name that contains mapping vector.
+ mapping vector or a file name that contains mapping vector.
Otherwise, nil. */
charset_map,
of the form (PARENT-CHARSET-ID . CODE-OFFSET). */
charset_parents,
- /* */
+ /* The value is a mapping vector or a file name that contains
+ mapping vector. This provide how characters in the charset
+ should be unified with Unicode. The value of the member
+ `charset_deunifier' is created from this information. */
charset_unify_map,
- /* */
+ /* If characters in the charset must be unified Unicode, the value
+ is a char table that maps a character code in the charset to
+ the corresponding Unicode character. */
charset_deunifier,
/* The length of charset attribute vector. */
/* A charset of this method inherits characters from the other
charsets. */
- CHARSET_METHOD_INHERIT,
+ CHARSET_METHOD_INHERIT
};
struct charset
{
+ /* Index to charset_table. */
int id;
+ /* Index to Vcharset_hash_table. */
int hash_index;
/* Dimension of the charset: 1, 2, 3, or 4. */
If the charset is treated as 96-chars in ISO-2022, the value is 1. */
int iso_chars_96;
- /* ISO final character code for the charset: 48..127.
- It may be 0 if the charset doesn't conform to ISO-2022. */
+ /* ISO final byte of the charset: 48..127. It may be -1 if the
+ charset doesn't conform to ISO-2022. */
int iso_final;
+ /* ISO revision number of the charset. */
int iso_revision;
/* If the charset is identical to what supported by Emacs 21 and the