ChangeLog 32.4 KB
Newer Older
Kenichi Handa's avatar
Kenichi Handa committed
1 2 3 4 5
2002-07-25  Kenichi Handa  <handa@etl.go.jp>

	* lread.c (Fload): Don't load with Qload_force_doc_strings t if
	version is 0.

Kenichi Handa's avatar
Kenichi Handa committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
2002-07-24  Kenichi Handa  <handa@etl.go.jp>

	* lread.c: Include "coding.h".
	(Qget_emacs_mule_file_char, Qload_force_doc_strings,
	load_each_byte, unread_char): New variables.
	(readchar_backlog): This variable deleted.
	(readchar): Return a character unless load_each_byte is nonzero.
	Handle the case that readcharfun is Qget_emacs_mule_file_char or a
	cons.  If unread_char is not -1, simply return it.
	(unreadchar): Handle the case that readcharfun is
	Qget_emacs_mule_file_char or a cons.  Set unread_char if
	necessary.
	(read_multibyte): This function deleted.
	(readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
	(read_emacs_mule_char): New functions.
	(Fload): Even if the file doesn't have the extention ".elc", if
	safe_to_load_p returns a positive version number, assume that the
	file contains bytecompiled code.  If the version is less than 22,
	load the file while decoding multibyte sequences by emacs-mule.
	(readevalloop): Don't use readchar_backlog.
	(Fread): Likewise.  Pay attention to the case that STREAM is a
	cons.
	(Fread_from_string): Pay attention to the case that STREAM is a
	cons.
	(read_escape): The arg BYTEREP deleted.
	(read1): Set load_each_byte to 1 temporarily while handling
	#@NUMBER.  Don't call read_multibyte.
	(read_vector): Call Fread with a cons.  If readcharfun is
	Qget_emacs_mule_file_char, decode the read string by emacs-mule.
	(read_list): If doc_reference is 2, make the cdr part string as
	unibyte.
	(syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
	and Qload_force_doc_strings.

Kenichi Handa's avatar
Kenichi Handa committed
40 41 42 43 44
2002-07-23  Kenichi Handa  <handa@etl.go.jp>

	* xdisp.c (face_before_or_after_it_pos): Call
	FETCH_MULTIBYTE_CHAR with byte postion, not char position.

45 46 47 48 49 50 51
2002-07-22  Kenichi Handa  <handa@etl.go.jp>

	* character.h (TRAILING_CODE_P): New macro.
	(MAYBE_UNIFY_CHAR): Adjusted for the change of Funify_charset.
	(string_char_with_unification): Fix prototype.
	(Vscript_alist): Extern it.

Kenichi Handa's avatar
Kenichi Handa committed
52 53 54 55 56 57
	* character.c (Vscript_alist): New variable.
	(string_char_with_unification): Add `const' to local variables.
	(str_as_unibyte): Likewise.
	(string_escape_byte8): Likewise.
	(syms_of_character): Declare script-alist as a Lisp variable.

58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
	* charset.h (Vcharset_ordered_list): Extern it.
	(charset_ordered_list_tick): Extern it.
	(EMACS_MULE_LEADING_CODE_PRIVATE_11,
	EMACS_MULE_LEADING_CODE_PRIVATE_12,
	EMACS_MULE_LEADING_CODE_PRIVATE_21,
	EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros
	(Funify_charset): Adjusted for the change of Funify_charset.

	* charset.c (charset_ordered_list_tick): New variable.
	(Fdefine_charset_internal): Increment charset_ordered_list_tick.
	(Funify_charset): New optional arg DEUNIFY.  If it is non-nil,
	deunify intead of unify a charset.
	(string_xstring_p): Add `const' to local variables.
	(find_charsets_in_text): Add `const' to arguemnts and local
	variables.
	(encode_char): Adjusted for the change of Funify_charset.  Fix
	detecting of invalid code.
	(Fset_charset_priority): Increment charset_ordered_list_tick.
Kenichi Handa's avatar
Kenichi Handa committed
76 77
	(Fmap_charset_chars): Fix handling of default value for FROM_CODE
	and TO_CODE.
78 79 80 81 82 83 84 85 86 87 88 89 90

	* coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12,
	LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Macros
	deleted.  Callers changes to use
	EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
	(decode_coding_ccl): Add `const' to local variables.
	(consume_chars): Likewise.
	(Ffind_coding_systems_region_internal): Likewise.
	(Fcheck_coding_systems_region): Likewise.

	* print.c (print_object): Use octal form for printing the
	contents of a bool vector.

91 92 93 94 95
2002-07-18  Dave Love  <fx@gnu.org>

	* lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
	<version == 20>: Refuse to load.

96 97
2002-07-17  Dave Love  <fx@gnu.org>

Dave Love's avatar
Dave Love committed
98 99 100 101 102 103 104
	* fns.c: Move coding.h.
	(Qcodeset, Qdays, Qmonths): New.
	(concat): Use CHARACTERP instead of INTERGERP.
	(Flocale_codeset): Deleted.
	(Flanginfo): New function.
	(syms_of_fns): Changed accordingly.

105 106
	* coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.

Dave Love's avatar
Dave Love committed
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
2002-07-16  Dave Love  <fx@gnu.org>

	* casetab.c (init_casetab_once, init_casetab_once): Fix
	CHAR_TABLE_SET call.

	* category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.

	* character.c (syms_of_character): Fix CHAR_TABLE_SET call.

	* charset.c (Fmap_charset_chars): Check args.  Convert Lisp types.
	(load_charset_map, Fdeclare_equiv_charset, Fencode_char)
	(Fset_charset_priority, syms_of_charset): Convert Lisp types.

	* charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.

	* coding.c (ENCODE_DESIGNATION, decode_eol)
	(make_conversion_work_buffer, code_conversion_restore)
	(Fdefine_coding_system_internal): Convert Lisp types.
	(code_conversion_restore): Use EQ, not ==.
	(Fencode_coding_string): Fix code_convert_string call.

	* coding.h (code_convert_region): Fix prototype.

	* dispextern.h (redraw_frame, redraw_garbaged_frames): Removed.

	* fontset.c (fontset_ref, fontset_set, fs_load_font) 
	(Ffontset_info): Convert Lisp types.

	* syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.

	* xterm.c (note_mouse_movement): Fix call of window_from_coordinates.

	* xdisp.c (display_mode_element): Fix call of Fset_text_properties.

	* chartab.c: Include "...h", not <...h> in some cases.

	* callproc.c (Fcall_process): Remove unused variables.

Dave Love's avatar
Dave Love committed
145 146 147 148
2002-07-12  Dave Love  <fx@gnu.org>

	* coding.c (Fset_coding_system_priority): Allow null arg list.

149 150
2002-07-03  Dave Love  <fx@gnu.org>

Dave Love's avatar
Dave Love committed
151 152 153
	* minibuf.c (Fminibuffer_complete_word): Remove unused var.
	(Fself_insert_and_exit): Use CHARACTERP.

154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
	* callproc.c (Fcall_process): Remove unused vars.

	* xterm.c (XTread_socket): Add extra dead keysyms.

	* xdisp.c (decode_mode_spec_coding): Use CHARACTERP.

	* dispextern.h: Remove prototypes for redraw_frame,
	redraw_garbaged_frames.

	* cmds.c (Fself_insert_command): Use CHARACTERP.

	* chartab.c (make_sub_char_table): Remove unused var.
	(Fset_char_table_default, Fmap_char_table): Doc fix.

	* keymap.c (access_keymap): Remove generic char code.
	(push_key_description): Use CHARACTERP.

Dave Love's avatar
Dave Love committed
171 172 173 174 175
2002-07-01  Dave Love  <fx@gnu.org>

	* charset.c: Doc fixes.
	(Funify_charset): Extra checking.

Dave Love's avatar
Dave Love committed
176 177 178 179 180 181
2002-06-24  Dave Love  <fx@gnu.org>

	* lread.c: Remove some unused variables.
	(safe_to_load_p): If safe, return the magic number version byte.
	(Fload): Maybe use load-with-code-conversion.

Kenichi Handa's avatar
Kenichi Handa committed
182 183 184 185 186 187 188 189 190 191 192 193 194 195
2002-06-12  Kenichi Handa  <handa@etl.go.jp>

	* category.c (Fmodify_category_entry): Don't modify the contents
	of category_set for characters out of the range.  Avoid
	unnecessary modification.

	* character.h (MAYBE_UNIFY_CHAR): Adjusted for the change of
	Vchar_unify_table.  The default value of the table is now nil.

	* character.c (syms_of_character): Setup Vchar_width_table for
	eight-bit-control and raw-byte chars.

	* charset.h (enum define_charset_arg_index): Delete
	charset_arg_parents and add charset_arg_subset and
Dave Love's avatar
Dave Love committed
196
	charset_arg_superset.
Kenichi Handa's avatar
Kenichi Handa committed
197 198 199 200 201
	(enum charset_attr_index): Delete charset_parents and add
	charset_subset and charset_superset.
	(enum charset_method): Delete CHARSET_METHOD_INHERIT and add
	CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
	(CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Macros deleted.
Dave Love's avatar
Dave Love committed
202 203
	(CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
	(CHARSET_SUPERSET): New macros.
Kenichi Handa's avatar
Kenichi Handa committed
204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219
	(charset_work): Extern it.
	(ENCODE_CHAR): Use charset_work.
	(CHAR_CHARSET_P): Adjusted for the change of encoder format.
	(map_charset_chars): Extern it.

	* charset.c (load_charset_map): Set the default value of encoder
	and deunifier char-tables to nil.
	(map_charset_chars): Argument changed.  Callers changed.  Use
	map_char_table_for_charset instead of map_char_table.
	(Fmap_charset_chars): New optional args from_code and to_code.
	(Fdefine_charset_internal): Adjusted for the change of
	`define-charset' (:parents -> :subset or :superset).
	(charset_work): New variable.
	(encode_char): Adjusted for the change of
	Fdefine_charset_internal.
	(syms_of_charset): Likewise.
Kenichi Handa's avatar
Kenichi Handa committed
220
	(Ffind_charset_string): Setup the vector `charsets' correctly.
Kenichi Handa's avatar
Kenichi Handa committed
221 222 223 224 225 226 227 228 229 230 231 232

	* chartab.c (sub_char_table_ref_and_range): New arg defalt.  Fix
	the previous change.
	(char_table_ref_and_range): Adjusted for the above change.
	(map_sub_char_table_for_charset): New function.
	(map_char_table_for_charset): New function.

	* keymap.c (describe_vector): Handle a char-table directly here.
	(describe_char_table): Deleted.

	* lisp.h (map_charset_chars): Deleted.

Dave Love's avatar
Dave Love committed
233 234 235 236 237 238 239 240 241
2002-06-11  Dave Love  <fx@gnu.org>

	* fns.c (count_combining): Comment out (unused).
	(Flocale_codeset): New.
	(syms_of_fns): Defsubr it.

	* config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
	(size_t): Removed.
	
Dave Love's avatar
Dave Love committed
242 243 244 245
2002-06-06  Dave Love  <fx@gnu.org>

	* Makefile.in (chartab.o): Depend on charset.h

Kenichi Handa's avatar
Kenichi Handa committed
246 247 248 249 250
2002-06-03  Kenichi Handa  <handa@etl.go.jp>

	* character.c (syms_of_character): Set the default value of
	Vprintable_chars to Qnil.

Dave Love's avatar
Dave Love committed
251 252 253 254
2002-05-31  Dave Love  <fx@gnu.org>

	* Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.

Kenichi Handa's avatar
Kenichi Handa committed
255 256
2002-05-31  Kenichi Handa  <handa@etl.go.jp>

Kenichi Handa's avatar
Kenichi Handa committed
257 258 259
	* charset.c (load_charset_map): Handle the case that from < to
	correctly.

Kenichi Handa's avatar
Kenichi Handa committed
260 261 262 263 264 265 266
	* coding.c (encode_coding_emacs_mule): Pay attention to raw-8-bit
	chars.
	(encode_coding_iso_2022): Likewise.
	(encode_coding_sjis): Likewise.
	(encode_coding_big5): Likewise.
	(encode_coding_charset): Likewise.

267 268
2002-05-30  Kenichi Handa  <handa@etl.go.jp>

Dave Love's avatar
Dave Love committed
269
	* Makefile.in (lisp): Change chinese.elc to chinese.el.  They are
Kenichi Handa's avatar
Kenichi Handa committed
270 271 272
	not bytecompiled now.
	(shortlisp): Likewise.

Dave Love's avatar
Dave Love committed
273 274
	* charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
	(charset_jisx0208): New variables.
275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291
	(Fdefine_charset_internal): Setup them if appropriate.
	(init_charset_once): Initialize them to -1.

	* charset.h (charset_jisx0201_roman, charset_jisx0208_1978,
	charset_jisx0208): Extern them.

	* coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro
	(CODING_ISO_FLAG_USE_OLDJIS): New macro.
	(CODING_ISO_FLAG_FULL_SUPPORT): Macro definition changed.
	(setup_iso_safe_charsets): Fix arguemtns to Fassq.
	(DECODE_DESIGNATION): Pay attention to CODING_ISO_FLAG_USE_ROMAN
	and CODING_ISO_FLAG_USE_OLDJIS.
	(ENCODE_ISO_CHARACTER_DIMENSION1): Likewise.
	(ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
	(encode_coding_iso_2022): Change the 1st arg to
	ENCODE_ISO_CHARACTER to a variable.

Kenichi Handa's avatar
Kenichi Handa committed
292 293
2002-05-29  Kenichi Handa  <handa@etl.go.jp>

Kenichi Handa's avatar
Kenichi Handa committed
294 295
	* charset.h (enum define_charset_arg_index): New enums
	charset_arg_min_code and charset_arg_max_code.
Kenichi Handa's avatar
Kenichi Handa committed
296 297 298 299 300 301 302 303 304
	(struct charset): New member char_index_offset.

	* charset.c (CODE_POINT_TO_INDEX): Take charset->char_index_offset
	into account.
	(INDEX_TO_CODE_POINT): Likewise.
	(Fdefine_charset_internal): Handle args[charset_arg_min_code] and
	args[charset_arg_max_code].  Setup charset.char_index_offset.
	(syms_of_charset): Fix args to Fdefine_charset_internal.

305 306 307 308 309
2002-05-27  Dave Love  <fx@gnu.org>

	* coding.c (decode_coding_utf_8): Reject overlong sequences.

2002-05-26  Dave Love  <fx@gnu.org>
Dave Love's avatar
Dave Love committed
310 311 312 313 314

	* coding.c: Doc fixes.
	(Fcoding_system_aliases): Fix return value.
	(Qmac): Remove (duplicated) definition.

315 316
2002-05-25  Dave Love  <fx@gnu.org>

Dave Love's avatar
Dave Love committed
317 318 319 320 321
	* charset.c (Fcharset_priority_list, Fset_charset_priority): New
	functions.

	* character.c (Fstring): Doc fix.

322 323
	* charset.c (Fdefine_charset_alias): Update Vcharset_list.

324 325 326 327
	* fontset.c (Ffontset_info): Doc fix.  Return charset names, not
	ids.
	(font-encoding-alist): Doc fix.

328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345
2002-05-24  Dave Love  <fx@gnu.org>

	* term.c (costs_set): Declare static, non-initialized for pcc.
	(encode_terminal_code): Remove ensued var.

	* keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
	for K&R.

	* xterm.c (xlwmenu_window_p): Fix prototype for K&R.

	* coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
	(suffixes): Moved out of make_subsidiaries for K&R.

	* charset.c (map_charset_chars): Fix c_function declaration for
	K&R.

	* lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.

Dave Love's avatar
Dave Love committed
346 347 348 349 350 351 352
2002-05-23  Dave Love  <fx@gnu.org>

	* data.c (Fchar_or_string_p): Doc fix.  Use CHARACTERP.

	* category.c (Fmodify_category_entry): Doc fix.  Remove unused
	vars.

353 354 355 356 357 358 359
2002-05-23  Yong Lu <lyongu@asia-infonet.com>

	* charset.c (Fdefine_charset_internal): Fix argument to bzero.

	* coding.c (Fdefine_coding_system_internal): Fix previous change.
	(decode_coding_charset): Workaround for the bug of GCC 2.96.

Kenichi Handa's avatar
Kenichi Handa committed
360 361 362 363 364 365
2002-05-23  Kenichi Handa  <handa@etl.go.jp>

	* Makefile.in (lisp): Change cyrillic.elc to cyrillic.el,
	vietnamese.elc to vietnamese.el.  They are not bytecompiled now.
	(shortlisp): Likewise.

366 367
2002-05-22  Kenichi Handa  <handa@etl.go.jp>

Kenichi Handa's avatar
Kenichi Handa committed
368 369 370 371 372 373
	* coding.c (decode_coding_charset): Adjusted for the change of
	Fdefine_coding_system_internal.
	(Fdefine_coding_system_internal): For a coding system of
	`charset' type, store a list of charset IDs in
	`charset_attr_charset_valids' element of coding attributes.

374 375
	* charset.c (Fmake_char): Fix previous change.

376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397
2002-05-21  Kenichi Handa  <handa@etl.go.jp>

	* coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
	(emacs_mule_char): New arg src.  Delete arg `composition'.  Caller
	changed.  Handle 2-byte and 3-byte charsets correctly.
	(DECODE_EMACS_MULE_COMPOSITION_RULE_20): Renamed from
	DECODE_EMACS_MULE_COMPOSITION_RULE.  Caller changed.
	(DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
	(DECODE_EMACS_MULE_21_COMPOSITION): Call
	DECODE_EMACS_MULE_COMPOSITION_RULE_21.  Produce correct annotation
	sequence.
	(decode_coding_emacs_mule): Handle composition correctly.  Rewind
	`src' and `consumed_chars' correctly before calling
	emacs_mule_char.
	(DECODE_COMPOSITION_START): Correctly handle the case of altchar
	and alt&rule composition.
	(decode_coding_iso_2022): Handle composition correctly.
	(init_coding_once): Setup emacs_mule_bytes for private charsets.
	
	* charset.c (Fdefine_charset_internal): Fix bug for the case of
	re-defining a charset.  If the charset has :emacs-mule-id, setup
	emacs_mule_bytes.
Kenichi Handa's avatar
Kenichi Handa committed
398 399
	(Fmake_char): If CODE1 is nil, use the minimum code of the
	charset.
400

Kenichi Handa's avatar
Kenichi Handa committed
401 402 403 404 405 406 407 408 409
2002-05-20  Kenichi Handa  <handa@etl.go.jp>

	* coding.c (encode_coding_iso_2022): If coding requires safe
	encoding, produce a character specified by
	CODING_INHIBIT_CHARACTER_SUBSTITUTION.
	(encode_coding_sjis): Likewise.
	(encode_coding_big5): Likewise.
	(encode_coding_charset): Likewise.

Dave Love's avatar
Dave Love committed
410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442
2002-05-17  Dave Love  <fx@gnu.org>

	* xterm.c (XSetIMValues): Declare.

	* process.c: Conditionally include sys/wait.h, pty.h.

	* print.c (print_object): Fix print format for 64-bit
	systems.

	* keyboard.c (modify_event_symbol): Fix print format for 64-bit
	systems.

	* buffer.c (emacs_strerror): Declare.
	(MMAP_ALLOCATED_P, mmap_enlarge, syms_of_buffer): Import changes
	from trunk.

	* fontset.c (Fclear_face_cache): Declare.
	(accumulate_font_info): Commented-out (unused).
	(face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
	variables.

	* character.h (string_escape_byte8): Declare.

	* charset.c (load_charset_map, load_charset_map_from_file): Remove
	unused vars.
	(Fdefine_charset_internal, Fsplit_char, syms_of_charset)
	(Fmap_charset_chars): Doc fix.

	* coding.c (Vchar_coding_system_table, Qchar_coding_system):
	Removed.
	(Fset_coding_system_priority, Fset_coding_system_priority) 
	(Fdefine_coding_system_internal): Doc fix.

Dave Love's avatar
Dave Love committed
443 444 445 446
2002-05-16  Dave Love  <fx@gnu.org>

	* s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.

Kenichi Handa's avatar
Kenichi Handa committed
447 448
2002-05-16  Kenichi Handa  <handa@etl.go.jp>

Kenichi Handa's avatar
Kenichi Handa committed
449 450 451
	* character.c (string_escape_byte8): Make multibyte string with
	correct size.

Kenichi Handa's avatar
Kenichi Handa committed
452 453
	* charset.c (Fmake_char): Delete unnecessary code.

454 455
2002-05-14  Kenichi Handa  <handa@etl.go.jp>

456 457 458
	* xfns.c (x_encode_text): Allocate coding.destination here, and
	call encode_coding_object with dst_object Qnil.

459 460 461
	* buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
	multibyte form correctly.

462 463 464
	* fontset.c (fs_load_font): Check fontp->full_name (not fontname)
	against Vfont_encoding_alist.

465 466 467
	* coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF).  Fix the
	handling of charset list.
	(encode_coding_iso_2022): Setup coding->safe_charsets in advance.
468 469
	(decode_coding_object): Move point to coding->dst_pos before
	calling post-read-conversion function.
Dave Love's avatar
Dave Love committed
470
	(encode_coding_object): Give correct arguments to
471
	pre-write-conversion.  Ignore the return value of
Kenichi Handa's avatar
Kenichi Handa committed
472
	pre-write-conversion function.  Pay attention to the case that
Dave Love's avatar
Dave Love committed
473
	pre-write-conversion changes the current buffer.  If dst_object is
474 475
	Qt, even if coding->src_bytes is zero, allocate at least one byte
	to coding->destination.
476 477 478

	* coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).

479
	* charset.c (Fmake_char): Make it more backward compatible.
480
	(Fmap_charset_chars): Fix docstring.
481

Dave Love's avatar
Dave Love committed
482 483 484 485 486 487
2002-05-13  Dave Love  <fx@gnu.org>

	* coding.c: Doc fixes.
	(Fdefine_coding_system_alias): Use names, not symbols, in
	coding-system-alist.

Kenichi Handa's avatar
Kenichi Handa committed
488 489 490
2002-05-13  Kenichi Handa  <handa@etl.go.jp>

	* fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
Dave Love's avatar
Dave Love committed
491
	of calling free_realized_face.
Kenichi Handa's avatar
Kenichi Handa committed
492

493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517
2002-05-10  Yong Lu <lyongu@asia-infonet.com>

	* charset.c (load_charset_map): Fix previous change.
	(read_hex): Don't treat SPC as a comment starter.
	(decode_char): If CODE_POINT_TO_INDEX retruns -1, always return
	-1.
	(Fdecode_char): Fix typo.

2002-05-10  Kenichi Handa  <handa@etl.go.jp>

	* charset.h (struct charset): New member `code_space_mask'.

	* coding.c (coding_set_source): Delete the local variable
	beg_byte.
	(encode_coding_charset): Delete the local variable charset.
	(Fdefine_coding_system_internal): Likewise.
	(Fdefine_coding_system_internal): Setup
	attrs[coding_attr_charset_valids] correctly.

	* charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
	member to check if CODE is valid or not.
	(Fdefine_charset_internal): Initialize `code_space_mask' member.
	(encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
	is within the range of charset->min_code and carset->max_code.

Dave Love's avatar
Dave Love committed
518 519 520 521 522 523 524 525 526 527 528 529
2002-05-09  Dave Love  <fx@gnu.org>

	* syntax.h (syntax_temp) [!__GNUC__]: Declare.

	* dispextern.h (generate_ascii_font): Fix return type.

	* xfaces.c (generate_ascii_font): Fix arg declaration.

	* coding.c (coding_inherit_eol_type)
	(Fset_terminal_coding_system_internal)
	(Fset_safe_terminal_coding_system_internal): Fix arg declarations.

Kenichi Handa's avatar
Kenichi Handa committed
530 531 532 533 534
2002-05-08  Kenichi Handa  <handa@etl.go.jp>

	* coding.c (decode_coding_charset, encode_coding_charset): Handle
	multiple charsets correctly.

Kenichi Handa's avatar
Kenichi Handa committed
535 536
2002-05-07  Kenichi Handa  <handa@etl.go.jp>

Kenichi Handa's avatar
Kenichi Handa committed
537 538 539
	* search.c (boyer_moore): Fix handling of mulitbyte character
	translation.

Kenichi Handa's avatar
Kenichi Handa committed
540 541 542
	* xdisp.c (display_mode_element): When the variable `elt' is
	changed, update `this' and `lisp_string'.

543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587
2002-05-07  Kenichi Handa  <handa@etl.go.jp>

	* buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.

	* callproc.c (Fcall_process): Be sure to give the current buffer
	to decode_coding_c_string.  Update PT and PT_BYTE after the
	insertion.

	* charset.c (struct charset_map_entries): New struct.
	(load_charset_map): Renamed from parse_charset_map.  New args
	entries and n_entries.  Caller changed.
	(load_charset_map_from_file): Renamed from load_charset_map.
	Caller changed.  New arg control_flag.  Call load_charset_map at
	the tail.
	(load_charset_map_from_vector): New function.
	(Fdefine_charset_internal): Setup charset.compact_codes_p.
	(encode_char): If the charset is compact, change a character index
	to a code point.

	* coding.c (coding_alloc_by_making_gap): Check the case that the
	source and destination are the same correctly.
	(decode_coding_raw_text): Set coding->consumed_char and
	coding->consumed to 0.
	(produce_chars): If coding->chars_at_source is nonzero, update
	coding->consumed_char and coding->consumed before calling
	alloc_destination.
	(Fdefine_coding_system_alias): Register ALIAS in
	Vcoding_system_alist.
	(syms_of_coding): Define `no-convesion' coding system at the tail.

	* fileio.c (Finsert_file_contents): Set coding_system instead of
	val.  If the current buffer is multibyte, always call
	decode_coding_gap.

	* xfaces.c (try_font_list): Give higher priority to fontset's
	family than face's family.

2002-04-18  Kenichi Handa  <handa@etl.go.jp>

	* callproc.c (Fcall_process): Be sure to give the current buffer
	to decode_coding_c_string.

	* xfaces.c (try_font_list): Give a family specified in a fontset
	higher priority than a family specified in a face.

Kenichi Handa's avatar
Kenichi Handa committed
588 589 590 591 592 593 594
2002-04-09  Kenichi Handa  <handa@etl.go.jp>

	* fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
	Fix arguments to insert_from_buffer.

	* xdisp.c (display_mode_element): Fix calculation of `bytepos'.

Kenichi Handa's avatar
Kenichi Handa committed
595 596 597 598 599
2002-03-11  Kenichi Handa  <handa@etl.go.jp>

	* coding.c (produce_chars): Set the variable `multibytep' correctly.
	(decode_coding_gap): Set coding->dst_multibyte correctly.

Kenichi Handa's avatar
Kenichi Handa committed
600 601 602 603 604 605 606 607 608 609 610 611
2002-03-07  Kenichi Handa  <handa@etl.go.jp>

	* coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
	(decode_coding_utf_16): Fix converting high and low bytes to
	code-point.
	(encode_coding_utf_16): Substitute coding->default_char for
	non-Unicode characters.
	(decode_coding): Don't call record_insert here.
	(setup_coding_system): Initialize `surrogate' of
	coding->spec.utf_16 to 0.
	(EMIT_ONE_BYTE): Fix for multibyte case.

Kenichi Handa's avatar
Kenichi Handa committed
612 613
	* insdel.c (insert_from_gap): Call record_insert.

Kenichi Handa's avatar
Kenichi Handa committed
614 615 616 617 618 619 620 621 622 623 624 625 626 627 628
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.

Kenichi Handa's avatar
Kenichi Handa committed
629 630
	* charset.c (parse_charset_map): Remove an unused variable.

Kenichi Handa's avatar
Kenichi Handa committed
631 632 633 634 635 636 637 638
	* 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.

639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904
2002-03-01  Kenichi Handa  <handa@etl.go.jp>

	The following changes are for using Unicode as an internal
	character model, and use UTF-8 format for buffer/string
	representation.

	* .gdbinit (xchartable): Adjusted for the change of char table
	structure.
	(xsubchartable, xcoding, xcharset, xcurbuf): New commands.
	
	* Makefile.in (obj): Add character.o and chartab.o.
	(lisp, shortlisp): Remove utf-8.elc:
	(*.o): For many files, change dependency on charset.h to
	character.h, and add dependency on character.h.
	(character.o, chartab.o): New targets.
	
	* abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c,
	doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c,
	w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
	of "charset.h".
	
	* dired.c, filelock.c: Include "character.h".

	* alloc.c: Include "character.h" instead of "charset.h".
	(Fmake_char_table): Moved to chartab.c.
	(make_sub_char_table): Likewise.
	(syms_of_alloc): Remove defsubr for Smake_char_table.

	* buffer.c: Include "character.h" instead of "charset.h", don't
	include "coding.h".
	(Fset_buffer_multibyte): Adjuted for UTF-8.

	* buffer.h: EXFUN Fbuffer_live_p.

	* callproc.c: Include "character.h" instead of "charset.h".
	(Fcall_process): Big change for the new code-conversion APIs.

	* casetab.c: Include "character.h" instead of "charset.h".
	(set_canon, set_identity, shuffle): Adjusted for the new
	map_char_table spec.
	(init_casetab_once): Call CHAR_TABLE_SET instead of directly
	accessing the char table structure.

	* chartab.c: New file that implements char table.

	* category.c: Include "character.h".
	(copy_category_entry): New function.
	(copy_category_table): Call map_char_table and copy_category_entry.
	(Fmake_category_table): Initialize all top-vel slots.
	(char_category_set): New function.
	(modify_lower_category_set): Deleted.
	(Fmodify_category_entry): Call char_table_ref_and_range.

	* category.h (CATEGORY_SET): Just call char_category_set.

	* ccl.c: Include "character.h".
	(Qccl, Qcclp): New variables.
	(CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
	it's less than 256.
	(CCL_WRITE_MULTIBYTE_CHAR): Deleted.
	(CCL_WRITE_STRING, CCL_READ_CHAR): Adjusted for the change of SRC
	and DST type.
	(ccl_driver): Types of arguments changed.  Code adjusted for that.
	(Fccl_execute, Fccl_execute_on_string): Adjusted for the change of
	ccl_driver.
	(syms_of_ccl): Intern and staticpro Qccl and Qcclp.

	* ccl.h (struct ccl_program): Members eol_type and multibyte
	deleted.  New members src_multibyte, dst_multibyte, consumed, and
	produced.
	(struct ccl_spec): Members decoder and encoder deleted.  New
	memeber ccl.
	(CODING_SPEC_CCL_PROGRAM): New macro.
	(ccl_driver): Prototype updated.
	(Qccl, Qcclp, Fccl_program_p): Extern them.
	(CHECK_CCL_PROGRAM): New macro.

	* character.c, character.h, chartab.c: New files. 

	* charset.c: Mostly re-written.  Character and multibyte sequence
	handling codes are moved to character.c.

	* charset.h: Mostly re-written.  Character and multibyte sequence
	handling codes are moved to character.h.

	* coding.c, coding.h: Mostly re-written.

	* composite.c: Include "character.h" instead of "charset.h".
	(CHAR_WIDTH): Moved to character.h.
	(HASH_KEY, HASH_VALUE): Deleted.

	* composite.h (enum composition_method): Order of enumeration
	symbols changed.

	* data.c: Include "character.h" instead of "charset.h".
	(Faref): Call CHAR_TABLE_REF for a char table.
	(Faset): Call CHAR_TABLE_SET for a char table.

	* dispextern.h (free_realized_face, check_face_attribytes,
	generate_ascii_font): Extern them.
	(free_realized_multibyte_face): Extern deleted.

	* disptab.h (DISP_CHAR_VECTOR): Adjusted for the change of char
	table structure.
	
	* editfns.c: Include "character.h" instead of "charset.h".
	(Fchar_to_string): Always call CHAR_STRING.

	* emacs.c (main): Call init_charset_once, init_charset,
	syms_of_chartab, and syms_of_character.

	* fileio.c: Include "character.h" instead of "charset.h".
	(Finsert_file_contents): Big change for the new code-conversion
	API.
	(choose_write_coding_system): Likewise.
	(Fwrite_region): Likewise.
	(build_annotations_2): Deleted.
	(e_write): Big change for the new code-conversion API.

	* fns.c: Include "character.h" instead of "charset.h".
	(copy_sub_char_table): Moved to chartab.c.
	(Fcopy_sequence): Call copy_char_table for a char table.
	(concat): Delete codes calling count_multibyte.
	(string_char_to_byte): Adjusted for the new multibyte form.
	(string_byte_to_char): Likewise.
	(internal_equal): Adjusted for the change of char table structure.
	(Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent,
	Fchar_table_extra_slot, Fset_char_table_extra_slot,
	Fchar_table_range, Fset_char_table_range, Fset_char_table_default,
	char_table_translate, optimize_sub_char_table,
	Foptimize_char_table, map_char_table, Fmap_char_table): Moved to
	chartab.c.
	(char_table_ref_and_index): Deleted.
	(HASH_KEY, HASH_VALUE): Moved to lisp.h.
	(Fmd5): Call preferred_coding_system instead of accessing
	Vcoding_category_list.  Adjusted for the new code-conversion API.
	(syms_of_fns): Defsubr for char table related functions moved to
	chartab.c.

	* fontset.c: Mostly re-written.

	* fontset.h (struct font_info): Type of the member encoding_type
	changed.
	(enum FONT_SPEC_INDEX): New enum.
	(fontset_font_pattern, fs_load_font): Prototype updated.
	(FS_LOAD_FONT): Adjusted for the change of fs_load_font.

	* indent.c: Include "character.h" instead of "charset.h".
	(MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of
	WIDTH_BY_CHAR_HEAD.

	* insdel.c: Include "character.h" instead of "charset.h".
	(copy_text): Don't refer to Vnonascii_translation_table.
	(insert_from_gap): New function.

	* keyboard.c: Include "character.h" instead of "charset.h".
	(command_loop_1): Never call direct_output_forward_char before
	a non-ASCII character.
	(read_char): If Vkeyboard_translate_table is a char table, always
	translated a character.

	* keymap.c: Include "character.h".
	(store_in_keymap): Handle the case that IDX is a cons.
	(Fdefine_key): Handle the case that KEY is a cons and the car part
	is also a cons (range).
	(push_key_description): Adjusted for the new character code.
	(describe_vector): Call describe_char_table for a char table.
	(describe_char_table): New function.

	* keymap.h (describe_char_table): Extern it.

	* lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
	(XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
	(CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS,
	SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
	Deleted.
	(CHAR_TABLE_REF, CHAR_TABLE_SET): Adjusted for the new char table
	structure.
	(CHAR_TABLE_TRANSLATE): Just call char_table_translate.
	(CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2,
	CHARTAB_SIZE_BITS_3): New macros.
	(chartab_size): Extern it.
	(struct Lisp_Char_Table): Re-designed.
	(struct Lisp_Sub_Char_Table): New structure.
	(HASH_KEY, HASH_VALUE): Moved from fns.c.
	(CHARACTERBITS): Defined as 22.
	(GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjusted for the above change.
	(SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
	(GC_SUB_CHAR_TABLE_P): New macro.
	(Fencode_coding_string, Fdecode_coding_string): EXFUN Updated.
	(code_convert_string_norecord): Extern deleted.
	(init_character_once, syms_of_character, init_charset,
	syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.

	* lread.c: Include "character.h".
	(read_multibyte): New arg NBYTES.
	(read_escape): The meaning of returned *BYTEREP changed.
	(to_multibyte): Deleted.
	(read1): Adjuted the handling of char table and string.

	* print.c: Include "character.h" instead of "charset.h".
	(print_string): Convert 8-bit raw bytes to octal form by
	string_escape_byte8.
	(print_object): Adjusted for the new multibyte form.  Print 8-bit
	raw bytes always in octal form.  Handle sub char table correctly.

	* process.c: Include "character.h" instead of "charset.h".
	(read_process_output): Adjusted for the new code-conversion API.
	(send_process): Likewise.

	* puresize.h (BASE_PURESIZE): Increased.

	* regex.c: Include "character.h" instead of "charset.h".
	(BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
	(regex_compile): Accept a range whose starting and ending
	character have different leading bytes.
	(analyse_first): Adjusted for the above change.

	* search.c: Include "character.h" instead of "charset.h".
	(search_buffer, boyer_moore): Adjusted for the new multibyte form.
	(Freplace_match): Adjusted for the change of
	multibyte_char_to_unibyte.

	* syntax.c: Include "character.h" instead of "charset.h".
	(syntax_parent_lookup): Deleted.
	(Fmodify_syntax_entry): Accept a cons as CHAR.
	(skip_chars): Adjusted for the new multibyte form.
	(init_syntax_once): Call char_table_set_range instead of directly
	accessing the structure of a char table.

	* syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
	(SYNTAX_ENTRY_FOLLOW_PARENT): Macro deleted.
	(SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
	(SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.

	* term.c: Include "buffer.h" and "character.h".
	(encode_terminal_code): Adjusted for the new code-conversion API.
	(write_glyphs): Likewise.
	(produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.

	* w32term.c (x_new_font): Adjusted for the change of FS_LOAD_FONT.

	* xdisp.c: Include "character.h".
	(get_next_display_element): Adjusted for the new multibyte form.
	(disp_char_vector): Adjusted for the new char table structure.
	(decode_mode_spec_coding): Adjusted for the new structure of
	coding system.
	(decode_mode_spec): Adjusted for the new code-conversion API.

	* xfaces.c: Include "character.h" instead of "charset.h".
	(load_face_font): Adjusted for the change of choose_face_font and
	FS_LOAD_FONT.
	(generate_ascii_font): New function.
	(set_lface_from_font_name): Adjusted for the change of
	FS_LOAD_FONT.
	(set_font_frame_param): Adjusted for the change of
	choose_face_font.
	(free_realized_face): Make it public.
	(free_realized_faces_for_fontset): Renamed from
	free_realized_multibyte_face.  Free also faces realized for ASCII.
	(choose_face_font): Argments changed.  Adjusted for the change of
	fontset_font_pattern and FS_LOAD_FONT.

	* xfns.c: Include "character.h".
	(x_encode_text): Adjusted for the new code-conversion API.

Kenichi Handa's avatar
Kenichi Handa committed
905 906 907 908
	* xselect.c: Don't include "charset.h".
	(selection_data_to_lisp_data): Adjusted for the new code
	covnersion API.

Kenichi Handa's avatar
Kenichi Handa committed
909 910 911 912 913 914 915 916 917 918 919
	* xterm.c: Include "character.h".
	(x_encode_char): New argument CHARSET.  Caller changed.
	(x_get_char_face_and_encoding): Call ENCODE_CHAR instead of
	SPLIT_CHAR.
	(x_get_glyph_face_and_encoding): Likewise.
	(x_produce_glyphs): Don't check Vnonascii_translation_table Call
	CHAR_WIDTH instead of CHARSET_WIDTH.
	(XTread_socket): Adjusted for the new code-conversion API.
	(x_new_font): Adjusted for the change of FS_LOAD_FONT.
	(x_load_font): Adjusted for the change of struct font.

Kenichi Handa's avatar
Kenichi Handa committed
920
;; Local Variables:
Jason Rumney's avatar
Jason Rumney committed
921
;; coding: iso-2022-7bit
Kenichi Handa's avatar
Kenichi Handa committed
922
;; End:
Gerd Moellmann's avatar
Gerd Moellmann committed
923

924
    Copyright (C) 2002 Free Software Foundation, Inc.
Gerd Moellmann's avatar
Gerd Moellmann committed
925 926
  Copying and distribution of this file, with or without modification,
  are permitted provided the copyright notice and this notice are preserved.