Sync up with r21-2-46-utf-2000-0_19-b1.
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * emacs.c (Vutf_2000_lisp_directory): New variable.
4         (Vconfigure_utf_2000_lisp_directory): Likewise.
5         (complex_vars_of_emacs): Add new variable
6         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
7
8 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
9
10         * char-ucs.h (DECODE_CHAR): Delete special code for
11         `chinese-big5-1' and `chinese-big5-2'.
12
13         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
14         (Qbig5_2): Likewise.
15         (decode_defined_char): Support CONVERSION_BIG5_1 and
16         CONVERSION_BIG5_2.
17         (decode_builtin_char): Likewise.
18         (charset_code_point): Likewise.
19         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
20         'conversion in UTF-2000.
21         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
22         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
23         `chinese-big5-2' as children of `chinese-big5'.
24
25         * char-ucs.h (CONVERSION_BIG5_1): New macro.
26         (CONVERSION_BIG5_2): New macro.
27
28 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
29
30         * text-coding.c (char_encode_big5): Support entity-reference.
31
32 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
33
34         * text-coding.c (char_encode_as_entity_reference): New function.
35         (char_encode_utf8): Use `char_encode_as_entity_reference'.
36
37 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
38
39         * text-coding.c (decode_coding_big5): Support entity-reference
40         decoding feature.
41
42 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
43
44         * text-coding.c (allocate_coding_system): Initialize initial
45         charsets for CODESYS_UTF8.
46         (Fmake_coding_system): Accept charset-g0, charset-g1 and
47         charset-g2 for CODESYS_UTF8.
48         (decode_coding_utf8): Use charset-g0.
49         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
50         to force variants to map to UCS.
51
52 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
53
54         * text-coding.c (Qutf_8_mcs): New variable.
55         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
56         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
57         instead of `utf-8' in UTF-2000.
58
59 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
60
61         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
62         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
63         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
64         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
65         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
66         CONVERSION_96x96x96x96 are introduced.
67         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
68         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
69         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
70
71         * char-ucs.h (CONVERSION_94): New macro.
72         (CONVERSION_96): New macro.
73         (CONVERSION_94x94): New macro.
74         (CONVERSION_96x96): New macro.
75         (CONVERSION_94x94x94): New macro.
76         (CONVERSION_96x96x96): New macro.
77         (CONVERSION_94x94x94x60): New macro.
78         (CONVERSION_94x94x94x94): New macro.
79         (CONVERSION_96x96x96x96): New macro.
80
81 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
82
83         * chartab.c (Vcharacter_variant_table): Deleted.
84         (Fchar_variants): Use character-attribute `->ucs-variants' instead
85         of `Vcharacter_variant_table'.
86         (Fput_char_attribute): Likewise.
87         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
88         (complex_vars_of_chartab): Likewise.
89
90 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
91
92         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
93
94         * fns.c (Qideographic_structure): New variable.
95         (Qkeyword_char): New variable.
96         (ids_format_unit): New function.
97         (Fideographic_structure_to_ids): New function.
98         (syms_of_fns): Add new symbols `ideographic-structure' and
99         `:char'; add new builtin function `ideographic-structure-to-ids'.
100
101         * data.c (Fchar_ref_p): New function.
102         (syms_of_data): Add new builtin function `char-ref-p'.
103
104         * chartab.h: Add an EXFUN for `Ffind_char'.
105
106 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
107
108         * text-coding.c (Vcharacter_composition_table): Deleted.
109         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
110         in every UTF-2000.
111
112         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
113         UTF-2000.
114         (Vcharacter_composition_table): Deleted.
115         (Fget_composite_char): Use the implementation for external-DB
116         support in every UTF-2000.
117         (Fput_char_attribute): Likewise.
118         (char_attribute_system_db_file): Don't define if external-DB
119         feature is not available.
120         (Fsave_char_attribute_table): Likewise.
121         (Fmount_char_attribute_table): Likewise.
122         (Fclose_char_attribute_table): Likewise.
123         (Freset_char_attribute_table): Likewise.
124         (Fload_char_attribute_table): Likewise.
125         (syms_of_chartab): Don't define `save-char-attribute-table',
126         `mount-char-attribute-table', `reset-char-attribute-table',
127         `close-char-attribute-table' and `load-char-attribute-table' if
128         external-DB feature is not available.
129         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
130
131 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
132
133         * text-coding.c (Qcomposition): Add extern if external-DB feature
134         is supported.
135         (Vcharacter_composition_table): Don't add extern if external-DB
136         feature is supported.
137         (COMPOSE_ADD_CHAR): Modify for new data-representation of
138         character composition rule if external-DB feature is supported.
139
140         * chartab.c (Vcharacter_composition_table): Don't define if
141         external-DB feature is supported.
142         (Qcomposition): New variable.
143         (Fget_composite_char): New implementation for external-DB support.
144         (Fput_char_attribute): Use `composition' property of each
145         character instead of `Vcharacter_composition_table' to store
146         character-composition rules if external-DB feature is supported.
147         (syms_of_chartab): Add new symbol `composition'.
148         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
149         external-DB feature is supported.
150
151 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
152
153         * chartab.c (Vchar_db_stingy_mode): New variable.
154         (load_char_attribute_maybe): Close database if
155         Vchar_db_stingy_mode is not NIL.
156         (Fload_char_attribute_table_map_function): Use
157         `get_char_id_table_0' instead of `get_char_id_table'.
158         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
159
160         * chartab.h (get_char_id_table_0): New inline function.
161         (get_char_id_table): Use `get_char_id_table_0'.
162
163 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
164
165         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
166         and `COMPOSE_ADD_CHAR'.
167         (decode_coding_iso2022): Use `decode_flush_er_chars'.
168
169 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
170
171         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
172         instead of `DECODE_ADD_UCS_CHAR'.
173         (COMPOSE_ADD_CHAR): Likewise.
174
175 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
176
177         * text-coding.c (decode_flush_er_chars): New inline function.
178         (decode_add_er_char): New function.
179         (decode_coding_utf8): Use `decode_flush_er_chars' and
180         `decode_add_er_char'.
181
182 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
183
184         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
185         done before `decode_output_utf8_partial_char'.
186
187         * mule-charset.c (complex_vars_of_mule_charset): Specify
188         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
189         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
190
191 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
192
193         * mule-charset.c (decode_defined_char): New function; search
194         mother.
195         (decode_builtin_char): Don't search mother if
196         XCHARSET_MAX_CODE(charset) == 0.
197         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
198         == 0 even if code >= XCHARSET_MAX_CODE(charset).
199         (Fdecode_char): Use `decode_defined_char' instead of
200         `DECODE_DEFINED_CHAR'.
201         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
202         mother of `Vcharset_ucs_jis'.
203
204         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
205         instead of `DECODE_DEFINED_CHAR'.
206
207         * char-ucs.h (decode_defined_char): Renamed from
208         `DECODE_DEFINED_CHAR'; changed to normal function.
209         (DECODE_CHAR): Use `decode_defined_char' instead of
210         `DECODE_DEFINED_CHAR'.
211
212         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
213
214 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
215
216         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
217
218         * text-coding.c (Vcoded_charset_entity_reference_alist): New
219         variable.
220         (Quse_entity_reference): New variable.
221         (Qd): New variable.
222         (Qx): New variable.
223         (QX): New variable.
224         (coding_system_description): Add description for
225         `ccs_priority_list'.
226         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
227         (allocate_coding_system): Initialize `ccs_priority_list' in
228         UTF-2000.
229         (Fmake_coding_system): Add description about
230         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
231         (codesys).
232         (Fcoding_system_property): Accept `disable-composition' and
233         `use-entity-reference' in UTF-2000.
234         (struct decoding_stream): Add new member `er_counter' and `er_buf'
235         in UTF-2000.
236         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
237         (decode_coding_utf8): Decode entity-reference if
238         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
239         (char_encode_utf8): Encode non-Unicode characters as
240         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
241         (str->codesys).
242         (syms_of_file_coding): Add new symbols `use-entity-reference',
243         `d', `x', `X'.
244         (vars_of_file_coding): Add new variable
245         `coded-charset-entity-reference-alist'.
246         (complex_vars_of_file_coding): Declare `disable-composition' and
247         `use-entity-reference' to be coding-system-properties in UTF-2000.
248
249         * file-coding.h (struct Lisp_Coding_System): Add new member
250         `use_entity_reference' and `ccs_priority_list'.
251         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
252         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
253         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
254
255 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
256
257         * chartab.c (save_uint8_byte_table): Don't clear the table.
258         (save_uint16_byte_table): Likewise.
259         (save_byte_table): Likewise.
260         (Fmount_char_attribute_table): New function.
261         (syms_of_chartab): Add new builtin function
262         `mount-char-attribute-table'.
263
264 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
265
266         * mule-charset.c (Fsave_charset_mapping_table): Open database as
267         "w+" mode.
268         (load_char_decoding_entry_maybe): Open database as read-only mode.
269
270         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
271         open database as "w+" mode.
272         (load_char_attribute_maybe): Open database as read-only mode.
273         (Fload_char_attribute_table): Likewise.
274
275 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
276
277         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
278         (char_table_description): Delete member `db_file'.
279         (Fmake_char_table): Don't refer `ct->db_file'.
280         (Fcopy_char_table): Likewise.
281         (Fsave_char_attribute_table): Likewise.
282         (Fclose_char_attribute_table): Likewise.
283         (Freset_char_attribute_table): Likewise.
284         (load_char_attribute_maybe): Likewise.
285         (Fload_char_attribute_table): Likewise.
286
287         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
288
289 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
290
291         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
292         (Fsave_char_attribute_table): Don't check `ct->db_file' if
293         `ct->db' is living.
294         (load_char_attribute_maybe): Likewise.
295         (Fload_char_attribute_table): Likewise.
296
297 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
298
299         * chartab.c (Fclose_char_attribute_table): Set Qnil on
300         `ct->db_file' unconditionally.
301
302 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
303
304         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
305         UTF-2000.
306         (char_table_description): Add description for `db_file' and `db'
307         in UTF-2000.
308         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
309         UTF-2000.
310         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
311         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
312         (Fclose_char_attribute_table): New function.
313         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
314         (load_char_attribute_maybe): Change interface; use `cit->db_file'
315         and `cit->db'.
316         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
317         (syms_of_chartab): Add new builtin function
318         `Fclose_char_attribute_table'.
319
320 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
321
322         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
323         `db' in UTF-2000.
324         (load_char_attribute_maybe): Change interface.
325         (get_char_id_table): Modify for `load_char_attribute_maybe'.
326
327 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
328
329         * database.h: Add an EXFUN for `Fdatabase_live_p'.
330
331 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
332
333         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
334         instead of `DECODE_CHAR' for mother; don't use special code for
335         chinese-big5 to use code space of chinese-big5-1 and
336         chinese-big5-2.
337         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
338         `MAX_CHAR_BIG5_CDP' for chinese-big5.
339
340         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
341         (MAX_CHAR_BIG5_CDP): Revival.
342
343 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
344
345         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
346         the XLFD registry-encoding name of `chinese-big5'.
347
348 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
349
350         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
351         (Qchinese_big5_cdp): Deleted.
352         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
353         (complex_vars_of_mule_charset): Delete coded-charset
354         `chinese-big5-cdp'.
355
356         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
357         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
358         `CHARSET_ID_OFFSET - n' for private CCS.
359         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
360         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
361         of `MIN_LEADING_BYTE'.
362         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
363         `(CHARSET_ID_OFFSET - 97)'.
364         (MIN_CHAR_BIG5_CDP): Deleted.
365         (MAX_CHAR_BIG5_CDP): Deleted.
366
367 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
368
369         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
370
371 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
374         (vars_of_mule): Add new variable `utf-2000-version' [moved from
375         chartab.c].
376
377         * chartab.c (Vutf_2000_version): Moved to mule.c.
378         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
379
380 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
381
382         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
383         when HAVE_CHISE_CLIENT is not defined.
384
385         * mule.c (vars_of_mule): Provide feature `chise' when
386         HAVE_CHISE_CLIENT is defined.
387
388 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
389
390         * config.h.in (UTF2000): Add comment.
391         (HAVE_CHISE_CLIENT): New macro.
392
393 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
394
395         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
396         CONSP.
397         (Fput_char_attribute): Likewise.
398         (char_attribute_system_db_file): Encode file-name of attribute.
399         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
400         the initial value.
401
402 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
403
404         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
405         (Fsave_charset_mapping_table): Use
406         `char_attribute_system_db_file'.
407         (load_char_decoding_entry_maybe): Likewise.
408
409         * chartab.h (Qsystem_char_id): New external variable.
410         (char_attribute_system_db_file): New prototype.
411
412         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
413         (char_attribute_system_db_file): New function.
414         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
415         (Freset_char_attribute_table): Likewise.
416         (load_char_attribute_maybe): Likewise.
417         (Fload_char_attribute_table): Likewise.
418         (syms_of_chartab): Add new symbol `system-char-id'.
419
420 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
421
422         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
423         `XCHARSET_GRAPHIC(ccs)'.
424
425 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
426
427         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
428
429 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
430
431         * chartab.c (Q_ucs_variants): New variable.
432         (syms_of_chartab): Add new symbol `->ucs-variants'.
433         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
434         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
435         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
436
437         * mule-charset.c (load_char_decoding_entry_maybe): New function.
438
439         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
440         `HAVE_DATABASE' is defined.
441         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
442         `HAVE_DATABASE' is defined.
443
444 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
445
446         * chartab.c (Fsave_char_attribute_table): Don't clear internal
447         attribute-table.
448         (Freset_char_attribute_table): New function.
449         (syms_of_chartab): Add new builtin function
450         `reset-char-attribute-table'.
451
452 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
453
454         * chartab.c (load_char_attribute_maybe): Don't make directories.
455
456 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
457
458         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
459
460         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
461         for decoding-table.
462
463 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
464
465         * mule-charset.c (Fsave_charset_mapping_table): Use
466         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
467
468         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
469         instead of `XCHARSET_CHARS'.
470
471 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
472
473         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
474         (XCHARSET_BYTE_SIZE): Likewise.
475
476         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
477         mule-charset.c].
478         (XCHARSET_BYTE_SIZE): Likewise.
479
480 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
481
482         * chartab.c (Fput_char_attribute): Use exec-directory instead of
483         data-directory to store database.
484         (Fsave_char_attribute_table): Likewise.
485         (load_char_attribute_maybe): Likewise.
486         (Fload_char_attribute_table): Likewise.
487
488 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
489
490         * mule-charset.c (Fsave_charset_mapping_table): New function.
491         (syms_of_mule_charset): Add new builtin function
492         `save-charset-mapping-table'.
493
494 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
495
496         * char-ucs.h (decoding_table_check_elements): Delete prototype.
497         (get_ccs_octet_table): New inline function.
498         (put_ccs_octet_table): Likewise.
499         (decoding_table_put_char): Use `get_ccs_octet_table' and
500         `put_ccs_octet_table'.
501         (decoding_table_remove_char): Use `decoding_table_put_char'.
502         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
503
504         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
505         into encoding_table.
506         (make_charset): Use Qunbound instead Qnil as initial value of
507         decoding_table.
508
509 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
510
511         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
512         element is Qunloaded.
513         (map_over_uint16_byte_table): Likewise.
514         (map_over_byte_table): Likewise.
515         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
516         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
517         database support, load encoding-table of the specified
518         coded-charset if it is not loaded yet.
519         (save_uint8_byte_table): New function of UTF-2000 with external
520         database support.
521         (save_uint16_byte_table): Likewise.
522         (save_byte_table): Likewise.
523         (Fput_char_attribute): Don't store value into external database
524         even if the external database feature is supported in UTF-2000;
525         set `attribute' as name of char-table if the external database
526         feature is supported.
527         (Fsave_char_attribute_table): New function in UTF-2000.
528         (syms_of_chartab): Add new builtin function
529         `save-char-attribute-table' in UTF-2000.
530
531 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
532
533         * chartab.c (char_attribute_table_to_put): New variable in
534         UTF-2000.
535         (Qput_char_table_map_function): Likewise.
536         (value_to_put): Likewise.
537         (Fput_char_table_map_function): New function in UTF-2000.
538         (put_char_table): Use `Fmap_char_attribute' for
539         CHARTAB_RANGE_CHARSET in UTF-2000.
540         (Fput_char_attribute): Store symbol instead of string in
541         `XCHAR_TABLE_NAME (table)'.
542         (load_char_attribute_maybe): Likewise.
543         (syms_of_chartab): Add new symbol/function
544         `put-char-table-map-function'.
545
546 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
547
548         * database.h: Add new EXFUN for `Fmap_database'.
549
550         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
551         (syms_of_database): Likewise.
552
553         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
554         UTF-2000.
555         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
556         (XCHAR_TABLE_UNLOADED): Likewise.
557
558         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
559         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
560         HAVE_DATABASE is defined.
561         (char_attribute_table_to_load): New variable of UTF-2000 with
562         external database support.
563         (Qload_char_attribute_table_map_function): Likewise.
564         (Fload_char_attribute_table_map_function): New function of
565         UTF-2000 with external database support.
566         (Fload_char_attribute_table): New function of UTF-2000.
567         (Fmap_char_attribute): Call Fload_char_attribute_table if
568         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
569         (syms_of_chartab): Add new symbol and function
570         `load-char-attribute-table-map-function' in UTF-2000 with external
571         database support; add new function `load-char-attribute-table' in
572         UTF-2000.
573
574 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
575
576         * chartab.h (load_char_attribute_maybe): New prototype for
577         UTF-2000 with DATABASE support.
578         (get_char_id_table): Use `load_char_attribute_maybe' if
579         HAVE_DATABASE is defined.
580
581         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
582         with DATABASE support.
583
584 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
585
586         * chartab.c (Fput_char_attribute): Use S-expression as key of
587         external database.
588
589         * chartab.h (get_char_id_table): Use S-expression as key of
590         external database.
591
592 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
593
594         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
595         if an element is not loaded, load the corresponding attributes
596         from an external database.
597         (map_over_uint16_byte_table): Likewise.
598         (map_over_byte_table): Likewise.
599         (map_char_table): Modify for `map_over_uint8_byte_table',
600         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
601         element is not loaded, load the corresponding attributes from an
602         external database.
603         (Fput_char_attribute): Change initial values to Qunloaded.
604
605         * chartab.h (get_char_id_table): If a character attribute is not
606         loaded and the attribute value is not found in an external
607         database, store Qunbound as the attribute value.
608
609 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
610
611         * chartab.c (BT_UINT8_unloaded): New macro.
612         (UINT8_VALUE_P): Accept Qunloaded.
613         (UINT8_ENCODE): Likewise.
614         (UINT8_DECODE): Likewise.
615         (BT_UINT16_unloaded): New macro.
616         (UINT16_VALUE_P): Accept Qunloaded.
617         (UINT16_ENCODE): Likewise.
618         (UINT16_DECODE): Likewise.
619         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
620         BT_UINT16_unloaded.
621         (mark_char_table): Mark `ct->name' in UTF-2000.
622         (char_table_description): Add `name' in UTF-2000.
623         (Fmake_char_table): Initialize `ct->name'.
624         (Fcopy_char_table): Copy `ct->name'.
625         (Fput_char_attribute): Store value into an external database if
626         HAVE_DATABASE is defined.
627
628         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
629         UTF-2000.
630         (CHAR_TABLE_NAME): New macro in UTF-2000.
631         (XCHAR_TABLE_NAME): New macro in UTF-2000.
632         (get_char_id_table): Try to read an external database if Qunloaded
633         is stored in a table.
634
635         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
636         Qunloaded.
637
638 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
639
640         * database.h: Add EXFUN definitions for Fopen_database,
641         Fput_database, Fget_database and Fclose_database.
642
643         * data.c (Qunloaded): New variable in UTF-2000.
644
645         * lisp.h (Qunloaded): New variable in UTF-2000.
646
647 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * mule-charset.c (put_char_ccs_code_point): Modify for
650         `decoding_table_remove_char' and `decoding_table_put_char'.
651         (remove_char_ccs): Modify for `decoding_table_remove_char'.
652
653         * char-ucs.h (decoding_table_remove_char): Change arguments to
654         hide decoding_table vector.
655         (decoding_table_put_char): Likewise.
656
657 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
658
659         * mule-charset.c (decoding_table_remove_char): Moved to
660         char-ucs.h.
661         (decoding_table_put_char): Likewise.
662
663         * char-ucs.h (decoding_table_check_elements): New prototype [moved
664         from mule-charset.c].
665         (decoding_table_remove_char): New inline function [moved from
666         mule-charset.c].
667         (decoding_table_put_char): Likewise.
668
669 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
670
671         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
672         extension.
673
674 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
675
676         * mule-charset.c (decode_builtin_char): Support mother charsets.
677
678 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
679
680         * mule-charset.c (Q94x94x60): New variable.
681         (charset_code_point): Support conversion `94x94x60'.
682         (Fmake_charset): Likewise.
683         (syms_of_mule_charset): Add new symbol `94x94x60'.
684
685         * char-ucs.h (CONVERSION_94x94x60): New macro.
686
687 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
688
689         * mule-charset.c (charset_code_point): Unify code about
690         `code-offset'.
691
692 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
693
694         * mule-charset.c (charset_code_point): Merge code about builtin
695         characters into code about mother charsets; don't use
696         `range_charset_code_point'.
697         (range_charset_code_point): Deleted.
698
699 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
700
701         * mule-charset.c (Qcode_offset): New variable.
702         (Fmake_charset): Use `XUINT' to get value of `min-code' and
703         `max-code'; accept new property `code-offset'.
704         (syms_of_mule_charset): Add new symbol `code-offset'.
705
706 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
707
708         * mule-charset.c (range_charset_code_point): Fixed.
709
710 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
711
712         * mule-charset.c (decode_builtin_char): Change semantics of
713         code-offset of coded-charset.
714         (charset_code_point): Likewise.
715         (range_charset_code_point): Likewise.
716         (complex_vars_of_mule_charset): Modify for the change.
717
718 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
719
720         * mule-charset.c (Fencode_char): Reverse arguments.
721
722         * mule-charset.c (charset_code_point): Fixed.
723
724 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
725
726         * mule-charset.c (Vcharset_mojikyo): Deleted.
727         (Vcharset_mojikyo_2022_1): Deleted.
728         (Vcharset_mojikyo_pj_{1..21}): Deleted.
729         (Qmin_code): New variable in UTF-2000.
730         (Qmax_code): Likewise.
731         (Qmother): Likewise.
732         (Qconversion): Likewise.
733         (Q94x60): Likewise.
734         (Qmojikyo): Deleted.
735         (Qmojikyo_2022_1): Deleted.
736         (Qmojikyo_pj_{1..22}): Deleted.
737         (mark_charset): Mark `cs->mother'.
738         (charset_description): Add description for `mother'.
739         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
740         new arguments `mother' and `conversion'; use
741         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
742         (charset_code_point): Moved from char-ucs.h; support `mother'
743         charset feature.
744         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
745         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
746         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
747         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
748         allow 2 as the value of `graphic' in UTF-2000; add new properties
749         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
750         require `final' in UTF-2000; modify for `make_charset'.
751         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
752         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
753         (Fcharset_property): Support `mother', `min-code' and `max-code'.
754         (Fencode_char): New function.
755         (syms_of_mule_charset): Add new builtin function `encode-char' in
756         UTF-2000; add new symbols `min-code', `max-code', `mother',
757         `conversion' and `94x60'; delete symbols `mojikyo',
758         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
759         (complex_vars_of_mule_charset): Modify for `make_charset' change;
760         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
761         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
762
763         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
764         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
765
766         * char-ucs.h (Vcharset_mojikyo): Deleted.
767         (Vcharset_mojikyo_2022_1): Deleted.
768         (LEADING_BYTE_MOJIKYO): Deleted.
769         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
770         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
771         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
772         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
773         add new member `mother'; add new member `conversion'.
774         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
775         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
776         (CHARSET_MOTHER): New macro.
777         (CHARSET_CONVERSION): New macro.
778         (CONVERSION_IDENTICAL): New macro.
779         (CONVERSION_94x60): New macro.
780         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
781         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
782         (XCHARSET_MOTHER): New macro.
783         (XCHARSET_CONVERSION): New macro.
784         (MIN_CHAR_MOJIKYO): Deleted.
785         (MAX_CHAR_MOJIKYO): Deleted.
786         (DECODE_MOJIKYO_2022): Deleted.
787         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
788         (charset_code_point): Changed to non-inline function.
789         (encode_char_1): Use `charset_code_point'.
790         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
791
792 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
793
794         * lread.c (read_compiled_function): Fix prototype.
795         (read_vector): Likewise.
796
797 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
798
799         * lrecord.h (struct lrecord_header): Delete `older'.
800         (set_lheader_implementation): Delete code for `older'.
801         (set_lheader_older_implementation): Deleted.
802         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
803         (OLDER_RECORD_P): Deleted.
804         (OLDER_RECORD_HEADER_P): Deleted.
805         (alloc_older_lcrecord): Deleted.
806         (alloc_older_lcrecord_type): Deleted.
807
808         * alloc.c (all_older_lcrecords): Deleted.
809         (alloc_older_lcrecord): Deleted.
810         (disksave_object_finalization_1): Delete code for older objects.
811         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
812         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
813
814 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
815
816         * mule-charset.c (decoding_table_put_char): Use `make_vector'
817         instead of `make_older_vector'.
818         (put_char_ccs_code_point): Likewise.
819         (mark_charset): Mark `cs->decoding_table'.
820         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
821
822         * lisp.h (make_older_vector): Deleted.
823         (make_vector_newer): Deleted.
824
825         * config.h.in (HAVE_GGC): Deleted.
826
827         * alloc.c (make_older_vector): Deleted.
828         (make_vector_newer_1): Deleted.
829         (make_vector_newer): Deleted.
830
831 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
832
833         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
834         (Qideograph_daikanwa_2): New variable.
835         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
836         (complex_vars_of_mule_charset): Add new coded-charset
837         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
838         `LEADING_BYTE_DAIKANWA'.
839
840         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
841         (LEADING_BYTE_DAIKANWA_1): New macro.
842         (LEADING_BYTE_DAIKANWA_2): New macro.
843         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
844
845 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
846
847         * mule-charset.c (complex_vars_of_mule_charset): Change
848         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
849         the second revised version.
850
851 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
852
853         * mule-charset.c (Vcharset_ucs_smp): New variable.
854         (Vcharset_ucs_sip): New variable.
855         (Qucs_smp): New variable.
856         (Qucs_sip): New variable.
857         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
858         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
859         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
860         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
861         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
862         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
863
864         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
865         (LEADING_BYTE_UCS_SIP): New macro.
866         (MIN_CHAR_SMP): New macro.
867         (MAX_CHAR_SMP): New macro.
868         (MIN_CHAR_SIP): New macro.
869         (MAX_CHAR_SIP): New macro.
870
871 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
872
873         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
874         utf-2000.
875
876 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
877
878         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
879         value; don't store value into `encoding_table' of `Lisp_Charset'.
880         (mark_charset): `encoding_table' was deleted.
881         (charset_description): Likewise.
882         (make_charset): Likewise.
883         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
884         `put_char_ccs_code_point'.
885
886         * chartab.h (Fput_char_attribute): New EXFUN.
887
888         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
889         is unified with normal symbol space.
890         (Fget_char_attribute): Likewise.
891         (Fput_char_attribute): Likewise; behavior of
892         `put_char_ccs_code_point' is changed.
893
894         * char-ucs.h: Include "elhash.h".
895         (Vchar_attribute_hash_table): New external variable.
896         (struct Lisp_Charset): Delete `encoding_table'.
897         (CHARSET_ENCODING_TABLE): New implementation; refer
898         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
899         `Lisp_Charset'.
900
901 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
902
903         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
904         (cs) == 0.
905
906 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
907
908         * text-coding.c (char_encode_big5): Prefer charset-g1 than
909         `chinese-big5'.
910
911 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
912
913         * chartab.c (uint8_byte_table_description): New constant.
914         (uint8-byte-table): Use `uint8_byte_table_description'.
915         (uint16_byte_table_description): New constant.
916         (uint16-byte-table): Use `uint16_byte_table_description'.
917
918 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
919
920         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
921         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
922
923 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
924
925         * mule-charset.c (Vcharset_ucs_ks): New variable.
926         (Qucs_ks): New variable.
927         (syms_of_mule_charset): Add new symbol `ucs-ks'.
928         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
929
930         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
931
932 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
933
934         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
935         (Fdecode_char): Likewise.
936
937         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
938         chartab.h.
939         (Fdefine_char): Modify for Fdecode_char.
940         (Ffind_char): Likewise.
941
942         * mule-charset.c (Fdecode_char): Add new optional argument
943         `defined-only'.
944         (Fdecode_builtin_char): Modify for `Fdecode_char'.
945
946 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
947
948         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
949         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
950         (allocate_coding_system): Initialize initial-charsets of
951         CODESYS_BIG5 in XEmacs UTF-2000.
952         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
953         CODESYS_BIG5 in XEmacs UTF-2000.
954         (decode_coding_big5): Use initial-charset-g0 and -g1 of
955         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
956
957         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
958         variables.
959         (Qideograph_hanziku_{1 .. 12}): Likewise.
960         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
961         .. 12}'.
962         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
963         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
964         `ideograph-hanziku-{1 .. 12}'.
965
966         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
967         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
968         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
969         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
970         (DECODE_DEFINED_CHAR): New inline function.
971         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
972
973 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
974
975         * mule-charset.c (Vcharset_china3_jef): Renamed from
976         `Vcharset_japanese_jef_china3'.
977         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
978         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
979         `{MIN|MAX}_CHAR_JEF_CHINA3'..
980         (syms_of_mule_charset): Rename `china3-jef' from
981         `japanese-jef-china3'.
982         (complex_vars_of_mule_charset): Likewise; rename
983         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
984
985         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
986         `LEADING_BYTE_JEF_CHINA3'.
987         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
988         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
989
990 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
991
992         * mule-charset.c (encode_builtin_char_1): Comment out special code
993         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
994
995         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
996         (MAX_CHAR_MOJIKYO_0): Comment out.
997         (MIN_CHAR_CBETA): Changed to 0x00E20000.
998         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
999         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1000         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1001
1002 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1003
1004         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1005         (Qideograph_cbeta): New variable.
1006         (encode_builtin_char_1): Comment out special code for
1007         coded-charset `mojikyo' and `japanese-jef-china3'.
1008         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1009         (complex_vars_of_mule_charset): Add new coded-charset
1010         `ideograph-cbeta'.
1011
1012         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1013         (MIN_CHAR_CBETA): New macro.
1014         (MAX_CHAR_CBETA): New macro.
1015
1016 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1017
1018         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1019         (LEADING_BYTE_JEF_CHINA3): New macro.
1020         (MIN_CHAR_JEF_CHINA3): New macro.
1021         (MAX_CHAR_JEF_CHINA3): Likewise.
1022         (DECODE_CHAR): Fixed.
1023
1024 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1025
1026         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1027         (Qjapanese_jef_china3): New variable.
1028         (encode_builtin_char_1): Support `japanese-jef-china3'.
1029         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1030         (complex_vars_of_mule_charset): Add new coded-charset
1031         `japanese-jef-china3'.
1032
1033 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1034
1035         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1036         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1037         94^4, 96^3, 96^4, 128^n and 256^n set.
1038         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1039         (map_char_table): Likewise.
1040
1041 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1042
1043         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1044         UTF-2000.
1045
1046 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1047
1048         * chartab.h (get_char_id_table): New inline function.
1049
1050         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1051         function.
1052
1053 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1054
1055         * chartab.h (decode_char_table_range): New prototype in XEmacs
1056         UTF-2000.
1057         (put_char_id_table): New inline function in XEmacs UTF-2000.
1058
1059         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1060         function.
1061         (decode_char_table_range): Delete static declaration in XEmacs
1062         UTF-2000.
1063
1064 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1065
1066         * chartab.c (put_char_id_table): Use `put_char_table'.
1067
1068 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1069
1070         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1071         (map_over_uint16_byte_table): Likewise.
1072         (map_over_byte_table): Likewise.
1073         (map_char_table): Modify for `map_over_uint8_byte_table',
1074         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1075         UTF-2000.
1076
1077 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1078
1079         * chartab.c (struct map_char_table_for_charset_arg): New
1080         structure.
1081         (map_char_table_for_charset_fun): New function.
1082         (map_char_table): Use `map_char_table' for encoding_table of
1083         `range->charset'.
1084
1085 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1086
1087         * chartab.c (map_char_table): Check a character is found in
1088         range->charset instead of non default value is defined in
1089         char-table when range is CHARTAB_RANGE_ROW.
1090
1091 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1092
1093         * chartab.c (map_char_id_table): Deleted.
1094         (Fmap_char_attribute): Use `map_char_table' instead of
1095         `map_char_id_table'.
1096
1097 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1098
1099         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1100         UTF-2000.
1101         (update_syntax_table): Deleted in XEmacs UTF-2000.
1102
1103         * syntax.c (find_defun_start): Use `syntax_table' instead of
1104         `mirror_syntax_table' in XEmacs UTF-2000.
1105         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1106         UTF-2000.
1107         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1108         XEmacs UTF-2000.
1109         (Fmatching_paren): Likewise.
1110         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1111         in XEmacs UTF-2000.
1112         (find_start_of_comment): Likewise.
1113         (find_end_of_comment): Likewise.
1114         (Fforward_comment): Likewise.
1115         (scan_lists): Likewise.
1116         (char_quoted): Likewise.
1117         (Fbackward_prefix_chars): Likewise.
1118         (scan_sexps_forward): Likewise.
1119         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1120         (update_syntax_table): Likewise.
1121
1122         * search.c (skip_chars): Use `syntax_table' instead of
1123         `mirror_syntax_table' in XEmacs UTF-2000.
1124         (wordify): Likewise.
1125         (Freplace_match): Likewise.
1126
1127         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1128         `mirror_syntax_table' in XEmacs UTF-2000.
1129         (WORDCHAR_P_UNSAFE): Likewise.
1130         (re_match_2_internal): Likewise.
1131
1132         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1133         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1134
1135         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1136         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1137
1138         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1139         XEmacs UTF-2000.
1140
1141         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1142         UTF-2000.
1143         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1144         (char_table_description): Delete `mirror_table' in XEmacs
1145         UTF-2000.
1146         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1147         UTF-2000.
1148         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1149         (Fcopy_char_table): Likewise.
1150         (put_char_table): Don't call `update_syntax_table' in XEmacs
1151         UTF-2000.
1152
1153         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1154         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1155         (casify_region_internal): Likewise.
1156
1157         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1158
1159         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1160         `mirror_syntax_table' in XEmacs UTF-2000.
1161
1162         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1163         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1164         (Fexpand_abbrev): Likewise.
1165
1166 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1167
1168         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1169
1170 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1171
1172         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1173         (map_over_uint16_byte_table): Likewise.
1174         (map_over_byte_table): Likewise.
1175         (get_char_id_table): Refer `cit->default_value'.
1176         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1177         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1178         of character-id ranges.
1179         (mark_char_table): Mark `ct->default_value'.
1180         (char_table_description): Add `default_value'.
1181         (fill_char_table): Use `default_value'.
1182         (decode_char_table_range): Decode `nil' as
1183         `CHARTAB_RANGE_DEFAULT'.
1184         (get_char_id_table): Refer `cit->default_value'.
1185         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1186         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1187         temporary hack; check value of char-table is bound or not.
1188         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1189
1190         * chartab.h (struct Lisp_Char_Table): Add new member
1191         `default_value' in XEmacs UTF-2000.
1192         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1193         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1194         UTF-2000.
1195
1196 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1197
1198         * chartab.h (Lisp_Char_ID_Table): Deleted.
1199
1200         * chartab.c (char_table_description): Fix typo.
1201         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1202         `Lisp_Char_ID_Table'.
1203
1204 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1205
1206         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1207         `CHAR_ID_TABLE_P'.
1208
1209         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1210         `CHAR_ID_TABLE_P'.
1211
1212         * chartab.h (XCHAR_ID_TABLE): Deleted.
1213         (XSETCHAR_ID_TABLE): Deleted.
1214         (CHAR_ID_TABLE_P): Deleted.
1215
1216         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1217         `CHAR_ID_TABLE_P'.
1218         (Fget_composite_char): Likewise.
1219         (put_char_table): Likewise.
1220         (add_char_attribute_alist_mapper): Fixed.
1221         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1222         `CHAR_ID_TABLE_P'.
1223         (Fget_char_attribute): Likewise.
1224         (Fget_char_attribute): Likewise.
1225         (Fmap_char_attribute): Likewise.
1226
1227         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1228         `CHAR_ID_TABLE_P'.
1229         (encode_char_1): Likewise.
1230
1231 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1232
1233         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1234         `XCHAR_ID_TABLE'.
1235
1236         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1237         instead of `XCHAR_ID_TABLE'.
1238         (remove_char_ccs): Likewise.
1239
1240         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1241         `XCHAR_ID_TABLE'.
1242         (Fget_composite_char): Likewise.
1243         (Fchar_variants): Likewise.
1244         (put_char_table): Likewise.
1245         (add_char_attribute_alist_mapper): Likewise.
1246         (Fchar_attribute_alist): Likewise.
1247         (Fget_char_attribute): Likewise.
1248         (Fput_char_attribute): Likewise.
1249         (Fmap_char_attribute): Likewise.
1250         (Fmap_char_attribute): Likewise.
1251
1252         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1253         `XCHAR_ID_TABLE'.
1254         (encode_char_1): Likewise.
1255
1256 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1257
1258         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1259         `Lisp_Char_ID_Table'.
1260         (mark_char_id_table): Deleted.
1261         (print_char_id_table): Likewise.
1262         (char_id_table_equal): Likewise.
1263         (char_id_table_hash): Likewise.
1264         (char_id_table_description): Likewise.
1265         (char_id_table): Likewise.
1266         (make_char_id_table): Use `Fmake_char_table' and
1267         `fill_char_table'.
1268         (get_char_id_table): Use `Lisp_Char_Table' instead of
1269         `Lisp_Char_ID_Table'.
1270         (put_char_id_table): Likewise.
1271         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1272         `XCHAR_ID_TABLE'.
1273         (Fremove_char_attribute): Likewise.
1274         (syms_of_chartab): Don't define type `char-id-table'.
1275
1276         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1277         (char_id_table): Likewise.
1278         (GC_CHAR_ID_TABLE_P): Likewise.
1279         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1280         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1281         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1282         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1283         (get_char_id_table): Use `Lisp_Char_Table' instead of
1284         `Lisp_Char_ID_Table'.
1285         (put_char_id_table_0): Likewise.
1286         (put_char_id_table): Likewise.
1287
1288 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1289
1290         * chartab.h: Lisp_Byte_Table related codes are moved from
1291         chartab.h.
1292
1293         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1294
1295 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1296
1297         * chartab.h: Don't include "chartab.h".
1298         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1299         (Lisp_Char_ID_Table): Likewise.
1300         (char_id_table): Likewise.
1301         (XCHAR_ID_TABLE): Likewise.
1302         (XSETCHAR_ID_TABLE): Likewise.
1303         (CHAR_ID_TABLE_P): Likewise.
1304         (GC_CHAR_ID_TABLE_P): Likewise.
1305         (get_char_id_table): Likewise.
1306
1307         * char-ucs.h: Include "chartab.h".
1308         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1309         (Lisp_Char_ID_Table): Likewise.
1310         (char_id_table): Likewise.
1311         (XCHAR_ID_TABLE): Likewise.
1312         (XSETCHAR_ID_TABLE): Likewise.
1313         (CHAR_ID_TABLE_P): Likewise.
1314         (GC_CHAR_ID_TABLE_P): Likewise.
1315         (get_char_id_table): Likewise.
1316
1317 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1318
1319         * chartab.c (copy_uint8_byte_table): New function.
1320         (copy_uint16_byte_table): New function.
1321         (copy_byte_table): New function.
1322         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1323         characters to call.
1324         (map_over_uint16_byte_table): Likewise.
1325         (map_over_byte_table): Likewise.
1326         (get_byte_table): Move prototype to chartab.h.
1327         (put_byte_table): Likewise.
1328         (put_char_id_table_0): Moved to chartab.h.
1329         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1330         (char_table_entry_equal): Likewise.
1331         (char_table_entry_hash): Likewise.
1332         (char_table_entry_description): Likewise.
1333         (char_table_entry): Likewise.
1334         (make_char_table_entry): Likewise.
1335         (copy_char_table_entry): Likewise.
1336         (get_non_ascii_char_table_value): Likewise.
1337         (map_over_charset_ascii): Likewise.
1338         (map_over_charset_control_1): Likewise.
1339         (map_over_charset_row): Likewise.
1340         (map_over_other_charset): Likewise.
1341         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1342         (print_char_table): Likewise.
1343         (char_table_equal): Likewise.
1344         (char_table_hash): Likewise.
1345         (char_table_description): Likewise.
1346         (fill_char_table): Likewise.
1347         (Fcopy_char_table): Likewise.
1348         (get_char_table): Likewise.
1349         (Fget_range_char_table): Likewise.
1350         (put_char_table): Likewise.
1351         (map_char_table): Likewise.
1352         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1353         UTF-2000.
1354
1355 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1356
1357         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1358         `Vauto_fill_chars' in XEmacs UTF-2000.
1359
1360         * chartab.h (get_byte_table): New prototype [moved from
1361         chartab.c].
1362         (put_byte_table): Likewise [moved from chartab.c].
1363         (put_char_id_table_0): New inline function [moved from chartab.c].
1364         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1365         (Lisp_Char_Table_Entry): Likewise.
1366         (char_table_entry): Likewise.
1367         (XCHAR_TABLE_ENTRY): Likewise.
1368         (XSETCHAR_TABLE_ENTRY): Likewise.
1369         (CHAR_TABLE_ENTRYP): Likewise.
1370         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1371         (NUM_ASCII_CHARS): Likewise.
1372         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1373         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1374
1375 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1376
1377         * chartab.c (get_char_id_table): Change interface.
1378         (put_char_id_table_0): New function.
1379         (put_char_id_table): Change interface; new implementation.
1380         (Fget_composite_char): Modify for interface change of
1381         `get_char_id_table'.
1382         (Fchar_variants): Likewise.
1383         (add_char_attribute_alist_mapper): Likewise.
1384         (Fchar_attribute_alist): Likewise.
1385         (Fget_char_attribute): Likewise.
1386         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1387         as same as character as the first argument like `put-char-table';
1388         modify for interface change of `put_char_id_table'.
1389         (Fremove_char_attribute): Modify for interface change of
1390         `put_char_id_table'.
1391
1392 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1393
1394         * text-coding.c: Sync up with XEmacs 21.2.41.
1395         (COMPOSE_ADD_CHAR): Modify for interface change of
1396         `get_char_id_table'.
1397
1398         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1399         change of `put_char_id_table'.
1400         (remove_char_ccs): Likewise.
1401
1402         * chartab.h (put_char_id_table): Change interface.
1403
1404         * char-ucs.h (get_char_id_table): Change interface.
1405         (charset_code_point): Modify for interface change of
1406         `get_char_id_table'.
1407         (encode_char_1): Likewise.
1408
1409 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1410
1411         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1412         argument `ccs'.
1413         (map_over_uint16_byte_table): Likewise.
1414         (map_over_byte_table): Likewise.
1415         (map_char_id_table): Add new argument `range' like
1416         `map_char_table'.
1417         (Fmap_char_attribute): Add new argument `range' like
1418         `Fmap_char_table'.
1419
1420 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1421
1422         * chartab.c (map_over_uint8_byte_table): Change interface of
1423         mapping function to use struct chartab_range instead of Emchar.
1424         (map_over_uint16_byte_table): Likewise.
1425         (map_over_byte_table): Likewise.
1426         (map_char_id_table): Likewise.
1427         (struct slow_map_char_id_table_arg): Deleted.
1428         (slow_map_char_id_table_fun): Deleted.
1429         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1430         function `slow_map_char_table_fun' instead of struct
1431         `slow_map_char_id_table_arg' and function
1432         `slow_map_char_id_table_fun'.
1433
1434 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1435
1436         * mule-charset.c: Move char-it-table related codes to chartab.c.
1437         (Vutf_2000_version): Moved to chartab.c.
1438         (Fdefine_char): Likewise.
1439         (Ffind_char): Likewise.
1440         (syms_of_mule_charset): Move types `uint8-byte-table',
1441         `uint16-byte-table', `byte-table' and `char-id-table' to
1442         chartab.c; move functions `char_attribute_list,
1443         `find_char_attribute_table, `char_attribute_alist,
1444         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1445         `map_char_attribute, `define_char, `find_char, `char_variants and
1446         `get_composite_char to chartab.c; move symbols `=>ucs',
1447         `->decomposition', `compat', `isolated', `initial', `medial',
1448         `final', `vertical', `noBreak', `fraction', `super', `sub',
1449         `circle', `square', `wide', `narrow', `small' and `font' to
1450         chartab.c.
1451         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1452         setting codes for `Vcharacter_composition_table' and
1453         `Vcharacter_variant_table' to chartab.c.
1454         (complex_vars_of_mule_charset): Move setting code for
1455         `Vchar_attribute_hash_table' to chartab.c.
1456
1457         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1458         (make_char_id_table): New prototype.
1459         (put_char_id_table): Likewise.
1460         (Fget_char_attribute): Likewise.
1461
1462         * chartab.c: Move char-id-table related code from mule-charset.c.
1463         (Vutf_2000_version): Moved from mule-charset.c.
1464
1465         * char-ucs.h (Qucs): New external variable.
1466         (put_char_ccs_code_point): New prototype.
1467         (remove_char_ccs): Likewise.
1468
1469 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1470
1471         * mule-charset.c (Vcharset_ucs_jis): New variable.
1472         (Qucs_jis): Likewise.
1473         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1474         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1475
1476         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1477
1478 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1479
1480         * mule-charset.c (map_over_uint8_byte_table): New function.
1481         (map_over_uint16_byte_table): Likewise.
1482         (map_over_byte_table): Likewise.
1483         (map_char_id_table): Likewise.
1484         (slow_map_char_id_table_fun): Likewise.
1485         (Fmap_char_attribute): Likewise.
1486         (syms_of_mule_charset): Add new function `map-char-attribute'.
1487
1488 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1489
1490         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1491         (syms_of_mule_charset): Add new function `find-char'.
1492
1493 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1494
1495         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1496         XEmacs UTF-2000.
1497         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1498         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1499         XEmacs UTF-2000.
1500         (complex_vars_of_mule_charset): Add new coded-charset
1501         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1502         `ideograph-gt-pj-*'.
1503
1504         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1505
1506 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1507
1508         * mule-charset.c (encode_builtin_char_1): Purge codes about
1509         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1510         {MIN|MAX}_CHAR_HEBREW.
1511         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1512         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1513
1514         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1515         (MAX_CHAR_GREEK): Purged.
1516         (MIN_CHAR_CYRILLIC): Purged.
1517         (MAX_CHAR_CYRILLIC): Purged.
1518         (MIN_CHAR_HEBREW): Commented out.
1519         (MAX_CHAR_HEBREW): Likewise.
1520
1521 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1522
1523         * mule-charset.c (Qto_ucs): New variable.
1524         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1525         (Fdefine_char): Likewise.
1526         (syms_of_mule_charset): Add new symbol `=>ucs'.
1527
1528 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1529
1530         * mule-charset.c (Fdecode_char): Fixed.
1531
1532 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1533
1534         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1535         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1536         "tcvn5712-1".
1537
1538 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1539
1540         * mule-charset.c (Vcharset_ucs_big5): New variable.
1541         (Qucs_big5): Likewise.
1542         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1543         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1544
1545         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1546
1547 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1548
1549         * mule-charset.c (decode_builtin_char): Check Big5 code range
1550         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1551
1552 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1553
1554         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1555         (Qchinese_gb12345): Likewise.
1556         (Fdecode_builtin_char): Fixed.
1557         (syms_of_mule_charset): Add `chinese-gb12345'.
1558         (complex_vars_of_mule_charset): Add coded-charset
1559         `chinese-gb12345'.
1560
1561         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1562         (LEADING_BYTE_CHINESE_GB12345): New macro.
1563
1564 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1565
1566         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1567         and `latin-viscii-upper' for `latin-viscii'.
1568
1569 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * mule-charset.c (Fdecode_builtin_char): Comment out
1572         regularization code for ISO-IR GR representation.
1573
1574 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1575
1576         * mule-charset.c (decode_builtin_char): New function; renamed from
1577         `make_builtin_char'; return -1 instead of signal.
1578         (Fdecode_builtin_char): Use `decode_builtin_char'.
1579
1580         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1581         `make_builtin_char'.
1582         (DECODE_CHAR): Use `decode_builtin_char' instead of
1583         `make_builtin_char'; use mapping table of `chinese-big5' for
1584         `chinese-big5-{1,2}'.
1585
1586 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1587
1588         * text-coding.c (char_encode_big5): New function.
1589         (char_finish_big5): Likewise.
1590         (reset_encoding_stream): Use `char_encode_big5' and
1591         `char_finish_big5' for CODESYS_BIG5.
1592         (mule_encode): Don't use `encode_coding_big5'.
1593         (encode_coding_big5): Deleted.
1594
1595 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1596
1597         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1598         0x81- in XEmacs UTF-2000.
1599         (detect_coding_big5): Likewise.
1600
1601 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1602
1603         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1604         generate character-id if the CCS property does not have
1605         corresponding predefined character.
1606         (make_builtin_char): Return -1 if corresponding predefined
1607         character is not found.
1608         (Fdecode_char): Return nil if corresponding character is not
1609         found.
1610         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1611         don't map to builtin ucs space.
1612
1613 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1614
1615         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1616         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1617
1618 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1619
1620         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1621         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1622         (Qideograph_gt): Likewise.
1623         (Qideograph_gt_pj_{1..11}): Likewise.
1624         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1625         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1626         `ideograph-gt-pj-11'.
1627         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1628         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1629         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1630
1631         * char-ucs.h (LEADING_BYTE_GT): New macro.
1632         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1633         (MIN_CHAR_GT): Likewise.
1634         (MAX_CHAR_GT): Likewise.
1635
1636 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1637
1638         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1639         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1640
1641         * doprnt.c (unsigned_int_converters): Add `c'.
1642         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1643
1644         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1645         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1646         `MIN_CHAR_MOJIKYO'.
1647         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1648         (MAX_CHAR_MOJIKYO_0): New macro.
1649         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1650
1651 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1652
1653         * mule-charset.c (Fdefine_char): Delete cemented out code.
1654         (encode_builtin_char_1): Modify for new allocation of builtin
1655         Mojikyo characters.
1656
1657         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1658
1659 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1660
1661         * mule-charset.c (Vcharset_ucs_cns): New variable.
1662         (Qucs_cns): New variable.
1663         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1664         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1665
1666 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1667
1668         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1669
1670 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1671
1672         * search.c (search_buffer): Make `charset_base_code' as
1673         character-id >> 6 to eliminate the corresponding last byte in
1674         UTF-8 representation [I'm not sure it is right thing].
1675         (boyer_moore): Likewise.
1676
1677 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1678
1679         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1680         representation in MULE.
1681
1682 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1683
1684         * text-coding.c (Fmake_coding_system): Use
1685         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1686         `EXTERNAL_PROPERTY_LIST_LOOP'.
1687
1688 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1689
1690         * text-coding.c (decode_output_utf8_partial_char): New function.
1691         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1692
1693 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1694
1695         * text-coding.c (decode_coding_utf8): Output original byte
1696         sequence if it is broken; change order of conditions.
1697
1698         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1699         of conditions.
1700
1701         * mb-multibyte.h (BYTE_ASCII_P):
1702         Use bit ops for char-signedness safety.
1703         (BYTE_C0_P): Use bit ops for char-signedness safety.
1704         (BYTE_C1_P): Use bit ops for char-signedness safety.
1705
1706         * character.h: (XCHAR_OR_CHAR_INT):
1707         Always use inline function.
1708         Remove redundant type checking assert() - XINT will abort quite
1709         nicely.
1710
1711 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1712
1713         * text-coding.c: (Fencode_shift_jis_char):
1714         (Fencode_big5_char):
1715         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1716         Replace 0 with '\0' when working with bytes.
1717         Replace initial "(" with "\(" in docstrings.
1718
1719         (Fmake_coding_system):
1720         When type is ccl and value is vector, register it with a proper
1721         symbol.  And checks whether the given ccl program is valid.
1722         (mule_decode): When calling ccl_driver, if src indicates
1723         NULL pointer, set an empty string instead.
1724         (mule_encode): Likewise.
1725
1726         (detect_eol_type):
1727         (detect_coding_sjis):
1728         (decode_coding_sjis):
1729         (detect_coding_big5):
1730         (decode_coding_big5):
1731         (detect_coding_ucs4):
1732         (decode_coding_ucs4):
1733         (detect_coding_utf8):
1734         (decode_coding_utf8):
1735         (detect_coding_iso2022):
1736         (decode_coding_iso2022):
1737         (decode_coding_no_conversion):
1738         (mule_decode):
1739         Make all detecting and decoding functions take an Extbyte * arg.
1740         (text_encode_generic):
1741         (encode_coding_big5):
1742         (encode_coding_no_conversion):
1743         (mule_encode):
1744         Make all encoding functions take a Bufbyte * arg.
1745         Use size_t instead of unsigned int for memory sizes.
1746         Only cast to unsigned char whenever dereferencing Extbyte *.
1747
1748         (struct lrecord_description fcd_description_1): Use countof.
1749         (complex_vars_of_file_coding):
1750         Use countof instead of sizeof.
1751         Use CHECK_NATNUM instead of CHECK_INT.
1752
1753 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1754
1755         * mule-charset.c (Fget_char_attribute): Add new optional argument
1756         `default-value'.
1757         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1758         (remove_char_ccs): Likewise.
1759
1760 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1761
1762         * text-coding.c (char_encode_shift_jis): New implementation in
1763         UTF-2000.
1764         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1765         ...)'.
1766
1767         * mule-charset.c (Vcharset_chinese_big5): New variable in
1768         UTF-2000.
1769         (Qchinese_big5): New variable in UTF-2000.
1770         (BIG5_SAME_ROW): New macro in UTF-2000.
1771         (make_builtin_char): Use builtin characters of
1772         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1773         characters of `Vcharset_chinese_big5'.
1774         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1775         (complex_vars_of_mule_charset): Add new coded-charset
1776         `chinese-big5' in UTF-2000.
1777
1778         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1779         (Vcharset_chinese_big5): New external variable declaration.
1780         (Vcharset_japanese_jisx0208_1990): Likewise.
1781
1782 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1783
1784         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1785         function.
1786         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1787
1788 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1789
1790         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1791         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1792         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1793         `mojikyo-pj-*'.
1794
1795 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1796
1797         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1798
1799 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1800
1801         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1802         to 0.17.
1803
1804 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1805
1806         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1807         for `CHARSET_BY_ATTRIBUTES'.
1808         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1809         `CHARSET_BY_ATTRIBUTES'.
1810
1811         * text-coding.c (struct decoding_stream): Rename member `CH' to
1812         `CPOS'.
1813         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1814         (decode_coding_sjis): Likewise.
1815         (decode_coding_big5): Likewise.
1816         (decode_coding_ucs4): Likewise.
1817         (decode_coding_utf8): Likewise.
1818         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1819         `CHARSET_BY_ATTRIBUTES'.
1820         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1821         `str->counter'; decode 3, 4 bytes sets.
1822         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1823         sets.
1824         (decode_coding_no_conversion): Use `str->cpos' instead of
1825         `str->ch'.
1826
1827         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1828         (Qmojikyo_2022_1): New variable.
1829         (make_charset): Don't use `CHARSET_TYPE_*'.
1830         (range_charset_code_point): Support coded-charset
1831         `mojikyo-2022-1'.
1832         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1833         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1834         `CHARSET_BY_ATTRIBUTES'.
1835         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1836         `CHARSET_BY_ATTRIBUTES'.
1837         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1838         (complex_vars_of_mule_charset): Add new coded-charset
1839         `mojikyo-2022-1'.
1840
1841         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1842         interface; changed to inline function.
1843
1844         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1845         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1846         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1847         (CHARSET_TYPE_94): Deleted.
1848         (CHARSET_TYPE_94X94): Deleted.
1849         (CHARSET_TYPE_96): Deleted.
1850         (CHARSET_TYPE_96X96): Deleted.
1851         (CHARSET_TYPE_128): Deleted.
1852         (CHARSET_TYPE_128X128): Deleted.
1853         (CHARSET_TYPE_256): Deleted.
1854         (CHARSET_TYPE_256X256): Deleted.
1855         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1856         to inline function.
1857         (DECODE_MOJIKYO_2022): New inline function.
1858         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1859         `Vcharset_mojikyo_2022_1'.
1860
1861 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1862
1863         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1864         instead of `EQ'.
1865         (put_byte_table): Likewise.
1866         (char_id_table_equal): Use `get_byte_table' [new implementation].
1867
1868 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1869
1870         * mule-charset.c: Include <limits.h> in UTF-2000.
1871         (BT_UINT8_MIN): New macro in UTF-2000.
1872         (BT_UINT8_MAX): New macro in UTF-2000.
1873         (BT_UINT8_t): New macro in UTF-2000.
1874         (BT_UINT8_nil): New macro in UTF-2000.
1875         (BT_UINT8_unbound): New macro in UTF-2000.
1876         (INT_UINT8_P): New inline function in UTF-2000.
1877         (UINT8_VALUE_P): New inline function in UTF-2000.
1878         (UINT8_ENCODE): New inline function in UTF-2000.
1879         (UINT8_DECODE): New inline function in UTF-2000.
1880         (mark_uint8_byte_table): New function in UTF-2000.
1881         (print_uint8_byte_table): New function in UTF-2000.
1882         (uint8_byte_table_equal): New function in UTF-2000.
1883         (uint8_byte_table_hash): New function in UTF-2000.
1884         (make_uint8_byte_table): New function in UTF-2000.
1885         (uint8_byte_table_same_value_p): New function in UTF-2000.
1886         (BT_UINT16_MIN): New macro in UTF-2000.
1887         (BT_UINT16_MAX): New macro in UTF-2000.
1888         (BT_UINT16_t): New macro in UTF-2000.
1889         (BT_UINT16_nil): New macro in UTF-2000.
1890         (BT_UINT16_unbound): New macro in UTF-2000.
1891         (INT_UINT16_P): New inline function in UTF-2000.
1892         (UINT16_VALUE_P): New inline function in UTF-2000.
1893         (UINT16_ENCODE): New inline function in UTF-2000.
1894         (UINT16_DECODE): New inline function in UTF-2000.
1895         (UINT8_TO_UINT16): New inline function in UTF-2000.
1896         (mark_uint16_byte_table): New function in UTF-2000.
1897         (print_uint16_byte_table): New function in UTF-2000.
1898         (uint16_byte_table_equal): New function in UTF-2000.
1899         (uint16_byte_table_hash): New function in UTF-2000.
1900         (make_uint16_byte_table): New function in UTF-2000.
1901         (uint16_byte_table_same_value_p): New function in UTF-2000.
1902         (print_byte_table): New function in UTF-2000.
1903         (byte-table): Use `print_byte_table' as printer.
1904         (make_byte_table): Delete second argument `older'.
1905         (byte_table_same_value_p): New function in UTF-2000.
1906         (copy_byte_table): Deleted.
1907         (get_byte_table): New function in UTF-2000.
1908         (put_byte_table): New function in UTF-2000.
1909         (print_char_id_table): New function in UTF-2000.
1910         (char-id-table): Use `print_char_id_table' as printer.
1911         (make_char_id_table): Delete second argument `older'.
1912         (get_char_id_table): Use `get_byte_table [new implementation].
1913         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1914         implementation].
1915         (Ffind_char_attribute_table): New function in UTF-2000.
1916         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1917         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1918         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1919         (syms_of_mule_charset): Add new function
1920         `find-char-attribute-table' in UTF-2000.
1921
1922         * lrecord.h (enum lrecord_type): Add
1923         `lrecord_type_uint16_byte_table' and
1924         `lrecord_type_uint8_byte_table'.
1925
1926         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1927         (Lisp_Uint8_Byte_Table): New type.
1928         (XUINT8_BYTE_TABLE): New macro.
1929         (XSETUINT8_BYTE_TABLE): New macro.
1930         (UINT8_BYTE_TABLE_P): New macro.
1931         (GC_UINT8_BYTE_TABLE_P): New macro.
1932         (struct Lisp_Uint16_Byte_Table): New structure.
1933         (Lisp_Uint16_Byte_Table): New type.
1934         (XUINT16_BYTE_TABLE): New macro.
1935         (XSETUINT16_BYTE_TABLE): New macro.
1936         (UINT16_BYTE_TABLE_P): New macro.
1937         (GC_UINT16_BYTE_TABLE_P): New macro.
1938
1939 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1940
1941         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1942         (Vcharacter_ideographic_strokes_table): Deleted.
1943         (Vcharacter_total_strokes_table): Deleted.
1944         (Vcharacter_morohashi_daikanwa_table): Deleted.
1945         (Vcharacter_decomposition_table): Deleted.
1946         (Qname): Deleted because it is duplicated.
1947         (Qideographic_radical): Deleted.
1948         (Qideographic_strokes): Deleted.
1949         (Qtotal_strokes): Deleted.
1950         (Qmorohashi_daikanwa): Deleted.
1951         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1952         `ideographic-radical', `ideographic-strokes', `total-strokes',
1953         `morohashi-daikanwa' and `->decomposition'.
1954         (Fget_char_attribute): Likewise.
1955         (Fput_char_attribute): Likewise; use `make-vector' instead of
1956         `make_older_vector' for `->decomposition' value.
1957         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1958         `ideograph-daikanwa'.
1959         (syms_of_mule_charset): Delete builtin symbols `name',
1960         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1961         `morohashi-daikanwa'.
1962         (vars_of_mule_charset): Don't setup
1963         `Vcharacter_ideographic_radical_table',
1964         `Vcharacter_ideographic_strokes_table',
1965         `Vcharacter_total_strokes_table',
1966         `Vcharacter_morohashi_daikanwa_table' and
1967         `Vcharacter_decomposition_table'.
1968
1969 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1970
1971         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1972         `make_older_vector', `make_vector_newer_1' and
1973         `make_vector_newer'.
1974
1975         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1976         `make_older_vector' and `make_vector_newer'.
1977
1978         * config.h.in (HAVE_GGC): New macro.
1979
1980 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1981
1982         * mule-charset.c (struct char_attribute_list_closure): New
1983         structure in UTF-2000.
1984         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1985         (Fchar_attribute_list): Likewise.
1986         (Fset_charset_mapping_table): Use `make_vector_newer'.
1987         (Fdecode_builtin_char): New function in UTF-2000.
1988         (syms_of_mule_charset): Add new function `char-attribute-list' and
1989         `decode-builtin-char' in UTF-2000.
1990
1991         * lisp.h (make_vector_newer): New prototype.
1992
1993         * alloc.c (make_vector_newer_1): New function.
1994         (make_vector_newer): New function.
1995
1996 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1997
1998         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1999         50100)'.
2000
2001 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2002
2003         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2004         (Vcharacter_attribute_table): Deleted.
2005         (Vcharacter_name_table): Deleted.
2006         (put_char_attribute): Deleted.
2007         (remove_char_attribute): Deleted.
2008         (struct char_attribute_alist_closure): New structure.
2009         (add_char_attribute_alist_mapper): New function.
2010         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2011         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2012         (Fget_char_attribute): Likewise.
2013         (Fput_char_attribute): Likewise.
2014         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2015         of `remove_char_attribute'.
2016         (Fdefine_char): Return character.
2017         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2018         and `Vcharacter_name_table'.
2019         (complex_vars_of_mule_charset): Likewise
2020         `Vchar_attribute_hash_table'.
2021
2022 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2023
2024         * character.h (CHARC_CHARSET): New macro.
2025         (CHARC_CHARSET_ID): New macro.
2026         (CHARC_CODE_POINT): New macro.
2027         (CHARC_COLUMNS): New macro.
2028         (CHARC_TO_CHAR): New inline function.
2029         (CHARC_EQ): New inline function.
2030         (CHARC_ASCII_EQ): New inline function.
2031         (CHARC_IS_SPACE): New inline function.
2032         (ASCII_TO_CHARC): New inline function.
2033
2034         * char-ucs.h (encode_char_2): Deleted.
2035         (ENCODE_CHAR): Use `encode_char_1' again.
2036         (breakup_char_1): Likewise.
2037         (CHAR_TO_CHARC): New inline function.
2038
2039         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2040
2041 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2042
2043         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2044         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2045         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2046         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2047         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2048         `CHARC_IS_SPACE'.
2049         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2050
2051         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2052         `CHARC_CODE_POINT'.
2053         (x_output_display_block): Use `CHARC_CHARSET' and
2054         `CHARC_ASCII_EQ'.
2055
2056         * redisplay-tty.c (tty_output_display_block): Use
2057         `CHARC_ASCII_EQ'.
2058         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2059
2060         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2061
2062         * insdel.c (find_charsets_in_charc_string): Use
2063         `CHARC_CHARSET_ID'.
2064         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2065         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2066         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2067         (convert_charc_string_into_malloced_string): Likewise.
2068
2069 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2072         instead of <Emchar_dynarr *> for buf; use
2073         `convert_bufbyte_string_into_charc_dynarr' instead of
2074         `convert_bufbyte_string_into_emchar_dynarr'; use
2075         `find_charsets_in_charc_string' instead of
2076         `find_charsets_in_emchar_string'.
2077
2078         * redisplay.h:
2079         - Include "character.h".
2080         (struct rune): New member `cglyph'; delete member `chr'.
2081
2082         * redisplay.c (redisplay_text_width_charc_string): New function;
2083         delete `redisplay_text_width_emchar_string'.
2084         (rtw_charc_dynarr): New variable; renamed from
2085         `rtw_emchar_dynarr'.
2086         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2087         `rtw_emchar_dynarr'; use
2088         `convert_bufbyte_string_into_charc_dynarr' instead of
2089         `convert_bufbyte_string_into_emchar_dynarr'; use
2090         `redisplay_text_width_charc_string' instead of
2091         `redisplay_text_width_emchar_string'.
2092         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2093         instead of `rtw_emchar_dynarr'; use
2094         `convert_bufbyte_string_into_charc_dynarr' instead of
2095         `convert_bufbyte_string_into_emchar_dynarr'.
2096         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2097         `redisplay_text_width_charc_string' instead of
2098         `redisplay_text_width_emchar_string'.
2099         (create_text_block): Modify for <struct rune> change.
2100         (generate_formatted_string_db): Likewise.
2101         (create_string_text_block): Likewise.
2102         (pixel_to_glyph_translation): Likewise.
2103
2104         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2105         instead of <const Emchar *>.
2106         (x_text_width): Likewise.
2107         (x_output_display_block): Use <Charc_dynarr *> instead
2108         <Emchar_dynarr *>; modify for <structure rune> change.
2109         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2110         *>.
2111
2112         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2113         <const Emchar *>; use `charc_string_displayed_columns' instead of
2114         `emchar_string_displayed_columns'.
2115         (tty_output_display_block): Use <Charc_dynarr *> instead of
2116         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2117         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2118         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2119         `tty_output_emchar_dynarr_dynarr'.
2120         (tty_output_charc_dynarr): New function; delete
2121         `tty_output_charc_dynarr'.
2122
2123         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2124         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2125         <Emchar_dynarr *> for buf; use
2126         `convert_bufbyte_string_into_charc_dynarr' instead of
2127         `convert_bufbyte_string_into_emchar_dynarr'.
2128
2129         * frame.c (title_string_charc_dynarr): New variable; renamed from
2130         `title_string_emchar_dynarr'.
2131         (generate_title_string): Use `title_string_charc_dynarr' instead
2132         of `title_string_emchar_dynarr'; use
2133         `convert_charc_string_into_malloced_string' instead of
2134         `convert_emchar_string_into_malloced_string'.
2135         (init_frame): Use `title_string_charc_dynarr' instead of
2136         `title_string_emchar_dynarr'.
2137
2138         * console.h:
2139         - Include "character.h".
2140         (struct console_methods): Use <const Charc *> instead of <const
2141         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2142         <Emchar_dynarr *> in output_string_method.
2143
2144         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2145         <Emchar_dynarr *>.
2146
2147         * console-stream.c (stream_text_width): Use <const Charc *>
2148         instead of <const Emchar *>.
2149
2150         * character.h (Charc_dynarr): New type.
2151
2152         * char-ucs.h (structure Charc): New structure; define new type
2153         `Charc'.
2154
2155         * char-lb.h (DECODE_CHAR): New inline function.
2156         (encode_char_1): New inline function.
2157         (ENCODE_CHAR): New macro.
2158         (structure Charc): New structure; define new type `Charc'.
2159
2160         * char-1byte.h (Vcharset_control_1): New macro.
2161         (Vcharset_latin_iso8859_1): New macro.
2162         (DECODE_CHAR): New inline function.
2163         (encode_char_1): New inline function.
2164         (ENCODE_CHAR): New macro.
2165         (structure Charc): New structure; define new type `Charc'.
2166
2167         * insdel.c (find_charsets_in_charc_string): New function; delete
2168         `find_charsets_in_emchar_string'.
2169         (charc_string_displayed_columns): New function; delete
2170         `emchar_string_displayed_columns'.
2171         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2172         `convert_bufbyte_string_into_emchar_dynarr'.
2173         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2174         `convert_charc_string_into_bufbyte_dynarr'.
2175         (convert_charc_string_into_malloced_string): New function; delete
2176         `convert_charc_string_into_malloced_string'.
2177
2178         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2179         `find_charsets_in_emchar_string'.
2180         (charc_string_displayed_columns): New prototype; delete
2181         `emchar_string_displayed_columns'.
2182         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2183         `convert_charc_string_into_bufbyte_dynarr'.
2184         (convert_charc_string_into_malloced_string): New prototype; delete
2185         `convert_charc_string_into_malloced_string'.
2186
2187 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2188
2189         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2190
2191 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2192
2193         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2194
2195         * char-ucs.h: Use <short> for <Charset_ID>.
2196
2197         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2198         <Charset_ID>.
2199
2200 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2201
2202         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2203         to 0.16.
2204
2205 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2206
2207         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2208         variable.
2209         (Qmorohashi_daikanwa): New variable.
2210         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2211         for `morohashi-daikanwa' attribute.
2212         (Fget_char_attribute): Likewise.
2213         (Fput_char_attribute): Likewise.
2214         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2215         has the same value of `ideograph-daikanwa'.
2216         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2217         (vars_of_mule_charset): Setup
2218         `Vcharacter_morohashi_daikanwa_table'.
2219
2220 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2221
2222         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2223         attributes.
2224         (add_charset_to_list_mapper): Add `key' instead of
2225         `XCHARSET_NAME (value)' to return aliases.
2226
2227 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2228
2229         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2230         variable.
2231         (Vcharacter_ideographic_strokes_table): New variable.
2232         (Qideographic_radical): New variable.
2233         (Qideographic_strokes): New variable.
2234         (Fchar_attribute_alist): Use
2235         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2236         attribute; use `Vcharacter_ideographic_strokes_table' for
2237         `ideographic-strokes' attribute.
2238         (Fget_char_attribute): Likewise.
2239         (Fput_char_attribute): Likewise.
2240         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2241         `ideographic-strokes'.
2242         (vars_of_mule_charset): Setup
2243         `Vcharacter_ideographic_radical_table' and
2244         `Vcharacter_ideographic_strokes_table'.
2245
2246 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2247
2248         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2249         (Qtotal_strokes): New variable.
2250         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2251         `total-strokes' attribute.
2252         (Fget_char_attribute): Likewise.
2253         (Fput_char_attribute): Likewise.
2254         (syms_of_mule_charset): Add new symbol `total-strokes'.
2255         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2256
2257 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2258
2259         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2260         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2261         are found.
2262         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2263         `->decomposition' attribute.
2264         (Fput_char_attribute): Likewise.
2265         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2266
2267 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2268
2269         * mule-charset.c (decoding_table_check_elements): New function.
2270         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2271
2272 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2273
2274         * mule-charset.c (Fset_charset_mapping_table): Use
2275         `put_char_ccs_code_point'.
2276
2277 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2278
2279         * mule-charset.c (decoding_table_put_char): New inline function.
2280         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2281
2282 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2283
2284         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2285         (XCHARSET_BYTE_SIZE): New macro.
2286         (decoding_table_remove_char): New inline function.
2287         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2288         `decoding_table_remove_char'.
2289         (remove_char_ccs): Use `decoding_table_remove_char'.
2290         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2291
2292 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2293
2294         * mule-charset.c (Vcharacter_name_table): New variable.
2295         (Qname): New variable.
2296         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2297         attribute.
2298         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2299         `Vcharacter_name_table' for `name' attribute.
2300         (Fremove_char_attribute): Use function `remove_char_ccs'.
2301         (put_char_ccs_code_point): New function.
2302         (remove_char_ccs): New function.
2303         (syms_of_mule_charset): Add new symbol `name'.
2304         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2305
2306 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2307
2308         * mule-charset.c (make_byte_table): Add new argument `older'.
2309         (make_char_id_table): Likewise.
2310         (copy_char_id_table): Comment out because it is not used.
2311         (put_char_id_table): Modify for `make_byte_table'.
2312         (Fput_char_attribute): Make encoding_table as older object;
2313         inherit older bit of `Vcharacter_composition_table'.
2314         (mark_charset): Don't mark `cs->encoding_table'.
2315         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2316         normal object; make `Vcharacter_composition_table' as an older
2317         object; delete staticpro for `Vcharacter_composition_table'; make
2318         `Vcharacter_variant_table' as a normal object.
2319
2320         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2321         (mark_object): Don't check older object in UTF-2000.
2322
2323         * lrecord.h (struct lrecord_header): Add new member `older' in
2324         UTF-2000.
2325         (set_lheader_implementation): Setup `SLI_header->older' in
2326         UTF-2000.
2327         (set_lheader_older_implementation): New macro in UTF-2000.
2328         (OLDER_RECORD_P): New macro in UTF-2000.
2329         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2330         (alloc_older_lcrecord): New prototype in UTF-2000.
2331         (alloc_older_lcrecord_type): New macro in UTF-2000.
2332
2333 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2334
2335         * mule-charset.c (byte_table_description): Use
2336         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2337         (char_id_table_description): Delete bogus `, 1'.
2338         (Fget_char_attribute): Refer encoding_table of each coded-charset
2339         to get value of coded-charset attribute of a character.
2340         (Fput_char_attribute): Use `make_older_vector' instead of
2341         `make_vector'; use encoding_table of each coded-charset to store
2342         value of coded-charset attribute of a character.
2343         (Fremove_char_attribute): Use encoding_table of each coded-charset
2344         to store value of coded-charset attribute of a character.
2345         (mark_charset): Mark `cs->encoding_table'; don't mark
2346         `cs->decoding_table'.
2347         (charset_description): Add description of new member
2348         `encoding_table'.
2349         (make_charset): Initialize `encoding_table'.
2350
2351         * char-ucs.h (struct Lisp_Charset): Add new member
2352         `encoding_table'.
2353         (CHARSET_ENCODING_TABLE): New macro.
2354         (XCHARSET_ENCODING_TABLE): New macro.
2355         (charset_code_point): New implementation.
2356         (encode_char_1): Likewise.
2357
2358         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2359         (disksave_object_finalization_1): Call finalizers of
2360         `all_older_lcrecords' in UTF-2000.
2361         (make_older_vector): New function in UTF-2000.
2362         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2363         UTF-2000.
2364
2365         * lisp.h (make_older_vector): New prototype in UTF-2000.
2366
2367 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2368
2369         * lrecord.h (enum lrecord_type): Rename
2370         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2371
2372         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2373         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2374         `get_char_code_table'.
2375
2376         * mule-charset.c (mark_char_id_table): Renamed from
2377         `mark_char_code_table'.
2378         (char_id_table_equal): Renamed from `char_code_table_equal'.
2379         (char_id_table_hash): Renamed from `char_code_table_hash'.
2380         (make_char_id_table): Renamed from `make_char_code_table'.
2381         (copy_char_id_table): Renamed from `copy_char_code_table'.
2382         (get_char_id_table): Renamed from `get_char_code_table'.
2383         (put_char_id_table): Renamed from `put_char_code_table'.
2384         (to_char_id): Renamed from `to_char_code'.
2385
2386         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2387         `Lisp_Char_Code_Table'.
2388         (char_id_table): Renamed from `char_code_table'.
2389         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2390         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2391         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2392         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2393         (get_char_id_table): Renamed from `get_char_code_table'.
2394
2395 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2396
2397         * lrecord.h (enum lrecord_type): Rename
2398         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2399
2400         * mule-charset.c (mark_byte_table): Renamed from
2401         `mark_char_byte_table'.
2402         (byte_table_equal): Renamed from `char_byte_table_equal'.
2403         (byte_table_hash): Renamed from `byte_table_hash'.
2404         (make_byte_table): Renamed from `make_byte_table'.
2405         (copy_byte_table): Renamed from `copy_char_byte_table'.
2406
2407         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2408         `Lisp_Char_Byte_Table'.
2409         (byte_table): Renamed from `char_byte_table'.
2410         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2411         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2412         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2413         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2414
2415 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2416
2417         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2418         (dfc_convert_to_internal_format): Likewise.
2419         
2420         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2421         * text-coding.c (Fcoding_system_alias_p): New function.
2422         * text-coding.c (Fcoding_system_aliasee): New function.
2423         * text-coding.c (append_suffix_to_symbol): New function.
2424         * text-coding.c (dangling_coding_system_alias_p): New function.
2425         * text-coding.c (Ffind_coding_system):
2426         * text-coding.c (Fcopy_coding_system):
2427         * text-coding.c (encode_coding_no_conversion):
2428         * text-coding.c (syms_of_file_coding):
2429         * text-coding.c (vars_of_file_coding):
2430         Rewrite coding system alias code.
2431         Allow nested aliases, like symbolic links.
2432         Allow redefinition of coding system aliases.
2433         Prevent existence of dangling coding system aliases.
2434         Eliminate convert_to_external_format.
2435         Eliminate convert_to_internal_format.
2436         
2437         * text-coding.c: Change enum eol_type to eol_type_t.
2438
2439 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2440
2441         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2442         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2443
2444         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2445         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2446
2447 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2448
2449         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2450         `ideograph-daikanwa'.
2451
2452         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2453         (Vcharset_ucs_bmp): Likewise.
2454         (Vcharset_mojikyo): Add new extern variable definition.
2455         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2456         (Vcharset_latin_iso8859_3): Likewise.
2457         (Vcharset_latin_iso8859_4): Likewise.
2458         (Vcharset_latin_iso8859_9): Likewise.
2459         (Vcharset_latin_viscii_lower): Likewise.
2460         (Vcharset_latin_viscii_upper): Likewise.
2461         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2462         `mojikyo' code-point is used to decode.
2463         (encode_char_2): New function [to convert `mojikyo' code-point to
2464         Mojikyo font encoding].
2465         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2466         (breakup_char_1): Likewise.
2467         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2468
2469 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2470
2471         * text-coding.c (Fmake_coding_system): Add document about
2472         `disable-composition' property.
2473
2474 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2475
2476         * text-coding.c (Qdisable_composition): New variable; delete
2477         `Qcomposite'.
2478         (Fmake_coding_system): Add new property `disable-composite';
2479         delete property `composite'.
2480         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2481         instead of `!CODING_SYSTEM_COMPOSITE'.
2482         (syms_of_file_coding): Add new symbol `disable-composition';
2483         delete symbol `composite'.
2484
2485         * file-coding.h (struct Lisp_Coding_System): Add
2486         `disable_composition'; delete `enable_composition'.
2487         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2488         `CODING_SYSTEM_COMPOSITE'.
2489         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2490         `XCODING_SYSTEM_COMPOSITE'.
2491
2492 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2493
2494         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2495         to 0.15.
2496
2497 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2498
2499         * text-coding.c (Qcomposite): New variable.
2500         (Fmake_coding_system): Add new property `composite'.
2501         (struct decoding_stream): Add `combined_char_count',
2502         `combined_chars' and `combining_table' in UTF-2000.
2503         (COMPOSE_FLUSH_CHARS): New macro.
2504         (COMPOSE_ADD_CHAR): New macro.
2505         (reset_decoding_stream): Reset `str->combined_char_count' and
2506         `str->combining_table' in UTF-2000.
2507         (decode_coding_iso2022): Modify for character-decomposition.
2508         (syms_of_file_coding): Add new symbol `composite'.
2509
2510 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2511
2512         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2513         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2514         of `Vcharacter_composition_table' if `->decomposition' property
2515         has only 1 element.
2516         (Qlatin_tcvn5712): New variable.
2517         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2518         (complex_vars_of_mule_charset): Add new coded-charset
2519         `latin-tcvn5712'.
2520
2521         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2522
2523 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2524
2525         * file-coding.h (struct Lisp_Coding_System): Add
2526         `enable_composition'.
2527         (CODING_SYSTEM_COMPOSITE): New macro.
2528         (XCODING_SYSTEM_COMPOSITE): New macro.
2529
2530 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2531
2532         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2533
2534 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2535
2536         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2537         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2538
2539 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2540
2541         * mule-charset.c (Vcharset_mojikyo): New variable.
2542         (Fdefine_char): Don't use coded-charset which does not have
2543         non-builtin character range to allocate character-id.
2544         (Qmojikyo): New variable.
2545         (syms_of_mule_charset): Add new symbol `mojikyo'.
2546         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2547
2548         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2549         (LEADING_BYTE_MOJIKYO): New macro.
2550         (MIN_CHAR_MOJIKYO): New macro.
2551         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2552         (MAX_CHAR_MOJIKYO): New macro.
2553
2554 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2555
2556         * mule-charset.c (remove_char_attribute): Fixed.
2557
2558 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2559
2560         * mule-charset.c (remove_char_attribute): New function.
2561         (Fremove_char_attribute): New function.
2562         (encode_builtin_char_1): Comment out builtin-support for
2563         greek-iso8859-7 and cyrillic-iso8859-5.
2564         (Fdecode_char): Check `code' is an integer.
2565         (syms_of_mule_charset): Add `remove-char-attribute'.
2566         (MIN_CHAR_GREEK): Deleted.
2567         (MAX_CHAR_GREEK): Likewise.
2568         (MIN_CHAR_CYRILLIC): Likewise.
2569         (MAX_CHAR_CYRILLIC): Likewise.
2570         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2571         MAX_CHAR_GREEK for `greek-iso8859-7'.
2572
2573         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2574         (MAX_CHAR_GREEK): Likewise.
2575         (MIN_CHAR_CYRILLIC): Likewise.
2576         (MAX_CHAR_CYRILLIC): Likewise.
2577
2578 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2579
2580         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2581         format is used without `ucs' property.
2582         (Fdecode_char): Fix problem with GR representation.
2583         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2584         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2585
2586 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2587
2588         * mule-charset.c (make_builtin_char): New function.
2589         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2590         (Fset_charset_mapping_table): Modify for new representation of
2591         code-point.
2592         (Fdecode_char): New function.
2593         (syms_of_mule_charset): Add new builtin function `decode-char' in
2594         UTF-2000.
2595
2596         * char-ucs.h (make_builtin_char): New prototype.
2597         (DECODE_CHAR): New inline function.
2598         (MAKE_CHAR): Use `DECODE_CHAR'.
2599
2600 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2601
2602         * text-coding.c (parse_charset_conversion_specs): Use
2603         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2604         `XCHARSET_TYPE'.
2605         (iso2022_designate): Likewise.
2606
2607         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2608         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2609
2610         * mule-charset.c (Vcharset_ucs): New variable.
2611         (print_charset): Change design; use `CHARSET_CHARS' and
2612         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2613         (make_charset): Change signature to specify `chars' and
2614         `dimension' instead of `type'.
2615         (range_charset_code_point): Modify for 256^n-set.
2616         (encode_builtin_char_1): Encode as `ucs' in default.
2617         (Fmake_charset): Modify for `make_charset'.
2618         (Fmake_reverse_direction_charset): Likewise.
2619         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2620         UTF-2000.
2621         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2622         for `make_charset'.
2623
2624         * char-ucs.h (Vcharset_ucs): New variable.
2625         (LEADING_BYTE_UCS): New macro.
2626         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2627         and `chars' to `unsigned short' from `unsigned int'.
2628         (CHARSET_TYPE): Deleted.
2629         (XCHARSET_TYPE): Deleted.
2630
2631 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2632
2633         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2634
2635         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2636         (ENCODE_CHAR): New macro.
2637
2638 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2639
2640         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2641         to 0.14 (Kawachi-Katakami).
2642
2643 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2644
2645         * text-coding.c (char_encode_shift_jis): Modify for
2646         `charset_code_point'.
2647         (char_encode_iso2022): Likewise.
2648
2649         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2650         (integer) instead of list of <Lisp_Object>s (integers) as the
2651         format of code-point of a coded-charset.
2652         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2653         (encode_builtin_char_1): New function; delete
2654         `split_builtin_char'.
2655         (charset_code_point): Return <int> instead of <Lisp_Object>.
2656         (Fsplit_char): Don't use `SPLIT_CHAR'.
2657
2658         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2659         prototype for `split_builtin_char'.
2660         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2661         (charset_code_point): Likewise.
2662         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2663         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2664
2665 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2666
2667         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2668         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2669
2670 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2671
2672         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2673
2674         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2675         (MAX_CHAR_OBS_94x94): Deleted.
2676
2677 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2678
2679         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2680
2681         * char-ucs.h (MAX_CHAR_BMP): New macro.
2682
2683 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2684
2685         * text-coding.c: Sync with r21-2-24.
2686
2687 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2688
2689         * file-coding.c: Modify for UTF-2000.
2690
2691 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2692
2693         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2694         to 0.13 (Takaida).
2695
2696 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2697
2698         * mule-charset.c (split_builtin_char): Delete builtin support for
2699         `katakana-jisx0201'.
2700         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2701         BMP area in builtin representation.
2702
2703         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2704         `Vcharset_katakana_jisx0201'.
2705
2706 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2707
2708         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2709         (Qisolated): New variable.
2710         (Qinitial): New variable.
2711         (Qmedial): New variable.
2712         (Qfinal): New variable.
2713         (Qvertical): New variable.
2714         (Qsmall): New variable.
2715         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2716         `Qvertical' and `Qsmall'.
2717         (Qmojikyo_pj_[1 .. 21]): New variable.
2718         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2719         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2720         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2721         .. 21]'.
2722
2723 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2724
2725         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2726         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2727         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2728
2729 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2730
2731         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2732         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2733         BMP.
2734         (Qjapanese_jisx0208_1990): New variable.
2735         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2736         (complex_vars_of_mule_charset): Add new coded-charset
2737         `japanese-jisx0208-1990'.
2738
2739         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2740         (MIN_CHAR_JIS_X0208_1990): New macro.
2741         (MAX_CHAR_JIS_X0208_1990): New macro.
2742
2743 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2744
2745         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2746         coded-charset is not found.
2747
2748 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2749
2750         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2751         (Fdefine_char): Use `Fmake_char'.
2752
2753 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2754
2755         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2756         (Vcharset_hiragana_jisx0208): Deleted.
2757         (Vcharset_katakana_jisx0208): Deleted.
2758         (Qideograph_daikanwa): New variable.
2759         (Qhiragana_jisx0208): Deleted.
2760         (Qkatakana_jisx0208): Deleted.
2761         (split_builtin_char): Split `ideograph-daikanwa'.
2762         (Fsplit_char): New implementation for UTF-2000.
2763         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2764         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2765         (complex_vars_of_mule_charset): Add new coded-charset
2766         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2767         `katakana-jisx0208'.
2768
2769         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2770         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2771         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2772         (MIN_CHAR_DAIKANWA): New macro.
2773         (MAX_CHAR_DAIKANWA): New macro.
2774
2775 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2776
2777         * data.c (Fstring_to_number): Don't recognize floating point if
2778         base is not 10.
2779
2780 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2781
2782         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2783
2784 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2785
2786         * mule-charset.c (Qsquare): New variable.
2787         (to_char_code): Add `Qsquare'.
2788         (syms_of_mule_charset): Add new symbol `square'.
2789
2790 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2791
2792         * mule-charset.c (Qcircle): New variable.
2793         (to_char_code): Add `Qcircle'.
2794         (syms_of_mule_charset): Add new symbol `circle'.
2795
2796 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2797
2798         * mule-charset.c (Qfont): New variable.
2799         (to_char_code): Add `Qfont'.
2800         (syms_of_mule_charset): Add new symbol `font'.
2801
2802 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2803
2804         * mule-charset.c (Qsub): New variable.
2805         (to_char_code): Add `Qsub'.
2806         (syms_of_mule_charset): Add new symbol `sub'.
2807
2808 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2809
2810         * mule-charset.c (Fput_char_attribute): Convert each element of
2811         VALUE to GL position if ATTRIBUTE is a GR-set,
2812
2813 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2814
2815         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2816         coded-charset is a GR-set.
2817
2818 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2819
2820         * mule-charset.c (Fput_char_attribute): Check each element of
2821         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2822
2823 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2824
2825         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2826         UTF-2000.
2827         (Qethiopic_ucs): New variable in UTF-2000.
2828         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2829         (complex_vars_of_mule_charset): Add new coded-charset
2830         `ethiopic-ucs' in UTF-2000.
2831
2832         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2833         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2834         9)'.
2835         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2836         10)'.
2837         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2838
2839 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2840
2841         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2842         `ascii'.
2843
2844 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2845
2846         * mule-charset.c (Vcharacter_variant_table): New variable.
2847         (Q_ucs): New variable.
2848         (Fchar_variants): New function.
2849         (Fput_char_attribute): Register `->ucs' value to
2850         `Vcharacter_variant_table'.
2851         (syms_of_mule_charset): Add new function `char-variants' and new
2852         symbol `->ucs'.
2853         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2854
2855 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2856
2857         * mule-charset.c (get_char_code_table): Allow negative character
2858         code.
2859         (put_char_code_table): Likewise.
2860         (Vcharacter_composition_table): New variable.
2861         (Q_decomposition): New variable.
2862         (Qwide): New variable.
2863         (Qnarrow): New variable.
2864         (Qcompat): New variable.
2865         (QnoBreak): New variable.
2866         (Qsuper): New variable.
2867         (Qfraction): New variable.
2868         (to_char_code): New function.
2869         (Fget_composite_char): New function.
2870         (Fput_char_attribute): Register `->decomposition' value to
2871         `Vcharacter_composition_table'.
2872         (syms_of_mule_charset): Add new function `get-composite-char', new
2873         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2874         `super' and `fraction'.
2875         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2876
2877 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2878
2879         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2880         character; copy the return value.
2881
2882 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2883
2884         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2885
2886         * mule-charset.c (range_charset_code_point): Must use make_int.
2887         (split_builtin_char): New function.
2888
2889 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2890
2891         * mule-charset.c (char_byte_table): Change name from
2892         "char-code-table" to "char-byte-table".
2893         (mark_char_code_table): New function.
2894         (char_code_table_equal): New function.
2895         (char_code_table_hash): New function.
2896         (char_code_table_description): New constant.
2897         (char_code_table): New type.
2898         (make_char_code_table): New function.
2899         (copy_char_code_table): New function.
2900         (get_char_code_table): Modify for `char_code_table' type.
2901         (put_char_code_table): Likewise.
2902         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2903         (Kashiwara).
2904
2905         * char-ucs.h (char_code_table): New type.
2906         (XCHAR_CODE_TABLE): New macro.
2907         (XSETCHAR_CODE_TABLE): New macro.
2908         (CHAR_CODE_TABLE_P): New macro.
2909         (GC_CHAR_CODE_TABLE_P): New macro.
2910         (struct Lisp_Char_Code_Table): New structure.
2911
2912 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2913
2914         * mule-charset.c (Fmake_charset): Setup byte_offset for
2915         {94|96}^n-set.
2916
2917 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2918
2919         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2920         character.
2921
2922 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2923
2924         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2925         is found.
2926
2927 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2928
2929         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2930         charset, it is regarded as a charset.
2931         (put_char_attribute): New function in UTF-2000.
2932         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2933         charset, mapping-table of the charset is modified.
2934         (Fdefine_char): New function in UTF-2000.
2935         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2936         `Fput_char_attribute'.
2937         (syms_of_mule_charset): Add new function `define-char' and new
2938         symbol `ucs' in UTF-2000.
2939         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2940
2941 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2942
2943         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2944         non-UTF-2000 configuration.
2945
2946 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2947
2948         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2949         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2950
2951         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2952         deleted.
2953         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2954         (Fset_charset_mapping_table): Likewise.
2955
2956         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2957         (CHARSET_ENCODING_TABLE): Delete.
2958         (XCHARSET_ENCODING_TABLE): Delete.
2959         (charset_code_point): New interface.
2960
2961 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2962
2963         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2964         instead of `charset_get_byte1' and `charset_get_byte2'.
2965
2966         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2967         (charset_get_byte2): Deleted.
2968
2969 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2970
2971         * char-ucs.h (SPLIT_CHAR): New inline function.
2972         (breakup_char_1): Use `SPLIT_CHAR'.
2973
2974         * mule-charset.c (range_charset_code_point): New function.
2975         (charset_code_point): New function.
2976
2977         * char-ucs.h (range_charset_code_point): New interface.
2978         (breakup_char_1): Use `range_charset_code_point'.
2979
2980 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2981
2982         * mule-charset.c (Fmake_charset): Delete unused local variable
2983         `code_offset'.
2984
2985         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2986         (breakup_char_1): Find a charset and code-point in
2987         `Vcharacter_attribute_table'.
2988
2989 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2990
2991         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2992         to 0.10 (Yao).
2993
2994 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2995
2996         * mule-charset.c (Vcharacter_attribute_table): New variable.
2997         (Fchar_attribute_alist): New function.
2998         (Fget_char_attribute): New function.
2999         (Fput_char_attribute): New function.
3000         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3001         too.
3002         (syms_of_mule_charset): Add new function `char-attribute-alist',
3003         `get-char-attribute' and `put-char-attribute'.
3004         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3005
3006 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3007
3008         * mule-charset.c (Fmake_charset): Just use
3009         `get_unallocated_leading_byte'.
3010
3011         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3012         sets; don't use final-byte based number for private sets.
3013
3014 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3015
3016         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3017         integer.
3018
3019 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3020
3021         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3022         to 0.9.
3023
3024 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3025
3026         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3027         of `CHAR_LEADING_BYTE' in UTF-2000.
3028
3029         * insdel.c (find_charsets_in_bufbyte_string): Use
3030         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3031         (find_charsets_in_emchar_string): Likewise.
3032
3033         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3034         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3035
3036         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3037         (CHAR_CHARSET_ID): New macro.
3038
3039 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3040
3041         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3042         charset-id - MIN_LEADING_BYTE.
3043         (put_char_table): Likewise.
3044
3045 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3046
3047         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3048         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3049         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3050         (CHARSET_ID_OFFSET): New macro.
3051         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3052         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3053         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3054         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3055         4).
3056         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3057         5).
3058         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3059         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3060         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3061         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3062         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3063
3064 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3065
3066         * mule-charset.c (next_allocated_leading_byte): New variable in
3067         UTF-2000.
3068         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3069         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3070         (get_unallocated_leading_byte): Simply use
3071         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3072         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3073         UTF-2000.
3074
3075         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3076         (MAX_LEADING_BYTE_PRIVATE): New macro.
3077         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3078         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3079
3080 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3081
3082         * mule-charset.c (Fmake_charset): Allocate final-byte based
3083         charset-id for 94-set, 96-set and 94x94-set.
3084
3085 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3086
3087         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3088         ambiguous `else'.
3089         (Fmake_charset): Likewise.
3090         (complex_vars_of_mule_charset): Modify the font registry of
3091         `ucs-bmp' not to match `Ethiopic-Unicode'.
3092
3093 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3094
3095         * mule-charset.c (complex_vars_of_mule_charset): Add font
3096         registory of `ucs-bmp'.
3097
3098 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3099
3100         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3101         coded-charsets in `default-coded-charset-priority-list' when
3102         breaking up a character.
3103
3104         * mule-charset.c (Vcharset_latin_viscii): New variable.
3105         (Qlatin_viscii): New variable.
3106         (make_charset): Don't use `decoding_table'.
3107         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3108         byte_offset.
3109         (Fset_charset_mapping_table): New implementation.
3110         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3111         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3112         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3113         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3114         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3115         charset `latin_viscii'.
3116
3117         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3118         (CHARSET_TYPE_94X94): Change to 1 from 2.
3119         (CHARSET_TYPE_96): Change to 2 from 1.
3120         (CHARSET_TYPE_128): New macro.
3121         (CHARSET_TYPE_128X128): Change to 5 from 4.
3122         (CHARSET_TYPE_256): New macro.
3123         (CHARSET_TYPE_256X256): Change to 7 from 5.
3124         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3125
3126 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3127
3128         * text-coding.c (char_encode_shift_jis): Refer
3129         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3130         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3131
3132         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3133         (char_byte_table_equal): New function in UTF-2000.
3134         (char_byte_table_hash): New function in UTF-2000.
3135         (char_byte_table_description): New constant in UTF-2000.
3136         (char_byte_table): New type in UTF-2000.
3137         (make_char_byte_table): New function in UTF-2000.
3138         (copy_char_byte_table): New function in UTF-2000.
3139         (make_char_code_table): New macro in UTF-2000.
3140         (get_char_code_table): New function in UTF-2000.
3141         (put_char_code_table): New function in UTF-2000.
3142         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3143         (charset_description): Add setting in UTF-2000.
3144         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3145         `CHARSET_TO_BYTE1_TABLE(cs)'.
3146         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3147         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3148         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3149         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3150         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3151         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3152         `CHARSET_TO_BYTE2_TABLE(cs)'.
3153
3154         * char-ucs.h (char_byte_table): New type.
3155         (XCHAR_BYTE_TABLE): New macro.
3156         (XSETCHAR_BYTE_TABLE): New macro.
3157         (CHAR_BYTE_TABLE_P): New macro.
3158         (GC_CHAR_BYTE_TABLE_P): New macro.
3159         (struct Lisp_Char_Byte_Table): New structure.
3160         (get_char_code_table): New interface.
3161         (Emchar_to_byte_table): Deleted.
3162         (get_byte_from_character_table): Deleted.
3163         (struct Lisp_Charset): Add `encoding_table'; delete
3164         `to_byte1_table' and `to_byte2_table'.
3165         (CHARSET_ENCODING_TABLE): New macro.
3166         (CHARSET_TO_BYTE1_TABLE): Deleted.
3167         (CHARSET_TO_BYTE2_TABLE): Deleted.
3168         (XCHARSET_ENCODING_TABLE): New macro.
3169         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3170         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3171
3172 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3173
3174         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3175         `vietnamese-viscii-*'.
3176
3177 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3178
3179         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3180         (Qvietnamese_viscii_upper): New variable.
3181         (Fdefine_charset_alias): New function.
3182         (syms_of_mule_charset): Add new function `define-charset-alias'.
3183         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3184         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3185         `latin-viscii-*'.
3186
3187 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3188
3189         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3190         (MAX_CHAR_OBS_94x94): New macro.
3191         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3192         for 94x94 sets.
3193
3194         * mule-charset.c (put_byte_from_character_table): Change unit size
3195         from 128 to 256.
3196         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3197         not defined.
3198         (Fmake_reverse_direction_charset): Modify dummy argument of
3199         `make_charset' for non-UTF-2000 environment.
3200
3201 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3202
3203         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3204
3205         * mule-charset.c (destroy_byte_from_character_table): New macro.
3206         (latin_jisx0201_to_ucs): Deleted.
3207         (latin_iso8859_2_to_ucs): Deleted.
3208         (latin_iso8859_3_to_ucs): Deleted.
3209         (latin_iso8859_4_to_ucs): Deleted.
3210         (latin_iso8859_9_to_ucs): Deleted.
3211         (latin_viscii_lower_to_ucs): Deleted.
3212         (latin_viscii_upper_to_ucs): Deleted.
3213         (mark_charset): Mark `cs->decoding_table'.
3214         (Fcharset_mapping_table): Fix DOC-string.
3215         (Fset_charset_mapping_table): New function.
3216         (syms_of_mule_charset): Add nwe function
3217         `set-charset-mapping-table'.
3218         (complex_vars_of_mule_charset): Don't setup and use
3219         `latin_*_to_ucs'.
3220
3221 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3222
3223         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3224         charset.
3225
3226 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3227
3228         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3229         (Vcharset_katakana_jisx0208): New variable.
3230         (Qhiragana_jisx0208): New variable.
3231         (Qkatakana_jisx0208): New variable.
3232         (make_charset): Add new argument `byte_offset'.
3233         (charset_get_byte1): Modify for new coded-charset definition; use
3234         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3235         `XCHARSET_BYTE_OFFSET'.
3236         (Fmake_charset): Modify for `make_charset'.
3237         (Fmake_reverse_direction_charset): Likewise.
3238         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3239         `katakana-jisx0208'.
3240         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3241         `.'  in font registry of charset `katakana-jisx0201',
3242         `latin-jisx0201', `vietnamese-viscii-lower' and
3243         `vietnamese-viscii-upper'; modify DOC-string of charset
3244         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3245         registry of charset `japanese-jisx0208' not to use font for JIS
3246         X0208:1990; add new charset `hiragana-jisx0208' and
3247         `katakana-jisx0208'.
3248
3249         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3250         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3251         (struct Lisp_Charset): Add `byte_offset'.
3252         (CHARSET_BYTE_OFFSET): New macro.
3253         (XCHARSET_UCS_MIN): New macro.
3254         (XCHARSET_UCS_MAX): New macro.
3255         (XCHARSET_CODE_OFFSET): New macro.
3256         (XCHARSET_BYTE_OFFSET): New macro.
3257         (MIN_CHAR_HIRAGANA): New macro.
3258         (MAX_CHAR_HIRAGANA): New macro.
3259         (MIN_CHAR_KATAKANA): New macro.
3260         (MAX_CHAR_KATAKANA): New macro.
3261         (MAKE_CHAR): Modify for new coded-charset definition; use
3262         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3263         `XCHARSET_BYTE_OFFSET'.
3264
3265 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3266
3267         * mule-charset.c (CHAR96): Deleted.
3268         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3269         <Lisp_Object>.
3270         (latin_iso8859_2_to_ucs): Likewise.
3271         (latin_iso8859_3_to_ucs): Likewise.
3272         (latin_iso8859_4_to_ucs): Likewise.
3273         (latin_iso8859_9_to_ucs): Likewise.
3274         (latin_viscii_lower_to_ucs): Likewise.
3275         (latin_viscii_upper_to_ucs): Likewise.
3276         (latin_tcvn5712_to_ucs): Commented out.
3277         (make_charset): Change type of argument `decoding_table' from
3278         <Emchar*> to <Lisp_Object> [vector of characters].
3279         (Fmake_charset): Modify for `make_charset'.
3280         (Fmake_reverse_direction_charset): Likewise.
3281         (Fcharset_mapping_table): New function in UTF-2000.
3282         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3283         UTF-2000.
3284         (complex_vars_of_mule_charset): Modify for type change of
3285         `*_to_ucs'; modify for `make_charset'.
3286
3287         * char-ucs.h (struct Lisp_Charset): Change type of
3288         `decoding_table' from <Emchar*> to <Lisp_Object>.
3289         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3290
3291 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3292
3293         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3294         error with non-UTF-2000-Mule.
3295
3296 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3297
3298         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3299         in lisp again].
3300         (Vcharset_chinese_cns11643_4): Likewise.
3301         (Vcharset_chinese_cns11643_5): Likewise.
3302         (Vcharset_chinese_cns11643_6): Likewise.
3303         (Vcharset_chinese_cns11643_7): Likewise.
3304         (Qchinese_cns11643_3): Likewise.
3305         (Qchinese_cns11643_4): Likewise.
3306         (Qchinese_cns11643_5): Likewise.
3307         (Qchinese_cns11643_6): Likewise.
3308         (Qchinese_cns11643_7): Likewise.
3309         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3310         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3311         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3312         (complex_vars_of_mule_charset): Likewise.
3313
3314 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3315
3316         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3317         96-set.
3318         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3319         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3320
3321 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3322
3323         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3324         0xFF60.
3325         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3326         (breakup_char_1): Likewise.
3327
3328         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3329         one of them includes the specified character.
3330
3331 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3332
3333         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3334
3335 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3336
3337         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3338
3339 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3340
3341         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3342         definition for non-UTF-2000 Mule.
3343         (latin_iso8859_3_to_ucs): Likewise.
3344         (latin_iso8859_4_to_ucs): Likewise.
3345         (latin_iso8859_9_to_ucs): Likewise.
3346         (latin_jisx0201_to_ucs): Likewise.
3347         (MIN_CHAR_THAI): Likewise.
3348         (MAX_CHAR_THAI): Likewise.
3349         (MIN_CHAR_GREEK): Likewise.
3350         (MAX_CHAR_GREEK): Likewise.
3351         (MIN_CHAR_HEBREW): Likewise.
3352         (MAX_CHAR_HEBREW): Likewise.
3353         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3354         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3355         (MIN_CHAR_CYRILLIC): Likewise.
3356         (MAX_CHAR_CYRILLIC): Likewise.
3357
3358 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3359
3360         * char-ucs.h (breakup_char_1): Use
3361         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3362         thai-tis620 and katakana-jisx0201 area.
3363
3364 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3365
3366         * char-ucs.h (breakup_char_1): Use
3367         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3368         area.
3369
3370         * text-coding.c (reset_encoding_stream): Fixed.
3371         (char_encode_ucs4): Delete `& 255'.
3372
3373         * char-ucs.h (breakup_char_1): Use
3374         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3375
3376 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3377
3378         * file-coding.c (Fmake_coding_system): Don't set up
3379         `codesys->fixed.size'.
3380         (encode_coding_no_conversion): Don't refer
3381         `str->codesys->fixed.size'.
3382
3383 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3384
3385         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3386         (latin_a_char_to_byte1): Deleted.
3387         (latin_a_char_to_byte2): Deleted.
3388
3389 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3390
3391         * mule-charset.c (make_charset): Add new argument `ucs_min',
3392         `ucs_max' and `code_offset'.
3393         (charset_get_byte1): New implementation [delete specific charset
3394         depended implementations].
3395         (Fmake_charset): Modify for `make_charset'.
3396         (Fmake_reverse_direction_charset): Likewise.
3397         (complex_vars_of_mule_charset): Likewise.
3398
3399         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3400         `code_offset'.
3401         (CHARSET_UCS_MIN): New macro.
3402         (CHARSET_UCS_MAX): New macro.
3403         (CHARSET_CODE_OFFSET): New macro.
3404         (MAKE_CHAR): Delete charset depended definitions [except
3405         katakana-jisx0201].
3406
3407 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3408
3409         * char-ucs.h (breakup_char_1): Use
3410         `Vdefault_coded_charset_priority_list' for C0-Controls,
3411         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3412
3413 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3414
3415         * char-ucs.h (charset_get_byte1): New function.
3416         (XCHARSET_GET_BYTE1): Deleted.
3417         (charset_get_byte2): New function.
3418         (XCHARSET_GET_BYTE2): Deleted.
3419         (Vdefault_coded_charset_priority_list): New external variable.
3420         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3421         `Vdefault_preferred_coded_charset_list'.
3422
3423         * mule-charset.c (charset_get_byte1): New function.
3424         (charset_get_byte2): New function.
3425         (Vdefault_coded_charset_priority_list): New variable.
3426         (vars_of_mule_charset): Add new variable
3427         `default-coded-charset-priority-list'.
3428
3429 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3430
3431         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3432         (XCHARSET_GET_BYTE2): New inline function.
3433         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3434         `XCHARSET_GET_BYTE2'.
3435
3436 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3437
3438         * mule-charset.c (make_charset): Initialize
3439         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3440         NULL if table is not defined.
3441
3442 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3443
3444         * text-coding.c (char_encode_shift_jis): Use
3445         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3446         `ucs_to_latin_jisx0201'.
3447
3448         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3449         (ucs_to_latin_iso8859_2): Deleted.
3450         (ucs_to_latin_iso8859_3): Deleted.
3451         (ucs_to_latin_iso8859_4): Deleted.
3452         (ucs_to_latin_iso8859_9): Deleted.
3453         (ucs_to_latin_viscii_lower): Deleted.
3454         (ucs_to_latin_viscii_upper): Deleted.
3455         (ucs_to_latin_tcvn5712): Deleted.
3456         (make_charset): Add new argument `decoding_table'; set up
3457         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3458         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3459         `decoding_table' is defined in UTF-2000.
3460         (Fmake_charset): Modify for `make_charset'.
3461         (Fmake_reverse_direction_charset): Likewise.
3462         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3463         and `GENERATE_96_SET'.
3464
3465         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3466         (ucs_to_latin_jisx0201): Deleted.
3467         (latin_iso8859_2_to_ucs): Deleted.
3468         (ucs_to_latin_iso8859_2): Deleted.
3469         (latin_iso8859_3_to_ucs): Deleted.
3470         (ucs_to_latin_iso8859_3): Deleted.
3471         (latin_iso8859_4_to_ucs): Deleted.
3472         (ucs_to_latin_iso8859_4): Deleted.
3473         (latin_iso8859_9_to_ucs): Deleted.
3474         (ucs_to_latin_iso8859_9): Deleted.
3475         (latin_viscii_lower_to_ucs): Deleted.
3476         (ucs_to_latin_viscii_lower): Deleted.
3477         (latin_viscii_upper_to_ucs): Deleted.
3478         (ucs_to_latin_viscii_upper): Deleted.
3479         (struct Lisp_Charset): Renamed `encoding_table' to
3480         `to_byte1_table'; add `to_byte2_table'.
3481         (CHARSET_DECODING_TABLE): New macro.
3482         (CHARSET_TO_BYTE1_TABLE): New macro.
3483         (CHARSET_TO_BYTE2_TABLE): New macro.
3484         (XCHARSET_DECODING_TABLE): New macro.
3485         (XCHARSET_TO_BYTE1_TABLE): New macro.
3486         (XCHARSET_TO_BYTE2_TABLE): New macro.
3487         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3488         tables.
3489         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3490         don't use `ucs_to_*' tables.
3491
3492 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3493
3494         * text-coding.c (Fmake_coding_system): Don't set up
3495         `codesys->fixed.size'.
3496         (encode_coding_no_conversion): Use `if' instead of `switch'.
3497
3498         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3499
3500 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3501
3502         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3503         (Fmake_charset): Modify for `make_charset'.
3504         (Fmake_reverse_direction_charset): Likewise.
3505         (complex_vars_of_mule_charset): Likewise.
3506
3507 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3508
3509         * text-coding.c (char_encode_shift_jis): Use table
3510         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3511
3512 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3513
3514         * text-coding.c (text_encode_generic): Use `if' instead of
3515         `switch'.
3516         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3517         decode JIS-Latin.
3518
3519 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3520
3521         * text-coding.c (encode_coding_sjis): Deleted.
3522         (char_encode_shift_jis): New function.
3523         (char_finish_shift_jis): New function.
3524         (reset_encoding_stream): Set up `encode_char' and `finish' for
3525         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3526         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3527         (char_encode_utf8): Treat `eol_type'.
3528
3529 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3530
3531         * file-coding.c (decode_coding_iso2022): Use
3532         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3533
3534 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3535
3536         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3537         to 0.7 (Hirano).
3538
3539 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3540
3541         * char-lb.h (CHAR_COLUMNS): New macro.
3542
3543 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3544
3545         * text-coding.c (char_encode_ucs4): New function.
3546         (char_finish_ucs4): New function.
3547         (encode_coding_ucs4): Deleted.
3548         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3549         (text_encode_generic): Delete local variable `charset' and `half'.
3550         (ucs_to_mule_table): Deleted.
3551         (mule_to_ucs_table): Deleted.
3552         (Fset_ucs_char): Deleted.
3553         (ucs_to_char): Deleted.
3554         (Fucs_char): Deleted.
3555         (Fset_char_ucs): Deleted.
3556         (Fchar_ucs): Deleted.
3557         (decode_ucs4): Deleted.
3558         (mule_char_to_ucs4): Deleted.
3559         (encode_ucs4): Deleted.
3560         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3561         (decode_coding_utf8): Likewise.
3562         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3563         (char_encode_iso2022): Fixed.
3564         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3565         `Fset_char_ucs' and `Fchar_ucs'.
3566         (complex_vars_of_file_coding): Don't initialize
3567         `ucs_to_mule_table'.
3568
3569         * objects-tty.c (tty_initialize_font_instance): Don't use
3570         `XCHARSET_COLUMNS'.
3571
3572         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3573         UTF-2000.
3574
3575         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3576         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3577
3578         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3579         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3580         (emchar_string_displayed_columns): Likewise.
3581
3582         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3583         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3584         (string_column_at_point): Likewise.
3585         (Fmove_to_column): Likewise.
3586
3587         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3588         `encoding_table' and `decoding_table'.
3589         (CHARSET_REP_BYTES): Deleted.
3590         (XCHARSET_REP_BYTES): Deleted.
3591         (XCHARSET_COLUMNS): Deleted.
3592         (CHAR_COLUMNS): New macro.
3593         (lookup_composite_char): Deleted unconditionally.
3594         (composite_char_string): Likewise.
3595
3596 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3597
3598         * char-ucs.h (Emchar_to_byte_table): New type.
3599         (get_byte_from_character_table): New function interface.
3600         (Vcharset_latin_jisx0201): New variable.
3601         (latin_jisx0201_to_ucs): New variable.
3602         (ucs_to_latin_jisx0201): New variable.
3603         (Vcharset_latin_iso8859_2): New variable.
3604         (latin_iso8859_2_to_ucs): New variable.
3605         (ucs_to_latin_iso8859_2): New variable.
3606         (Vcharset_latin_iso8859_3): New variable.
3607         (latin_iso8859_3_to_ucs): New variable.
3608         (ucs_to_latin_iso8859_3): New variable.
3609         (Vcharset_latin_iso8859_4): New variable.
3610         (latin_iso8859_4_to_ucs): New variable.
3611         (ucs_to_latin_iso8859_4): New variable.
3612         (Vcharset_latin_iso8859_9): New variable.
3613         (latin_iso8859_9_to_ucs): New variable.
3614         (ucs_to_latin_iso8859_9): New variable.
3615         (Vcharset_latin_viscii_lower): New variable.
3616         (latin_viscii_lower_to_ucs): New variable.
3617         (ucs_to_latin_viscii_lower): New variable.
3618         (Vcharset_latin_viscii_upper): New variable.
3619         (latin_viscii_upper_to_ucs): New variable.
3620         (ucs_to_latin_viscii_upper): New variable.
3621         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3622         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3623         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3624         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3625         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3626         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3627         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3628         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3629         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3630         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3631
3632         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3633         (Vcharset_latin_viscii_upper): New variable.
3634         (make_byte_from_character_table): New function.
3635         (put_byte_from_character_table): New function.
3636         (get_byte_from_character_table): New function.
3637         (CHAR96): New macro.
3638         (ucs_to_latin_jisx0201): New variable.
3639         (latin_jisx0201_to_ucs): New variable.
3640         (ucs_to_latin_iso8859_2): New variable.
3641         (latin_iso8859_2_to_ucs): New variable.
3642         (ucs_to_latin_iso8859_3): New variable.
3643         (latin_iso8859_3_to_ucs): New variable.
3644         (ucs_to_latin_iso8859_4): New variable.
3645         (latin_iso8859_4_to_ucs): New variable.
3646         (ucs_to_latin_iso8859_9): New variable.
3647         (latin_iso8859_9_to_ucs): New variable.
3648         (ucs_to_latin_viscii_lower): New variable.
3649         (latin_viscii_lower_to_ucs): New variable.
3650         (ucs_to_latin_viscii_upper): New variable.
3651         (latin_viscii_upper_to_ucs): New variable.
3652         (ucs_to_latin_tcvn5712): New variable.
3653         (latin_tcvn5712_to_ucs): New variable.
3654         (Qlatin_viscii_lower): New variable.
3655         (Qlatin_viscii_upper): New variable.
3656         (syms_of_mule_charset): Set up new symbol
3657         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3658         (complex_vars_of_mule_charset): Set up new charset
3659         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3660         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3661         `ucs_to_<CHARSET>' tables.
3662
3663 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3664
3665         * text-coding.c: New file.
3666
3667 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3668
3669         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3670
3671         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3672         (MAKE_CHAR): Modify for `ucs-bmp'.
3673         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3674         non-MULE characters of BMP.
3675
3676 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3677
3678         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3679         to 0.6.
3680
3681 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3682
3683         * lstream.h:
3684         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3685         - Include character.h for `CHAR_ASCII_P'.
3686
3687         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3688
3689         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3690         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3691
3692         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3693         (BYTE_C0_P): Likewise.
3694         (BYTE_C1_P): Likewise.
3695         (Lstream_get_emchar_1): Likewise.
3696         (Lstream_fput_emchar): Likewise.
3697         (Lstream_funget_emchar): Likewise.
3698         (copy_internal_to_external): Likewise.
3699         (copy_external_to_internal): Likewise.
3700
3701         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3702         (BYTE_C0_P): Likewise.
3703         (BYTE_C1_P): Likewise.
3704         (Lstream_get_emchar_1): Likewise.
3705         (Lstream_fput_emchar): Likewise.
3706         (Lstream_funget_emchar): Likewise.
3707         (copy_internal_to_external): Likewise.
3708         (copy_external_to_internal): Likewise.
3709
3710         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3711         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3712
3713         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3714         (BYTE_ASCII_P): Moved to mb-1byte.h.
3715
3716 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3717
3718         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3719
3720         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3721         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3722         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3723         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3724         (VALIDATE_CHARPTR_FORWARD): Likewise.
3725         (simple_charptr_emchar): Moved to mb-multibyte.h.
3726         (simple_set_charptr_emchar): Likewise.
3727         (simple_charptr_copy_char): Likewise.
3728         (non_ascii_charptr_emchar): Likewise.
3729         (non_ascii_set_charptr_emchar): Likewise.
3730         (non_ascii_charptr_copy_char): Likewise.
3731         (charptr_emchar): Moved to mb-*byte.h.
3732         (set_charptr_emchar): Likewise.
3733         (charptr_copy_char): Likewise.
3734
3735         * mb-1byte.h, mb-multibyte.h: New files.
3736
3737 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3738
3739         * mb-utf-8.h (MULTIBYTE): New macro.
3740         (MAX_EMCHAR_LEN): Moved from buffer.h.
3741         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3742
3743         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3744
3745         * mb-lb.h, multibyte.h: New files.
3746
3747         * char-1byte.h (Charset_ID): Moved from buffer.h.
3748         (MIN_LEADING_BYTE): Likewise.
3749         (LEADING_BYTE_ASCII): Likewise.
3750         (NUM_LEADING_BYTES): Likewise.
3751         (CHARSETP): Likewise.
3752         (CHARSET_BY_LEADING_BYTE): Likewise.
3753         (XCHARSET_LEADING_BYTE): Likewise.
3754         (XCHARSET_GRAPHIC): Likewise.
3755         (XCHARSET_COLUMNS): Likewise.
3756         (XCHARSET_DIMENSION): Likewise.
3757         (CHAR_CHARSET): Likewise.
3758         (CHAR_LEADING_BYTE): Likewise.
3759         (BREAKUP_CHAR): Likewise.
3760         (Vcharset_ascii): Likewise.
3761
3762         * buffer.h: Include multibyte.h unconditionally.
3763         (VALID_CHARPTR_P): Moved to multibyte.h.
3764         (ASSERT_VALID_CHARPTR): Likewise.
3765         (REAL_INC_CHARPTR): Likewise.
3766         (REAL_INC_CHARBYTIND): Likewise.
3767         (REAL_DEC_CHARPTR): Likewise.
3768         (INC_CHARPTR): Likewise.
3769         (INC_CHARBYTIND): Likewise.
3770         (DEC_CHARPTR): Likewise.
3771         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3772         (VALIDATE_CHARPTR_FORWARD): Likewise.
3773         (charptr_n_addr): Likewise.
3774         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3775         (simple_charptr_emchar): Moved to multibyte.h.
3776         (simple_set_charptr_emchar): Likewise.
3777         (simple_charptr_copy_char): Likewise.
3778         (non_ascii_charptr_emchar): Likewise.
3779         (non_ascii_set_charptr_emchar): Likewise.
3780         (non_ascii_charptr_copy_char): Likewise.
3781         (charptr_emchar): Likewise.
3782         (set_charptr_emchar): Likewise.
3783         (charptr_copy_char): Likewise.
3784         (charptr_emchar_n): Likewise.
3785         (Charset_ID): Moved to char-1byte.h.
3786         (Vcharset_ascii): Likewise.
3787         (CHAR_CHARSET): Likewise.
3788         (CHAR_LEADING_BYTE): Likewise.
3789         (LEADING_BYTE_ASCII): Likewise.
3790         (NUM_LEADING_BYTES): Likewise.
3791         (MIN_LEADING_BYTE): Likewise.
3792         (CHARSETP): Likewise.
3793         (CHARSET_BY_LEADING_BYTE): Likewise.
3794         (XCHARSET_LEADING_BYTE): Likewise.
3795         (XCHARSET_GRAPHIC): Likewise.
3796         (XCHARSET_COLUMNS): Likewise.
3797         (XCHARSET_DIMENSION): Likewise.
3798         (BREAKUP_CHAR): Likewise.
3799
3800 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3801
3802         * character.h: Add document about interface for characters.
3803
3804         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3805         (MAKE_CHAR): Delete comment about
3806         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3807         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3808         (BREAKUP_CHAR): Modify name of arguments.
3809         (CHAR_CHARSET): Modify name of argument.
3810
3811         * buffer.h: Delete document about Emchar accessors.
3812
3813 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3814
3815         * character.h (CHAR_INTP): Moved from buffer.h
3816         (CHAR_OR_CHAR_INTP): Likewise.
3817         (XCHAR_OR_CHAR_INT): Likewise.
3818         (CHECK_CHAR_COERCE_INT): Likewise.
3819
3820         * buffer.h (CHAR_INTP): Moved to character.h
3821         (CHAR_OR_CHAR_INTP): Likewise.
3822         (XCHAR_OR_CHAR_INT): Likewise.
3823         (CHECK_CHAR_COERCE_INT): Likewise.
3824
3825 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3826
3827         * character.h:
3828         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3829         - Include char-1byte.h, char-lb.h or char-ucs.h.
3830
3831         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3832
3833         * buffer.h: Include character unconditionally.
3834         (valid_char_p): Moved to char-*.h.
3835         (non_ascii_valid_char_p): Moved to char-lb.h.
3836
3837         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3838
3839 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3840
3841         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3842         in UTF-2000 because it is not ported yet and not to use
3843         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3844         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3845         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3846
3847         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3848         (CHAR_ASCII_P): Moved from character.h.
3849
3850         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3851         (CHAR_ASCII_P): Likewise.
3852         (CHAR_FIELD1_MASK): Deleted.
3853         (CHAR_FIELD2_MASK): Deleted.
3854         (CHAR_FIELD3_MASK): Deleted.
3855         (MAX_CHAR_BASIC_LATIN): New macro.
3856         (CHAR_FIELD1): Deleted.
3857         (CHAR_FIELD2_INTERNAL): Deleted.
3858         (CHAR_FIELD3_INTERNAL): Deleted.
3859         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3860         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3861         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3862         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3863         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3864         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3865         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3866         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3867         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3868         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3869         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3870         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3871         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3872         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3873         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3874         (MIN_CHAR_COMPOSITION): Deleted.
3875         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3876         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3877
3878 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3879
3880         * buffer.h: Include mb-utf-8.h in UTF-2000.
3881
3882         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3883
3884         * mb-utf-8.h: New file.
3885
3886 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3887
3888         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3889         instead of `int'.
3890
3891         * mule-charset.h, buffer.h (Charset_ID): New type.
3892
3893 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3894
3895         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3896         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3897         instead of `MULE_CHAR_PRIVATE_OFFSET',
3898         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3899         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3900         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3901
3902         * character.h (Vcharset_japanese_jisx0212): New variable
3903         definition.
3904
3905 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3906
3907         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3908         (charset_by_attributes): Delete array about direction.
3909         (latin_a_char_to_charset): New variable in UTF-2000.
3910         (latin_a_char_to_byte1): New variable in UTF-2000.
3911         (latin_a_char_to_byte2): New variable in UTF-2000.
3912         (Qucs_bmp): New variable.
3913         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3914         `Bufbyte'.
3915         (next_allocated_2_byte_leading_byte): Likewise.
3916         (non_ascii_set_charptr_emchar): Likewise.
3917         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3918         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3919         `charset_by_attributes'.
3920         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3921         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3922         and `CHARSET_BY_LEADING_BYTE'.
3923         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3924         `utf-2000-version' to `vars_of_mule_charset'.
3925         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3926         define `leading-code-private-11' in UTF-2000; move setting of
3927         `utf-2000-version' from `syms_of_mule_charset'.
3928         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3929         UTF-2000.
3930
3931         * character.h (Charset_ID): New type.
3932         (LEADING_BYTE_UCS_BMP): New macro.
3933         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3934         (CHARSET_ID_OFFSET_94): New macro.
3935         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3936         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3937         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3938         final-byte.
3939         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3940         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3941         (CHARSET_ID_OFFSET_96): New macro.
3942         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3943         CHARSET_ID_OFFSET_96 and final-byte.
3944         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3945         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3946         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3947         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3948         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3949         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3950         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3951         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3952         (LEADING_BYTE_THAI_TIS620): Likewise.
3953         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3954         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3955         (CHARSET_ID_OFFSET_94x94): New macro.
3956         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3957         CHARSET_ID_OFFSET_94x94 and final-byte.
3958         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3959         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3960         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3961         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3962         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3963         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3964         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3965         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3966         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3967         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3968         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3969         (CHARSET_TYPE_128X128): New macro.
3970         (CHARSET_TYPE_256X256): New macro.
3971         (XCHARSET_PRIVATE_P): Delete unconditionally.
3972         (charset_by_attributes): Delete array about direction.
3973         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3974         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3975         (MIN_CHAR_94): New macro.
3976         (MAX_CHAR_94): New macro.
3977         (MIN_CHAR_96): New macro.
3978         (MAX_CHAR_96): New macro.
3979         (MIN_CHAR_94x94): New macro.
3980         (MAX_CHAR_94x94): New macro.
3981         (MIN_CHAR_96x96): New macro.
3982         (MAX_CHAR_96x96): New macro.
3983         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3984         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3985         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3986         - 32)'.
3987         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3988         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3989         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3990         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3991         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3992         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3993         `XCHARSET_LEADING_BYTE' to make code-point.
3994         (latin_a_char_to_charset): New variable.
3995         (latin_a_char_to_byte1): New variable.
3996         (latin_a_char_to_byte2): New variable.
3997         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3998         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3999         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4000
4001         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4002         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4003         (find_charsets_in_emchar_string): Likewise.
4004         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4005
4006         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4007         `int'.
4008         (decode_coding_iso2022): Likewise.
4009
4010         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4011         of `unsigned char'.
4012
4013         * redisplay.c (redisplay_text_width_emchar_string): Use
4014         `Charset_ID' instead of `unsigned char'.
4015         (redisplay_frame_text_width_string): Likewise.
4016
4017         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4018         `unsigned char'.
4019
4020         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4021         instead of `unsigned char'.
4022         (face_cachel_charset_font_metric_info): Likewise.
4023
4024         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4025         (get_non_ascii_char_table_value): Likewise.
4026         (get_char_table): Likewise.
4027         (put_char_table): Likewise.
4028         (map_over_other_charset): Likewise.
4029         (map_char_table): Likewise.
4030
4031         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4032         instead of `unsigned char'.
4033
4034 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4035
4036         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4037         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4038
4039         * mule-charset.c (leading_code_private_11): Don't define in
4040         UTF-2000.
4041
4042         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4043         in UTF-2000 because it is not ported yet and not to use
4044         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4045
4046 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4047
4048         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4049
4050 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4051
4052         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4053         in UTF-2000.
4054
4055         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4056         of unsigned char to store leading-byte.
4057
4058         * chartab.c (get_non_ascii_char_table_value): Don't use
4059         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4060
4061         * file-coding.c (encode_coding_big5): Delete bogus implementation
4062         in UTF2000.
4063
4064         * character.h (LEADING_BYTE_*): Delete definition for
4065         non-UTF-2000.
4066         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4067         (LEADING_BYTE_PREFIX_P): Deleted.
4068         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4069         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4070         (BUFBYTE_LEADING_BYTE_P): Deleted.
4071         (CHARSET_PRIVATE_P): Deleted unconditionally.
4072         (rep_bytes_by_first_byte): Deleted unconditionally.
4073         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4074         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4075         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4076         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4077         (CHAR_FIELD2): Deleted.
4078         (CHAR_FIELD3): Deleted.
4079         (MAKE_CHAR): Delete definition for non-UTF-2000.
4080         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4081         (breakup_char_1): New implementation.
4082         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4083         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4084
4085 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4086
4087         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4088         condition.
4089
4090 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4091
4092         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4093         (CHARSET_PRIVATE_P): Likewise.
4094         (XCHARSET_PRIVATE_P): Likewise.
4095         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4096
4097         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4098         UTF2000.
4099         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4100
4101 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4102
4103         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4104         (NUM_LEADING_BYTES): Changed from 128 to 256.
4105         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4106         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4107         UTF2000.
4108         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4109
4110         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4111         UTF2000.
4112         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4113         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4114         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4115         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4116         (Qchinese_cns11643_3): New variable in UTF2000.
4117         (Qchinese_cns11643_4): New variable in UTF2000.
4118         (Qchinese_cns11643_5): New variable in UTF2000.
4119         (Qchinese_cns11643_6): New variable in UTF2000.
4120         (Qchinese_cns11643_7): New variable in UTF2000.
4121         (syms_of_mule_charset): Define `chinese-cns11643-3',
4122         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4123         and `chinese-cns11643-7' in UTF2000.
4124         (vars_of_mule_charset): Initialize
4125         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4126         + 1 in UTF2000.
4127         (complex_vars_of_mule_charset): Setup charset
4128         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4129         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4130
4131 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4132
4133         * mule-charset.c: Move setting for `leading-code-private-11' from
4134         `syms_of_mule_charset' to `vars_of_mule_charset'.
4135
4136 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4137
4138         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4139         and `NUM_LEADING_BYTES' in assert.
4140
4141 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4142
4143         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4144         instead of 128.
4145         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4146         `NUM_LEADING_BYTES' instead of 128.
4147
4148 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4149
4150         * mule-charset.h (charset_by_leading_byte): Use
4151         `NUM_LEADING_BYTES' instead of 128.
4152         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4153
4154         * mule-charset.c (charset_by_leading_byte): Use
4155         `NUM_LEADING_BYTES' instead of 128.
4156         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4157
4158         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4159         128.
4160
4161 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4162
4163         * mule-charset.c (syms_of_mule_charset): Update to
4164         0.4 (Shin-Imamiya).
4165
4166 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4167
4168         * file-coding.c (encode_coding_sjis): New implementation for
4169         UTF2000.  (decode_coding_sjis): Ditto.
4170
4171 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4172
4173         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4174         Don't define in UTF2000.
4175
4176         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4177         defined.
4178
4179         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4180         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4181         MULE.
4182
4183 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4184
4185         * config.h.in (CHAR_IS_UCS4): New macro.
4186
4187         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4188         conventional MULE representation.
4189         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4190
4191         * mule-charset.h: Reverted to original.
4192
4193         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4194         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4195         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4196
4197         * character.h: New file.
4198
4199         * file-coding.c (Fmake_coding_system): Set 1 to
4200         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4201         defined.
4202         (encode_coding_no_conversion): New implementation for UTF2000.
4203
4204         * file-coding.h (struct Lisp_Coding_System): Add new member
4205         `fixed.size'.
4206
4207 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4208
4209         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4210         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4211         (encode_coding_iso2022): New implementation for UTF2000.
4212
4213 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4214
4215         * mule-canna.c (c2mu): New implementation for UTF2000.
4216         (m2c): Likewise.
4217
4218 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4219
4220         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4221
4222 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4223
4224         * file-coding.c (reset_encoding_stream): Set 0 to
4225         `str->iso2022.current_char_boundary' in UTF2000.
4226         (encode_utf8): Don't define in UTF2000.
4227         (encode_coding_utf8): New implementation for UTF-8 representation
4228         of UTF2000.
4229         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4230
4231 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4232
4233         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4234
4235         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4236         UTF2000.
4237         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4238
4239         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4240
4241         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4242         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4243         as UTF-8 in UTF2000.
4244         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4245         (non_ascii_valid_char_p): Don't define in UTF2000.
4246         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4247         (Lstream_get_emchar_1): Likewise.
4248         (utf-2000-version): New variable in UTF2000.
4249
4250         * lread.c (read_escape): Add new reader `u'.
4251
4252         * insdel.c (three_to_one_table): Don't define in UTF2000.
4253         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4254         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4255         UTF2000.
4256         (bytind_to_bufpos_func): Likewise.
4257         (buffer_mule_signal_inserted_region): Likewise.
4258         (vars_of_insdel): Don't initialize `three_to_one_table'.
4259         (init_buffer_text): Use `buf->text->mule_size' instead of
4260         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4261         UTF2000.
4262
4263         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4264         UTF-8 representation in UTF2000.
4265         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4266         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4267         (decode_coding_iso2022): Don't define local variable `lb' in
4268         UTF2000; don't use LEADING_BYTE in UTF2000; use
4269         `DECODE_ADD_UCS_CHAR' in UTF2000.
4270         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4271
4272         * config.h.in (UTF2000): New macro.
4273
4274         * buffer.h (struct buffer_text): Add new member `mule_size' and
4275         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4276         (valid_char_p): Return always 1 in UTF2000.
4277         (MAX_EMCHAR_LEN): 6 in UTF2000.
4278         (three_to_one_table): Don't define in UTF2000.
4279         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4280         UTF2000.
4281         (real_bytind_to_bufpos): Likewise.
4282
4283         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4284
4285 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4286
4287         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4288         representation change.
4289         (Vutf_2000_version): New variable.
4290         (leading_code_private_11): New variable.
4291         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4292         `leading-code-private-11'.
4293
4294         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4295         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4296         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4297         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4298         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4299         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4300         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4301         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4302         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4303         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4304         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4305         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4306         (MIN_CHAR_GREEK): New macro.
4307         (MAX_CHAR_GREEK): New macro.
4308         (MIN_CHAR_CYRILLIC): New macro.
4309         (MAX_CHAR_CYRILLIC): New macro.
4310         (MIN_CHAR_HEBREW): New macro.
4311         (MAX_CHAR_HEBREW): New macro.
4312         (MIN_CHAR_THAI): New macro.
4313         (MAX_CHAR_THAI): New macro.
4314         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4315         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4316         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4317         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4318         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4319         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4320         (CHAR_FIELD2): New inline function.
4321         (CHAR_FIELD3): New inline function.
4322         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4323         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4324         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4325         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4326         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4327         (MIN_CHAR_COMPOSITION): Likewise.
4328         (CHAR_LEADING_BYTE): Modified for character representation change.
4329         (MAKE_CHAR): Likewise.
4330
4331         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4332         (Vcharset_greek_iso8859_7): Likewise.
4333         (Vcharset_cyrillic_iso8859_5): Likewise.
4334         (Vcharset_hebrew_iso8859_8): Likewise.
4335         (Vcharset_thai_tis620): Likewise.
4336         (Vcharset_katakana_jisx0201): Likewise.
4337
4338 2001-03-21  Martin Buchholz <martin@xemacs.org>
4339
4340         * XEmacs 21.2.46 "Urania" is released.
4341
4342 2001-03-20  Dan Holmsand  <dan@eyebee.com>
4343
4344         * realpath.c (xrealpath): Make file-truename work with symlinks to
4345         /cygdrive paths on cygwin. Always lowercase drive-letters on
4346         native windows.
4347         (cygwin_readlink): Don't try to find canonical filename unless
4348         file exists.
4349
4350 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
4351
4352         * ChangeLog: Log GTK merge.
4353
4354         * dumper.c:
4355         * select-x.c:
4356         * specifier.c:
4357         * symeval.h:
4358         Revert gratuitous whitespace changes from GTK merge.
4359
4360         * emacs.c: Document end of complex #ifdef @ l. 1495.
4361
4362
4363 2001-03-12  Andy Piper  <andy@xemacs.org>
4364
4365         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
4366         have to do likewise.
4367
4368 2001-03-12  Andy Piper  <andy@xemacs.org>
4369
4370         * sysdep.c: we only support mingw now.
4371
4372 2001-03-09  Andy Piper  <andy@xemacs.org>
4373
4374         * unexcw.c (copy_executable_and_dump_data_section): making approx
4375         overrun a warning only.
4376
4377 2001-03-10  William M. Perry  <wmperry@aventail.com>
4378
4379         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
4380         satisfy Stephen's identical-after-cpp plea.
4381
4382 2001-03-02  Ben Wing  <ben@xemacs.org>
4383
4384         * cmds.c:
4385         * cmds.c (Fforward_char):
4386         * syntax.c:
4387         * window.c:
4388
4389         Augment documentation of the most common motion commands to make
4390         note of the shifted-motion support.
4391         
4392 2001-03-02  Ben Wing  <ben@xemacs.org>
4393
4394         * nt.c (mswindows_fstat):
4395         * nt.c (mswindows_stat):
4396         * search.c (boyer_moore):
4397         Fix compile warnings under Windows.
4398         
4399         * sysdep.c (sys_readdir):
4400         Fix buggy filename-conversion code under Mule.
4401
4402 2001-03-09  William M. Perry  <wmperry@aventail.com>
4403
4404         * Makefile.in.in:
4405         * config.h.in:
4406         * console.c:
4407         * console.h:
4408         * device.c:
4409         * device.h:
4410         * dragdrop.c:
4411         * emacs.c:
4412         * event-stream.c:
4413         * events.c:
4414         * events.h:
4415         * faces.c:
4416         * frame.h:
4417         * general-slots.h:
4418         * glyphs.c:
4419         * gutter.c:
4420         * inline.c:
4421         * lisp.h:
4422         * lrecord.h:
4423         * make-src-depend:
4424         * redisplay-output.c:
4425         * redisplay.c:
4426         * symsinit.h:
4427         * sysfile.h:
4428         * toolbar.c:
4429         * window.c:
4430         The Great GTK Merge.
4431
4432         * ChangeLog.GTK:
4433         * console-gtk.c:
4434         * console-gtk.h:
4435         * device-gtk.c:
4436         * emacs-marshals.c:
4437         * emacs-widget-accessors.c:
4438         * event-gtk.c:
4439         * frame-gtk.c:
4440         * gccache-gtk.c:
4441         * gccache-gtk.h:
4442         * glade.c:
4443         * glyphs-gtk.c:
4444         * glyphs-gtk.h:
4445         * gtk-glue.c:
4446         * gtk-xemacs.c:
4447         * gtk-xemacs.h:
4448         * gui-gtk.c:
4449         * gui-gtk.h:
4450         * menubar-gtk.c:
4451         * native-gtk-toolbar.c:
4452         * objects-gtk.c:
4453         * objects-gtk.h:
4454         * redisplay-gtk.c:
4455         * scrollbar-gtk.c:
4456         * scrollbar-gtk.h:
4457         * select-gtk.c:
4458         * toolbar-gtk.c:
4459         * ui-byhand.c:
4460         * ui-gtk.c:
4461         * ui-gtk.h:
4462         The Great GTK Merge: new files.
4463
4464 2001-02-26  Ben Wing  <ben@xemacs.org>
4465
4466         Reapplied Lstream change.
4467
4468 2001-02-26  Ben Wing  <ben@xemacs.org>
4469
4470         Undid the last change, since it is more controversial than I
4471         thought.  It should be back in at some point soon.
4472         
4473 2001-02-25  Ben Wing  <ben@xemacs.org>
4474
4475         * buffer.c:
4476         * callproc.c (Fold_call_process_internal):
4477         * event-msw.c (ntpipe_slurp_reader):
4478         * event-msw.c (ntpipe_shove_writer):
4479         * event-msw.c (winsock_reader):
4480         * event-msw.c (winsock_writer):
4481         * file-coding.c:
4482         * file-coding.c (detect_eol_type):
4483         * file-coding.c (detect_coding_type):
4484         * file-coding.c (determine_real_coding_system):
4485         * file-coding.c (Fdetect_coding_region):
4486         * file-coding.c (decoding_reader):
4487         * file-coding.c (decoding_writer):
4488         * file-coding.c (mule_decode):
4489         * file-coding.c (Fdecode_coding_region):
4490         * file-coding.c (encoding_reader):
4491         * file-coding.c (encoding_writer):
4492         * file-coding.c (mule_encode):
4493         * file-coding.c (Fencode_coding_region):
4494         * file-coding.c (detect_coding_sjis):
4495         * file-coding.c (decode_coding_sjis):
4496         * file-coding.c (encode_coding_sjis):
4497         * file-coding.c (detect_coding_big5):
4498         * file-coding.c (decode_coding_big5):
4499         * file-coding.c (encode_coding_big5):
4500         * file-coding.c (detect_coding_ucs4):
4501         * file-coding.c (decode_coding_ucs4):
4502         * file-coding.c (encode_coding_ucs4):
4503         * file-coding.c (detect_coding_utf8):
4504         * file-coding.c (decode_coding_utf8):
4505         * file-coding.c (encode_coding_utf8):
4506         * file-coding.c (detect_coding_iso2022):
4507         * file-coding.c (decode_coding_iso2022):
4508         * file-coding.c (encode_coding_iso2022):
4509         * file-coding.c (decode_coding_no_conversion):
4510         * file-coding.c (encode_coding_no_conversion):
4511         * glyphs-x.c (write_lisp_string_to_temp_file):
4512         * gpmevent.c (tty_get_foreign_selection):
4513         * lisp.h:
4514         * lstream.c:
4515         * lstream.c (Lstream_flush_out):
4516         * lstream.c (Lstream_adding):
4517         * lstream.c (Lstream_write_1):
4518         * lstream.c (Lstream_write):
4519         * lstream.c (Lstream_raw_read):
4520         * lstream.c (Lstream_read_more):
4521         * lstream.c (Lstream_read):
4522         * lstream.c (Lstream_unread):
4523         * lstream.c (Lstream_fputc):
4524         * lstream.c (stdio_reader):
4525         * lstream.c (stdio_writer):
4526         * lstream.c (filedesc_reader):
4527         * lstream.c (filedesc_writer):
4528         * lstream.c (lisp_string_reader):
4529         * lstream.c (struct fixed_buffer_stream):
4530         * lstream.c (make_fixed_buffer_input_stream):
4531         * lstream.c (make_fixed_buffer_output_stream):
4532         * lstream.c (fixed_buffer_reader):
4533         * lstream.c (fixed_buffer_writer):
4534         * lstream.c (struct resizing_buffer_stream):
4535         * lstream.c (resizing_buffer_writer):
4536         * lstream.c (dynarr_writer):
4537         * lstream.c (lisp_buffer_reader):
4538         * lstream.c (lisp_buffer_writer):
4539         * lstream.h:
4540         * lstream.h (lstream_implementation):
4541         * lstream.h (struct lstream):
4542         * md5.c (Fmd5):
4543         * process-nt.c (nt_send_process):
4544         * process-unix.c (unix_send_process):
4545         
4546         Correct Lstream lossage due to mixing of signed and unsigned
4547         quantities.  All Lstream uses of size_t and ssize_t are now a
4548         single signed data type Lstream_data_count.  This fixes problems
4549         under Windows with sending large quantities of data to a process,
4550         and may well fix other subtle bugs.
4551
4552 2001-02-23  Martin Buchholz <martin@xemacs.org>
4553
4554         * XEmacs 21.2.45 "Thelxepeia" is released.
4555
4556 2001-02-21  Martin Buchholz  <martin@xemacs.org>
4557
4558         * lisp-union.h (XSETINT): 
4559         (XSETCHAR):
4560         (XSETOBJ): 
4561         Reverse previous change of 2001-02-06.
4562
4563 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
4564
4565         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
4566         buffers.
4567         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
4568         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
4569         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
4570         * regex.c (POS_AS_IN_BUFFER): removed
4571         * regex.c (re_search_2):
4572         * regex.c (re_match_2):
4573         Don't use an offset of 1 when calculating buffer positions, since
4574         `BI_BUF_BEGV' does it already.
4575
4576 2001-02-18  Wim Dumon  <wim@easics.be>
4577
4578         * insdel.c (prepare_to_modify_buffer): Also check for
4579         supersession when clash-detection is enabled. 
4580
4581 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
4582
4583         * regex.c (re_match_2_internal):
4584         Convert temp characters from 'const unsigned char' to 're_char'.
4585         Fix crashing bug with extended characters under mule.
4586         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
4587         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
4588         font-lock, pdump, and new syntax-table code.
4589         * syntax.c (find_start_of_comment):
4590         (find_end_of_comment):
4591         (forward-comment):
4592         Fix crashing bugs involving moving beyond end of buffer.
4593         * syntax.c (find_start_of_comment):
4594         Fixed logic to allow proper detection of cases where the same
4595         character is used to end both a two-char comment start and a
4596         two-char comment end sequence. Fixes `(forward-comment -1)'.
4597         * syntax.c (find_start_of_comment):
4598         Return position just past last comment-end character for all cases
4599         (previously was only done for two-char comment-end sequences).
4600         * syntax.c (forward-comment):
4601         Take value returned from `find_end_of_comment', rather than
4602         incrementing it.
4603         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
4604         Properly deal with BUFFERP (syntax_cache.object)
4605
4606 2001-02-17  Martin Buchholz  <martin@xemacs.org>
4607
4608         * alloc.c (Fgarbage_collect): 
4609         * alloc.c (make_bit_vector_from_byte_vector):
4610         -Wsign-compare-correctness.
4611
4612 2001-02-16  Martin Buchholz  <martin@xemacs.org>
4613
4614         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
4615         (XSETCHAR): Likewise.
4616         (XSETOBJ): Likewise.
4617
4618 2001-02-15  Martin Buchholz  <martin@xemacs.org>
4619
4620         * mule-canna.c (canna-func-delete_previous): 
4621         Rename to canna-func-delete-previous.
4622
4623 2001-02-14  Martin Buchholz  <martin@xemacs.org>
4624
4625         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
4626
4627 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
4628
4629         * font-lock.c (find_context): Fix C++ compile errors introduced by
4630         recent patch
4631
4632 2001-02-13  Martin Buchholz  <martin@xemacs.org>
4633
4634         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
4635         pragma, but earlier ones barf on the same pragma.
4636
4637 2001-02-06  Mike Sperber <mike@xemacs.org>
4638
4639         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
4640         `configure-mule-lisp-directory'.
4641
4642 2001-02-12  Martin Buchholz  <martin@xemacs.org>
4643
4644         Make sure dump-id.c is compiled in the same way as other .c's.
4645         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
4646         * dump-id.h: Remove.
4647         * emacs.c: Move dump-id.h into dumper.h.
4648         * dumper.h: Move dump-id.h into dumper.h.
4649         * Makefile.in.in:
4650         Use standard .c.o rule for building dump-id.o.
4651         Remove preprocessor flags from link command.
4652         Add dump-id.o to ${otherobjs} if PDUMP.
4653
4654 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
4655
4656         Port FSF 20.7 syntax table improvements.
4657         * syntax.c.
4658         * syntax.h.
4659
4660         Fixups for new syntax table stuff.
4661         * dired.c: Include syntax.c.
4662         (Fdirectory_files): Initialize regex_match_object and
4663         regex_emacs_buffer.
4664         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
4665         and Fget_char_property.
4666
4667         Use ported FSF 20.7 syntax table improvements.
4668         * font-lock.c.
4669         * regex.c.
4670         * search.c.
4671         
4672 2001-02-09  Martin Buchholz  <martin@xemacs.org>
4673
4674         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
4675         Unixware's enum boolean from sys/types.h.
4676
4677 2001-02-10  Martin Buchholz  <martin@xemacs.org>
4678
4679         Fix support for building with latest Purify.
4680         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
4681         (PURIFY_FLAGS): Likewise.
4682
4683 2001-02-09  Martin Buchholz  <martin@xemacs.org>
4684
4685         * fileio.c (lisp_string_set_file_times): New.
4686         * fileio.c (Fcopy_file): Use it.
4687         Fixes bug:
4688         (copy-file filename non-ascii-filename t t)
4689         ==> No such file or directory, non-ascii-filename
4690
4691 2001-02-10  Martin Buchholz  <martin@xemacs.org>
4692
4693         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
4694         USHRT_MAX seems clearer than ~0 anyways.
4695
4696 2001-02-09  Martin Buchholz  <martin@xemacs.org>
4697
4698         dumper improvements.  Inspired by Olivier.
4699         * dumper.c (pdump_max_align): New.
4700         * dumper.c (pdump_add_entry): Use pdump_max_align.
4701         * dumper.c (pdump_get_entry_list): Likewise.
4702         * dumper.c (pdump_scan_by_alignment): Likewise.
4703         Don't iterate through unnecessary alignments.
4704         * dumper.c (pdump_file_get): No need to align result of malloc().
4705         * dumper.c (pdump_mallocadr): Remove.  
4706         The result of malloc() is guaranteed to be maximally aligned.
4707         * dumper.c: s/elmt/elt/g;
4708         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
4709         * dumper.c (pdump_alert_undump_object): Likewise.
4710         * dumper.c (pdump_align_table): 
4711         Don't support alignments > 64.
4712         Store ALIGNOF's, not shift counts, in table.
4713
4714 2001-02-09  Martin Buchholz  <martin@xemacs.org>
4715
4716         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
4717         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
4718         * systime.h: Use HAVE_UTIME.
4719         * sysdep.c (struct utimbuf): Remove.
4720         * sysdep.c (set_file_times): Prefer utime() to utimes().
4721         * config.h.in (HAVE_UTIME): New.
4722         * config.h.in (HAVE_UTIME_H): Remove.
4723         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
4724
4725 2001-02-09  Martin Buchholz  <martin@xemacs.org>
4726
4727         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
4728
4729 2001-02-08  Martin Buchholz  <martin@xemacs.org>
4730
4731         * s/irix6-0.h: Use the standard system memmove, not bcopy.
4732
4733 2001-02-08  Martin Buchholz <martin@xemacs.org>
4734
4735         * XEmacs 21.2.44 "Thalia" is released.
4736
4737 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4738
4739         Fixes crashes in kill-emacs on some systems.
4740         * process-unix.c (unix_kill_child_process):
4741         It's OK for kill() to fail with ESRCH.
4742
4743 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4744
4745         Contortions to make .gdbinit tricks work on most systems.
4746         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
4747         * alloc.c (dbg_valmask): Make non-const.
4748         * alloc.c (dbg_typemask): Make non-const.
4749         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
4750         * alloc.c (dbg_valbits): Make non-const.
4751         * alloc.c (dbg_gctypebits): Make non-const.
4752         * .gdbinit (decode_object): Make it work with AIX cc.
4753
4754 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4755
4756         * elhash.c (make_general_lisp_hash_table):
4757         Use simpler and more efficient calloc to clear entries.
4758
4759 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4760
4761         * window.c (window_scroll): Work around an AIX C compiler bug.
4762         Fixes 'scroll-up' does nothing problem with xlC.
4763
4764 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4765
4766         * .gdbinit: Remove obsolete comment.
4767
4768 2001-01-31  Mike Alexander  <mta@arbortext.com>
4769
4770         * select.c (Fown_selection_internal): Set owned_p for device
4771         method correctly.
4772
4773 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4774
4775         Port to g++ 2.97.
4776         "not" cannot be used as a macro name as it is an operator in C++
4777         * config.h.in: Stop #defining `not'.
4778         * chartab.c (check_category_char): not ==> not_p
4779         * chartab.h: Likewise.
4780         * regex.c (re_match_2_internal): Likewise.
4781
4782 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4783
4784         * lisp-disunion.h: Fix up comments.
4785
4786 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4787
4788         * keymap.c (define_key_check_and_coerce_keysym):
4789         (syms_of_keymap):
4790         Support mouse-6 and mouse-7 bindings in the obvious way.
4791
4792 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4793
4794         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4795
4796 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4797
4798         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4799         Previous patch missed DEFVAR_INT_MAGIC.
4800         Make sure future DEFVAR_foo use correct types.
4801         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4802         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4803         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4804         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4805         * (DEFVAR_INT): Likewise.
4806         * redisplay.c (vertical_clip): Should be of type Fixnum.
4807         * redisplay.c (horizontal_clip): Likewise.
4808         * lisp.h (dump_add_opaque_int): New.
4809         (dump_add_opaque_fixnum): New.
4810
4811 2001-01-29  Andy Piper  <andy@xemacs.org>
4812
4813         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4814         since they can be eval'ed
4815
4816 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4817
4818         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4819         Oops, XEmacs redefines `class'.  Use `typename' instead.
4820
4821 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4822
4823         * dumper.c: Fix C++ compile errors.
4824
4825 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4826
4827         * tparam.c: Use correct prototypes.
4828
4829 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4830
4831         * sysproc.h: #include util.h for NetBSD's openpty.
4832
4833 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4834
4835         More 64-bit correctness.
4836         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4837         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4838         Fix up comments.
4839         This finally finishes the 64-bit SGI port.
4840         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4841         * symbols.c: Fix up comments and type casts.
4842         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4843         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4844         * symeval.h (Fixnum): New type.
4845         * symeval.h (symbol_value_type): Fix up comment.
4846
4847         * commands.h:
4848         * nt.c:
4849         * emacs.c:
4850         * data.c:
4851         * redisplay.c:
4852         * abbrev.c:
4853         * dired-msw.c:
4854         * event-Xt.c:
4855         * eldap.c:
4856         * window.c:
4857         * sound.c:
4858         * event-stream.c:
4859         * eval.c:
4860         * buffer.c:
4861         * mule-canna.c: A million DEFVAR_INTs here...
4862         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4863         * extents.c:
4864         * cmdloop.c:
4865         * lisp.h:
4866         * select-x.c:
4867         * console-x.h:
4868         * event-msw.c:
4869         * mule-wnnfns.c:
4870         * hpplay.c:
4871         * ralloc.c:
4872         * alloc.c:
4873         * keymap.c:
4874         * profile.c:
4875         s/int/Fixnum/g in DEFVAR_INT declarations.
4876
4877 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4878
4879         Port pdump to SGI alignment-sensitive environment.
4880         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4881         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4882         properly aligned.
4883         Define and use aligned reading and writing macros.
4884         Use buffered stdio instead of posix i/o for faster dumping.
4885         Eliminate kludgy 256 byte space for header.
4886         Read and write from dump file using structs for alignment safety.
4887         * dumper.c (pdump_align_stream): New.
4888         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4889         * dumper.c (PDUMP_READ_ALIGNED): New.
4890         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4891         * dumper.c (pdump_static_Lisp_Object): New struct.
4892         * dumper.c (pdump_static_pointer): New struct.
4893         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4894         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4895         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4896         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4897
4898         * dumper.c (pdump_backtrace):
4899         * dumper.c (pdump_get_indirect_count):
4900         * dumper.c (pdump_register_object):
4901         * dumper.c (pdump_register_struct):
4902         * dumper.c (pdump_reloc_one):
4903         * dumper.c (pdump_scan_by_alignment):
4904         * dumper.c (pdump_dump_from_root_struct_ptrs):
4905         * dumper.c (pdump_dump_opaques):
4906         * dumper.c (pdump_dump_rtables):
4907         * dumper.c (pdump_dump_from_root_objects):
4908         * dumper.c (pdump):
4909         * dumper.c (pdump_load_finish):
4910         Use aligned reading and writing.
4911
4912         * dumper.c (pdump_free): Make static.
4913         * dumper.c (pdump_hFile): Likewise.
4914         * dumper.c (pdump_hMap): Likewise.
4915
4916 2001-01-26  Martin Buchholz <martin@xemacs.org>
4917
4918         * XEmacs 21.2.43 "Terspichore" is released.
4919
4920 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4921
4922         Type fiddling for window_config.saved_windows_count
4923         * window.c (struct window_config): 
4924         Make saved_windows_count member unsigned.
4925         * window.c (sizeof_window_config_for_n_windows): 
4926         Make parameter unsigned.
4927         * window.c (mark_window_config):
4928         * window.c (window_config_equal):
4929         * window.c (free_window_configuration):
4930         * window.c (Fset_window_configuration):
4931         * window.c (count_windows):
4932         * window.c (Fcurrent_window_configuration):
4933         * window.c (reinit_vars_of_window):
4934         Update all callers and users.
4935
4936 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4937
4938         Alignment correctness for flexible arrays.
4939         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4940         Make alignment-correct. Add interesting comments.
4941         * alloc.c (size_vector):
4942         * alloc.c (make_vector_internal):
4943         * alloc.c (make_bit_vector_internal):
4944         * alloc.c (sweep_bit_vectors_1):
4945         * fns.c (size_bit_vector):
4946         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4947         * window.c (sizeof_window_config_for_n_windows): 
4948         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4949
4950 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4951
4952         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4953
4954 2001-01-23  Andy Piper  <andy@xemacs.org>
4955
4956         * select.c (Fown_selection_internal): pass owned_p
4957
4958         * select-msw.c (mswindows_own_selection): New Signature.
4959
4960         * console.h (struct console_methods): add owned_p to
4961         _own_selection.
4962
4963         * select-x.c (x_own_selection): pass owned_p
4964         (hack_motif_clipboard_selection): use owned_p
4965         (vars_of_select_x): new variable -
4966         x_selection_strict_motif_ownership.
4967
4968 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4969
4970         * specifier.h (specifier_data_offset): Remove pointless parens.
4971         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4972
4973 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4974
4975         Make Lisp_Object sizeof methods be alignment-correct.
4976         pdump must restore objects to the same alignment as the C compiler
4977         assumes.  It really matters on SGIs.
4978         * lstream.c (aligned_sizeof_lstream): New.
4979         (sizeof_lstream): Use aligned_sizeof_lstream.
4980         (Lstream_new): Likewise.
4981         * opaque.c (aligned_sizeof_opaque): New.
4982         (sizeof_opaque): Use aligned_sizeof_opaque.
4983         (make_opaque): Likewise.
4984         * specifier.c (aligned_sizeof_specifier): New.
4985         (sizeof_specifier): Use aligned_sizeof_specifier.
4986         (make_specifier_internal): Likewise.
4987
4988 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4989
4990         * lstream.h (struct lstream): Use max_align_t for trailing data.
4991         * specifier.h (struct Lisp_Specifier): Likewise.
4992
4993 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4994
4995         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4996         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4997         (CCL_SUSPEND): Likewise.
4998         (CCL_INVALID_CMD): Likewise.
4999         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
5000         (ccl_driver): Likewise.
5001         (CCL_WRITE_CHAR): Macro hygiene.
5002         (CCL_WRITE_STRING): Macro hygiene.
5003
5004 2001-01-22  Martin Buchholz  <martin@xemacs.org>
5005
5006         Port "portable" dumper to SunOS 4 and HP-UX.
5007         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
5008         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
5009         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
5010
5011 2001-01-22  Martin Buchholz  <martin@xemacs.org>
5012
5013         * lisp.h (ALIGNOF): A better definition for C++.
5014
5015 2001-01-20  Martin Buchholz  <martin@xemacs.org>
5016
5017         Macro hygiene.
5018         Fix printf warnings: int format, long int arg.
5019         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
5020         (PUSH_FAILURE_POINT): Use correct printf formats.
5021         (POP_FAILURE_POINT): Use correct printf formats.  
5022         Use do {...} while (0)
5023
5024 2001-01-20  Martin Buchholz <martin@xemacs.org>
5025
5026         * XEmacs 21.2.42 "Poseidon" is released.
5027
5028 2001-01-20  Martin Buchholz  <martin@xemacs.org>
5029
5030         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
5031
5032 2001-01-19  Martin Buchholz  <martin@xemacs.org>
5033
5034         De-kludgify FIXED_TYPE free list frobbing.
5035         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
5036         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
5037         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
5038         * alloc.c (Lisp_Free): New pseudo lisp object definition.
5039         * alloc.c (LRECORD_FREE_P): New.
5040         * alloc.c (MARK_LRECORD_AS_FREE): New.
5041         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
5042         * alloc.c (STRUCT_FREE_P): Deleted.
5043         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
5044         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
5045         * alloc.c (STRING_CHARS_FREE_P): New.
5046         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
5047         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
5048         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
5049         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
5050         * alloc.c (resize_string): Use new definitions.
5051         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
5052         * alloc.c (verify_string_chars_integrity): Use new definitions.
5053         * alloc.c (compact_string_chars): Use new definitions.
5054         * alloc.c: Update monster comments.
5055         * lrecord.h (lrecord_type): Add some new lrecord types for
5056         alloc.c's use.
5057
5058 2001-01-18  Martin Buchholz  <martin@xemacs.org>
5059
5060         Improve alignment hackery.
5061         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
5062         (max_align_t): Moved from opaque.h - general purpose.
5063         (ALIGN_PTR): Use size_t, not long.
5064         * opaque.h (max_align_t): Move to lisp.h.
5065
5066 2001-01-18  Norbert Koch  <nk@LF.net>
5067
5068         * gui.h: Fix and add prototypes to fix build problems.
5069
5070 2001-01-18  Martin Buchholz  <martin@xemacs.org>
5071
5072         temacs is going away, so `dump-temacs' is now a bad name.
5073         * .dbxrc (dump-temacs): Rename to `dmp'.
5074         * .gdbinit (dump-temacs): Rename to `dmp'.
5075
5076 2001-01-17  Andy Piper  <andy@xemacs.org>
5077
5078         * glyphs.c (print_image_instance): comment to make martin happy.
5079
5080         * glyphs-x.c (x_redisplay_widget): update faces after a frame
5081         change.
5082
5083         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
5084         activation.
5085         (mswindows_tab_control_redisplay): warning suppression.
5086
5087         * glyphs-widget.c (widget_update): re-write to cope with updated
5088         items.
5089         (widget_instantiate): use new gui_item functions.
5090         (tab_control_update): deleted.
5091         (progress_gauge_update): deleted.
5092         (image_instantiator_progress_guage): take out update reference.
5093         (image_instantiator_tree_view): ditto.
5094         (image_instantiator_tab_control): ditto.
5095
5096         * gui.c (widget_gui_parse_item_keywords): new function. Do things
5097         Right the new way.
5098         (gui_item_add_keyval_pair): re-write to cope with descriptors and
5099         return whether anything was changed.
5100         (update_gui_item_keywords): as it sounds.
5101
5102         * gui.h: declare widget_gui_parse_item_keywords.
5103
5104         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
5105         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
5106
5107 2001-01-17  Martin Buchholz <martin@xemacs.org>
5108
5109         * XEmacs 21.2.41 "Polyhymnia" is released.
5110
5111 2001-01-16  Didier Verna  <didier@xemacs.org>
5112
5113         * glyphs.c (image_instantiate): don't use fallbacks when
5114         instantiating a face's background pixmap by inheritance.
5115
5116 2001-01-14  Mike Sperber <mike@xemacs.org>
5117
5118         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
5119         Conditionalize accordingly.
5120
5121 2001-01-16  Martin Buchholz  <martin@xemacs.org>
5122
5123         * dumper.c (pdump_file_get): Fix a compiler warning.
5124
5125 2001-01-15  Martin Buchholz  <martin@xemacs.org>
5126
5127         Make Purify happy when pdumping.
5128         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
5129         iniitalizing all bits of new lisp object memory.
5130         * symbols.c (Fmake_local_variable): Likewise.
5131         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
5132         * symbols.c (Fdefvaralias): Likewise.
5133         * mule-charset.c (vars_of_mule_charset): Likewise.
5134
5135 2001-01-15  Martin Buchholz  <martin@xemacs.org>
5136         Add the `-nd' flag when running pre-dump operations under the debugger.
5137         * .dbxrc (run-temacs): Add `-nd'.
5138         * .dbxrc (update-elc): Likewise.
5139         * .dbxrc (dump-temacs): Likewise.
5140         * .gdbinit (run-temacs): Likewise.
5141         * .gdbinit (check-temacs): Likewise.
5142         * .gdbinit (update-elc): Likewise.
5143         * .gdbinit (dump-temacs): Likewise.
5144
5145 2001-01-14  Martin Buchholz  <martin@xemacs.org>
5146
5147         Allow building 64-bit executables on AIX with GNU malloc, e.g.
5148         export OBJECT_MODE=64
5149         configure --pdump --use-union-type=no
5150         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
5151         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
5152
5153         * miscplay.c (sndcnv8U_2mono):
5154         Avoid two uses of `++' in the same expression.
5155         Suppresses a GCC warning.
5156
5157 2001-01-13  Martin Buchholz  <martin@xemacs.org>
5158
5159         Make sure future compilers don't miscompile alloc.c.
5160         * alloc.c:
5161         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
5162         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
5163
5164 2001-01-12  Martin Buchholz  <martin@xemacs.org>
5165
5166         * dumper.c: A little post-pdump-rename comment fixup.
5167
5168 2001-01-09  Jerry James  <james@eecs.ku.edu>
5169
5170         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
5171
5172 2001-01-13  Martin Buchholz  <martin@xemacs.org>
5173
5174         * *.[ch]: Globally rename symbols using the following `pdump-rename'
5175         script:
5176         #!/bin/sh
5177         replace_symbol () {
5178           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
5179         }
5180
5181         replace_symbol pdump_wire_lists pdump_weak_object_chains
5182         replace_symbol pdump_wire_list dump_add_weak_object_chain
5183
5184         replace_symbol pdump_wires pdump_root_objects
5185         replace_symbol pdump_wire dump_add_root_object
5186
5187         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
5188         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
5189
5190         replace_symbol dumpstructinfos pdump_root_struct_ptrs
5191         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
5192         replace_symbol dumpstructinfo pdump_root_struct_ptr
5193         replace_symbol dumpstruct dump_add_root_struct_ptr
5194
5195         replace_symbol dumpopaque dump_add_opaque
5196         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
5197         replace_symbol dumpopaqueinfos pdump_opaques
5198         replace_symbol dumpopaqueinfo pdump_opaque
5199
5200         replace_symbol nb_structdump nb_root_struct_ptrs
5201         replace_symbol nb_opaquedump nb_opaques
5202
5203         replace_symbol align_table pdump_align_table
5204         replace_symbol dump_header pdump_header
5205
5206         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
5207         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
5208
5209
5210 2001-01-12  Martin Buchholz  <martin@xemacs.org>
5211
5212         * s/aix4.h: Keep the C for AIX compiler from overaggressively
5213         optimizing bytecount_to_charcount().
5214
5215 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
5216
5217         * config.h.in:
5218         (HAVE_DLFCN_H): Removed.
5219         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
5220
5221 2001-01-06  Martin Buchholz  <martin@xemacs.org>
5222
5223         Portable dumper maintainability improvements.
5224         * alloc.c (staticpro):
5225         * alloc.c (staticpro_nodump):
5226         * alloc.c (garbage_collect_1):
5227         * alloc.c (reinit_alloc_once_early):
5228         * alloc.c (init_alloc_once_early):
5229         * alloc.c: Move dumper functions to alloc.c.
5230         * dumper.c (pdump_backtrace):
5231         * dumper.c (pdump_dump_structs):
5232         * dumper.c (pdump_dump_opaques):
5233         * dumper.c (pdump_dump_rtables):
5234         * dumper.c (pdump_dump_wired):
5235         * dumper.c (pdump):
5236         * dumper.c (pdump_load_check):
5237         * dumper.c (pdump_load_finish):
5238         * dumper.c (pdump_file_unmap):
5239         * dumper.c (pdump_file_get):
5240         * dumper.c (pdump_resource_free):
5241         * dumper.c (pdump_resource_get):
5242         * dumper.c (pdump_file_free):
5243         * dumper.c (pdump_file_try):
5244         * dumper.c (pdump_load):
5245         Remove fixed size limits on staticpro(), staticpro_nodump(),
5246         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
5247         Remove custom code for dumping lrecord_implementations_table - use
5248         dumpopaque instead.
5249         Remove (most of the) custom code for dumping staticpros - dump it
5250         like any other dynarr.
5251
5252         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
5253         * dumper.c: Moved functions from alloc.c.
5254         * alloc.c (dumpstruct): Moved to dumper.c.
5255         * alloc.c (dumpopaque): Likewise.
5256         * alloc.c (pdump_wire): Likewise.
5257         * alloc.c (pdump_wire_list): Likewise.
5258
5259         * lisp.h (Dynarr_sizeof): New.
5260         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
5261         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
5262         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
5263
5264         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
5265         * lisp.h (dumpopaque): ditto.
5266         * lisp.h (pdump_wire): ditto.
5267         * lisp.h (pdump_wire_list): ditto.
5268
5269 2001-01-09  Martin Buchholz  <martin@xemacs.org>
5270
5271         * make-src-depend (PrintPatternDeps):
5272         Use `sort' to make output independent of perl version.
5273
5274 2001-01-08  Martin Buchholz  <martin@xemacs.org>
5275
5276         Port to Netbsd 1.5.
5277         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
5278         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
5279
5280 2001-01-03  Didier Verna  <didier@xemacs.org>
5281
5282         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
5283         that `focus_frame' is alive before thinking of calling
5284         `redisplay_redraw_cursor' on it.
5285
5286 2001-01-08  Martin Buchholz <martin@xemacs.org>
5287
5288         * XEmacs 21.2.40 is released.
5289
5290 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
5291
5292         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
5293
5294 2001-01-06  Martin Buchholz  <martin@xemacs.org>
5295
5296         * alloc.c (dbg_valmask): Make const.
5297         * alloc.c (dbg_typemask): Make const.
5298         * alloc.c (dbg_USE_UNION_TYPE): Make const.
5299         * alloc.c (dbg_valbits): Make const.
5300         * alloc.c (dbg_gctypebits): Make const.
5301
5302 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
5303
5304         * redisplay-x.c (x_bevel_area):
5305         redisplay.h (struct rune):
5306         Typo fixes in comments.
5307
5308 2001-01-05  Andy Piper  <andy@xemacs.org>
5309
5310         * glyphs-x.c (x_redisplay_widget): use size changed for offset
5311         adjustment.
5312
5313         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
5314
5315 2001-01-05  Martin Buchholz  <martin@xemacs.org>
5316
5317         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
5318
5319         * mule-ccl.c (stack_idx_of_map_multiple):
5320         Non const global data must not be initialized!
5321         Found by MIYASHITA Hisashi.
5322
5323 2001-01-02  Andy Piper  <andy@xemacs.org>
5324
5325         * frame.c (change_frame_size): make sure frame size is always
5326         marked as changed.
5327
5328         * glyphs.c (image_instance_layout): minor code reuse.
5329
5330         * window.c (Fcurrent_window_configuration): revert previous
5331         change.
5332
5333 2001-01-02  Martin Buchholz  <martin@xemacs.org>
5334
5335         * glyphs.h:
5336         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
5337
5338 2000-12-31  Andy Piper  <andy@xemacs.org>
5339
5340         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
5341         when widget gets unmapped.
5342
5343         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
5344         function. Make sure widgets losing focus don't just drop it.
5345         (handle_focus_event_1): record the widget with focus.
5346
5347 2000-12-31  Andy Piper  <andy@xemacs.org>
5348
5349         * window.c (allocate_window): use
5350         make_image_instance_cache_hash_table.
5351         (make_dummy_parent): ditto.
5352         (Fset_window_configuration): ditto.
5353
5354         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
5355
5356         * glyphs.c (process_image_string_instantiator): use
5357         INSTANTIATOR_TYPE.
5358         (get_image_instantiator_governing_domain): ditto.
5359         (normalize_image_instantiator): ditto.
5360         (instantiate_image_instantiator): ditto.
5361         (make_image_instance_1): ditto.
5362         (image_instantiate): ditto. Key on glyph *and* instantiator type.
5363         (instantiator_eq_equal): new function for use with instance hash
5364         tables.
5365         (instantiator_eq_hash): ditto.
5366         (make_image_instance_cache_hash_table): create a suitable hash
5367         table for storing image instances.
5368
5369         * elhash.h (hash_table_weakness): new internal weakness type
5370         HASH_TABLE_KEY_CAR_VALUE_WEAK.
5371         declare new functions.
5372
5373         * elhash.c (finish_marking_weak_hash_tables): introduce yet
5374         another weakness type for glyphs.
5375         (make_standard_lisp_hash_table): new function split out from
5376         make_general_lisp_hash_table.
5377         (make_lisp_hash_table): call make_standard_lisp_hash_table.
5378         (hash_table_instantiate): ditto.
5379         (Fmake_hash_table): ditto.
5380
5381 2000-12-31  Martin Buchholz <martin@xemacs.org>
5382
5383         * XEmacs 21.2.39 is released.
5384
5385 2000-12-29  Andy Piper  <andy@xemacs.org>
5386
5387         * menubar.c (menubar_visible_p_changed): signal the frame changed.
5388
5389         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
5390         the frame has changed so that we pick up geometry changes such as
5391         menubar visibility.
5392
5393 2000-12-28  Andy Piper  <andy@xemacs.org>
5394
5395         * lastfile.c (my_ebss): make a char array so we can pad the
5396         bss. Fixes cygwin unexec.
5397
5398         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
5399
5400 2000-12-26  Andy Piper  <andy@xemacs.org>
5401
5402         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
5403         comments and try and be more precise about a non-/SIGIO world.
5404         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
5405         SIGIO.
5406
5407         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
5408         we don't normalize to zero width or height.
5409
5410 2000-12-24  Andy Piper  <andy@xemacs.org>
5411
5412         * Makefile.in.in (ldflags): add -mwindows when appropriate.
5413
5414 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
5415
5416         * s/sco5.h: SCO 5 has pty support.
5417
5418 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
5419
5420         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
5421         input-method-xlib.c contains whole contents of input-method-xfs.c,
5422         so we can use input-method-xlib.c's code for USE_XFONTSET
5423         using #ifdefs.
5424         * input-method-xfs.c: removed.
5425
5426 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
5427
5428         * file-coding.h (enum coding_category_type): reorder enumerators to
5429         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
5430         (now one greater than largest real coding_category_type enumerator).
5431         * file-coding.c (coding_category_symbol, coding_category_by_priority,
5432         coding_category_system, fcd_descriptihon_1, decode_coding_category,
5433         Fcoding_category_list, Fset_coding_priority_list,
5434         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
5435         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
5436
5437 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
5438
5439         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
5440         * redisplay-output.c (redisplay_output_window): Clear top of window
5441         when face is changed.
5442         * redisplay-x.c (x_redraw_exposed_window): Call
5443         redisplay_clear_top_of_window.
5444         * redisplay.h: Publish redisplay_clear_top_of_window.
5445
5446 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
5447
5448         * buffer.c (Fkill_buffer): Map over all devices.
5449         * window.c (window_loop): Remove UNSHOW_BUFFER code.
5450         (list_windows): New function.
5451         (list_all_windows): Ditto.
5452         (Freplace_buffer_in_windows): Use them.
5453
5454 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5455
5456         * database.c (berkdb_subtype): Recognize new subtype `queue'.
5457         (Fopen_database): Use `db_create' instead of `db_open'.
5458         (syms_of_database): Initialize Qqueue.
5459
5460 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5461
5462         * buffer.c (common_init_complex_vars_of_buffer): Initialize
5463         buffer_local_face_property.
5464         * buffer.h (struct buffer): New member buffer_local_face_property.
5465         * window.c (Fset_window_buffer):  Mark window's face as changed
5466         when buffer has buffer local face.
5467         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
5468         * objects.c (color_after_change): Set buffer_local_face_property
5469         when locale of face specifier is buffer.
5470         * objects.c (font_after_change): Ditto.
5471         * objects.c (face_boolean_after_change): Ditto.
5472         * glyphs.c (image_after_change): Ditto.
5473
5474 2000-12-09  Dan Holmsand  <dan@eyebee.com>
5475
5476         * nt.c (mswindows_fstat): Report file permissions, volume serial
5477         number, etc. Code adapted from FSF Emacs 20.7.
5478
5479 2000-12-09  Dan Holmsand  <dan@eyebee.com>
5480
5481         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
5482         of stat when we don't have symbolic links, to make sure
5483         mswindows_stat is called on mswindows.
5484
5485 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
5486
5487         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
5488
5489 2000-12-12  Martin Buchholz  <martin@xemacs.org>
5490
5491         * doprnt.c (emacs_doprnt_1): More printing fixes.
5492         Make printing of numbers compatible with libc and FSF Emacs.
5493         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
5494         Use the system printf to do most of the hard work of formatting,
5495         instead of doprnt_1().
5496         Calculate memory to allocate for format string.
5497         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
5498         (doprnt_1): Cleaner code and documentation.
5499
5500 2000-12-01  Jerry James  <james@eecs.ukans.edu>
5501
5502         * Makefile.in.in: Use the loop variable to install headers.
5503
5504 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5505
5506         * window.c (Fsplit_window): Don't invalidate face cache.
5507
5508 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5509
5510         * minibuf.c (Fall_completions): Undo the previous change
5511         which removed checking elements start with space.
5512
5513 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
5514
5515         * mule-canna.c: Didier suppression.
5516
5517 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
5518
5519         * mule-canna.c: rename static unsigned char buf[] to key_buffer
5520         (warning suppression).  Add English comment translations.
5521
5522 2000-12-05  Martin Buchholz  <martin@xemacs.org>
5523
5524         * unexelfsgi.c (unexec): Better test for mmap failure.
5525
5526 2000-12-05  Martin Buchholz <martin@xemacs.org>
5527
5528         * XEmacs 21.2.38 is released.
5529
5530 2000-12-05  Martin Buchholz  <martin@xemacs.org>
5531
5532         * redisplay.c (bar-cursor): Make a user variable.
5533
5534         * symsinit.h: Add init_postgresql_from_environment.
5535
5536 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5537
5538         * regex.c: Convert to clean C.
5539
5540 2000-12-05  Dan Holmsand  <dan@eyebee.com>
5541
5542         * realpath.c:
5543         Don't #include sysfile.h. Revert to duplicating PATH_MAX
5544         initialization.
5545         (sys_readlink): renamed to system_readlink to avoid conflict with
5546         the other sys_readlink.
5547
5548 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
5549
5550         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
5551
5552 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
5553
5554         * postgresql.c (init_postgresql_from_environment): new function.
5555         (vars_of_postgresql): Move code initializing Lisp variables out and
5556         into init_postgresql_from_environment.
5557         emacs.c (main_1): Call init_postgresql_from_environment if and only
5558         if running a dumped XEmacs.
5559
5560 2000-08-31  Dan Holmsand  <dan@eyebee.com>
5561
5562         * buffer.c: Make find-file-compare-truenames default to true on
5563         windows.
5564
5565         * realpath.c (win32_abs_start):
5566         (cygwin_readlink):
5567         (win32_readlink): New functions.
5568         (xrealpath): Return really real filenames on windows.
5569
5570         * fileio.c (Ffile_truename): Make file-truename work on windows.
5571
5572 2000-11-29  Didier Verna  <didier@xemacs.org>
5573
5574         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
5575         * faces.c (update_face_cachel_data): use it.
5576         * faces.c (add_face_cachel): use it. Complete background pixmap
5577         frobbing in face cache if `update_face_cachel_data' has not done so.
5578
5579 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
5580
5581         * search.c (string_match_1): Don't set last_thing_searched
5582         when search failed.
5583
5584 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
5585
5586         * buffer.c: Include casetab.h
5587         (common_init_complex_vars_of_buffer): Use new case-table object.
5588         * buffer.h: Include casetab.h
5589         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
5590         (DOWNCASE_TABLE_OF): Ditto.
5591         * bufslots.h: Remove char-tables and add case-table.
5592         * casetab.c: Include casetab.h
5593         (CASE_TABLE_P): Removed.
5594         (mark_case_table): New function.
5595         (allocate_case_table): New function.
5596         (Fcase_table_p): Use new case-table.
5597         (case_table_char): New function.
5598         (Fget_case_table): Ditto.
5599         (Fput_case_table): Ditto.
5600         (Fput_case_table_pair): Ditto.
5601         (Fcopy_case_table): Ditto.
5602         (Fcurrent_case_table): Return case-table.
5603         (Fstandard_case_table): Return case-table.
5604         (Fset_case_table): Fix doc-string.
5605         (set_case_table): Use case-table
5606         (syms_of_casetab): DEFSUBR new functions.
5607         (complex_vars_of_casetab): Set up standard case-table.
5608         * casetab.h: New file.
5609         * editfns.c: Include casetab.h
5610         (Fcompare_buffer_substrings): Use case-table.
5611         * inline.c: Include casetab.h
5612         * lisp.h: Remove bogus extern.
5613         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
5614         * search.c: Include casetab.h
5615         (TRANSLATE_ASCII): Removed.
5616         (TRANSLATE): Unconditionally translate character.
5617         (looking_at_1): Use case-table.
5618         (string_match_1): Ditto.
5619         (fast_string_match): Ditto.
5620         (search_command): Ditto.
5621         (search_buffer): Separate boyer_moore.  Check whether
5622         boyer_moore is possible.
5623         (simple_search): New function.
5624         (boyer_moore): Separated from search_buffer. Translate char.
5625
5626 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
5627
5628         * regex.c (RE_TR_ASCII): Removed.
5629         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
5630         (PATFETCH): Call PATFETCH_RAW.
5631         (PATFETCH_RAW): Fetch Emchar.
5632         (PATUNFETCH): Decrement charptr.
5633         (GET_BUFFER_SPACE): Rename b to buf_end.
5634         (BUF_PUSH): Ditto.
5635         (BUF_PUSH_2): Ditto.
5636         (BUF_PUSH_3): Ditto.
5637         (EXTEND_BUFFER): Ditto.
5638         (SET_LIST_BIT): Ditto.
5639         (regex_compile): Ditto.  Translate non ASCII char.
5640         (compile_range): Ditto.
5641         (re_search_2): Ditto.
5642         (re_match_2_internal): Compare Emchar.
5643         (bcmp_translate): Ditto.
5644
5645 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
5646
5647         * lisp.h (basic char/int typedefs):  comment improvement.
5648
5649 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
5650
5651         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
5652         unstomp inhibit_site_lisp.  Improve comments.
5653
5654 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
5655
5656         * mule-charset.c (Fcharset_property):  improve type checking, comments.
5657
5658 2000-11-28  Andy Piper  <andy@xemacs.org>
5659
5660         * redisplay-output.c (redisplay_output_subwindow): make sure we do
5661         clipped display for windows in the gutter also.
5662         (redisplay_display_boxes_in_window_p): change semantics of return
5663         codes to be more intuitive.
5664
5665         * gutter.h: declare display_boxes_in_gutter_p.
5666
5667         * gutter.c (display_boxes_in_gutter_p): new function for
5668         redisplay.
5669
5670 2000-11-22  Andy Piper  <andy@xemacs.org>
5671
5672         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
5673         autodetect domain.
5674
5675 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
5676
5677         * callproc.c (Fold_call_process_internal):
5678         * gpm.c (Freceive_gpm_event):
5679         (tty_get_foreign_selection): Might be just warning supression.
5680         * fileio.c (Fwrite_region_internal):
5681         (Fset_visited_file_modtime):
5682         * keymap.c (event_matches_key_specifier_p):
5683         Initialize GCPROed variable.
5684
5685         * menubar-x.c (command_builder_find_menu_accelerator):
5686         Initialize before use.
5687
5688 2000-11-23  Andy Piper  <andy@xemacs.org>
5689
5690         * unexcw.c (unexec): make the resulting executable executable.
5691
5692 2000-11-21  Martin Buchholz  <martin@xemacs.org>
5693
5694         * doc.c (get_doc_string):
5695         Use size_t, not int, for result of XSTRING_LENGTH.
5696
5697         * cmds.c (Fdelete_char):
5698         * cmds.c (Fpoint_at_eol):
5699         * cmds.c (Fself_insert_command):
5700         Use EMACS_INT, not int, for result of XINT.
5701         Someday, someone will want to insert more than 2**31 identical characters.
5702
5703         * cmds.c (Fdelete_char):
5704         * cmds.c (Fdelete_backward_char):
5705         * syntax.c (Fforward_word):
5706         * syntax.c (Fforward_comment):
5707         Make COUNT argument optional, for consistency with forward-char et al.
5708
5709 2000-11-22  Martin Buchholz  <martin@xemacs.org>
5710
5711         * lisp.h:
5712         * print.c (long_to_string):
5713         Return a useful value: the pointer at end of data written.
5714
5715         * doprnt.c:
5716         Use `static const char * const' for constant strings.
5717         (union printf_arg): Delete `i', `ui' members.
5718         (get_doprnt_args):
5719         (emacs_doprnt_1):
5720         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
5721         Do all printf-ing via the `l' specifier.
5722         Use EMACS_INT instead of int.
5723         Optimize.
5724
5725 2000-11-20  Didier Verna  <didier@xemacs.org>
5726
5727         * faces.c (update_face_cachel_data): don't frob the background
5728         pixmap when the window is being created. The face is needed but
5729         does not exist yet.
5730
5731 2000-11-20  Andy Piper  <andy@xemacs.org>
5732
5733         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
5734         messing with a debug environment.
5735
5736 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5737
5738         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
5739
5740 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5741
5742         * casetab.c (Fcase_table_p): Fix compile error and crash.
5743
5744 2000-11-18  Philip Aston  <philipa@mail.com>
5745
5746         * s/cygwin32.h: Cygwin has SVR4-like pty support.
5747
5748 2000-11-18  Martin Buchholz  <martin@xemacs.org>
5749
5750         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
5751         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
5752
5753 2000-11-17  Martin Buchholz  <martin@xemacs.org>
5754
5755         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5756         * unexelf.c: Use HAVE_ELF_H.
5757         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5758         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5759         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5760         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5761         for testing.
5762         So this is an unexelfsgi.c from a different line of development.
5763
5764 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5765
5766         * regex.c (RE_TR_ASCII): New function.
5767         (RE_TRANSLATE): Call it.
5768
5769 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5770
5771         * buffer.h (TRT_TABLE_OF): Remove assert.
5772         (IN_TRT_TABLE_DOMAIN): Removed.
5773
5774 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5775
5776         * free-hook.c (log_gcpro):
5777         (show_gcprohist): Add support for GCPRO5.
5778
5779 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5780
5781         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5782
5783 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5784
5785         * symeval.h: Declare flush_all_buffer_local_cache.
5786
5787         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5788         (flush_buffer_local_cache): Added.
5789         (flush_all_buffer_local_cache): Added.
5790
5791         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5792
5793         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5794         (pdump_dump_data): Ditto.
5795         (pdump_reloc_one): Ditto.
5796         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5797         before dumping.
5798
5799
5800 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5801
5802         * buffer.c: Remove if 0'ed entry.
5803         * buffer.h: Rewrite TRT to use char-table.
5804         * bufslots.h: Remove mirror tables.
5805         * casetab.c: Remove mirror tables.
5806         (CASE_TABLE_P): New macro.
5807         (Fcase_table_p): Element of a case table is string or char-table.
5808         (make_mirror_trt_table): Removed.
5809         (set_case_table): Setup char-table from strings for backward
5810         compatibility.
5811         * dired.c (Fdirectory_files):
5812         * dired-msw.c: (mswindows_get_files):
5813         * lisp.h: Change prototype of re_pattern_buffer.
5814         * regex.c: (RE_TRANSLATE): New macro.
5815         (TRANSLATE_P): Ditto.
5816         Change translate to type RE_TRANSLATE_TYPE.
5817         * regex.h: Define RE_TRANSLATE_TYPE
5818         * search.c (TRANSLATE): New macro.
5819         (TRANSLATE_ASCII): New macro.
5820         Translate table is changed to Lisp_Object.
5821         (signal_failure): Inhibit return.
5822
5823 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5824
5825         * device-msw.c:
5826         * eldap.c:
5827         * event-Xt.c:
5828         * event-stream.c:
5829         * print.c:
5830         Do UNGCPRO before return.
5831
5832 2000-11-14  Martin Buchholz <martin@xemacs.org>
5833
5834         * XEmacs 21.2.37 is released.
5835
5836 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5837
5838         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5839         Add comments about discarded return value.
5840
5841 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5842
5843         * callint.c:
5844         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5845
5846 2000-10-27  Andy Piper  <andy@xemacs.org>
5847
5848         * gutter.c (Fset_default_gutter_position): default left and right
5849         gutters to visible.
5850         (calculate_gutter_size): calculate resonable heuristic for left
5851         and right gutter sizes.
5852         (specifier_vars_of_gutter): change left and right gutter sizes to
5853         autodetect.
5854         (calculate_gutter_size_from_display_lines): new function.
5855         (output_gutter): check for resizing on left and right gutters.
5856         (clear_gutter): don't special case top and left gutters.
5857         (specifier_vars_of_gutter): use new signature for
5858         set_specifier_caching.
5859
5860         * glyphs-x.c (x_redisplay_widget): spelling fix.
5861         * glyphs.c (specifier_vars_of_glyphs):
5862         * menubar.c (specifier_vars_of_menubar):
5863         * redisplay.c (specifier_vars_of_redisplay):
5864         * toolbar.c (specifier_vars_of_toolbar):
5865         * window.c (specifier_vars_of_window):
5866         * scrollbar.c (specifier_vars_of_scrollbar):
5867         (complex_vars_of_scrollbar): use new signature for
5868         set_specifier_caching.
5869
5870         * specifier.c (set_specifier_caching): include recompute flag.
5871         (recompute_one_cached_specifier_in_window): always recompute if
5872         flag set.
5873         (recompute_one_cached_specifier_in_frame): ditto.
5874
5875         * specifier.h (struct specifier_caching): add recompute flag.
5876
5877 2000-10-24  Andy Piper  <andy@xemacs.org>
5878
5879         * unexcw.c (copy_executable_and_dump_data_section): add new
5880         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5881         5.0 happy.
5882
5883 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5884
5885         * console-x.h (x_device): New member modifier_release_time.
5886         * event-Xt.c (x_handle_sticky_modifiers):
5887         Bound interval modifier keys are sticky.
5888         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5889         * events.h: extern it.
5890
5891 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5892
5893         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5894
5895 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5896
5897         * event-stream.c (execute_command_event): Preserve current_events
5898         and the like when event is misc-user-event.
5899         Inhibit quit during the call to maybe_echo_keys.
5900
5901 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5902
5903         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5904         symlink when buffer is killed.
5905         (inhibit_clash_detection): New variable.
5906
5907 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5908
5909         * console.c (Fset_input_method): Trigger redisplay on tty.
5910
5911 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5912
5913         * process.c (Fprocess_status): Revert to previous behavior:
5914         (process-status "nosuchprocess") ==> nil
5915
5916 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5917
5918         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5919         Work around another GCC 2.95.2 optimizer bug.
5920
5921 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5922
5923         * process.c (Fget_process): Use LIST_LOOP_2.
5924         (kill_buffer_processes): Use LIST_LOOP_2.
5925
5926         * minibuf.c (Fall_completions):
5927         Delete old non-functional code for FSF fourth argument.
5928
5929         * frame.c (frame_matches_frame_spec):
5930         Renamed from `frame_matches_frametype'.  Update all callers.
5931         (device_matches_device_spec):
5932         Renamed from 'device_matches_console_spec'.  Update all callers.
5933
5934         * doc.c (Fsubstitute_command_keys):
5935         Remove buffer overflow crash.  Small code cleanups.
5936
5937         * casetab.c (check_case_table): Simpler code.
5938
5939         * window.c (Freplace_buffer_in_windows):
5940         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5941         (and similar implementation) as Fdelete_windows_on.
5942         Update all callers.
5943
5944         * alloc.c (Fmake_list):
5945         * alloc.c (make_vector):
5946         * alloc.c (Fmake_vector):
5947         * alloc.c (make_bit_vector):
5948         * alloc.c (Fmake_bit_vector):
5949         * alloc.c (Fbit_vector):
5950         * alloc.c (Fmake_string):
5951         * alloc.c (Fpurecopy):
5952         * alloc.c (Fmemory_limit):
5953         * buffer.c:
5954         * buffer.c (Fget_buffer):
5955         * buffer.c (Fkill_buffer):
5956         * buffer.c (complex_vars_of_buffer):
5957         * bytecode.c (Fcompiled_function_stack_depth):
5958         * callint.c (Fprefix_numeric_value):
5959         * event-stream.c:
5960         * event-stream.c (Fread_key_sequence):
5961         * casetab.c:
5962         * casetab.c (Fcase_table_p):
5963         * casetab.c (check_case_table):
5964         * casetab.c (Fset_case_table):
5965         * casetab.c (Fset_standard_case_table):
5966         * chartab.c:
5967         * chartab.c (Fchar_table_type):
5968         * chartab.c (Freset_char_table):
5969         * chartab.c (Fget_char_table):
5970         * chartab.c (Fget_range_char_table):
5971         * chartab.c (Fput_char_table):
5972         * chartab.c (Fmap_char_table):
5973         * chartab.c (Fcategory_table_p):
5974         * chartab.c (Fcheck_category_at):
5975         * chartab.c (Fchar_in_category_p):
5976         * chartab.c (Fcategory_table):
5977         * chartab.c (Fcopy_category_table):
5978         * chartab.c (Fset_category_table):
5979         * chartab.c (Fcategory_designator_p):
5980         * chartab.c (Fcategory_table_value_p):
5981         * cmds.c (Fdelete_char):
5982         * cmds.c (Fdelete_backward_char):
5983         * cmds.c (Fself_insert_command):
5984         * cmds.c (Fself_insert_internal):
5985         * console.c (Fvalid_console_type_p):
5986         * console.c (Fcdfw_console):
5987         * console.c (Fconsole_type):
5988         * console.c (Fconsole_name):
5989         * console.c (Fconsole_device_list):
5990         * console.c (Fconsole_on_window_system_p):
5991         * data.c:
5992         * data.c (Feq):
5993         * data.c (Fold_eq):
5994         * data.c (Fsubr_interactive):
5995         * data.c (Fchar_to_int):
5996         * data.c (Fint_to_char):
5997         * data.c (Fsetcar):
5998         * data.c (Fsetcdr):
5999         * data.c (Fnumber_to_string):
6000         * data.c (Fstring_to_number):
6001         * data.c (Frem):
6002         * database.c (mark_database):
6003         * database.c (finalize_database):
6004         * database.c (Fdatabase_live_p):
6005         * database.c (Fdatabasep):
6006         * device-x.c (Fx_get_resource):
6007         * device.c (Fdfw_device):
6008         * dired.c:
6009         * dired.c (Ffile_name_completion):
6010         * dired.c (Ffile_name_all_completions):
6011         * dired.c (Fuser_name_completion):
6012         * dired.c (Fuser_name_completion_1):
6013         * dired.c (Fuser_name_all_completions):
6014         * doc.c (Fdocumentation):
6015         * doc.c (Fdocumentation_property):
6016         * doc.c (Fsubstitute_command_keys):
6017         * editfns.c:
6018         * editfns.c (Fchar_to_string):
6019         * editfns.c (Fstring_to_char):
6020         * editfns.c (Ftemp_directory):
6021         * editfns.c (Finsert_char):
6022         * editfns.c (Fbuffer_substring_no_properties):
6023         * editfns.c (Fnarrow_to_region):
6024         * editfns.c (Fchar_equal):
6025         * editfns.c (Fchar_Equal):
6026         * editfns.c (Ftranspose_regions):
6027         * emacs.c (Fdump_emacs):
6028         * eval.c (Fthrow):
6029         * eval.c (Fcommand_execute):
6030         * eval.c (Fautoload):
6031         * eval.c (Fbacktrace):
6032         * eval.c (Fbacktrace_frame):
6033         * events.c:
6034         * events.c (Fcopy_event):
6035         * events.c (Fcharacter_to_event):
6036         * events.c (Fevent_button):
6037         * events.c (Fevent_process):
6038         * extents.c:
6039         * extents.c (Fnext_extent_change):
6040         * extents.c (Fextent_property):
6041         * faces.c (Ffacep):
6042         * faces.c (Fmake_face):
6043         * file-coding.c:
6044         * file-coding.c (Fencode_shift_jis_char):
6045         * file-coding.c (Fencode_big5_char):
6046         * fileio.c (Ffile_name_directory):
6047         * fileio.c (Ffile_name_nondirectory):
6048         * fileio.c (Ffile_name_as_directory):
6049         * fileio.c (Fdirectory_file_name):
6050         * fileio.c (Ffile_truename):
6051         * fileio.c (Fsubstitute_in_file_name):
6052         * fileio.c (Ffile_modes):
6053         * fileio.c (Fset_file_modes):
6054         * fileio.c (Fset_default_file_modes):
6055         * fileio.c (Fverify_visited_file_modtime):
6056         * floatfns.c (Facos):
6057         * floatfns.c (Fasin):
6058         * floatfns.c (Fatan):
6059         * floatfns.c (Fcos):
6060         * floatfns.c (Fsin):
6061         * floatfns.c (Ftan):
6062         * floatfns.c (Fbessel_j0):
6063         * floatfns.c (Fbessel_j1):
6064         * floatfns.c (Fbessel_jn):
6065         * floatfns.c (Fbessel_y0):
6066         * floatfns.c (Fbessel_y1):
6067         * floatfns.c (Fbessel_yn):
6068         * floatfns.c (Ferf):
6069         * floatfns.c (Ferfc):
6070         * floatfns.c (Flog_gamma):
6071         * floatfns.c (Fexp):
6072         * floatfns.c (Fexpt):
6073         * floatfns.c (Flog):
6074         * floatfns.c (Flog10):
6075         * floatfns.c (Fsqrt):
6076         * floatfns.c (Fcube_root):
6077         * floatfns.c (Facosh):
6078         * floatfns.c (Fasinh):
6079         * floatfns.c (Fatanh):
6080         * floatfns.c (Fcosh):
6081         * floatfns.c (Fsinh):
6082         * floatfns.c (Ftanh):
6083         * floatfns.c (Fabs):
6084         * floatfns.c (Ffloat):
6085         * floatfns.c (Flogb):
6086         * floatfns.c (Fceiling):
6087         * floatfns.c (Ffloor):
6088         * floatfns.c (Fround):
6089         * floatfns.c (Ftruncate):
6090         * floatfns.c (Ffceiling):
6091         * floatfns.c (Fffloor):
6092         * floatfns.c (Ffround):
6093         * floatfns.c (Fftruncate):
6094         * fns.c (Fstring_equal):
6095         * fns.c (Fstring_lessp):
6096         * fns.c (concat2):
6097         * fns.c (concat3):
6098         * fns.c (vconcat2):
6099         * fns.c (vconcat3):
6100         * fns.c (Fsubstring):
6101         * fns.c (Fassoc):
6102         * fns.c (Fold_assoc):
6103         * fns.c (assoc_no_quit):
6104         * fns.c (Fassq):
6105         * fns.c (Fold_assq):
6106         * fns.c (assq_no_quit):
6107         * fns.c (Frassoc):
6108         * fns.c (Fold_rassoc):
6109         * fns.c (Frassq):
6110         * fns.c (Fold_rassq):
6111         * fns.c (rassq_no_quit):
6112         * fns.c (Fremassoc):
6113         * fns.c (remassoc_no_quit):
6114         * fns.c (Fremassq):
6115         * fns.c (remassq_no_quit):
6116         * fns.c (Fremrassoc):
6117         * fns.c (Fremrassq):
6118         * fns.c (remrassq_no_quit):
6119         * fns.c (Fsort):
6120         * fns.c (Fplist_get):
6121         * fns.c (Fplist_put):
6122         * fns.c (Fplist_remprop):
6123         * fns.c (Fplist_member):
6124         * fns.c (Flax_plist_get):
6125         * fns.c (Flax_plist_put):
6126         * fns.c (Flax_plist_remprop):
6127         * fns.c (Flax_plist_member):
6128         * fns.c (Fequal):
6129         * fns.c (Fold_equal):
6130         * fns.c (Frequire):
6131         * fns.c (Fbase64_encode_region):
6132         * fns.c (Fbase64_encode_string):
6133         * fns.c (Fbase64_decode_region):
6134         * frame.c:
6135         * frame.c (frame_matches_frame_spec):
6136         * frame.c (device_matches_device_spec):
6137         * frame.c (next_frame):
6138         * frame.c (previous_frame):
6139         * frame.c (Fnext_frame):
6140         * frame.c (Fprevious_frame):
6141         * frame.c (Fframe_property):
6142         * frame.c (Fset_frame_height):
6143         * frame.c (Fset_frame_size):
6144         * frame.h:
6145         * glyphs.c:
6146         * glyphs.c (if):
6147         * glyphs.c (decode_error_behavior_flag):
6148         * glyphs.c (Fmake_image_instance):
6149         * indent.c (Findent_to):
6150         * intl.c (Fignore_defer_gettext):
6151         * keymap.c (Fkeymapp):
6152         * keymap.c (Flookup_key):
6153         * lread.c:
6154         * lread.c (Fload_internal):
6155         * lread.c (Feval_buffer):
6156         * lread.c (Feval_region):
6157         * macros.c (Fexecute_kbd_macro):
6158         * marker.c (set_marker_internal):
6159         * marker.c (Fset_marker):
6160         * marker.c (set_marker_restricted):
6161         * marker.c (Fcopy_marker):
6162         * marker.c (noseeum_copy_marker):
6163         * menubar.c:
6164         * menubar.c (Fpopup_menu):
6165         * minibuf.c:
6166         * mule-charset.c (Fcharset_name):
6167         * mule-charset.c (Fchar_charset):
6168         * mule-charset.c (Fchar_octet):
6169         * mule-charset.c (Fsplit_char):
6170         * mule-wnnfns.c (Fwnn_open):
6171         * mule-wnnfns.c (Fwnn_dict_comment):
6172         * mule-wnnfns.c (Fwnn_quit_henkan):
6173         * mule-wnnfns.c (Fwnn_word_toroku):
6174         * mule-wnnfns.c (Fwnn_word_sakujo):
6175         * mule-wnnfns.c (Fwnn_word_use):
6176         * mule-wnnfns.c (Fwnn_hindo_set):
6177         * objects.c:
6178         * objects.c (Fmake_color_instance):
6179         * objects.c (Fmake_font_instance):
6180         * print.c (Fwrite_char):
6181         * process.c:
6182         * process.c (mark_process):
6183         * process.c (print_process):
6184         * process.c (get_process_from_usid):
6185         * process.c (Fprocessp):
6186         * process.c (Fprocess_live_p):
6187         * process.c (Fget_process):
6188         * process.c (Fget_buffer_process):
6189         * process.c (get_process):
6190         * process.c (Fprocess_id):
6191         * process.c (Fprocess_name):
6192         * process.c (Fprocess_command):
6193         * process.c (init_process_io_handles):
6194         * process.c (start_process_unwind):
6195         * process.c (Fstart_process_internal):
6196         * process.c (Fopen_multicast_group_internal):
6197         * process.c (Fset_process_window_size):
6198         * process.c (read_process_output):
6199         * process.c (send_process):
6200         * process.c (Fprocess_tty_name):
6201         * process.c (Fset_process_buffer):
6202         * process.c (Fprocess_buffer):
6203         * process.c (Fprocess_mark):
6204         * process.c (set_process_filter):
6205         * process.c (Fset_process_filter):
6206         * process.c (Fprocess_filter):
6207         * process.c (Fprocess_send_region):
6208         * process.c (Fprocess_send_string):
6209         * process.c (exec_sentinel):
6210         * process.c (Fset_process_sentinel):
6211         * process.c (Fprocess_sentinel):
6212         * process.c (status_notify):
6213         * process.c (Fprocess_status):
6214         * process.c (Fprocess_exit_status):
6215         * process.c (process_send_signal):
6216         * process.c (Fprocess_send_eof):
6217         * process.c (deactivate_process):
6218         * process.c (remove_process):
6219         * process.c (Fdelete_process):
6220         * process.c (kill_buffer_processes):
6221         * process.c (Fprocess_kill_without_query):
6222         * process.c (Fprocess_kill_without_query_p):
6223         * rangetab.c:
6224         * rangetab.c (Fget_range_table):
6225         * rangetab.c (Fput_range_table):
6226         * rangetab.c (Fremove_range_table):
6227         * rangetab.c (Fclear_range_table):
6228         * search.c:
6229         * search.c (Fskip_chars_forward):
6230         * search.c (Fskip_chars_backward):
6231         * search.c (Fskip_syntax_forward):
6232         * search.c (Fskip_syntax_backward):
6233         * search.c (search_command):
6234         * search.c (Freplace_match):
6235         * search.c (Fregexp_quote):
6236         * select.c (Fown_selection_internal):
6237         * select.c (Fselection_owner_p):
6238         * select.c (Fselection_exists_p):
6239         * select.c (Fget_selection_internal):
6240         * specifier.c:
6241         * symbols.c:
6242         * symbols.c (Fintern):
6243         * symbols.c (Fintern_soft):
6244         * symbols.c (Funintern):
6245         * symbols.c (Fapropos_internal):
6246         * symbols.c (Fset_default):
6247         * syntax.c:
6248         * syntax.c (Fsyntax_table_p):
6249         * syntax.c (Fcopy_syntax_table):
6250         * syntax.c (Fset_syntax_table):
6251         * syntax.c (Fchar_syntax):
6252         * syntax.c (syntax_match):
6253         * syntax.c (Fmatching_paren):
6254         * syntax.c (Fforward_word):
6255         * syntax.c (scan_lists):
6256         * syntax.c (Fscan_lists):
6257         * syntax.c (Fscan_sexps):
6258         * syntax.c (Fparse_partial_sexp):
6259         * toolbar.c (Fcheck_toolbar_button_syntax):
6260         * tooltalk.doc:
6261         * window.c:
6262         * window.c (Fwindowp):
6263         * window.c (Fwindow_live_p):
6264         * window.c (Fwindow_point):
6265         * window.c (Fdelete_window):
6266         * window.c (Fnext_window):
6267         * window.c (Fprevious_window):
6268         * window.c (Fother_window):
6269         * window.c (window_loop):
6270         * window.c (Fget_lru_window):
6271         * window.c (Fsplit_window):
6272         * window.c (Fenlarge_window):
6273         * window.c (Fenlarge_window_pixels):
6274         * window.c (Fshrink_window):
6275         * window.c (Fshrink_window_pixels):
6276         * window.c (change_window_height):
6277         * window.c (Fwindow_configuration_p):
6278         * window.c (Fcurrent_window_configuration):
6279         * window.h:
6280         * casefiddle.c (casify_object):
6281         * casefiddle.c (Fupcase):
6282         * casefiddle.c (Fdowncase):
6283         * casefiddle.c (Fcapitalize):
6284         * casefiddle.c (Fupcase_initials):
6285         * casefiddle.c (casify_region_internal):
6286         * casefiddle.c (casify_region):
6287         * casefiddle.c (Fupcase_region):
6288         * casefiddle.c (Fdowncase_region):
6289         * casefiddle.c (Fcapitalize_region):
6290         * casefiddle.c (Fupcase_initials_region):
6291         * casefiddle.c (Fupcase_word):
6292         * casefiddle.c (Fdowncase_word):
6293         * casefiddle.c (Fcapitalize_word):
6294         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
6295         Replace 0 with '\0' when working with bytes.
6296         Replace initial "(" with "\(" in docstrings.
6297
6298 2000-11-01  Martin Buchholz  <martin@xemacs.org>
6299
6300         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
6301
6302         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
6303
6304 2000-10-31  Martin Buchholz  <martin@xemacs.org>
6305
6306         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
6307
6308 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
6309
6310         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
6311         correctly.
6312
6313 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
6314
6315         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
6316         (inhibit_auto_save_session): New variable.
6317         (vars_of_fileio): Declare and initialize them.
6318         * fileio.c (Fdo_auto_save): Don't create session file if
6319         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
6320
6321 2000-10-31  Martin Buchholz  <martin@xemacs.org>
6322
6323         * sgiplay.c (play_internal): C++ compilability.
6324         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
6325         * callproc.c (Fold_call_process_internal):
6326         Remove unused vars `env', `first'.
6327         * scrollbar.c (update_scrollbar_instance):
6328         #### unused var `current_window'.
6329         * redisplay-tty.c: Put currently unused vars insert_mode_on,
6330         etc. within #ifdef NOT_YET.
6331         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
6332         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
6333         * specifier.c (specifier_instance):
6334         #### unused var `tag'.
6335         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
6336
6337 2000-10-27  Martin Buchholz  <martin@xemacs.org>
6338
6339         * fns.c (Fbutlast):
6340         * fns.c (list_sort):
6341         * fns.c (Ffillarray):
6342         * fns.c (bytecode_nconc2):
6343         * fns.c (Fnconc):
6344         * fns.c (mapcar1):
6345         * fns.c (Fmapconcat):
6346         Be pedantically 64-bit correct.  For the time when someone will
6347         want to have a list with length > 2**32.
6348
6349         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6350         Work around MIPSpro compiler bug.
6351
6352         * process-unix.c (unix_kill_child_process): Add snarky comment.
6353         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
6354
6355         * config.h.in: Oops, _getpt ==> _getpty
6356
6357 2000-10-26  Martin Buchholz  <martin@xemacs.org>
6358
6359         * config.h.in:
6360         * regex.c:
6361         Use void*, not char*, as return type of alloca().
6362
6363         * alloc.c (free_marker): Side effect inside assert expression!
6364
6365 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
6366
6367         * mule-charset.c (Fset_charset_ccl_program): To check
6368         if the given ccl program is valid, use setup_ccl_program()
6369         instead of CHECK_VECTOR().
6370         (Fmake_charset): Likewise.
6371
6372 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
6373
6374         * faces.c (get_extent_fragment_face_cache_index):
6375         Fix cachel.merged_faces memory leak.
6376
6377 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
6378
6379         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
6380         Reset MSB of octets obtained by DECODE_SJIS
6381         because of the incompatibility with Emacs.
6382         (ccl_driver)<CCL_ENCODE_SJIS>:
6383         Set MSB of octets before passing them to
6384         ENCODE_SJIS because of the incompatibility
6385         with Emacs.
6386
6387 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
6388
6389         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
6390         (DECLARE_LRECORD): Undo the last change.
6391         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
6392
6393 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
6394
6395         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
6396         the implementation to lrecord_implementations_table.
6397
6398 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
6399
6400         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
6401         initial value of `lrecord_type_##c_name' and
6402         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
6403         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
6404         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
6405         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
6406         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
6407
6408 2000-10-17  Martin Buchholz  <martin@xemacs.org>
6409
6410         * miscplay.c (sndcnv8S_2mono):
6411         (sndcnv2monounsigned):
6412         (sndcnvULaw_2linear):
6413         (sndcnv16swap):
6414         Remove implementation-defined behavior.
6415
6416 2000-10-12  Martin Buchholz  <martin@xemacs.org>
6417
6418         * input-method-xlib.c: Warning suppression.
6419
6420 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
6421
6422         * mule-ccl.c: Sync up with Emacs 21.0.90.
6423         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
6424         Do nothing.
6425         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
6426         Likewise.
6427         (ccl_driver[WriteMultibyteChar2]): Bug fix.
6428         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
6429         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
6430         leading char belongs to official 2-dimensional charset.
6431         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
6432         write the given character as is.  Otherwise,
6433         if it is a multibyte char, convert it by
6434         non_ascii_set_charptr_emchar, then write it.
6435         (CCL_WRITE_STRING): Likewise.
6436         (ccl_get_compiled_code): New function.
6437         (setup_ccl_program): When ccl_prog is invalid,
6438         return -1.
6439         (Fregister_code_conversion_map): New function.
6440         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
6441
6442         * mule-ccl.h: Sync up with Emacs 21.0.90.
6443         (Fregister_ccl_program): export it.
6444
6445         * redisplay-msw.c (separate_textual_runs):
6446         If ccl program is not valid, don't do ccl conversion.
6447
6448         * redisplay-x.c (separate_textual_runs): Ditto.
6449
6450         * file-coding.c (Fmake_coding_system):
6451         When type is ccl and value is vector, register it
6452         with a proper symbol.  And checks whether the
6453         given ccl program is valid.
6454         (mule_decode): When calling ccl_driver, if src indicates
6455         NULL pointer, set an empty string instead.
6456         (mule_encode): Likewise.
6457
6458 2000-10-11  Martin Buchholz  <martin@xemacs.org>
6459
6460         The following large batch of changes gets us back to a state of
6461         C++ compilability.  Extbyte is now a char, which means that
6462         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
6463
6464         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
6465
6466         * sound.c (Fplay_sound): Type correctness.
6467
6468         * select-x.c (hack_motif_clipboard_selection): Type correctness.
6469         (x_get_window_property): Type correctness.
6470         (receive_incremental_selection): unsigned char ==> Extbyte
6471         (selection_data_to_lisp_data): unsigned char ==> Extbyte
6472         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
6473         (Fx_store_cutbuffer_internal): Type correctness.
6474
6475         * process-unix.c (try_to_initialize_subtty): Type correctness.
6476
6477         * objects-x.c (x_print_color_instance): Type correctness.
6478         (x_print_font_instance): Type correctness.
6479         (x_list_fonts): SExtbyte ==> Extbyte.
6480         (valid_x_font_name_p): SExtbyte ==> Extbyte.
6481         (x_find_charset_font): SExtbyte ==> Extbyte.
6482         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
6483         (truename_via_XListFonts): SExtbyte ==> Extbyte.
6484         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
6485         Use bufbyte_strcmp.
6486
6487         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
6488         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
6489         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
6490         (BYTE_C0_P): Use bit ops for char-signedness safety.
6491         (BYTE_C1_P): Use bit ops for char-signedness safety.
6492         (CHARSET_BY_LEADING_BYTE):
6493         (CHARSET_BY_ATTRIBUTES):
6494         Always use inline function.
6495         Use type_checking_assert.
6496         Hide chlook.
6497
6498         * mule-charset.c (non_ascii_charptr_copy_char):
6499         Modify to work with both ASCII and non-ASCII characters.
6500         Improve docs and variable names.
6501         Replace over-clever fall-through switch with a simple loop.
6502         (Lstream_get_emchar_1):
6503         Replace over-clever fall-through switch with a simple loop.
6504
6505         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6506         Warning suppression.
6507
6508         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
6509         the return value of Lstream_getc, which could be EOF as well.
6510
6511         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
6512
6513         * lisp.h: Make Extbyte a char, not unsigned char, so that external
6514         APIs can be used on Extbytes without casts.  Risky!
6515         (SExtbyte): Remove.
6516         (UExtbyte): Remove.
6517
6518         * input-method-xlib.c (XIM_init_device):
6519         Use Xlib.h instead of IntrinsicP.h.
6520         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
6521         which will break in X11R7.
6522         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
6523         to call XRegisterIMInstantiateCallback with correct types.
6524
6525         * gui-x.c (button_item_to_widget_value): Type correctness.
6526
6527         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
6528
6529         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
6530         (xbm_instantiate_1): Type correctness.
6531         (BUILD_GLYPH_INST):  Type correctness.
6532
6533         * fileio.c (Fsubstitute_in_file_name): Type correctness.
6534
6535         * file-coding.c:
6536         (decode_coding_sjis):
6537         (decode_coding_big5):
6538         (decode_coding_ucs4):
6539         (decode_coding_utf8):
6540         (decode_coding_iso2022):
6541         (decode_coding_no_conversion):
6542         Make all decoding functions take an Extbyte * arg.
6543         (encode_coding_sjis):
6544         (encode_coding_big5):
6545         (encode_coding_ucs4):
6546         (encode_coding_utf8):
6547         (encode_coding_iso2022):
6548         (encode_coding_no_conversion):
6549         Make all encoding functions take a Bufbyte * arg.
6550         Use size_t instead of unsigned int for memory sizes.
6551         Only cast to unsigned char whenever dereferencing Extbyte *.
6552
6553         * doc.c (unparesseuxify_doc_string): Type correctness.
6554
6555         * console-x.c (split_up_display_spec):
6556         Rewrite without using details of internal string representation.
6557         (x_semi_canonicalize_device_connection): Type correctness.
6558
6559         * config.h.in:
6560         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
6561         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
6562         (HAVE_XFREE386): Removed.
6563
6564         * buffer.h (DEC_CHARPTR): `const' correctness.
6565         (bufbyte_strcmp): New.
6566         (bufbyte_memcmp): New.
6567
6568         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
6569
6570         * buffer.h (XCHAR_OR_CHAR_INT):
6571         Always use inline function.
6572         Remove redundant type checking assert() - XINT will abort quite nicely.
6573
6574 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6575
6576         * search.c (Freplace_match): Set newtext to an empty string.
6577
6578 2000-10-10  Martin Buchholz  <martin@xemacs.org>
6579
6580         * s/decosf1-3.h: Remove #include of stropts.h
6581         * s/ptx.h: Remove #include of stropts.h
6582         * s/usg5-4.h: Remove #include of stropts.h
6583         * sysproc.h:
6584         * config.h.in:
6585         Use stropts.h, not sys/stropts.h.
6586         Use strtio.h, not sys/strtio.h.
6587
6588 2000-10-04  Martin Buchholz <martin@xemacs.org>
6589
6590         * XEmacs 21.2.36 is released.
6591
6592 2000-09-21  Andy Piper  <andy@xemacs.org>
6593
6594         * glyphs-x.c (x_redisplay_widget): make sure non-structural
6595         changes still involve copying the widget tree.
6596         (update_widget_face): make sure a change is register in the widget
6597         tree. Call update_tab_widget_face appropriately.
6598         (update_tab_widget_face): ditto.
6599         (x_tab_control_redisplay): make sure non-structural changes still
6600         involve copying the widget tree.
6601
6602 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
6603
6604         * lread.c (locate_file): Check the path element is non-nil.
6605
6606 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6607
6608         * lisp.h: Warning suppression for SCO compilers.
6609
6610         * redisplay-tty.c (reset_tty_modes): Fix crash.
6611         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
6612
6613 2000-09-27  Martin Buchholz  <martin@xemacs.org>
6614
6615         Big signal/process handling overhaul.  Bugs fixed:
6616         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
6617         M-x comint-kill-subjob should work for both values nil and t of
6618         process-connection-type. It was broken on most platforms.
6619         Testing on Irix and Cygwin still needed.  Other plaforms tested.
6620         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
6621         * process-unix.c: Signal/Process handling overhaul.
6622         (pty_name): make 64 bytes, as `expect' does, for paranoia.
6623         (allocate_pty): Use all available modern methods of allocating
6624         ptys, falling back to old style BSD allocation as a last resort.
6625         Use allegedly more secure Unix98 pty allocation by default.
6626         (allocate_pty_the_old_fashioned_way): New. the last resort.
6627         (unix_create_process): Push ptem, ldterm, ttcompat where
6628         available.  Autoconfiscate.
6629         (try_to_initialize_subtty): New.
6630         (unix_kill_child_process): Proper signal handling for ptys on most
6631         platforms, using special knowledge of AIX, BSD, etc...
6632         (unix_create_process): Always disconnect_controlling_terminal() for
6633         subprocesses, whether using ptys or not.
6634         * process.h: Remove old getpt-dependent PTY code.
6635         * process.c (Fprocess_send_signal): New, obvious generic function.
6636         (decode_signal): New.
6637         (Finterrupt_process):
6638         (Fkill_process):
6639         (Fquit_process):
6640         (Fstop_process):
6641         (Fcontinue_process):
6642         (Fsignal_process): Use decode_signal.
6643         (process_send_signal):
6644         Many docstring corrections.
6645         Allow any signal to be sent to a process object.
6646         * config.h.in: Add symbols for big signal/process overhaul.
6647         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
6648         * sysproc.h: Include process-related headers, where available:
6649         sys/stropts.h sys/strtio.h pty.h libutil.h
6650         * s/irix4-0.h:
6651         * s/irix5-0.h:
6652         * s/cygwin32.h:
6653         * s/gnu.h:
6654         * s/linux.h:
6655         * s/hpux.h:
6656         * s/aix3-1.h:
6657         Remove old S&M pty stuff.
6658         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
6659         * systty.h: Simplify cpp hackery, improve comments.
6660         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
6661
6662         * editfns.c (Fformat_time_string):
6663         Be a little more paranoid with the return value of ctime.
6664
6665         * fileio.c (check_executable):
6666         (check_writable):
6667         Use symbolic constants X_OK, W_OK.
6668
6669         * console-x.c (split_up_display_spec): Fix a warning.
6670
6671 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6672
6673         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
6674         * ntproc.c (sys_spawnve): make_string ==> build_string
6675         Small clarity improvements.
6676
6677 2000-09-30  Martin Buchholz  <martin@xemacs.org>
6678
6679         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
6680
6681         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
6682
6683         * config.h.in (HAVE_STRCASECMP): Remove.
6684
6685 2000-09-29  Martin Buchholz  <martin@xemacs.org>
6686
6687         * redisplay-output.c (redisplay_output_pixmap):
6688         Cleaner and possibly more 64-bit correct code.
6689
6690 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6691
6692         * dumper.c (pdump_load_finish): move restoration of
6693         `noninteractive1' to emacs.c (main_1).
6694         * emacs.c (main_1): protect LISP-visible command-line flags
6695         from pdump_load().
6696
6697 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
6698
6699         * Makefile.in.in (versionclean):  Use EXE_TARGET and
6700         DUMP_TARGET instead of literal program names.
6701
6702 2000-09-20  Martin Buchholz  <martin@xemacs.org>
6703
6704         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
6705
6706 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6707
6708         * *: Spelling mega-patch
6709
6710 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6711
6712         * fns.c (bad_bad_turtle):
6713         Delete "Eek!" comment, since we fixed the bug to which it refers.
6714
6715 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6716
6717         * alloca.c: Replace REGISTER with register.
6718
6719 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
6720
6721         * file-coding.c (ucs_to_char): Use countof.
6722
6723 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6724
6725         * file-coding.c: (ucs_to_char):
6726         (complex_vars_of_file_coding):
6727         Use countof instead of sizeof.
6728         Use CHECK_NATNUM instead of CHECK_INT.
6729
6730         * sysdep.c (strcasecmp): Remove.
6731         * device-x.c (ascii_strcasecmp): New.
6732         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
6733         Avoid using non-standard non-portable strcasecmp.
6734
6735 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6736
6737         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
6738         * font-lock.c: remove reference to emacsfns.h.
6739         * search.c: small doc improvement.
6740         * event-Xt.c: correct file names in comments.
6741         * console-x.h Correct file names in comments.
6742         * frame.c: Correct file names in comments.
6743         * event-stream.c: remove Energize from comments.
6744
6745 2000-09-15  Martin Buchholz  <martin@xemacs.org>
6746
6747         * symeval.h (DEFERROR_STANDARD):
6748         (DEFERROR):
6749         (DEFSYMBOL):
6750         (DEFSYMBOL_NO_DUMP):
6751         (DEFSYMBOL_MULTIWORD_PREDICATE):
6752         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
6753         (DEFKEYWORD):
6754         The construct &##name is not sensible C.
6755         Fixes compilation errors with Unixware native compiler.
6756
6757 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6758
6759         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6760         (next_frame_internal): Removed.  We now just have next_frame.
6761         (next_frame):
6762         Write a simpler and cleaner one-pass algorithm.
6763         Remove called_from_delete_device arg and #ifdefed-out code.
6764         (previous_frame):
6765         Renamed from prev_frame.  Update callers.
6766         Cleaned up to have an analogous implementation to next_frame.
6767         (other_visible_frames_internal): Remove the
6768         called_from_delete_device bogus arg, and hence, remove this
6769         function.  Just use other_visible_frames().
6770
6771         * window.c (Fnext_window):
6772         Prettify docstring.
6773         Since next_frame() is guaranteed to return a frame, remove check
6774         for nil inserted in previous patch.
6775         (Fprevious_window):
6776         Prettify docstring.
6777         Make code look more like Fnext_window.
6778         (window_loop):
6779         Respect the `console' arg when iterating through windows.
6780         Fixes bug: (get-buffer-window buffer t device) not respecting
6781         the `device' arg.
6782         This function needs more work, as others have pointed out.
6783
6784         * frame.h: Rename prev_frame to previous_frame.
6785         device_matches_console_spec no longer takes a `frame' arg.
6786
6787         * s/gnu.h:
6788         * s/linux.h:
6789         * s/hpux.h:
6790         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6791         From "Golubev I. N." <gin@mo.msk.ru>.
6792
6793         * make-src-depend: Fix typo.
6794
6795 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6796
6797         * window.c (Fnext_window):
6798         next_frame() might return nil, not a frame.
6799         Fixes this crash:
6800         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6801
6802         * frame.c (next_frame_internal):
6803         We've passed a frame if we've passed its device.
6804         Fixes this crash:
6805         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6806 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6807
6808 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6809
6810         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6811         Allow option to suppress accelerators in menu/dialog items.
6812         (populate_or_checksum_helper): Pass dialog title through above.
6813
6814 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6815
6816         * event-msw.c (mswindows_key_to_emacs_keysym):
6817         Add "pause" key, fix "menu" key.
6818
6819 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6820
6821         * eval.c (reinit_vars_of_eval):
6822         Increase max_lisp_eval_depth to 1000,
6823         required for thai-xtis.el to byte-compile under some circumstances.
6824
6825 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6826
6827         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6828         From Kenichi Handa.
6829
6830 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6831
6832         * make-src-depend: Make the generated Makefiles smaller.
6833
6834         * s/hpux.h (SETUP_SLAVE_PTY):
6835         Provide a %d in the format string for the errno argument.
6836
6837         * editfns.c (Ftemp_directory):
6838         Warning fix.
6839         Avoid buffer overrun on very long file name.
6840
6841         * input-method-xlib.c (XIM_init_device):
6842         6th parameter of XRegisterIMInstantiateCallback has different
6843         pointer types on different OSes, so simply cast to (void *).
6844
6845         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6846
6847         * sysdll.c (dll_open):
6848         shl_load will hang hard if passed a NULL filename.
6849         Simply return NULL for compatibility with dlopen.
6850         * sysdll.c: Conform to XEmacs coding standards.
6851
6852         * sysdep.c (get_pty_max_bytes):
6853         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6854
6855 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6856
6857         * tooltalk.c: Add #include <syssignal.h>
6858
6859 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6860
6861         * s/hpux.h: Don't use undefined function sigunblock().
6862
6863 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6864
6865         * config.h.in: Add HAVE_BALLOON_HELP.
6866         * emacs.c: Use HAVE_BALLOON_HELP.
6867         * Makefile.in.in (x_objs):
6868         Make Balloon Help conditional on finding shape.h.
6869
6870 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6871
6872         * syntax.c (regex_emacs_buffer_p): New variable.
6873         * syntax.h (regex_emacs_buffer_p): extern.
6874         * search.c (looking_at_1):
6875         (string_match_1):
6876         (fast_string_match):
6877         (search_buffer): Set regex_emacs_buffer_p.
6878         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6879         when before_dot, at_dot, after_dot.
6880
6881 2000-08-23  Andy Piper  <andy@xemacs.org>
6882
6883         * gui-x.c (popup_selection_callback): Only set action_occurred
6884         when we really have an image instance.
6885         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6886
6887 2000-08-23  Andy Piper  <andy@xemacs.org>
6888
6889         * gui-msw.c (mswindows_handle_gui_wm_command): set
6890         action_occurred.
6891         * gui-x.c (popup_selection_callback): ditto.
6892
6893         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6894         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6895         (struct Lisp_Image_Instance): add action_occurred flag.
6896
6897         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6898         (image_instance_changed): ditto.
6899         (reset_frame_subwindow_instance_cache): only unmap windows - do
6900         not remove them from the cache also.
6901
6902         * glyphs-widget.c (tab_control_update): better debug.
6903         (progress_gauge_update): ditto.
6904         (layout_update): ditto.
6905         (layout_instantiate): ditto.
6906         (tab_control_order_only_changed): cope with null pending items.
6907
6908         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6909         debug. Force selection of an item when an action occurred. Cope
6910         with null pending_items.
6911         (mswindows_progress_gauge_redisplay): better debug.
6912         * glyphs-x.c (x_tab_control_redisplay): ditto.
6913
6914         * redisplay.c (redisplay_frame): reset the frame cache if the
6915         frame is garbaged.
6916
6917         * window.c (Fset_window_configuration): potentially re-enable
6918         frame cache reset.
6919         (window_unmap_subwindows): need to finalize instances here since
6920         it is only used in mark_window_as_deleted.
6921
6922 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6923
6924         * nas.c (SndOpenDataForReading):
6925         nas.c (WaveOpenDataForReading):
6926         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6927         Somehow escaped from the 2000-08-14 patch.
6928
6929 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6930
6931         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6932         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6933
6934 2000-08-21  Andy Piper  <andy@xemacs.org>
6935
6936         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6937         window if it is not already displayed.
6938
6939         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6940         it is not already displayed.
6941
6942         * window.c (Fset_window_configuration): don't reset the frame
6943         cache.
6944
6945         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6946         instances from the frame cache if we are actually finalizing them.
6947         (reset_frame_subwindow_instance_cache): reset frame cache only
6948         after unmapping everything.
6949         (map_subwindow): set displayed flag after mapping.
6950
6951 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6952
6953         * data.c (indirect_function):
6954         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6955
6956         * eval.c (function_argcount):
6957         Use original function when signaling errors.
6958
6959 2000-08-18  Andy Piper  <andy@xemacs.org>
6960
6961         * frame.c (delete_frame_internal): use new
6962         free_frame_subwindow_instances name.
6963
6964         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6965         (add_tab_item): make return type correct.
6966         (mswindows_tab_control_instantiate): assert index of tab.
6967         (mswindows_tab_control_redisplay): Re-code to use
6968         gui_item_equal_sans_selected and gui_item_list_find_selected.
6969
6970         * glyphs-widget.c (tab_control_update): Correct comment.
6971
6972         * window.c (window_unmap_subwindows): use new
6973         unmap_subwindow_instance_cache_mapper.
6974         (window_unmap_subwindows_cache_mapper): deleted.
6975         (Fset_window_configuration): comparisons should now be with
6976         EQ. Preserve the subwindow instance cache across configuration
6977         changes.
6978         (allocate_window): ditto.
6979         (make_dummy_parent): ditto.
6980
6981         * glyphs.c (free_frame_subwindow_instances): rename from
6982         free_frame_subwindow_instance_cache. finalize all instances rather
6983         than just those in the display cache.
6984         (finalize_all_subwindow_instances): walk windows unmapping and
6985         finalizing subwindows.
6986         (unmap_subwindow_instance_cache_mapper): moved from
6987         window.c. Allow finalization as well as unmapping.
6988
6989         * gui.c (gui_item_list_find_selected): new function.
6990
6991         * gui.h (gui_item_list_find_selected): declare.
6992
6993         * glyphs-x.c (x_tab_control_redisplay): pick tab
6994         explicitly. Re-code to use gui_item_equal_sans_selected and
6995         gui_item_list_find_selected.
6996
6997         * glyphs-x.h: add lwlib-utils.h
6998
6999         * buffer.c (Frecord_buffer): undo previous change.
7000
7001 2000-08-09  Vin Shelton  <acs@xemacs.org>
7002
7003         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
7004         possible.  Create temporary files more securely.  The patch was
7005         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
7006         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
7007         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
7008         for details.
7009
7010 2000-08-07  Ben Wing  <ben@xemacs.org>
7011
7012         * getloadavg.c: remove duplicate (and windows-breaking)
7013         includes of fcntl.h and sys/file.h.
7014
7015         * nt.c: remove duplicate getloadavg() definition.
7016
7017         * sysdll.h (Qdll_filename_encoding): add missing stand-in
7018         encodings.
7019
7020 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7021
7022         * eval.c (function_argcount): If function needs to be autoloaded
7023         actually use the loaded definition.
7024         GCPRO function.
7025
7026 2000-08-05  Ben Wing  <ben@xemacs.org>
7027
7028         * getloadavg.c: add prototype for getloadavg().  remove
7029         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
7030         of the code).  remove duplicate header includes.
7031
7032         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
7033
7034         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
7035         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
7036         useful load average.
7037
7038         * alloc.c (reinit_alloc_once_early): removed references to
7039         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
7040         the lisp vars are the only things referencing the malloc_sbrk_*
7041         vars, and they were already if 0'd out.  these vars only exist
7042         in the older malloc.c, which is basically unused, and they're
7043         only for informational purposes.
7044
7045         * m\*.h: removed useless VIRT_ADDR_VARIES.
7046
7047         * m\powerpc.h: removed stray NO_ARG_ARRAY.
7048
7049 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
7050
7051         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
7052         color if the image is a mono pixmap.
7053
7054 2000-07-30  Ben Wing  <ben@xemacs.org>
7055
7056         * Makefile.in.in (release):
7057         Remove stray @.
7058
7059         * buffer.c (directory_is_current_directory):
7060         * dired-msw.c (mswindows_get_files):
7061         * dired.c:
7062         * dired.c (Fdirectory_files):
7063         * dired.c (file_name_completion_stat):
7064         * dired.c (Ffile_attributes):
7065         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
7066         preprocessor tricks, to avoid problems on some machines
7067         (e.g. SCO).
7068
7069         * callproc.c (egetenv): GC docs.
7070
7071         * console-msw.h:
7072         * console-msw.h (struct mswindows_dialog_id):
7073         * lrecord.h (lrecord_type):
7074         New object for use with MSW dialogs.
7075
7076         * console.h (struct console_methods):
7077         New enable/disable frame methods, for proper modal dialogs.
7078
7079         * device-msw.c (msprinter_default_printer): Fix to follow
7080         proper Mule conventions.
7081
7082         * device-msw.c:
7083         * device-msw.c (signal_open_printer_error):
7084         * device-msw.c (msprinter_init_device):
7085         * device-msw.c (ensure_not_printing):
7086         * device-msw.c (plist_get_margin):
7087         * device-msw.c (Fmsprinter_select_settings):
7088         * device-msw.c (finalize_devmode):
7089         * device-msw.c (Fmsprinter_settings_despecialize):
7090         * device-msw.c (signal_enum_priner_error):
7091         * extents.c (decode_extent):
7092         * extents.c (decode_map_extents_flags):
7093         * extents.c (decode_extent_at_flag):
7094         * extents.c (Fextent_at):
7095         * extents.c (Fextents_at):
7096         * extents.c (symbol_to_glyph_layout):
7097         [[[[2]]]] Use structured errors.
7098
7099         * dialog-msw.c:
7100         * dialog-msw.c (mswindows_is_dialog_msg):
7101         * dialog-msw.c (mark_mswindows_dialog_id):
7102         * dialog-msw.c (dialog_proc):
7103         * dialog-msw.c (handle_question_dialog_box):
7104         * dialog-msw.c (syms_of_dialog_mswindows):
7105         Define new object to clean up marking; use it as a dialog identifier.
7106         Call new delete-dialog-box-hook.
7107
7108         * dialog-x.c (dbox_selection_callback):
7109         * dialog-x.c (dbox_descriptor_to_widget_value):
7110         * dialog-x.c (x_make_dialog_box_internal):
7111         Call new delete-dialog-box-hook.
7112         Return an id.
7113
7114         * dialog.c:
7115         * dialog.c (syms_of_dialog):
7116         * dialog.c (vars_of_dialog):
7117         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
7118
7119         * eval.c:
7120         * eval.c (signal_call_debugger):
7121         when noninteractive, output stack traces on the console instead
7122         of in a (never-seen) buffer.
7123
7124         * eval.c (signal_type_error):
7125         * eval.c (invalid_argument_2):
7126         * lisp.h:
7127         new funs for use w/structured errors.
7128
7129         * event-Xt.c:
7130         * event-Xt.c (x_to_emacs_keysym):
7131         * event-Xt.c (describe_event):
7132         * event-Xt.c (emacs_Xt_event_handler):
7133         * event-Xt.c (vars_of_event_Xt):
7134         * event-msw.c:
7135         * event-msw.c (mswindows_wnd_proc):
7136         * event-msw.c (vars_of_event_mswindows):
7137         rename {x,mswindows}-debug-events to debug-{}-events for
7138         consistency with other debug-foo variables.
7139
7140         * event-stream.c:
7141         document next-event more clearly.
7142
7143         * fileio.c (Ffile_name_directory):
7144         * fileio.c (Ffile_name_nondirectory):
7145         * fileio.c (Funhandled_file_name_directory):
7146         * fileio.c (file_name_as_directory):
7147         * fileio.c (Ffile_name_as_directory):
7148         * fileio.c (directory_file_name):
7149         * fileio.c (Fdirectory_file_name):
7150         * fileio.c (Fmake_temp_name):
7151         * fileio.c (Ffile_truename):
7152         * fileio.c (Fsubstitute_in_file_name):
7153         * fileio.c (expand_and_dir_to_file):
7154         * fileio.c (barf_or_query_if_file_exists):
7155         * fileio.c (check_executable):
7156         * fileio.c (Ffile_exists_p):
7157         * fileio.c (Ffile_writable_p):
7158         * fileio.c (Ffile_directory_p):
7159         * fileio.c (Ffile_regular_p):
7160         * fileio.c (Ffile_modes):
7161         * fileio.c (Ffile_newer_than_file_p):
7162         * fileio.c (Fverify_visited_file_modtime):
7163         * fileio.c (Fset_visited_file_modtime):
7164         * fileio.c (auto_save_1):
7165         (1). (2).
7166         fix up gcpro's.
7167
7168         * frame-msw.c:
7169         * frame-msw.c (mswindows_init_frame_1):
7170         * frame-msw.c (mswindows_enable_frame):
7171         * frame-msw.c (error_frame_unsizable):
7172         * frame-msw.c (msprinter_init_frame_1):
7173         * frame-msw.c (msprinter_init_frame_3):
7174         * frame-msw.c (console_type_create_frame_mswindows):
7175         (2).
7176         implement new enable/disable frame methods.
7177
7178         * frame-x.c:
7179         * frame-x.c (x_enable_frame):
7180         * frame-x.c (console_type_create_frame_x):
7181         implement new enable/disable frame methods.
7182
7183         * frame.c:
7184         * frame.c (Fdisable_frame):
7185         * frame.c (syms_of_frame):
7186         * frame.h (struct frame):
7187         implement new enable/disable frame methods/functions.
7188
7189         * general-slots.h:
7190         add initial-focus.
7191
7192         * glyphs-msw.c (mswindows_widget_instantiate):
7193         comment that initial-focus should be implemented.
7194
7195         * glyphs-widget.c:
7196         * glyphs-widget.c (check_valid_instantiator):
7197         * glyphs-widget.c (check_valid_orientation):
7198         * glyphs-widget.c (check_valid_tab_orientation):
7199         * glyphs-widget.c (check_valid_justification):
7200         * glyphs-widget.c (check_valid_border):
7201         * glyphs-widget.c (check_valid_callback):
7202         * glyphs-widget.c (check_valid_int_or_function):
7203         * glyphs-widget.c (check_valid_string_or_vector):
7204         * glyphs-widget.c (check_valid_item_list_1):
7205         * glyphs-widget.c (widget_validate):
7206         * glyphs-widget.c (combo_box_validate):
7207         * glyphs-widget.c (widget_instantiate):
7208         * glyphs-widget.c (syms_of_glyphs_widget):
7209         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
7210         * glyphs-widget.c (image_instantiator_combo_box):
7211         * glyphs-widget.c (image_instantiator_scrollbar):
7212         * glyphs-widget.c (image_instantiator_tab_control):
7213         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
7214         (2).
7215         support (unimplemented) keyword initial-focus.
7216         reindent long macros.
7217
7218         * glyphs-x.c (x_redisplay_widget):
7219         * glyphs-x.c (x_button_instantiate):
7220         * glyphs-x.c (x_button_redisplay):
7221         * glyphs-x.c (x_progress_gauge_instantiate):
7222         * glyphs-x.c (x_edit_field_instantiate):
7223         * glyphs-x.c (x_combo_box_instantiate):
7224         * glyphs-x.c (x_tab_control_instantiate):
7225         * glyphs-x.c (x_label_instantiate):
7226         * gui-x.c:
7227         * gui-x.c (button_item_to_widget_value):
7228         * gui-x.c (gui_items_to_widget_values_1):
7229         * gui-x.c (gui_item_children_to_widget_values):
7230         * gui-x.c (gui_items_to_widget_values):
7231         * gui-x.h:
7232         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7233         add new flag to gui-parsing routines to indicate whether
7234         accelerator specs should be supported.
7235
7236         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
7237
7238         * glyphs.h (struct Lisp_Image_Instance):
7239         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
7240         add initial-focus flag.
7241
7242         * gui.c:
7243         * gui.c (syms_of_gui):
7244         * gui.c (vars_of_gui):
7245         clean up menu-no-selection-hook.
7246
7247         * gui.h:
7248         support delete-dialog-box-hook.
7249
7250         * lread.c (Fload_internal):
7251         * lread.c (locate_file_in_directory_mapper):
7252         (1).
7253
7254         * lrecord.h:
7255         * lrecord.h (struct toolbar_button):
7256         * lrecord.h (syms_of_toolbar):
7257         document how to create a new object.
7258
7259         * menubar-msw.c (mswindows_char_is_accelerator):
7260         may be called on frames w/o menus.
7261
7262         * menubar.c (vars_of_menubar):
7263         clean up :filter docs.
7264
7265         * nt.c (readdir):
7266         * ntproc.c:
7267         (1).
7268
7269         * process-nt.c:
7270         * process-nt.c (validate_signal_number):
7271         * process-nt.c (signal_cannot_launch):
7272         * process-nt.c (nt_create_process):
7273         * process-nt.c (nt_send_process):
7274         * process-nt.c (nt_kill_child_process):
7275         * process-nt.c (nt_open_network_stream):
7276         * process-nt.c (syms_of_process_nt):
7277         (2).
7278         delete quote-handling.  call new lisp code that does it better.
7279
7280         * process-unix.c (connect_to_file_descriptor):
7281         * process-unix.c (allocate_pty):
7282         * process-unix.c (unix_send_process):
7283         * process-unix.c (unix_kill_child_process):
7284         * process-unix.c (unix_open_network_stream):
7285         * process-unix.c (unix_open_multicast_group):
7286         (1). (2).
7287
7288         * process.c:
7289         * process.c (Fstart_process_internal):
7290         (2).  need to canonicalize process path even if absolute.
7291
7292         * select-msw.c (symbol_to_ms_cf):
7293         * select-msw.c (ms_cf_to_symbol):
7294         * select-msw.c (cf_is_autofreed):
7295         * select-msw.c (mswindows_destroy_selection):
7296         * select.c:
7297         * select.c (syms_of_select):
7298         * select.h:
7299         support dibv5, fix bugs. (from Mike Alexander)
7300
7301         * select.c (Fget_selection_internal):
7302         * select.c (select_convert_out):
7303
7304         * sysdep.c:
7305         * sysdep.c (xemacs_stat):
7306         renamed.
7307
7308         * sysdep.c (mkdir):
7309         * sysdep.c (rmdir):
7310         but keep original stat() here because we provide encapsulation
7311         around these funs.
7312
7313         * sysfile.h:
7314         * sysfile.h (fstat):
7315         remove stat garbage.
7316
7317         * syswindows.h:
7318         fix X/MSW conflict.
7319         don't include tchar.h.  it's inappropriate because it makes
7320         compile-time distinctions when we want runtime distinctions.
7321         (we provide our own tchar replacements)
7322
7323         * toolbar.c:
7324         use default object printer for toolbar-button.
7325
7326         * unexcw.c:
7327         make sure we don't encapsulate.
7328
7329         * window.c (vars_of_window):
7330         emphasize that temp-buffer-show-hook is obsolete.
7331
7332 2000-08-05  Martin Buchholz  <martin@xemacs.org>
7333
7334         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
7335         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
7336
7337         * events.c (Fevent_timestamp_lessp):
7338         Not 64-bit clean.  Use EMACS_INT, not int.
7339
7340 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
7341
7342         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
7343         unsigned int and changed the last enum to
7344         lrecord_type_last_built_in_type.
7345         (lrecord_implementations_table): changed prototype to know how
7346         long the array is supposed to be.
7347         (lrecord_type_count): new unsigned int to keep track of the
7348         current number of lisp lrecord types.
7349         (DEFINE_EXTERNAL_LRECORD):
7350         (DECLARE_EXTERNAL_LRECORD): Added these two for external
7351         dynamic-modules to declare new lisp types. They are the same
7352         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
7353         int for each new type, and increment lrecord_type_count by 1.
7354
7355         * alloc.c (lrecord_implementations_table): Changed to reference
7356         lrecord_type_last_built_in_type for the size of the array.
7357         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
7358
7359 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
7360
7361         * glyphs.h (check_valid_item_list): Renamed from
7362         check_valid_item_list_1.
7363
7364 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
7365
7366         * select.c (Qselect_coerce): New.
7367         * select.c (Vselection_coercion_alist): New.
7368         * select.c (syms_of_select): Declare.
7369         * select.c (get-selection-internal): Use it.
7370         Use the new select-coerce functionality.
7371
7372         * select.c (select_coerce): New.
7373         * select.h (select_coerce): Declare.
7374         New function to coerce one type of data into another.
7375
7376 2000-08-03  Martin Buchholz  <martin@xemacs.org>
7377
7378         * callproc.c (Fcall_process_internal):
7379         (Fcall_process_internal):
7380         * process-unix.c (unix_create_process):
7381         Save and restore the value of errno, so that error messages are accurate.
7382
7383 2000-08-01  Martin Buchholz  <martin@xemacs.org>
7384
7385         * elhash.c (print_hash_table):
7386         Fix printing of hash tables to also use `key-and-value' instead of `t'.
7387         Prettify docstrings and indentation.
7388
7389 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7390
7391         * window.c (Fwindow_pixel_edges): Subtract frame border and
7392         gutter size.
7393
7394 2000-07-31  Andy Piper  <andy@xemacs.org>
7395
7396         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
7397         will acknowledge the change.
7398
7399         * glyphs.h: declare tab_control_order_only_changed.
7400
7401         * glyphs-x.c (x_tab_control_redisplay): use
7402         tab_control_order_only_changed.
7403
7404         * glyphs-widget.c (tab_control_order_only_changed): new function.
7405
7406         * glyphs-msw.c (mswindows_tab_control_redisplay): use
7407         tab_control_order_only_changed.
7408
7409         * gui.c (gui_item_equal_sans_selected): new function.
7410         (gui_item_equal): use it.
7411
7412         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
7413         :properties in favor of :items..
7414
7415         * glyphs-widget.c (check_valid_item_list): rename from
7416         check_valid_item_list_1.
7417         (check_valid_item_list_1): renamed.
7418         (combo_box_validate): deprecate :properties in favor of :items.
7419         (widget_instantiate): ditto.
7420         (tab_control_update): ditto.
7421         (image_instantiator_combo_box): ditto.
7422         (image_instantiator_tree_view): ditto.
7423         (image_instantiator_tab_control): ditto.
7424         (layout_post_instantiate): remove dead code.
7425
7426         * print.c (debug_print_no_newline): only write to debugger if in
7427         WIN32_NATIVE.
7428
7429         * elhash.c (Fmake_hash_table): update doc string.
7430
7431         * event-msw.c (mswindows_wnd_proc): don't allow processing of
7432         messages whilst in GC. This at least stops XEmacs crashing but has
7433         the potential for wierd behaviour.
7434
7435 2000-07-31  Martin Buchholz  <martin@xemacs.org>
7436
7437         * config.h.in:
7438         Make existence of s&m files optional.
7439
7440         * s/bsd386.h: Remove HAVE_GETLOADAVG.
7441         * s/freebsd.h: Remove HAVE_GETLOADAVG.
7442         * s/gnu.h: Remove HAVE_GETLOADAVG.
7443         * s/netbsd.h: Remove HAVE_GETLOADAVG.
7444         * s/sol2.h: Remove HAVE_GETLOADAVG.
7445         * lisp.h: Remove getloadavg() declaration.
7446         * fns.c:
7447         Include <sys/loadavg.h> if available.
7448         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
7449         * config.h.in:  Group together getloadavg()-related macros.
7450         Use only configure-time tests to detect getloadavg().
7451
7452 2000-07-30  Martin Buchholz  <martin@xemacs.org>
7453
7454         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
7455
7456 2000-07-25  Andy Piper  <andy@xemacs.org>
7457
7458         * syswindows.h: add tchar.h for native builds.
7459
7460         * frame.c (syms_of_frame): remove set-glyph-image.
7461
7462         * general-slots.h: add Qset_glyph_image.
7463
7464         * glyphs-widget.c (layout_update): add domain arg to
7465         set-glyph-image.
7466         (syms_of_glyphs_widget): remove set-glyph-image.
7467
7468 2000-07-23  Ben Wing  <ben@xemacs.org>
7469
7470         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
7471         Vpopup_frame_list.
7472
7473 2000-07-22  Andy Piper  <andy@xemacs.org>
7474
7475         * symsinit.h: add syms_of_win32().
7476
7477         * gui-msw.c (syms_of_gui_mswindows): remove
7478         Fmswindows_shell_execute.
7479         (Fmswindows_shell_execute): moved to win32.c.
7480
7481         * emacs.c (main_1): add syms_of_win32 ().
7482
7483         * win32.c (init_potentially_nonexistent_functions): rewrite in
7484         compiler-friendly terms.
7485         (Fmswindows_shell_execute): move here from gui-msw.c.
7486         (syms_of_win32): new.
7487
7488         * device-msw.c (Fmswindows_printer_list): clean up args to
7489         EnumPrinters.
7490         Don't include tchar under cygwin or mingw.
7491         (msprinter_default_printer): make cygwin-friendly.
7492
7493 2000-07-21  Andy Piper  <andy@xemacs.org>
7494
7495         * glyphs-widget.c (image_instantiator_tree_view): use tab
7496         control's update function.
7497         (layout_property): new function. Retrieve items.
7498
7499         * glyphs-msw.c (mswindows_tree_view_redisplay): new
7500         function. Re-populate the tree view from the pending items.
7501
7502         * glyphs.c (instantiate_image_instantiator): Make sure the domain
7503         is designated the parent if the domain is an image instance. This
7504         is needed so that dirtiness can be cascade up the hierarchy and
7505         thus for layout children to be redisplayed correctly.
7506         (allocate_image_instance): rename glyph -> parent.
7507
7508         * redisplay.h: change redisplay_output_layout signature.
7509
7510         * redisplay-msw.c (mswindows_output_display_block): use domain
7511         arg.
7512
7513         * redisplay-x.c (x_output_display_block): use domain arg.
7514
7515 2000-07-10  Andy Piper  <andy@xemacs.org>
7516
7517         * window.c (Fset_window_configuration): add comment.
7518
7519         * redisplay-output.c (compare_runes):
7520         (redisplay_output_subwindow): redisplay rather than update subwindow.
7521         (redisplay_output_layout): ditto.
7522
7523         * redisplay-msw.c (mswindows_frame_output_end):
7524         (mswindows_frame_output_end): make defer window pos optional.
7525
7526         * lisp.h: add Flast.
7527
7528         * glyphs.h (struct image_instantiator_methods): add dest_mask top
7529         normalize method. Change update method to be for changed
7530         instantiators. Add redisplay method. Change signature of layout
7531         method.
7532         (struct Lisp_Image_Instance): add instantiator.
7533         (IMAGE_INSTANCE_INSTANTIATOR): new.
7534         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
7535         (XIMAGE_INSTANCE_INSTANTIATOR): new.
7536         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
7537
7538         * glyphs.c:
7539         (find_instantiator_differences): new function.
7540         (Fset_instantiator_property): new convenience function.
7541         (check_image_instance_structure): strictly check for vector
7542         instantiators.
7543         (normalize_image_instantiator): make non-static.
7544         (instantiate_image_instantiator): pass on dest_mask and use new
7545         signatures for image_instance_layout and friends.
7546         (mark_image_instance): mark the instantiator. Mark the subwindow
7547         face not the widget face.
7548         (image_instance_equal): add instantiator.
7549         (image_instance_hash): ditto.
7550         (allocate_image_instance): ditto.
7551         (Fset_image_instance_property): removed.
7552         (Fimage_instance_file_name): ditto.
7553         (Fcolorize_image_instance): ditto.
7554         (image_instance_layout): add offsets to be set.
7555         (update_image_instance): new function. update an image instance
7556         from its changed instantiator.
7557         (inherit_normalize): add dest_mask.
7558         (xbm_normalize): ditto.
7559         (xface_normalize): ditto.
7560         (xpm_normalize): ditto.
7561         (text_update): set_property -> update.
7562         (image_instantiate): use the glyph identity as a hash key, not the
7563         instantiator.
7564         (glyph_width): use new image_instance_layout signature.
7565         (glyph_ascent): ditto.
7566         (glyph_descent): ditto.
7567         (glyph_height): ditto.
7568         (glyph_query_geometry): ressurrect.
7569         (glyph_layout): ditto.
7570         (redisplay_subwindow): update -> redisplay.
7571         (syms_of_glyphs): add Fset_instantiator_property.
7572         (image_instantiator_format_create): set_property -> update.
7573
7574         * glyphs-x.c:
7575         (autodetect_normalize): add dest_maks to signature.
7576         (x_redisplay_subwindow): update -> redisplay.
7577         (x_redisplay_widget): ditto.
7578         (x_button_redisplay): ditto.
7579         (x_progress_gauge_redisplay): ditto.
7580         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
7581         stacking order.
7582         (console_type_create_glyphs_x): update -> redisplay.
7583         (image_instantiator_format_create_glyphs_x): ditto.
7584
7585         * glyphs-widget.c:
7586         (check_valid_instantiator): disallow glyphs in the instantiator,
7587         they must now be vectors.
7588         (check_valid_instantiator_list): ditto.
7589         (glyph_instantiator_to_glyph): use internal symbol rather than
7590         intern.
7591         (widget_update): renamed from widget_set_property. Call cascaded
7592         update methods.
7593         (redisplay_widget): renamed from update_widget.
7594         (widget_layout): image_instance_layout now takes position as well
7595         as size.
7596         (widget_normalize): ditto.
7597         (widget_instantiate): ditto.
7598         (tab_control_query_geometry) ditto.:
7599         (tab_control_update): renamed from tab_control_set_property.
7600         (progress_gauge_update): set_property -> update.
7601         (layout_normalize): rewrite so that child instantiators are
7602         normalized also.
7603         (layout_update): new function. Create glyphs from the normalized
7604         children and cope with any other layout keywords. We do not
7605         instantiate children here that will be take care of by
7606         redisplay_output_layout.
7607         (layout_instantiate): call layout_update and not much else.
7608         (layout_post_instantiate): not sure whether this is needed
7609         anymore.
7610         (layout_query_geometry): query glyph geometry rather than
7611         image_instance geometry.
7612         (layout_layout): set offsets from pass in parameters. Use glyph
7613         geometry and layout functions rather than image instance ones.
7614         (native_layout_layout): ditto.
7615         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
7616         (image_instantiator_widget): set_property -> update.
7617         (image_instantiator_buttons): ditto.
7618         (image_instantiator_progress_guage): ditto.
7619         (image_instantiator_tab_control): ditto.
7620         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
7621         (image_instantiator_layout): add update method.
7622
7623         * glyphs-msw.c (bmp_normalize):
7624         (mswindows_resource_normalize): add dest_mask so that it can be
7625         proprogated by layout_normalize.
7626         (begin_defer_window_pos): make optional because it may not be the
7627         right thing to do and it introduces differences with X.
7628         (mswindows_unmap_subwindow): ditto.
7629         (mswindows_map_subwindow): ditto.
7630         (mswindows_redisplay_subwindow): renamed from
7631         mswindows_update_subwindow.
7632         (mswindows_redisplay_widget): ditto.
7633         (mswindows_button_redisplay): renamed from
7634         mswindows_button_update. Update is now what the instantiation
7635         function does for a changed instantiator.
7636         (mswindows_progress_gauge_instantiate): set the progress value
7637         here if appropriate.
7638         (mswindows_tab_control_redisplay): cope with re-ordering of the
7639         members of the tab widget by simply selecting the new top
7640         widget. This makes things appear ok if you click on a tab.
7641         (mswindows_combo_box_instantiate): image_instance_layout now takes
7642         position as well as size.
7643         (mswindows_progress_gauge_redisplay): renamed from
7644         mswindows_progress_gauge_update.
7645         (console_type_create_glyphs_mswindows): fix update -> redisplay.
7646         (image_instantiator_format_create_glyphs_mswindows): ditto.
7647
7648         * glyphs-eimage.c (jpeg_normalize):
7649         (gif_normalize):
7650         (png_normalize):
7651         (tiff_normalize): add dest_mask so that it can be proprogated by
7652         layout_normalize.
7653
7654         * elhash.c:
7655         (print_hash_table):
7656         (hash_table_weakness_validate):
7657         (decode_hash_table_weakness):
7658         (Fhash_table_weakness):
7659         (Fhash_table_type):
7660         (syms_of_elhash): use Ben's naming scheme for hashtable types..
7661
7662         * console.h (struct console_methods): move update_* to
7663         redisplay_*.
7664
7665 2000-07-20  Ben Wing  <ben@xemacs.org>
7666
7667         * *.[ch] (XSETOBJ): remove unused middle argument.
7668         lisp-disunion.h: correct wrap_object() to one argument.
7669
7670 2000-07-15  Ben Wing  <ben@xemacs.org>
7671
7672         * s/cygwin32.h:
7673         * s/cygwin32.h (CYGWIN_CONV_PATH):
7674         Add missing logb prototype for v1.1.
7675         Use post-b20 names and alias to pre-b20 names when pre-b20.
7676
7677         * s/windowsnt.h: [5].
7678
7679 2000-07-15  Ben Wing  <ben@xemacs.org>
7680
7681         * Makefile.in.in (x_objs):
7682         * Makefile.in.in (sheap_objs):
7683         * Makefile.in.in (objs):
7684         added win32.o, cosmetic cleanups.
7685
7686         * alloc.c (Fmake_byte_code):
7687         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
7688         etc. macros which declare their own args now.
7689
7690         * alloc.c (syms_of_alloc):
7691         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
7692
7693         * buffer.c:
7694         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
7695
7696         * buffer.c (Fget_file_buffer):
7697         Fixed GCPRO problem.
7698
7699         * buffer.c (get_truename_buffer):
7700         Fixed comment about GC checking.
7701
7702         * buffer.c (syms_of_buffer):
7703         Undeclared those dedicated frame funs.
7704         [2].
7705
7706         * buffer.h:
7707         Define convenience macros for internal/external conversions.
7708         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
7709         and Qenvironment_variable_encoding for cleaner code.
7710
7711         * bufslots.h:
7712         Remove dedicated-frame; in lisp.
7713
7714         * bytecode.c (funcall_compiled_function):
7715         [1].
7716
7717         * bytecode.c (syms_of_bytecode):
7718         [2].
7719
7720         * console-msw.c:
7721         * console-msw.c (mswindows_show_console): Rewrote.
7722
7723         * console-msw.c (Fmswindows_debugging_output): New.
7724         Sends to OutputDebugString (special MSWin debugger interface).
7725
7726         * console-msw.c (Fmswindows_message_box):
7727         Fixed stupid bugs so it works when called from kill-emacs.
7728
7729         * console-msw.c (syms_of_console_mswindows):
7730         Declare Fmswindows_debugging_output.
7731
7732         * console-msw.h:
7733         New MSWin prototypes.
7734
7735         * console-msw.h (struct mswindows_frame):
7736         New entry last-click-mods for improved button-modifier support.
7737
7738         * console-msw.h (FRAME_MSWINDOWS_POPUP):
7739         New struct entry `popup' with corresponding accessor.
7740
7741         * console-x.c:
7742         * console-x.c (split_up_display_spec):
7743         * console-x.c (get_display_arg_connection):
7744         * console-x.c (x_semi_canonicalize_console_connection):
7745         * console-x.c (x_canonicalize_device_connection):
7746         [[[6]]]: Change char to more specific type.
7747         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
7748
7749         * console-x.c (x_semi_canonicalize_console_connection):
7750         * console-x.c (x_canonicalize_device_connection):
7751         [[[9]]]: Fix up error signalling to use new structured error system.
7752
7753         * console-x.h:
7754         [[[4]]]: Define codesys aliases:
7755         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7756         Qx_color_name_encoding, Qx_display_name_encoding.
7757
7758         * console.h (struct console_methods):
7759         New method make_dialog_box_internal supersedes older
7760         popup_dialog_box method.
7761
7762         * data.c:
7763         Define many new errors, part of new structured errors.
7764
7765         * data.c (init_errors_once_early):
7766         * data.c (syms_of_data):
7767         [2].
7768
7769         * device-msw.c (mswindows_init_device):
7770         [[[5]]]: Cleanup to support NT 3.51.
7771
7772         * device-msw.c (decode_devmode): Cleanup.
7773
7774         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7775         * device-msw.c (mswindows_handle_print_dialog_box):
7776         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7777         * device-msw.c (syms_of_device_mswindows):
7778         Delete the dialog box primitives recently introduced by Kirill and
7779         instead interface to general dialog box interface.
7780
7781         * device-x.c:
7782         * device-x.c (compute_x_app_name):
7783         * device-x.c (x_init_device):
7784         * device-x.c (Fx_valid_keysym_name_p):
7785         * device-x.c (Fx_set_font_path):
7786         [6].
7787         [7].
7788
7789         * device.h (wrap_device): New.
7790         First of its kind; meant to replace XSETDEVICE.
7791
7792         * dialog-msw.c: Many file-dialog symbols.
7793
7794         * dialog-msw.c (mswindows_register_popup_frame): New.
7795         * dialog-msw.c (mswindows_is_dialog_msg): New.
7796         For supporting kbd traversal in dialog boxes.
7797
7798         * dialog-msw.c (dialog_proc):
7799         Support hitting ESC in dialogs.
7800
7801         * dialog-msw.c (struct):
7802         Common dialog box errors.
7803
7804         * dialog-msw.c (handle_file_dialog_box): New.
7805         Add file dialog code.
7806
7807         * dialog-msw.c (handle_question_dialog_box):
7808         Redo existing code to support new question dialog syntax.
7809
7810         * dialog-msw.c (console_type_create_dialog_mswindows):
7811         We support new dialog console method.
7812
7813         * dialog-msw.c (syms_of_dialog_mswindows):
7814         * dialog-msw.c (vars_of_dialog_mswindows):
7815         New file dialog symbols, vars.
7816
7817         * dialog-x.c:
7818         * dialog-x.c (maybe_run_dbox_text_callback):
7819         * dialog-x.c (dbox_descriptor_to_widget_value):
7820         * dialog-x.c (x_make_dialog_box_internal):
7821         * dialog-x.c (console_type_create_dialog_x):
7822         Mule-ize entire file.
7823         Redo to support question dialog syntax.
7824         [6].
7825
7826         * dialog.c:
7827         * dialog.c (Fmake_dialog_box_internal):
7828         * dialog.c (syms_of_dialog):
7829         Kill old popup-dialog-box, replace with new primitive.
7830         Just call device method or signal error.
7831
7832         * eldap.c (Fldap_open):
7833         * eldap.c (Fldap_search_basic):
7834         * eldap.c (Fldap_add):
7835         * eldap.c (Fldap_modify):
7836         [1].
7837         [7].
7838
7839         * emacs.c:
7840         * emacs.c (make_arg_list_1):
7841         * emacs.c (make_arg_list):
7842         Mule-ize call to dll_init().
7843         [6].
7844         [8].
7845
7846         * emacs.c (make_argc_argv):
7847         * emacs.c (free_argc_argv):
7848         * emacs.c (init_cmdargs):
7849         * emacs.c (main_1):
7850         * emacs.c (Fkill_emacs):
7851         * emacs.c (Fdump_emacs):
7852         Update comments about what can be used in syms_* etc.
7853         Call init_win32() when necessary.
7854         Fix up MS Win dialog box in kill-buffer to actually work right.
7855         [7].
7856
7857         * eval.c:
7858         * eval.c (For):
7859         * eval.c (Fand):
7860         * eval.c (Fprogn):
7861         * eval.c (Fprog1):
7862         * eval.c (Fprog2):
7863         * eval.c (FletX):
7864         * eval.c (Flet):
7865         * eval.c (condition_case_3):
7866         * eval.c (Feval):
7867         * eval.c (function_argcount):
7868         * eval.c (funcall_lambda):
7869         [1].
7870
7871         * eval.c (type_error): New.
7872         * eval.c (maybe_type_error): New.
7873         * eval.c (continuable_type_error): New.
7874         * eval.c (maybe_continuable_type_error): New.
7875         * eval.c (type_error_with_frob): New.
7876         * eval.c (maybe_type_error_with_frob): New.
7877         * eval.c (continuable_type_error_with_frob): New.
7878         * eval.c (maybe_continuable_type_error_with_frob): New.
7879         New functions for use with structured errors.
7880
7881         * event-Xt.c:
7882         * event-Xt.c (x_event_to_emacs_event):
7883         Buttons are now modifiers too.
7884
7885         * event-Xt.c (emacs_Xt_current_event_timestamp):
7886         Implement new event method.
7887         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7888
7889         * event-msw.c:
7890         * event-msw.c (ntpipe_shove_writer): [5].
7891         * event-msw.c (mswindows_enqueue_mouse_button_event):
7892         * event-msw.c (mswindows_drain_windows_queue):
7893         * event-msw.c (mswindows_wnd_proc): [7].
7894         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7895         * event-msw.c (mswindows_modifier_state):
7896         Throughout: support new button modifiers.
7897
7898         * event-msw.c (emacs_mswindows_current_event_timestamp):
7899         Implement new event method.
7900         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7901
7902         * event-stream.c:
7903         * event-stream.c (event_stream_current_event_timestamp): New.
7904         * event-stream.c (maybe_kbd_translate): New functionality.
7905         * event-stream.c (vars_of_event_stream):
7906         Document new kbd-translate-table functionality.
7907
7908         * event-stream.c (Fcurrent_event_timestamp): New.
7909         New primitive for use in fabricated events.
7910         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7911
7912         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7913
7914         * events.c:
7915         * events.c (Fmake_event):
7916         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7917         [1].
7918         [9].
7919
7920         * events.c (format_event_object): fix gcc warnings.
7921
7922         * events.c (Fevent_timestamp): Document new primitives.
7923
7924         * events.c (TIMESTAMP_HALFSPACE): New.
7925
7926         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7927         comparing timestamps correctly (half-space algorithm).
7928
7929         * events.c (Fevent_modifier_bits): Doc fix.
7930
7931         * events.c (Fevent_modifiers): Major doc addition.
7932         * events.c (event_x_y_pixel_internal): Typo fix.
7933         * events.c (syms_of_events): Declare new primitives.
7934
7935         * events.h:
7936         Update long comment for button modifiers, timestamps.
7937
7938         * events.h (struct event_stream):
7939         New current_event_timestamp method.
7940
7941         * extents.c:
7942         * extents.c (extent_in_region_p):
7943         * extents.c (decode_extent):
7944         * extents.c (Fset_extent_parent):
7945         * extents.c (decode_map_extents_flags):
7946         Fix gcc warnings.
7947         [9].
7948
7949         * extents.c (struct extent_at_arg):
7950         * extents.c (decode_extent_at_flag):
7951         * extents.c (extent_at_mapper):
7952         * extents.c (extent_at_bytind):
7953         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7954         * extents.c (Fextents_at): New primitive. [9].
7955         * extents.c (symbol_to_glyph_layout): [9].
7956         Support new primitive `extents-at'.
7957
7958
7959         * extents.c (get_text_property_bytind):
7960         extent_at_bytind has another arg.
7961         [9].
7962
7963         * extents.c (syms_of_extents): New primitive.
7964
7965         * file-coding.c (Fmake_coding_system): [1].
7966         * file-coding.c (subsidiary_coding_system): fix gcc warning
7967         * file-coding.c (syms_of_file_coding): [2].
7968
7969         * fileio.c (Fexpand_file_name):
7970         * fileio.c (Fsysnetunam):
7971         * fileio.c (Ffile_exists_p):
7972         * fileio.c (Ffile_executable_p):
7973         * fileio.c (Fverify_visited_file_modtime):
7974         Clean up GCPROing.
7975
7976         * fileio.c (syms_of_fileio): [2].
7977
7978         * filelock.c (lock_file_1):
7979         * filelock.c (current_lock_owner):
7980         * filelock.c (lock_if_free):
7981         * filelock.c (lock_file):
7982         * filelock.c (unlock_file):
7983         Clean up GCPROing.
7984
7985         * fns.c (concat): Fix gcc warning.
7986
7987         * fns.c (Fmember):
7988         * fns.c (Fold_member):
7989         * fns.c (Fmemq):
7990         * fns.c (Fold_memq):
7991         * fns.c (memq_no_quit):
7992         * fns.c (Fassoc):
7993         * fns.c (Fold_assoc):
7994         * fns.c (Fassq):
7995         * fns.c (Fold_assq):
7996         * fns.c (assq_no_quit):
7997         * fns.c (Frassoc):
7998         * fns.c (Fold_rassoc):
7999         * fns.c (Frassq):
8000         * fns.c (Fold_rassq):
8001         * fns.c (rassq_no_quit):
8002         * fns.c (Fdelete):
8003         * fns.c (Fold_delete):
8004         * fns.c (Fdelq):
8005         * fns.c (Fold_delq):
8006         * fns.c (delq_no_quit):
8007         * fns.c (Fremassoc):
8008         * fns.c (Fremassq):
8009         * fns.c (remassq_no_quit):
8010         * fns.c (Fremrassoc):
8011         * fns.c (Fremrassq):
8012         * fns.c (remrassq_no_quit):
8013         * fns.c (Freverse):
8014         * fns.c (mapcar1):
8015         [1].
8016
8017         * frame-msw.c (mswindows_init_frame_1):
8018         * frame-msw.c (mswindows_delete_frame):
8019         Register popups with dialog code so keyboard traversing works.
8020
8021         * frame-tty.c (tty_raise_frame_no_select): [1].
8022
8023         * frame-x.c:
8024         * frame-x.c (x_set_frame_text_value):
8025         * frame-x.c (x_set_frame_properties):
8026         * frame-x.c (x_create_widgets):
8027         [7].
8028
8029         * frame.c:
8030         * frame.c (Fmouse_pixel_position): Minor doc fixes.
8031
8032         * frame.h (wrap_frame): New.
8033         Macro like wrap_device.
8034
8035         * general.c:
8036         * general.c (SYMBOL):
8037         * general.c (syms_of_general):
8038         Major reorg.  This is now just a wrapper and symbols themselves
8039         are listed in general-slots.h.
8040
8041         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
8042         * glyphs-msw.c (mswindows_resource_instantiate): [5].
8043
8044         * glyphs-msw.c (mswindows_native_layout_instantiate):
8045         Add DS_CONTROL so keyboard traversal will work.
8046
8047         * glyphs-widget.c:
8048         * glyphs-widget.c (syms_of_glyphs_widget):
8049         Move some symbols to general-slots.h.
8050
8051         * glyphs-x.c:
8052         * glyphs-x.c (xbm_instantiate_1):
8053         * glyphs-x.c (x_xbm_instantiate):
8054         * glyphs-x.c (x_xface_instantiate):
8055         * glyphs-x.c (autodetect_instantiate):
8056         * glyphs-x.c (cursor_font_instantiate):
8057         * glyphs-x.c (x_update_widget):
8058         * glyphs-x.c (x_widget_instantiate):
8059         * glyphs.c (bitmap_to_lisp_data):
8060         * glyphs.c (pixmap_to_lisp_data):
8061         [7].
8062
8063         * glyphs.c (syms_of_glyphs):
8064         [2].
8065
8066         * gui-x.c:
8067         * gui-x.c (print_widget_value):
8068         * gui-x.c (menu_separator_style_and_to_external):
8069         * gui-x.c (add_accel_and_to_external):
8070         * gui-x.c (button_item_to_widget_value):
8071         * gui-x.c (gui_items_to_widget_values_1):
8072         * gui-x.c (gui_items_to_widget_values):
8073         * gui-x.c (syms_of_gui_x):
8074         * gui-x.c (vars_of_gui_x):
8075         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
8076         [9].
8077
8078         * gui-x.h:
8079         Muleize, prototype changes matching gui-x.c.
8080
8081         * gui.c:
8082         * gui.c (separator_string_p):
8083         * gui.c (gui_item_add_keyval_pair):
8084         * gui.c (make_gui_item_from_keywords_internal):
8085         * gui.c (signal_too_long_error):
8086         * gui.c (parse_gui_item_tree_item):
8087         * gui.c (syms_of_gui):
8088         * gui.c (vars_of_gui):
8089         * gui.h:
8090         menu-no-selection-hook moved here (used by MSWin).
8091         Move some symbols to general-slots.h.
8092         [6].
8093         [9].
8094
8095         * insdel.c (get_buffer_pos_char):
8096         * insdel.c (get_buffer_range_char):
8097         Add GC comments.
8098
8099         * keymap.c (keymap_lookup_directly):
8100         * keymap.c (keymap_store):
8101         * keymap.c (ensure_meta_prefix_char_keymapp):
8102         * keymap.c (describe_map):
8103         * keymap.h:
8104         Support new button modifiers.
8105
8106         * lisp-disunion.h (wrap_object):
8107         * lisp-disunion.h (XSETOBJ):
8108         Rename make_obj to wrap_object.
8109
8110         * lisp-union.h:
8111         * lisp-union.h (make_int):
8112         * lisp-union.h (make_char):
8113         Support wrap_object.
8114
8115         * lisp.h:
8116         * lisp.h (LIST_LOOP):
8117         * lisp.h (EXTERNAL_LIST_LOOP):
8118         * lisp.h (LIST_LOOP_2):
8119         * lisp.h (EXTERNAL_LIST_LOOP_1):
8120         * lisp.h (EXTERNAL_LIST_LOOP_2):
8121         * lisp.h (EXTERNAL_LIST_LOOP_3):
8122         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
8123         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8124         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
8125         * lisp.h (EXTERNAL_ALIST_LOOP_5):
8126         * lisp.h (EXTERNAL_ALIST_LOOP_6):
8127         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
8128         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
8129         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
8130         * lisp.h (struct Lisp_Symbol):
8131         * lisp.h (maybe_continuable_error_with_frob):
8132         Fix up section comments.
8133         Add new types for char to indicate usage.
8134         Delete symbols auto-generated from general-slots.h.
8135         Add prototypes for structured error functions.
8136         Add long comments describing looping macros and change interface
8137         so that lvalues are automatically declared.
8138         Add NO_DECLARE macro in case callers want to declare lvalues
8139         themselves.
8140
8141         * lread.c (read_syntax_error):
8142         * lread.c (continuable_read_syntax_error):
8143         * lread.c (read_structure):
8144         * lread.c (sequence_reader):
8145         * lread.c (read_list_conser):
8146         * lread.c (read_compiled_function):
8147         Rename syntax_error and continuable_syntax_error to avoid clash
8148         with same-named structured error functions.
8149
8150         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8151         * menubar-msw.c (populate_menu_add_item):
8152         * menubar-msw.c (populate_or_checksum_helper):
8153         [5].
8154         [9].
8155
8156         * menubar-x.c:
8157         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8158         Mule-ize whole file.
8159
8160         * menubar.c (Fnormalize_menu_item_name): Add optimization.
8161
8162         * mule-charset.c (Fmake_charset):
8163         * mule-wnnfns.c (Fwnn_set_param):
8164         [1].
8165
8166         * ntproc.c (create_child):
8167         * ntproc.c (Fwin32_set_current_locale):
8168         Add comments portending doom.
8169
8170         * objects-msw.c:
8171         * objects-msw.c (old_font_enum_callback_2):
8172         * objects-msw.c (font_enum_callback_1):
8173         * objects-msw.c (mswindows_enumerate_fonts):
8174         [5].
8175
8176         * objects-x.c:
8177         * objects-x.c (allocate_nearest_color):
8178         * objects-x.c (x_parse_nearest_color):
8179         * objects-x.c (x_initialize_color_instance):
8180         * objects-x.c (x_print_color_instance):
8181         * objects-x.c (x_finalize_color_instance):
8182         * objects-x.c (x_valid_color_name_p):
8183         * objects-x.c (x_initialize_font_instance):
8184         * objects-x.c (x_print_font_instance):
8185         * objects-x.c (valid_x_font_name_p):
8186         * objects-x.c (truename_via_FONT_prop):
8187         * objects-x.c (truename_via_random_props):
8188         * objects-x.c (truename_via_XListFonts):
8189         * objects-x.c (x_font_truename):
8190         * objects-x.c (x_font_instance_truename):
8191         * objects-x.c (x_font_instance_properties):
8192         * objects-x.c (x_list_fonts):
8193         * objects-x.c (x_find_charset_font):
8194         Mule-ize entire file.
8195         [7].
8196
8197         * objects-x.h:
8198         Mule-verify.
8199
8200         * print.c:
8201         * print.c (std_handle_out_external):
8202         * print.c (debug_print_no_newline):
8203         * print.c (syms_of_print):
8204         Output to all debugger kinds in debug-print.
8205         Fix console-output code under MSWin to actually work.
8206
8207         * process-nt.c (send_signal):
8208         * process-nt.c (nt_create_process):
8209         Use newer Unicode macros.
8210
8211         * process-unix.c (unix_create_process):
8212         * process-unix.c (unix_canonicalize_host_name):
8213         * process-unix.c (unix_open_network_stream):
8214         [7].
8215
8216         * scrollbar-x.c:
8217         Mule-verify.
8218
8219         * search.c (syms_of_search):
8220         [2].
8221
8222         * select-msw.c (mswindows_destroy_selection):
8223         Use LIST_LOOP_2.
8224
8225         * select-x.c (symbol_to_x_atom):
8226         [7].
8227
8228         * select.c (syms_of_select):
8229         [2].
8230
8231         * sound.c (Fplay_sound_file):
8232         [7].
8233
8234         * specifier.c:
8235         * specifier.c (decode_specifier_type):
8236         * specifier.c (Fvalid_specifier_locale_type_p):
8237         * specifier.c (check_valid_locale_or_locale_type):
8238         * specifier.c (decode_locale):
8239         * specifier.c (decode_locale_type):
8240         * specifier.c (decode_locale_list):
8241         * specifier.c (check_valid_domain):
8242         * specifier.c (decode_specifier_tag_set):
8243         * specifier.c (Fcanonicalize_tag_set):
8244         * specifier.c (Fdefine_specifier_tag):
8245         * specifier.c (Fspecifier_tag_predicate):
8246         * specifier.c (check_valid_inst_list):
8247         * specifier.c (check_valid_spec_list):
8248         * specifier.c (decode_how_to_add_specification):
8249         * specifier.c (check_modifiable_specifier):
8250         * specifier.c (specifier_add_spec):
8251         * specifier.c (boolean_validate):
8252         * specifier.c (display_table_validate):
8253         [9].
8254
8255         * specifier.c (syms_of_specifier):
8256         Move some symbols to general-slots.h.
8257         [2].
8258
8259         * symbols.c:
8260         * symbols.c (Fmapatoms):
8261         * symbols.c (Fapropos_internal):
8262         Add GCPROs.
8263
8264         * symbols.c (set_default_buffer_slot_variable):
8265         * symbols.c (set_default_console_slot_variable):
8266         [1].
8267
8268         * symbols.c (defsymbol_massage_name_1):
8269         * symbols.c (defkeyword_massage_name):
8270         * symbols.c (deferror_1):
8271         * symbols.c (deferror):
8272         * symbols.c (deferror_massage_name_and_message):
8273         * symeval.h:
8274         * symeval.h (DEFSYMBOL):
8275         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
8276
8277         * symbols.c (syms_of_symbols):
8278         [2].
8279
8280         * symsinit.h:
8281         * symsinit.h (init_win32): New.
8282         Also new is syms_of_dialog_mswindows.
8283
8284         * syswindows.h:
8285         Add new Unicode macros, missing Cygwin wide-char functions,
8286         convenience conversion macros for Qmswindows_tstr, macros for
8287         encapsulating required MSWin <-> Cygwin filename conversions,
8288         prototype for dynamically-extracted (not in NT 3.51) functions.
8289
8290         * toolbar-x.c:
8291         Mule-verify.
8292
8293         * tooltalk.c (Fadd_tooltalk_message_arg):
8294         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
8295         * tooltalk.c (Fadd_tooltalk_pattern_arg):
8296         [7].
8297
8298         * tooltalk.c (syms_of_tooltalk):
8299         [2].
8300
8301         * unexnt.c:
8302         * unexnt.c (unexec):
8303         Fix up headers, declaration of unexec() to be more standard.
8304
8305 2000-07-20  Martin Buchholz  <martin@xemacs.org>
8306
8307         * offix.h: Revert change to guard macros - they're used in offix.c!
8308
8309 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8310
8311         * lisp.h: Defsubred Fdelete.
8312
8313         * console-msw.h:  (msprinter_default_printer): Added.
8314
8315         * console-msw.c (msprinter_canonicalize_console_connection):
8316         (msprinter_canonicalize_device_connection): Added.
8317
8318         * device-msw.c (msprinter_default_printer):
8319         (Fmswingows_get_default_printer):
8320         (signal_enum_priner_error):
8321         (Fmswingows_printer_list): Added.
8322
8323 2000-07-19  Martin Buchholz <martin@xemacs.org>
8324
8325         * XEmacs 21.2.35 is released.
8326
8327 2000-07-19  Martin Buchholz  <martin@xemacs.org>
8328
8329         * select-x.c (x_handle_selection_request):
8330         Text selected in xemacs and pasted into xterm failed to appear.
8331         Spelling fixes and cosmetic changes.
8332
8333 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8334
8335         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
8336         XEmacs frame (fix for doubling chars in dialog boxes).
8337
8338 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
8339
8340         * select.c (select_convert_in, select_convert_out):
8341         Don't call intern() every time.
8342
8343         * select.c (Qselect_convert_in, Qselect_convert_out): New.
8344         * select.c (vars_of_select): Initialise them.
8345
8346 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
8347
8348         * select.c (selection-coercible-types): New.
8349
8350         * select.c (own-selection-internal):
8351         * select.c (get-selection-internal):
8352         MULE bug fix - these should default to COMPOUND_TEXT and not
8353         STRING for MULE. I think.
8354
8355         * select.c (select_convert_out): Use selection-coercible-types
8356         to find types that we can attempt to perform coercions on.
8357
8358 2000-07-18  Martin Buchholz  <martin@xemacs.org>
8359
8360         * mule-wnnfns.c:
8361         * mule-canna.c:
8362         Add coding: cookie to identify encoding.
8363
8364         * mule-canna.c (CANNA_mode_keys): make static.
8365         Use proper prototypes, even for functions of no arguments.
8366         Remove external prototype for Fding().
8367
8368         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
8369
8370         * select.c (syms_of_select): Add missing DEFSUBR.
8371
8372 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
8373
8374         * select.c (get_selection_internal, own_selection_internal):
8375         Make the type default to STRING, rather than placing a nil type
8376         into Vselection_alist.
8377
8378 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
8379
8380         * gpmevent.c (tty_selection_exists_p):
8381         * gpmevent.c (tty_own_selection):
8382         Updated parameter lists.
8383
8384 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
8385
8386         * select.h (selection-alist): Removed declaration.
8387
8388         * select.h (get_local_selection):
8389         * select.c (get_local_selection):
8390         Made static.
8391
8392         * select.h (convert_selection): Removed declaration.
8393         * select.c (convert_selection): Removed.
8394         This function belongs in Lisp.
8395
8396         * select.h (select_convert_in): Declare.
8397         * select.h (select_convert_out): Declare.
8398         * select.c (select_convert_in): New.
8399         * select.c (select_convert_out): New.
8400         New conversion functions for other files to call.
8401
8402         * select.h (select_notify_buffer_kill): Declare.
8403         * select.c (select_notify_buffer_kill): New.
8404         New functions that get called from kill-buffer.
8405
8406         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
8407         X-specific lisp code.
8408
8409         * select.h: Declare some of the lisp-visible functions for
8410         external use.
8411
8412         * select.c (clean_local_selection_data): Removed. This was
8413         a disgusting function, and previously should have been in
8414         select-x.c in any case. The functionality is now provided
8415         in select-convert-from-integer (select.el).
8416
8417         * select.c (available-selection-types): Fixed stupidity where
8418         INTEGER and ATOM got added twice. Also add STRING when we see an
8419         extent.
8420
8421         * select.c (get-selection-internal): Removed symbol stripping. No
8422         longer causes conversion when data comes from the internal cache.
8423
8424         * select.c (syms_of_select): Added new functions.
8425
8426         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
8427         error checking - previously this called abort!
8428
8429         * select-x.c (x_own_selection): Changed comment.
8430
8431         * select-x.c (x_handle_selection_request): Use select_convert_out.
8432         Don't mess with selection-alist; it's an internal variable of select.c.
8433
8434         * select-x.c (x_get_foreign_selection): Use select_convert_in.
8435
8436         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
8437         rather than messing with selection-alist.
8438
8439         * select-msw.c (mswindows_get_foreign_selection):
8440         Use TO_INTERNAL_FORMAT rather than hacking.
8441
8442 2000-07-14  Martin Buchholz  <martin@xemacs.org>
8443
8444         * process-unix.c (unix_open_multicast_group):
8445         (unix_open_multicast_group): Remove useless casts.
8446
8447 2000-07-13  Martin Buchholz  <martin@xemacs.org>
8448
8449         * sound.c (Fplay_sound): Fix `unused variable' warning.
8450
8451         * emacs.c (main): Use correct type for _environ on SCO5.
8452
8453 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
8454
8455         * console.h (own_selection_method):
8456         * console.h (selection_exists_p_method):
8457         * console.h (available_selection_types_method): New.
8458         * console.h (register_selection_data_type_method): New.
8459         * console.h (selection_data_type_name): New.
8460
8461         * console-msw.h (mswindows_destroy_selection): Declare it.  New
8462         function & alist to track GlobalAlloc()'d handles that need
8463         releasing when the clipboard data gets replaced or emptied.
8464
8465         * event-msw.c (mswindows_wnd_proc): Call it.
8466
8467         * lisp.h, general.c (Qappend): New symbol representing a
8468         `how-to-add' mode.
8469
8470         * select.c (own-selection-internal):
8471         * select.c (selection-exists-p):
8472         * select.c (available-selection-types): New.
8473         * select.c (register-selection-data-type): New.
8474         * select.c (selection-data-type-name): New.  New functions to deal
8475         with device-specific selection data formats.
8476         * select.c (selection-converter-out-alist): Renamed.
8477         * select.c (selection-converter-in-alist): New.
8478         * select.c (selection-appender-alist): New.  Added new alists.
8479         * select.c (syms_of_select, vars_of_select): Added new symbols &
8480         variables.
8481         * select.c (get_local_selection): Split.
8482         * select.c: Removed spurious type checking - selections may now be
8483         of any type, not just strings.
8484         * select.c (own-selection-internal):
8485
8486         * select.h, select.c (convert_selection): New. Created
8487         convert_selection() function based on get_local_selection().
8488         * select.h, select.c (QCF_*): New symbols representing mswindows
8489         clipboard formats.
8490         * select.h, select.c (Qreplace_all, Qreplace_existing): New
8491         symbols representing `how-to-add' modes.
8492
8493         * select-msw.c (x_sym_p): New.
8494         * select-msw.c (symbol_to_ms_cf): New.
8495         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
8496         symbols & clipboard formats. Can also handle string names.
8497         * select-msw.c (mswindows_own_selection):
8498         * select-msw.c (mswindows_selection_exists_p):
8499         Added `data-type' parameter. Use it.
8500         * select-msw.c (mswindows_available_selection_types): New.
8501         * select-msw.c (mswindows_register_selection_data_type): New.
8502         * select-msw.c (mswindows_selection_data_type_name): New.
8503         * select-msw.c (mswindows_own_selection):
8504         * select-msw.c (mswindows_get_foreign_selection):
8505         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
8506         * select-msw.c (console_create_select_mswindows): Added new methods.
8507         * select-msw.c (mswindows_destroy_selection): New.
8508         * select-msw.c (Vhandle_alist): New list.
8509         * select-msw.c (mswindows_own_selection):
8510
8511         * select-x.c (x_own_selection):
8512         * select-x.c (x_selection_exists_p):
8513         * select-x.c: Added some comments about maybe using new
8514         functionality.
8515         * select-x.c (x_own_selection):
8516
8517         * specifier.c: Remove definition of Qappend (now in general.c)
8518         * specifier.c (syms_of_specifier): Remove Qappend.
8519
8520 2000-07-12  Martin Buchholz  <martin@xemacs.org>
8521
8522         * config.h.in: Add socklen_t.
8523
8524         * s/decosf4-0.h: No special compiler flags needed or desired.
8525         In particular, undefine _BSD for DEC OSF 4.0.
8526
8527 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8528
8529         * redisplay-msw.c (msprinter_frame_output_end): Added.
8530         (console_type_create_redisplay_mswindows): Referred the above.
8531
8532         * frame.c (setup_frame_without_minibuffer): Do not create a
8533         default minibuffer frame on a printer device.
8534
8535         * frame-msw.c (apply_dc_geometry): Added.
8536         (msprinter_start_page):
8537         (msprinter_init_frame_3):
8538         (msprinter_eject_page): Use it.
8539
8540         * console-msw.h (struct msprinter_frame): Added pix_left and top,
8541         and removed residual duplex and orientation properties.
8542
8543 2000-07-11  Martin Buchholz  <martin@xemacs.org>
8544
8545         * eval.c (function_argcount): Work around a DEC CC compiler bug.
8546
8547         * unexalpha.c: Remove system prototypes from C sources!
8548
8549 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
8550
8551         * eval.c: Remove references to M-x edit-options in DEFUNs for
8552         `defvar' and `defconst'.
8553
8554 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8555
8556         * config.h.in: Remove SMART_INCLUDE hackery.
8557
8558         PostgreSQL hacking:
8559         * config.h.in: Don't use SMART_INCLUDE.
8560
8561         * postgresql.h: Include libpq-fe.h here.  Fix typo.
8562         * inline.c: Simply #include "postgresql.h"
8563         * postgresql.c:
8564         - Don't use SMART_INCLUDE
8565         - Use simply "const".
8566         - Use standard doc string conventions.
8567         - Use correct type for result of PQstatus.
8568
8569 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8570
8571         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
8572
8573         C++ compilation changes.
8574         * config.h.in (EXTERN_C): Define.
8575         * config.h.in (not): This is also a C++ keyword.
8576         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
8577         * cm.c: Use EXTERN_C.
8578         * redisplay-tty.c: Use EXTERN_C.
8579         * sysdep.c: Use EXTERN_C.  Remove Gould support.
8580
8581 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8582
8583         * general.c: Remove duplicate definition for Qfunction.
8584
8585 2000-07-08  Ben Wing  <ben@xemacs.org>
8586
8587         * device-msw.c (msprinter_init_device):
8588         * device-msw.c (sync_printer_with_devmode):
8589         * device-msw.c (handle_devmode_changes):
8590         * device-msw.c (print_dialog_worker):
8591         * device-msw.c (Fmsprinter_apply_settings):
8592         * device-msw.c (hash_devmode):
8593         * device-msw.c (Fmsprinter_settings_despecialize):
8594         use Qmswindows_tstr, not Qctext.
8595
8596         * vm-limit.c (check_memory_limits):
8597         avoid infinite loop printing warning messages.
8598
8599 2000-07-05  Craig Lanning  <lanning@scra.org>
8600
8601         * Makefile.in.in: Add support for including the Windows resources
8602         when building with the cygwin and mingw targets.
8603
8604         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
8605         not set or not correct.
8606         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
8607         (init_initial_directory): Don't try to use $PWD on the
8608         WIN32_NATIVE target.
8609
8610         * s\cygwin32.h:
8611         [[Add -mwindows to eliminate console window.]] not required --ben
8612         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8613         (MAIL_USE_POP): removed; now handled by configure.
8614
8615         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
8616         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
8617         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8618         (MAIL_USE_POP): removed; now handled by configure.
8619         (ENCAPSULATE_STAT): from Dan Holmsand, added.
8620         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
8621         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
8622         constant string.
8623         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
8624         up from <winsock.h> via systime.h.
8625         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
8626         (getpagesize): from Dan Holmsand, added.
8627         Added #endif which was left dangling by Ben's mega patch; added
8628         comment to help prevent this in the future.
8629
8630         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
8631
8632 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8633
8634         * console-msw.h (struct mswindows_device): Removed unnecessary
8635         cached device geometry values.
8636         Added update_tick and an accessor macro.
8637         (Lisp_Devmode): Added lrecord declaration.
8638         (struct msprinter_device): Contain devmode as a Lisp object.
8639         Added mswindows_get_selected_frame_hwnd();
8640
8641         * console.h (struct console_methods): Indentation nitpicking.
8642
8643         * device-msw.c (mswindows_init_device): Do not initialize geometry
8644         cache. Initialize update tick.
8645         (mswindows_device_system_metrics): Ask the device for its geometry.
8646         (global_free_2_maybe):
8647         (devmode_to_hglobal):
8648         (handle_printer_changes):
8649         (ensure_not_printing):
8650         (print_dialog_worker):
8651         (Fmsprinter_print_setup_dialog):
8652         (Fmsprinter_print_dialog):
8653         (plist_get_margin):
8654         (plist_set_margin):
8655         (Fmsprinter_page_setup_dialog): Added functions.
8656         (sync_printer_with_devmode):
8657         (handle_devmode_changes):
8658         (Fmsprinter_get_settings):
8659         (Fmsprinter_select_settings):
8660         (Fmsprinter_apply_settings):
8661         (allocate_devmode):
8662         (Fmsprinter_settings_copy):
8663         (Fmsprinter_settings_despecialize):
8664         (print_devmode):
8665         (finalize_devmode):
8666         (equal_devmode):
8667         (hash_devmode): Added functions
8668         (syms_of_device_mswindows): Init devmode lrecord class.
8669
8670         * device.h: Added an exfun for find-device.
8671
8672         * event-msw.c (mswindows_wnd_proc): Do not update the cached
8673         geometry; although, recreate the device compatible DC.
8674
8675         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
8676         (msprinter_init_frame_3):
8677         (msprinter_frame_property):
8678         (msprinter_internal_frame_property_p):
8679         (msprinter_frame_properties):
8680         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
8681         print job properties (will move to device settings).
8682
8683         * lisp.h: Added symbols.
8684
8685         * general.c (syms_of_general): Declared them.
8686
8687         * hash.c (string_hash): Added.
8688
8689         * lrecord.h (lrecord_type): Added devmode lrecord type.
8690
8691 2000-07-02  Mike Sperber <mike@xemacs.org>
8692
8693         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
8694         FreeBSD 4.0.
8695
8696 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
8697
8698         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
8699         integer.
8700
8701 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
8702
8703         * data.c (Fstring_to_number): Don't recognize floating point if
8704         base is not 10.
8705
8706 2000-06-22  Martin Buchholz  <martin@xemacs.org>
8707
8708         * glyphs-widget.c (tab_control_query_geometry):
8709         (widget_query_geometry):
8710         (button_query_geometry):
8711         * glyphs.c (text_query_geometry):
8712         Enforce type correctness.
8713
8714 2000-06-18  Martin Buchholz  <martin@xemacs.org>
8715
8716         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
8717         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
8718
8719 2000-06-17  Martin Buchholz  <martin@xemacs.org>
8720
8721         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
8722         conflicts with gcc's fixincluded version of FOO.h.
8723
8724         * glyphs.h (image_instance_geometry): Remove trailing `,'
8725
8726 2000-06-08  Mike Alexander  <mta@arbortext.com>
8727
8728         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
8729         (shove_thread): Don't write the same output twice
8730         (make_ntpipe_output_stream): Increase priority of shove thread
8731         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
8732         chance to run
8733         (ntpipe_shove_closer): Don't delete the pipe until we're done with
8734         it.
8735
8736 2000-06-12  Ben Wing  <ben@xemacs.org>
8737
8738         * s\mingw32.h (sigset):
8739         * s\windowsnt.h (sigset):
8740         rename msw_ to mswindows_ for consistency with general convention.
8741
8742 2000-06-12  Ben Wing  <ben@xemacs.org>
8743
8744         * console-msw.c:
8745         * console-msw.c (mswindows_get_console_hwnd):
8746         * console-msw.c (mswindows_ensure_console_allocated):
8747         * console-msw.c (mswindows_hide_console):
8748         * console-msw.c (mswindows_show_console):
8749         * console-msw.c (mswindows_ensure_console_buffered):
8750         * console-msw.c (mswindows_output_console_string):
8751         * console-msw.c (mswindows_windows9x_p):
8752         * console-msw.h:
8753         * device-msw.c (mswindows_get_workspace_coords):
8754         * device-msw.c (mswindows_device_system_metrics):
8755         * dialog-msw.c (mswindows_popup_dialog_box):
8756         * event-msw.c (mswindows_wnd_proc):
8757         * frame-msw.c (mswindows_size_frame_internal):
8758         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8759         * menubar-msw.c (displayable_menu_item):
8760         * menubar-msw.c (mswindows_char_is_accelerator):
8761         * nt.c:
8762         * nt.c (mswindows_sigset):
8763         * nt.c (mswindows_sigrelse):
8764         * nt.c (mswindows_sigpause):
8765         * nt.c (mswindows_raise):
8766         * nt.c (timer_proc):
8767         * ntproc.c:
8768         * ntproc.c (find_child_console):
8769         * ntproc.c (sys_kill):
8770         * print.c:
8771         * print.c (std_handle_out_external):
8772         * process-nt.c (find_child_console):
8773         * process-nt.c (send_signal_the_95_way):
8774         * process-nt.c (ensure_console_window_exists):
8775         * process-nt.c (nt_create_process):
8776         * syssignal.h:
8777         rename msw_ to mswindows_ for consistency with general convention.
8778
8779         * emacs.c:
8780         * dumper.c:
8781         include nt.h, not syswindows.h.
8782
8783         * nt.c (mswindows_fstat):
8784         * nt.c (mswindows_stat):
8785         prefix mswindows_ instead of attempting to directly override the
8786         library functions.  fix declarations.
8787
8788         * nt.h:
8789         include syswindows.h.  move some sysdep.h stuff here.
8790
8791         * ntheap.h:
8792         include syswindows.h, not <windows.h>.
8793
8794         * ntplay.c:
8795         clean up headers.
8796
8797         * sysdep.c:
8798         clean up headers.
8799
8800         * sysdep.c (sys_fstat):
8801         * sysdep.c (sys_stat):
8802         call mswindows versions when appropriate.
8803
8804         * sysdep.h:
8805         move mswin decls to nt.h.
8806
8807         * syswindows.h:
8808         add long comment describing appropriate use of the various windows
8809         headers.
8810
8811 2000-06-11  Ben Wing  <ben@xemacs.org>
8812
8813         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8814
8815 2000-06-10  Ben Wing  <ben@xemacs.org>
8816
8817         * Makefile.in.in (release):
8818         Correction to make sure xemacs.exe always dumped when correct.
8819
8820         * alloca.c:
8821         * balloon_help.c:
8822         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8823
8824         * buffer.c (set_buffer_internal):
8825         [[[[2]]]]: Remove HAVE_FEP code.
8826
8827         * buffer.c (init_initial_directory):
8828         [3].
8829
8830         * bytecode.c:
8831         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8832         individual files.
8833
8834         * callproc.c:
8835         * callproc.c (call_process_cleanup):
8836         * callproc.c (Fold_call_process_internal):
8837         * callproc.c (child_setup):
8838         * callproc.c (getenv_internal):
8839         * callproc.c (init_callproc):
8840         * callproc.c (vars_of_callproc):
8841         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8842         __CYGWIN32__ -> CYGWIN.
8843         DOS_NT -> WIN32_NATIVE.
8844         Remove MSDOS support/references, converting to WIN32_NATIVE
8845           where correct.
8846         __MINGW32__ -> MINGW.
8847         Fix windows.h includes.
8848         Remove bogus HAVE_NTGUI.
8849
8850         * config.h.in:
8851         [2].
8852
8853         * console-msw.c:
8854         mswindows_message_outputted added for use in allowing startup
8855         errors on the console to be seen.
8856
8857         * console-msw.c (msw_ensure_console_allocated):
8858         * console-msw.c (msw_output_console_string):
8859         * console-msw.c (DHEADER):
8860         * console-msw.c (DOPAQUE_DATA):
8861         * console-msw.c (DEVENT):
8862         * console-msw.c (DCONS):
8863         * console-msw.c (DCONSCDR):
8864         * console-msw.c (DSTRING):
8865         * console-msw.c (DVECTOR):
8866         * console-msw.c (DSYMBOL):
8867         * console-msw.c (DSYMNAME):
8868         Fix warnings.
8869
8870         * console-stream.c (stream_init_console):
8871         Fix text/binary problems.
8872
8873         * device-msw.c:
8874         * device-msw.c (mswindows_finish_init_device):
8875         * device-msw.c (mswindows_delete_device):
8876         [1].
8877
8878         * device.c (handle_asynch_device_change):
8879         [3].
8880
8881         * dgif_lib.c:
8882         * dgif_lib.c (DGifOpenFileName):
8883         * dgif_lib.c (DGifOpenFileHandle):
8884         * dgif_lib.c (DGifGetLine):
8885         * dgif_lib.c (DGifGetPixel):
8886         Added config.h/lisp.h, fix up includes.
8887         [1].
8888
8889         * dired-msw.c:
8890         [4].
8891
8892         * dired.c:
8893         * dired.c (file_name_completion):
8894         * dired.c (Ffile_attributes):
8895         * dired.c (syms_of_dired):
8896         [1].
8897
8898         * dumper.c:
8899         * dumper.c (pdump_file_unmap):
8900         * dumper.c (pdump_load):
8901         [1].
8902
8903         * editfns.c:
8904         * editfns.c (Ftemp_directory):
8905         * editfns.c (user_login_name):
8906         * editfns.c (Fuser_real_login_name):
8907         * editfns.c (get_home_directory):
8908         [1].
8909
8910         * elhash.c (finish_marking_weak_hash_tables):
8911         [[[[5]]]]: Fix GCC warnings.
8912
8913         * emacs.c:
8914         * emacs.c (mswindows_handle_hardware_exceptions):
8915         * emacs.c (make_arg_list_1):
8916         * emacs.c (main_1):
8917         * emacs.c (Fkill_emacs):
8918         * emacs.c (Fdump_emacs):
8919         [1].
8920         Fix problems with nested crashes, add long comment.
8921
8922         * event-Xt.c (init_event_Xt_late):
8923         [1].
8924
8925         * event-msw.c:
8926         * event-msw.c (mswindows_dde_callback):
8927         * event-msw.c (mswindows_handle_sticky_modifiers):
8928         * event-msw.c (mswindows_wnd_proc):
8929         [1].
8930         [5].
8931
8932         * events.c (character_to_event):
8933         [1].
8934
8935         * fileio.c:
8936         * fileio.c (Ffile_name_directory):
8937         * fileio.c (Ffile_name_nondirectory):
8938         * fileio.c (directory_file_name):
8939         * fileio.c (Fexpand_file_name):
8940         * fileio.c (Fsubstitute_in_file_name):
8941         * fileio.c (Ffile_name_absolute_p):
8942         * fileio.c (check_executable):
8943         * fileio.c (Ffile_readable_p):
8944         * fileio.c (Ffile_accessible_directory_p):
8945         * fileio.c (Ffile_modes):
8946         * fileio.c (Funix_sync):
8947         * fileio.c (vars_of_fileio):
8948         [1]. [4].
8949
8950         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8951
8952         Expand getdefdir defn.
8953         Fix bogus rename() comment.
8954
8955         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8956         to use standard XEmacs include files, e.g. sysfile.h, rather
8957         than system-specific includes.
8958
8959         * fns.c:
8960         * fns.c (Fsubseq):
8961         [5]. [6].
8962
8963         * frame.c (vars_of_frame):
8964         [1].
8965
8966         * getloadavg.c:
8967         * getloadavg.c (getloadavg):
8968         [1]. [6].
8969         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8970         (We don't use it elsewhere in the code; just add a comment.)
8971
8972         * gif_io.c:
8973         [6].
8974         Add config.h.
8975
8976         * glyphs-msw.c:
8977         * glyphs-msw.c (mswindows_resource_instantiate):
8978         [1].
8979
8980         * glyphs-x.c (x_native_layout_instantiate):
8981         [5].
8982
8983         * gui-msw.c (Fmswindows_shell_execute):
8984         [1].
8985
8986         * insdel.c:
8987         [4].
8988
8989         * lisp.h:
8990         [4]. [5].
8991
8992         * lread.c (locate_file_in_directory_mapper):
8993         [1].
8994
8995         * lstream.c:
8996         [4].
8997
8998         * mem-limits.h:
8999         * mem-limits.h (get_lim_data):
9000         [1].
9001
9002         * menubar-msw.c:
9003         [4].
9004
9005         * ndir.h:
9006         [1].
9007
9008         * nt.c:
9009         * nt.c (getwd):
9010         * nt.c (closedir):
9011         * nt.c (rva_to_section):
9012         * nt.c (mswindows_executable_type):
9013         [1]. [6].
9014         Fix closedir() defn.
9015
9016         * nt.h:
9017         [[[[8]]]]: *_OK defs moved to sysfile.h.
9018
9019         * ntproc.c:
9020         [6]. [7].
9021
9022         * objects-x.c:
9023         [4].
9024
9025         * print.c:
9026         * print.c (std_handle_out_external):
9027         [1]. [4].
9028
9029         * process-nt.c:
9030         * process-nt.c (nt_create_process):
9031         [6].
9032         try to fix process quoting somewhat.
9033
9034         * process-unix.c (unix_create_process):
9035         [1].
9036
9037         * process.c:
9038         * process.c (vars_of_process):
9039         Add Vnull_device.
9040
9041         * process.h:
9042         [1].
9043
9044         * realpath.c:
9045         * realpath.c (xrealpath):
9046         [1].
9047
9048         * redisplay-tty.c (init_tty_for_redisplay):
9049         [3].
9050
9051         * redisplay.c:
9052         [4]. [6].
9053
9054         * scrollbar-msw.c:
9055         [4].
9056
9057         * sheap.c:
9058         * sheap.c (more_static_core):
9059         * sheap.c (report_sheap_usage):
9060         [5]. [6].
9061
9062         * signal.c:
9063         * signal.c (alarm_signal):
9064         [1]. [6].
9065
9066         * sound.c:
9067         [6].
9068
9069         * strftime.c:
9070         * strftime.c (zone_name):
9071         [1]. [5].
9072
9073         * symsinit.h (init_sunpro):
9074         [1].
9075
9076         * syscommctrl.h:
9077         commctrl.h not in Cygwin b20.1.
9078
9079         * sysdep.c:
9080         * sysdep.c (endif):
9081         * sysdep.c (sys_subshell):
9082         * sysdep.c (init_baud_rate):
9083         * sysdep.c (emacs_get_tty):
9084         * sysdep.c (emacs_set_tty):
9085         * sysdep.c (tty_init_sys_modes_on_device):
9086         * sysdep.c (init_system_name):
9087         * sysdep.c (sys_open):
9088         * sysdep.c (interruptible_open):
9089         * sysdep.c (sys_fopen):
9090         * sysdep.c (sys_mkdir):
9091         * sysdep.c (sys_rename):
9092         * sysdep.c (get_process_times_1):
9093         [1]. [6].
9094
9095         * sysdep.h:
9096         [1].
9097
9098         * sysdir.h:
9099         * sysdir.h (DIRENTRY_NONEMPTY):
9100         [1]. [6].
9101
9102         * sysdll.c (dll_init):
9103         * sysdll.h:
9104         [1].
9105
9106         * sysfile.h:
9107         [1]. [6]. [8].
9108         added text/binary defs.
9109
9110         * sysfloat.h:
9111         [1].
9112
9113         * sysproc.h:
9114         * sysproc.h (EDESTADDRREQ):
9115         * sysproc.h (poll_fds_for_input):
9116         [1]. [6].
9117
9118         * syspwd.h:
9119         [6].
9120
9121         * syssignal.h:
9122         [1].
9123
9124         * systime.h:
9125         [1]. [6].
9126
9127         * systty.h:
9128         [1].
9129
9130         * syswindows.h:
9131         [1].
9132         Always define WIN32_LEAN_AND_MEAN.
9133
9134         * unexcw.c (unexec):
9135         [5].
9136
9137         * unexec.c:
9138         * unexec.c (copy_text_and_data):
9139         * unexec.c (adjust_lnnoptrs):
9140         [1].
9141
9142         * unexnt.c:
9143         * unexnt.c (_start):
9144         [1].
9145
9146 2000-06-07  Ben Wing  <ben@xemacs.org>
9147
9148         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
9149         was used only as a model.  We've long since extracted any useful
9150         logic or code out of this. (I just did an exhaustive search.)
9151
9152         * s\msdos.h: Removed.
9153
9154         * s\windows95.h: Removed.
9155
9156 2000-06-10  Ben Wing  <ben@xemacs.org>
9157
9158         * s\cygwin32.h:
9159         [1]. [5].
9160         Don't use extern with fun defs.
9161
9162         * s\mingw32.h:
9163         [1]. [7].
9164         Remove nt\inc include.
9165         Remove getdisk, getdefdir. (The former is unused, the latter
9166         expanded in fileio.h.)
9167
9168         * s\windowsnt.h:
9169         * s\windowsnt.h (WIN32_NATIVE):
9170         * s\windowsnt.h (HAVE_STRCASECMP):
9171         [1]. [7].
9172         Add long comment about preprocessor changes.
9173         Remove getdisk, getdefdir. (The former is unused, the latter
9174         expanded in fileio.h.)
9175
9176 2000-06-10  Ben Wing  <ben@xemacs.org>
9177
9178         * m\arm.h:
9179         * m\delta.h:
9180         * m\intel386.h:
9181         * m\sequent.h:
9182         * m\template.h:
9183         * m\windowsnt.h:
9184         [1].
9185         Remove bogus/unused NO_SOCK_SIGIO.
9186
9187 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
9188
9189         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
9190         not an Emchar.
9191
9192 2000-06-04  Mike Sperber <mike@xemacs.org>
9193
9194         * casetab.c (set_case_table): For `set-standard-case-table',
9195         actually deposit the new case tables where the rest of XEmacs can
9196         see them.
9197
9198 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
9199
9200         * data.c (Faset): Don't cast XCHAR() to unsigned char.
9201
9202 2000-06-05  Ben Wing  <ben@xemacs.org>
9203
9204         * callproc.c (child_setup): Don't do close_load_descs() under
9205         MS Windows.  Put in a comment explaining why.
9206
9207 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
9208
9209         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
9210         Toolkit shell" which breaks `kill-compilation' on Windows NT
9211         native, retaining STDERR handling improvements.
9212
9213 2000-06-01  Andreas Jaeger  <aj@suse.de>
9214
9215         * s/s390.h: Support for S390, based on a patch by Martin
9216         Schwidefsky <schwidefsky@de.ibm.com>.
9217
9218 2000-05-30  Andy Piper  <andy@xemacs.org>
9219
9220         * window.c (allocate_window):
9221         (make_dummy_parent):
9222         (Fset_window_configuration): use new hashtable type.
9223
9224         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
9225         (struct image_instantiator_methods):
9226         (struct Lisp_Image_Instance): make instance geometry signed.
9227
9228         * glyphs.c (instantiate_image_instantiator):
9229         (image_instance_query_geometry):
9230         (image_instance_layout):
9231         (image_instance_layout):
9232         (query_string_geometry):
9233         (text_query_geometry):
9234         (image_instantiate):
9235         (image_instantiate):
9236         (cache_subwindow_instance_in_frame_maybe):
9237         (subwindow_query_geometry): make instance geometry signed.
9238
9239         * glyphs-widget.c (widget_query_geometry):
9240         (widget_layout):
9241         (button_query_geometry):
9242         (tree_view_query_geometry):
9243         (tab_control_query_geometry):
9244         (layout_query_geometry):
9245         (layout_layout):
9246         (native_layout_layout): make instance geometry signed.
9247
9248 2000-05-29  Olivier Galibert  <galibert@pobox.com>
9249
9250         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
9251         constant.
9252
9253         * general.c (syms_of_general): Add Qfull_assoc symbol.
9254
9255         * data.c (finish_marking_weak_lists): Mark full-assoc lists
9256         correctly.
9257         (decode_weak_list_type): Decode full-assoc type.
9258         (encode_weak_list_type): Encode full-assoc type.
9259         (Fmake_weak_list): Update doc string.
9260
9261 2000-05-30  Andy Piper  <andy@xemacs.org>
9262
9263         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
9264
9265         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
9266         (decode_hash_table_weakness): ditto.
9267         (Fhash_table_weakness): ditto.
9268         (Fhash_table_type): ditto.
9269         (finish_marking_weak_hash_tables): ditto.
9270         (hash_table_weakness_validate): ditto.
9271         (syms_of_elhash): ditto.
9272
9273 2000-05-28  Martin Buchholz <martin@xemacs.org>
9274
9275         * XEmacs 21.2.34 is released.
9276
9277 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
9278
9279         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
9280         start cache.
9281         (updating_line_start_cache): Gone.
9282         (regenerate_window): Replace resetting of VERTICAL_CLIP by
9283         generic code to force a minimum of 1 line laid out in the
9284         CMOTION_DISP case.
9285
9286 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
9287
9288         * glyphs.c (instantiate_image_instantiator): Check for initialized
9289         height & width no longer special cases IMAGE_NOTHING.
9290         (nothing_instantiate): Set height and width of instance.
9291
9292 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9293
9294         * unexelf.c (unexec): Search for ".data" section.
9295         Initialize new_data2_offset from old_data_index.
9296         Remove redundant check for ElfW.
9297
9298 2000-05-23  Andy Piper  <andy@xemacs.org>
9299
9300         * glyphs.c (get_image_instantiator_governing_domain): allow more
9301         specific domains as the governing domain rather than expecting an
9302         exact match. This fixes problems with layouts.
9303
9304 2000-05-22  Andy Piper  <andy@xemacs.org>
9305
9306         * redisplay-output.c (compare_runes): check for non-images
9307
9308         * glyphs.c (set_glyph_dirty_p): ditto.
9309         (update_glyph_cachel_data): ditto.
9310
9311         * glyphs-widget.c (layout_post_instantiate): ditto.
9312         (layout_post_instantiate): ditto.
9313
9314         * event-msw.c (mswindows_wnd_proc): warning removal.
9315
9316 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
9317
9318         * s\mingw32.h: Added #undef for CLASH_DETECTION.
9319
9320         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
9321
9322         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
9323
9324         * nt.c (rva_to_section): mingw32 needs rva_to_section.
9325         (mswindows_executable_type): mingw32 now has enough headers for
9326         this to work.
9327
9328 2000-05-20  Andy Piper  <andy@xemacs.org>
9329
9330         * console-msw.c (mswindows_output_last_error): ; -> ,
9331
9332 2000-05-12  Andy Piper  <andy@xemacs.org>
9333
9334         * console-msw.c (FROB): compare ints with ints.
9335
9336 2000-05-11  Andy Piper  <andy@xemacs.org>
9337
9338         * glyphs-x.c (x_finalize_image_instance): make minimal build
9339         happy.
9340
9341 2000-05-20  Ben Wing  <ben@xemacs.org>
9342
9343         * event-Xt.c:
9344         * event-Xt.c (vars_of_event_Xt):
9345         move modifier-keys-are-sticky to event-stream.c.
9346
9347         * event-msw.c:
9348         * event-msw.c (mswindows_enqueue_mouse_button_event):
9349         * event-msw.c (key_needs_default_processing_p):
9350         * event-msw.c (XEMSW_LCONTROL):
9351         * event-msw.c (mswindows_handle_sticky_modifiers):
9352         * event-msw.c (FROB):
9353         * event-msw.c (clear_sticky_modifiers):
9354         * event-msw.c (output_modifier_keyboard_state):
9355         * event-msw.c (output_alt_keyboard_state):
9356         * event-msw.c (mswindows_wnd_proc):
9357         * event-msw.c (mswindows_modifier_state):
9358         * event-msw.c (emacs_mswindows_handle_magic_event):
9359         implement sticky modifiers.
9360
9361         * event-stream.c:
9362         * event-stream.c (vars_of_event_stream):
9363         move modifier-keys-are-sticky here.
9364
9365         * lisp.h:
9366         add CHECK_FUNCTION.
9367
9368         * rangetab.c:
9369         implement map-range-table.
9370
9371
9372 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
9373
9374         * redisplay-tty.c (reset_tty_modes):
9375         (tty_redisplay_shutdown): Adjust argument type to
9376         tty_frame_output_end.
9377
9378 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
9379
9380         * eval.c (Fbacktrace): Don't output a line with only right
9381         parenthesis.
9382
9383 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
9384
9385         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
9386         (Fpq_reset_poll): Ditto.
9387
9388 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
9389
9390         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
9391
9392 2000-05-16  Ben Wing  <ben@xemacs.org>
9393
9394         * buffer.c:
9395         * buffer.c (dfc_convert_to/from_internal_format):
9396         * buffer.c (reinit_vars_of_buffer):
9397         Fix conversion functions to allow reentrancy.
9398
9399         * console-msw.c:
9400         * console-msw.c (mswindows_output_last_error):
9401         New fun, generally useful -- output a human-readable
9402         version of GetLastError() on the console.
9403
9404         * console-msw.h:
9405         * console-msw.h (struct mswindows_frame):
9406         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
9407
9408         * console-stream.c (stream_output_begin):
9409         * console-stream.c (stream_output_end):
9410         * console-stream.c (stream_output_vertical_divider):
9411         * console-stream.c (stream_clear_region):
9412         * console-stream.c (stream_flash):
9413         * console-stream.c (console_type_create_stream):
9414         Delete blank stream methods, not needed.
9415
9416         * console.h (struct console_methods):
9417         Split begin/end methods into window and frame.
9418
9419         * event-msw.c:
9420         * event-msw.c (mswindows_handle_paint):
9421         * event-msw.c (output_alt_keyboard_state):
9422         * event-msw.c (mswindows_wnd_proc):
9423         * event-msw.c (vars_of_event_mswindows):
9424         Comment about problems with ignored-expose.
9425         Define mswindows-debug-events; not really implemented.
9426
9427         * frame-msw.c (mswindows_init_frame_1):
9428         random cleanups.
9429
9430         * glyphs-msw.c:
9431         * glyphs-msw.c (begin_defer_window_pos):
9432         * glyphs-msw.c (mswindows_unmap_subwindow):
9433         * glyphs-msw.c (mswindows_map_subwindow):
9434         * glyphs-msw.c (mswindows_resize_subwindow):
9435         Use DeferWindowPos to reduce flashing when mapping/unmapping.
9436
9437         * glyphs.c (make_image_instance_1):
9438         Fix crash.
9439
9440         * gutter.c (Fredisplay_gutter_area):
9441         Use new begin/end methods.
9442
9443         * lisp.h (Dynarr_new2):
9444         New creation fun.
9445
9446         * redisplay-msw.c:
9447         * redisplay-msw.c (mswindows_frame_output_begin):
9448         * redisplay-msw.c (mswindows_frame_output_end):
9449         * redisplay-msw.c (console_type_create_redisplay_mswindows):
9450         New begin/end methods -- handle DeferWindowPos.
9451
9452         * redisplay-output.c (redisplay_move_cursor):
9453         * redisplay-output.c (redraw_cursor_in_window):
9454         * redisplay-output.c (redisplay_update_line):
9455         * redisplay-output.c (redisplay_output_window):
9456         New begin/end methods.
9457
9458         * redisplay-tty.c:
9459         * redisplay-tty.c (tty_frame_output_begin):
9460         * redisplay-tty.c (tty_frame_output_end):
9461         * redisplay-tty.c (console_type_create_redisplay_tty):
9462         New begin/end methods.
9463
9464         * redisplay-x.c:
9465         * redisplay-x.c (x_window_output_begin):
9466         * redisplay-x.c (x_window_output_end):
9467         * redisplay-x.c (console_type_create_redisplay_x):
9468         New begin/end methods.
9469
9470         * redisplay.c (redisplay_frame):
9471         * redisplay.c (Fredisplay_echo_area):
9472         New begin/end methods.
9473         use MAYBE_DEVMETH for clear_frame; it may not exist.
9474
9475         * window.h (WINDOW_XFRAME):
9476         WINDOW_XFOO macros -- get locale and decode struct pointer.
9477
9478
9479 2000-05-12  Ben Wing  <ben@xemacs.org>
9480
9481         * emacs.c:
9482         * emacs.c (ensure_no_quitting_from_now_on):
9483         * emacs.c (fatal_error_signal):
9484         * emacs.c (mswindows_handle_hardware_exceptions):
9485         * emacs.c (main):
9486         * emacs.c (Fkill_emacs):
9487         * emacs.c (shut_down_emacs):
9488         * emacs.c (assert_failed):
9489         various improvements in fatal error handling.
9490
9491         * eval.c:
9492         move preparing_for_armageddon to emacs.c.
9493
9494         * lisp.h:
9495         declare fatal_error_in_progress.
9496
9497         * print.c:
9498         * print.c (std_handle_out_external):
9499         * print.c (std_handle_out_va):
9500         * print.c (stderr_out):
9501         * print.c (stdout_out):
9502         use console under mswin when no standard output.
9503         don't do code conversion during fatal error.
9504
9505         * scrollbar.c (Fscrollbar_page_up):
9506         * scrollbar.c (Fscrollbar_page_down):
9507         fix missing else.  reindent.
9508
9509 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
9510
9511         Emergency fix.
9512
9513         * glyphs.h (GLYPH_CACHEL_DESCENT):
9514         (GLYPH_CACHEL_DESCENT):
9515         (GLYPH_CACHEL_DESCENT):
9516         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
9517         used in case these are inline functions.
9518         Use more absurd values to error check.
9519
9520         include window.h for error check functions.
9521
9522 2000-05-11  Ben Wing  <ben@xemacs.org>
9523
9524         * cmdloop.c (Freally_early_error_handler):
9525         Display message box under windows; otherwise, message will disappear
9526         before it can be viewed.
9527
9528         * console-msw.c:
9529         * console-msw.c (Fmswindows_message_box):
9530         * console-msw.c (FROB):
9531         * console-msw.c (syms_of_console_mswindows):
9532         Define new fun `mswindows-message-box'.
9533         #### I will merge this into `popup-dialog-box'; just give me
9534         a bit of time.
9535
9536         * general.c:
9537         * general.c (syms_of_general):
9538         Some new symbols used in `mswindows-message-box'.
9539
9540         * glyphs.c:
9541         * glyphs.c (Fset_image_instance_property):
9542         put warning in this fun.
9543
9544         * glyphs.h:
9545         * glyphs.h (GLYPH_CACHEL_WIDTH):
9546         * glyphs.h (GLYPH_CACHEL_ASCENT):
9547         * glyphs.h (GLYPH_CACHEL):
9548         * glyphs.h (GLYPH_CACHEL_GLYPH):
9549         define error-checking versions to try to catch a bug i've seen --
9550         redisplay gets in an infinite loop because the glyph width of the
9551         continuation glyph is 65535.
9552
9553         * lisp.h:
9554         Extern message-box stuff.
9555
9556         * window.c (allocate_window):
9557         * window.c (make_dummy_parent):
9558         * window.c (Fset_window_configuration):
9559         Use EQUAL not EQ for subwindow caches to make them work a bit
9560         better. (Something is still very broken.)
9561
9562
9563 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
9564
9565         * glyphs.c (image_instantiate): Suppress gcc warnings.
9566         (Fmake_image_instance): Fix doc string.
9567         * specifier.c (Fmake_specifier): Ditto.
9568
9569 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
9570
9571         * paths.h.in (PATH_LOCK): Removed.
9572         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
9573         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
9574
9575 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9576
9577         * fns.c (Ffeaturep): Update e-mail address in doc-string.
9578         Document (featurep '(and xemacs 21.02)).
9579
9580 2000-05-09  Ben Wing  <ben@xemacs.org>
9581
9582         * buffer.c (complex_vars_of_buffer):
9583         update modeline-format doc.
9584
9585         * device.h:
9586         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
9587
9588         * emacs.c:
9589         timeline of all released versions of Emacs, for use in creating
9590         authorship comments and in synching up.
9591
9592         * glyphs-widget.c (image_instantiator_buttons):
9593         * glyphs-widget.c (image_instantiator_edit_fields):
9594         * glyphs-widget.c (image_instantiator_combo_box):
9595         * glyphs-widget.c (image_instantiator_scrollbar):
9596         * glyphs-widget.c (image_instantiator_progress_guage):
9597         * glyphs-widget.c (image_instantiator_tree_view):
9598         * glyphs-widget.c (image_instantiator_tab_control):
9599         * glyphs-widget.c (image_instantiator_labels):
9600         * glyphs-widget.c (image_instantiator_layout):
9601         * glyphs-widget.c (image_instantiator_native_layout):
9602         rename decode_domain method to governing_domain.
9603
9604         * glyphs.c:
9605         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
9606         * glyphs.c (add_entry_to_device_ii_format_list):
9607         make sure we don't put an entry more than once into the list.
9608         * glyphs.c (check_instance_cache_mapper):
9609         *************************************************************
9610         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9611         HAVE BEEN GETTING.
9612         *************************************************************
9613         * glyphs.c (get_image_instantiator_governing_domain):
9614         clean up, expand on new concept of governing domain.
9615         * glyphs.c (instantiate_image_instantiator):
9616         * glyphs.c (allocate_image_instance):
9617         use governing_domain instead of cache_domain in naming.
9618         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
9619         * glyphs.c (make_image_instance_1):
9620         * glyphs.c (Fmake_image_instance):
9621         allow for any domain (not just device), and process the
9622         governing domain correctly.  very big doc fix.
9623         * glyphs.c (Fimage_instance_domain):
9624         new primitive, to retrieve the governing domain of an image instance.
9625         * glyphs.c (image_instantiate):
9626         use new governing_domain stuff.  this fixes a crash you could get
9627         by instantiating certain widget glyphs in frame locales. (should
9628         signal an error instead of crashing.)
9629         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
9630         * glyphs.c (Fglyphp): clean up doc.
9631         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
9632         * glyphs.c (syms_of_glyphs):
9633         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
9634         * glyphs.c (image_instantiator_format_create): add some comments about
9635         bogus code.
9636         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
9637         for current-display-table. (Apparently Hrjove implemented in 1998 a
9638         design I wrote up in 1996, but didn't update the doc string.)
9639
9640         * glyphs.h: clean up a doc string.
9641         * glyphs.h (governing_domain):
9642         * glyphs.h (struct image_instantiator_methods):
9643         changes for governing_domain stuff.
9644
9645         * gutter.c:
9646         * gutter.c (Fgutter_specifier_p):
9647         * gutter.c (Fgutter_size_specifier_p):
9648         * gutter.c (Fgutter_visible_specifier_p):
9649         * objects.c:
9650         * objects.c (Fcolor_specifier_p):
9651         * objects.c (Ffont_specifier_p):
9652         * objects.c (Fface_boolean_specifier_p):
9653         doc strings moved to make-*-specifier.
9654
9655         * redisplay.c (add_disp_table_entry_runes_1):
9656         * redisplay.c (generate_fstring_runes):
9657         * redisplay.c (screen):
9658         add random comments and doc strings.
9659
9660         * specifier.c:
9661         * specifier.c (Fmake_specifier):
9662         major overhaul of this doc string.
9663
9664         * specifier.c (Fvalid_specifier_domain_p):
9665         comment about the bogosity of image instances being domains.
9666         * specifier.c (decode_domain):
9667         now non-static, used in glyphs.c.
9668         * specifier.c (specifier_instance):
9669         comment about the bogosity of image instances being domains.
9670         * specifier.c (Fgeneric_specifier_p):
9671         move doc string to make-generic-specifier.
9672         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
9673         rebackslashify.
9674
9675         * specifier.h:
9676         * specifier.h (DOMAIN_FRAME):
9677         * specifier.h (DOMAIN_LIVE_P):
9678         * specifier.h (DOMAIN_XDEVICE):
9679         rebackslashify.
9680         add comments about problems with these macros.
9681         prototype for decode_domain.
9682
9683         * toolbar.c:
9684         * toolbar.c (Ftoolbar_specifier_p):
9685         move doc string to `make-toolbar-specifier'.
9686
9687         * window.c (window_unmap_subwindows_cache_mapper):
9688         *************************************************************
9689         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9690         HAVE BEEN GETTING.
9691         *************************************************************
9692
9693 2000-05-09  Andy Piper  <andy@xemacs.org>
9694
9695         * glyphs.h: declare reset_frame_subwindow_instance_cache.
9696
9697         * window.c (Fset_window_configuration): reset the frame subwindow
9698         cache and re-initialize the window subwindow caches.
9699
9700         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
9701
9702 2000-05-09  Ben Wing  <ben@xemacs.org>
9703
9704         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
9705         DWORD.
9706
9707 2000-04-26  Mike Woolley  <mike@bulsara.com>
9708
9709         * ntheap.c: Changed recreate_heap to limit the amount reserved
9710         for the heap to that which is actually available. Also now
9711         displays a message box (with some dignostics) in the event that
9712         it still can't start.
9713
9714 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9715
9716         * callproc.c (Fold_call_process_internal): GCPRO path
9717
9718 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
9719
9720         Patch by Bill Perry.
9721
9722         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
9723         back data instead of #ifdef.
9724         (Fscrollbar_page_down): ditto.
9725
9726 2000-05-07  Ben Wing  <ben@xemacs.org>
9727
9728         * buffer.h:
9729         Kludge for defining Qmswindows_tstr.
9730
9731         * nt.c:
9732         * nt.c (open_input_file):
9733         * nt.c (open_output_file):
9734         * nt.c (rva_to_section):
9735         * nt.c (mswindows_executable_type):
9736         Move all memory-mapped-file routines here (some were in unexnt.c,
9737         which is bad because they are used by process-nt.c, and unexnt
9738         won't be around when portable dumping).  Synched the above routines
9739         with FSF 20.6.
9740
9741         * nt.h:
9742         Removed ifdef'd out bogus code.
9743         Fixed some prototypes.
9744
9745         * nt.h (file_data):
9746         * nt.h (OFFSET_TO_RVA):
9747         * nt.h (RVA_TO_OFFSET):
9748         * nt.h (RVA_TO_PTR):
9749         Moved the memory-mapped-file structures, macros and prototypes
9750         here, to parallel nt.c.  ntheap.h should really be removed
9751         entirely, and it's a non-portable-dumper specific file.
9752
9753         * ntheap.h (round_to_next):
9754         Moved the memory-mapped-file structures, macros and prototypes
9755         to nt.h.
9756
9757         * ntproc.c (compare_env):
9758         Moved rva_to_section and mswindows_executable_type to nt.c.
9759         Moved compare_env to process-nt.c.
9760         ntproc.c will die, one day.
9761
9762         * ntproc.c (sys_spawnve):
9763         Account for win32_ -> mswindows_.
9764
9765         * process-nt.c:
9766         * process-nt.c (struct nt_process_data):
9767         * process-nt.c (ensure_console_window_exists):
9768         * process-nt.c (compare_env):
9769         * process-nt.c (nt_create_process):
9770         * process-nt.c (nt_kill_process_by_pid):
9771         * process-nt.c (syms_of_process_nt):
9772         * process-nt.c (vars_of_process_nt):
9773         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9774         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9775         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9776         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9777         Move compare_env here from ntproc.c.
9778
9779         * process.c (Fprocess_send_region):
9780         Takes an optional fourth argument, BUFFER, which should fix some
9781         problems with call-process.
9782
9783         * syscommctrl.h:
9784         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9785
9786         * syswindows.h:
9787         Move ICC_BAR_CLASSES to syscommctrl.h.
9788         Add preliminary macros for MSWindows/Mule.  More to come.
9789
9790         * unexnt.c:
9791         * unexnt.c (unexec):
9792         open_output_file moved to nt.c.
9793
9794
9795 2000-05-05  Andy Piper  <andy@xemacs.org>
9796
9797         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9798         instance from the frame cache also since GC may catch up too late
9799         to make frame deletion sane.
9800
9801 2000-05-04  Andy Piper  <andy@xemacs.org>
9802
9803         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9804         (x_finalize_image_instance): ungcpro on deletion.
9805
9806         * glyphs.c (image_instantiator_format_create): give pointers a
9807         query geometry method so that the geometry is at least set.
9808
9809         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9810         initialize layouts if using widgets.
9811
9812 2000-05-03  Andy Piper  <andy@xemacs.org>
9813
9814         * nt.c: remove bogus reference to sysmmsystem.h
9815
9816         * gui-x.c (popup_selection_callback): fix no selection abort.
9817
9818 2000-05-02  Andy Piper  <andy@xemacs.org>
9819
9820         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9821         (mswindows_widget_instantiate): ditto.
9822
9823         * glyphs-widget.c (initialize_widget_image_instance): initialize
9824         children correctly.
9825         (widget_instantiate): cope with children and items in the same
9826         instance.
9827
9828         * glyphs.c (mark_image_instance): cope with children as a first
9829         class member.
9830         (image_instance_equal): ditto.
9831         (image_instance_hash): ditto.
9832         (image_instance_changed): ditto.
9833
9834 2000-04-30  Andy Piper  <andy@xemacs.org>
9835
9836         * glyphs.c (subwindow_query_geometry): new function. Return some
9837         defaults.
9838         (subwindow_instantiate): don't assign dimensions if none have been
9839         given.
9840         (image_instantiator_format_create): add subwindow_query_geometry.
9841         (print_image_instance): cope with layouts as widgets.
9842
9843 2000-04-29  Andy Piper  <andy@xemacs.org>
9844
9845         * frame.c (delete_frame_internal): call
9846         free_frame_subwindow_instance_cache so that all subwindows are
9847         finalized before their parent.
9848         (mark_frame): remove subwindow_cachels.
9849         (Fmake_frame): remove subwindow_cachel manipulation.
9850         (allocate_frame_core): subwindow_instance_cache is a weak list.
9851         (delete_frame_internal): set subwindow_instance_cache to nil.
9852
9853         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9854         finalization safe.
9855         (mswindows_finalize_image_instance): use the device
9856         not the domain as the domain may have died already.
9857
9858         * glyphs-x.c (x_finalize_image_instance): ditto.
9859         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9860         HEIGHT.
9861
9862         * redisplay-output.c (redisplay_unmap_subwindows): update for
9863         subwindow instance cache as a weak list.
9864         (redisplay_unmap_subwindows_maybe): ditto.
9865         (redisplay_unmap_subwindows_except_us): ditto.
9866
9867         * glyphs.c (unmap_subwindow): error checking will check the domain
9868         so don't deal with it here. Don't use cachels anymore.
9869         (map_subwindow): ditto.
9870         (update_subwindow_cachel_data): remove old accessor names.
9871         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9872         (Fresize_subwindow): don't update cachel.
9873         (mark_subwindow_cachels):
9874         (update_subwindow_cachel_data):
9875         (add_subwindow_cachel):
9876         (get_subwindow_cachel_index):
9877         (update_subwindow_cachel):
9878         (reset_subwindow_cachels):
9879         (mark_subwindow_cachels_as_not_updated): deleted.
9880         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9881         subwindow instance to the frame cache.
9882         (find_matching_subwindow): update for subwindow instance cache as
9883         a weak list.
9884         (update_widget_instances): ditto.
9885         (image_instance_type_to_mask):inlined.
9886         (free_frame_subwindow_instance_cache): new function. finalize all
9887         subwindows that are instantiated.
9888
9889         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9890         of cachel information.
9891         (IMAGE_INSTANCE_DISPLAY_X):
9892         (IMAGE_INSTANCE_DISPLAY_Y):
9893         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9894         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9895         (XIMAGE_INSTANCE_DISPLAY_X):
9896         (XIMAGE_INSTANCE_DISPLAY_Y):
9897         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9898         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9899         remove subwindow_cachel structure and function references.
9900         (image_instance_type_to_mask): inline from glyphs.c
9901
9902         * redisplay.c (redisplay_frame): remove subwindow_cachel
9903         references.
9904
9905         * frame.h (struct frame): remove subwindow_cachels.
9906         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9907
9908         * frameslots.h: add subwindow_instance_cache.
9909
9910         * window.c (replace_window): check subwindow cache of replacement.
9911         (window_unmap_subwindows_cache_mapper):
9912         (window_unmap_subwindows): new functions. Unmap all subwindows
9913         cached on this window.
9914         (mark_window_as_deleted): unmap all subwindows.
9915
9916 2000-04-27  Andy Piper  <andy@xemacs.org>
9917
9918         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9919
9920         * glyphs-widget.c (widget_layout): return something.
9921         (layout_layout): return something. Fail if not initialized.
9922         (layout_query_geometry): ditto.
9923         (image_instantiator_native_layout): new function. Initialized the
9924         native layout type.
9925         (widget_instantiate): don't do layout stuff here.
9926
9927         * glyphs.c (instantiate_image_instantiator): reorded calling or
9928         instantiate and post_instantiate with layout in between.
9929         (image_instance_layout): be more selective about deciding whether
9930         the layout has been done or not.
9931
9932         * glyphs.h (struct image_instantiator_methods): return a value
9933         from layout_method.
9934
9935 2000-04-26  Andy Piper  <andy@xemacs.org>
9936
9937         * glyphs.c (allocate_image_instance): make initial width and
9938         height unspecified. Set initialized to 0.
9939
9940         * syscommctrl.h new file. Encapsulates commctrl.h.
9941
9942         * syswindows.h new file. Encapsulates windows.h.
9943
9944         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9945         * nt.c: ditto.
9946         * console-msw.h: ditto.
9947
9948         * redisplay-tty.c (tty_output_display_block): remove layout references.
9949
9950         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9951         window handle rather than just the frame.
9952
9953         * glyphs.c (mark_image_instance): remove layout references.
9954         (print_image_instance): ditto.
9955         (image_instance_equal): ditto.
9956         (image_instance_hash): ditto.
9957         (decode_image_instance_type): ditto.
9958         (encode_image_instance_type): ditto.
9959         (image_instantiate): ditto.
9960         (allocate_glyph): ditto.
9961         (Fimage_instance_height): ditto.
9962         (Fimage_instance_width): ditto.
9963         (update_subwindow): ditto.
9964
9965         * redisplay-x.c (x_output_display_block): recode for layouts as
9966         widgets.
9967
9968         * redisplay-output.c (redisplay_output_layout): recode for layouts
9969         as widgets.
9970         (compare_runes): remove layout references.
9971
9972         * redisplay-msw.c (mswindows_output_display_block): recode for
9973         layouts as widgets.
9974
9975         * glyphs-widget.c (image_instantiator_layout): remove
9976         layout_possible_dest_types.
9977         (layout_possible_dest_types): deleted.
9978
9979         * glyphs.h (image_instance_type): remove layout references.
9980         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9981         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9982         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9983
9984 2000-04-25  Andy Piper  <andy@xemacs.org>
9985
9986         * glyphs-widget.c (image_instantiator_buttons):
9987         (image_instantiator_edit_fields):
9988         (image_instantiator_combo_box):
9989         (image_instantiator_scrollbar):
9990         (image_instantiator_progress_guage):
9991         (image_instantiator_tree_view):
9992         (image_instantiator_tab_control):
9993         (image_instantiator_labels):
9994         (image_instantiator_layout): call default post_instantiate method.
9995         (widget_post_instantiate): new function. Simply lays out the
9996         widgets.
9997
9998         * glyphs.h (struct image_instantiator_methods): add
9999         post_instantiate method.
10000
10001         * glyphs.c (instantiate_image_instantiator): add post_instantiate
10002         method calls.
10003
10004 2000-04-23  Andy Piper  <andy@xemacs.org>
10005
10006         * glyphs.h (struct image_instantiator_methods): add
10007         decode_domain_method.
10008         (struct Lisp_Image_Instance): remove subwindow frame - it can be
10009         derived from the domain.
10010         (IMAGE_INSTANCE_FRAME): new accessor.
10011         (XIMAGE_INSTANCE_FRAME): ditto.
10012
10013         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
10014         instead of _SUBWINDOW_FRAME.
10015         (finalize_image_instance): ditto.
10016         (Fimage_instance_foreground): ditto.
10017         (Fimage_instance_background): ditto.
10018         (image_instantiate): ditto.
10019         (update_subwindow_cachel): ditto.
10020         (update_subwindow): ditto.
10021         (unmap_subwindow): ditto.
10022         (map_subwindow): ditto
10023         (subwindow_instantiate): ditto.
10024         * glyphs-msw.c (mswindows_update_widget): ditto.
10025         (mswindows_progress_gauge_instantiate): ditto.
10026         (mswindows_tab_control_update): ditto.
10027         * glyphs-x.c (x_update_widget): ditto.
10028         (x_widget_instantiate): ditto.
10029         (x_tab_control_instantiate): ditto.
10030         (x_tab_control_update): ditto.
10031         * event-msw.c (mswindows_wnd_proc): ditto
10032
10033         * glyphs-widget.c (image_instantiator_layout): use
10034         subwindow_decode_domain.
10035         (image_instantiator_buttons): ditto.
10036         (image_instantiator_edit_fields): ditto.
10037         (image_instantiator_combo_box): ditto.
10038         (image_instantiator_scrollbar): ditto.
10039         (image_instantiator_progress_guage): ditto.
10040         (image_instantiator_tree_view): ditto.
10041         (image_instantiator_tab_control): ditto.
10042         (image_instantiator_labels): ditto.
10043         (image_instantiator_layout): ditto.
10044
10045         * glyphs.c: add instance error checking to many functions.
10046         (instantiate_image_instantiator): decode device from cache_domain.
10047         (image_instantiate): partially rewrite by using
10048         decode_image_instantiator_domain to determine what domain the
10049         instance needs to be cached in.
10050         (decode_image_instantiator_domain): new function. Determine what
10051         domain the image needs to be cached in.
10052         (check_window_subwindow_cache): new error checking function.
10053         (check_instance_cache_mapper): ditto.
10054         (check_image_instance_structure): ditto.
10055         (subwindow_decode_domain): new function. Encodes a window as a
10056         subwindow's cache domain.
10057         (image_instantiator_format_create): use it for text and
10058         subwindows.
10059
10060 2000-04-21  Andy Piper  <andy@xemacs.org>
10061
10062         * glyphs.c (image_instance_device): new function.
10063         (image_instance_frame): new function.
10064         (image_instance_window): new function.
10065         (image_instance_live_p): new function.
10066
10067         * window.c (mark_window_as_deleted): reset the subwindow_instance_
10068         cache to nil.
10069
10070         * glyphs.h (struct Lisp_Image_Instance): device->domain.
10071         (IMAGE_INSTANCE_DOMAIN): new accessor.
10072         (XIMAGE_INSTANCE_DOMAIN): ditto.
10073
10074         * glyphs-x.c (x_finalize_image_instance): device->domain.
10075
10076         * glyphs-msw.c (init_image_instance_geometry): device->domain.
10077         (mswindows_finalize_image_instance): ditto.
10078
10079         * glyphs-eimage.c (jpeg_instantiate): device->domain.
10080         (gif_instantiate): ditto.
10081         (png_instantiate): ditto.
10082         (tiff_instantiate): ditto.
10083
10084         * glyphs.c (instantiate_image_instantiator): use domain rather
10085         than device.
10086         (mark_image_instance): device -> domain.
10087         (print_image_instance): ditto.
10088         (finalize_image_instance): ditto.
10089         (image_instance_equal): ditto.
10090         (allocate_image_instance): ditto.
10091         (Fcolorize_image_instance): ditto.
10092         (query_string_geometry): ditto.
10093         (image_instantiate): ditto
10094         (query_string_font): ditto.
10095         (image_instantiate): ditto.
10096         (update_subwindow): ditto.
10097         (unmap_subwindow): ditto.
10098         (map_subwindow): ditto.
10099         (subwindow_instantiate): ditto.
10100
10101         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
10102         (DOMAIN_FRAME): ditto.
10103         (DOMAIN_WINDOW): ditto.
10104         (DOMAIN_LIVE_P): ditto.
10105         (XDOMAIN_DEVICE): ditto.
10106         (XDOMAIN_FRAME): ditto.
10107         (XDOMAIN_WINDOW): ditto.
10108
10109         * specifier.c (Fvalid_specifier_domain_p): add image instances as
10110         a valid specifier domain.
10111
10112 2000-04-19  Andy Piper  <andy@xemacs.org>
10113
10114         * glyphs-widget.c (syms_of_glyphs_widget): remove
10115         widget-callback-current-channel.
10116         (vars_of_glyphs_widget): ditto.
10117         * glyphs.h: ditto
10118
10119         * gui.c (get_gui_callback): revert to previous behaviour.
10120
10121 2000-04-18  Andy Piper  <andy@xemacs.org>
10122
10123         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
10124         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
10125         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
10126
10127         * glyphs.c (image_instance_equal): add margin_width.
10128         (image_instance_hash): ditto.
10129
10130         * glyphs-widget.c (widget_instantiate): deal with margin-width.
10131         (layout_query_geometry): ditto.
10132         (layout_layout): ditto.
10133         (syms_of_glyphs_widget): add margin-width.
10134         (image_instantiator_layout): allow margin-width.
10135
10136         * glyphs.c (update_widget_instances): make a normal function.
10137         (syms_of_glyphs): remove Qupdate_widget_instances.
10138         * glyphs.h: ditto.
10139
10140         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
10141         so that we don't corrupt ideas about the last event or
10142         command. Remove widget-callback-current-channel fiddling.
10143         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10144
10145 2000-05-01  Martin Buchholz <martin@xemacs.org>
10146
10147         * XEmacs 21.2.33 is released.
10148
10149 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
10150
10151         * make-src-depend: Allow dots in header file name.
10152
10153 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
10154
10155         * mule-charset.h (struct charset_lookup): Add
10156         next_allocated_1_byte_leading_byte and
10157         next_allocated_2_byte_leading_byte.
10158         * mule-charset.c: Move above two variables so that those values
10159         will be dumped.
10160
10161 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
10162
10163         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
10164         when string length is zero.
10165         (find_charsets_in_emchar_string): Ditto.
10166
10167 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
10168
10169         * lisp.h: extern Qdialog and Qmenubar.
10170
10171         * gui-x.c: added events.h.
10172                 also fixed typo which made the file uncompilable.
10173
10174         * general.c: Added Qmenubar and Qdialog
10175
10176 2000-04-28  Ben Wing  <ben@xemacs.org>
10177
10178         * frame-msw.c (mswindows_init_frame_1):
10179         * frame-msw.c (mswindows_mark_frame):
10180         * event-msw.c (mswindows_enqueue_dispatch_event):
10181         * console-msw.h:
10182         * console-msw.h (struct mswindows_frame):
10183         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
10184         there are now three hash tables for callbacks.
10185         mswindows_enqueue_dispatch_event is no longer static.
10186
10187         * dialog-x.c (maybe_run_dbox_text_callback):
10188         * dialog-x.c (dbox_descriptor_to_widget_value):
10189         switch to new cons3 form for callbacks.
10190
10191         * glyphs-msw.c (mswindows_register_gui_item):
10192         * glyphs-msw.c (mswindows_widget_instantiate):
10193         * glyphs-msw.c (add_tree_item):
10194         * glyphs-msw.c (add_tab_item):
10195         new image instance parameter, so it can be passed to callback-ex.
10196         respect :callback-ex as well as :callback.
10197
10198         * glyphs-widget.c (VALID_GUI_KEYWORDS):
10199         add :callback-ex.
10200
10201         * glyphs.c (print_image_instance):
10202         prettify, e.g. now prints widget type.
10203
10204         * gui-x.h:
10205         certain funs have new image instance parameter.
10206
10207         * gui.c:
10208         * gui.c (get_gui_callback):
10209         * gui.c (gui_item_add_keyval_pair):
10210         * gui.c (gui_item_init):
10211         * gui.c (gui_add_item_keywords_to_plist):
10212         * gui.c (mark_gui_item):
10213         * gui.c (gui_item_hash):
10214         * gui.c (gui_item_equal):
10215         * gui.c (copy_gui_item):
10216         * gui.c (syms_of_gui):
10217         recognize callback-ex in a number of places.
10218         also, fix the annoying "can't get out of yes-no dialog" bug.
10219
10220         * gui.h:
10221         * gui.h (struct Lisp_Gui_Item):
10222         recognize callback-ex in a number of places.
10223
10224         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10225         new parameter in button_item_to_widget_value.
10226
10227         * glyphs-x.c (x_update_widget):
10228         * glyphs-x.c (x_button_instantiate):
10229         * glyphs-x.c (x_button_update):
10230         * glyphs-x.c (x_progress_gauge_instantiate):
10231         * glyphs-x.c (x_edit_field_instantiate):
10232         * glyphs-x.c (x_combo_box_instantiate):
10233         * glyphs-x.c (x_tab_control_instantiate):
10234         * glyphs-x.c (x_label_instantiate):
10235         new image instance parameter in various places.
10236
10237         * event-Xt.c:
10238         * event-Xt.c (enqueue_Xt_dispatch_event):
10239         this fun gets exported.
10240
10241         * gui-msw.c:
10242         * gui-msw.c (mswindows_handle_gui_wm_command):
10243         handle both :callback and :callback-ex, and generate our own
10244         event because it's one of the callback-ex arguments.
10245
10246         * gui-x.c:
10247         * gui-x.c (popup_selection_callback):
10248         handle both :callback and :callback-ex, and generate our own
10249         event because it's one of the callback-ex arguments.
10250         * gui-x.c (button_item_to_widget_value):
10251         * gui-x.c (gui_items_to_widget_values_1):
10252         * gui-x.c (gui_item_children_to_widget_values):
10253         * gui-x.c (gui_items_to_widget_values):
10254         new image instance parameter in various places.
10255
10256         * fns.c (Freplace_list):
10257         fix small typo in doc string.
10258
10259         * lisp.h:
10260         declare enqueue_Xt_dispatch_event.
10261
10262 2000-04-28  Ben Wing  <ben@xemacs.org>
10263
10264         * buffer.c:
10265         * buffer.c (Frecord_buffer):
10266         * buffer.c (syms_of_buffer):
10267         delete record-buffer-hook.
10268
10269         * fns.c:
10270         * fns.c (Freplace_list):
10271         * fns.c (syms_of_fns):
10272         new primitive replace-list.
10273
10274         * frameslots.h:
10275         slot for old buffer-alist.
10276
10277         * lisp.h:
10278         exfun replace-list.
10279
10280         * redisplay.c:
10281         * redisplay.c (redisplay_frame):
10282         * redisplay.c (syms_of_redisplay):
10283         * redisplay.c (vars_of_redisplay):
10284         new hook buffer-list-changed-hook.
10285         call it.
10286
10287 2000-04-27  Ben Wing  <ben@xemacs.org>
10288
10289         * extents.h: extern in_modeline_generation.
10290
10291         * redisplay.c (generate_formatted_string_db): set
10292         in_modeline_generation.
10293
10294         * extents.c (extent_changed_for_redisplay): don't mark redisplay
10295         flags if in modeline generation.  otherwise frame-modified-tick
10296         is ticked far too often.
10297         Declare in_modeline_generation.
10298
10299 2000-04-26  Ben Wing  <ben@xemacs.org>
10300
10301         * emacs.c (vars_of_emacs): document quick-build "error-checking"
10302         option.
10303         (vars_of_emacs): add quick-build as an error-checking option.
10304         A bit kludgy, but there doesn't seem much point in creating
10305         a real var for this.
10306
10307         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
10308
10309 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10310
10311         * redisplay.h (struct display_line): Add a new variable,
10312         line_continuation.
10313
10314         * redisplay.c (create_text_block): Set dl->line_continuation if
10315         the line continues.
10316         (create_string_text_block): Ditto.
10317         (regenerate_window_incrementally): Use line_continuation instead
10318         of searching continuation glyph.
10319         (add_margin_runes): Call add_glyph_rune.
10320         (add_glyph_rune): Handle margin glyph.
10321
10322 2000-04-20  Martin Buchholz  <martin@xemacs.org>
10323
10324         * filelock.c (fill_in_lock_file_name):
10325         ANSIfy.
10326         Check for IS_ANY_SEP instead of '/'.
10327         (lock_file_1):
10328         Avoid generating gratuitous garbage.  Call user_login_name() directly.
10329         Never check errno without first seeing that system call failed.
10330         (unlock_file): Add GCPRO.
10331         (Flock_buffer): Fix docstring.
10332         (Ffile_locked_p): Fix docstring.  Add GCPRO.
10333
10334 2000-04-19  Martin Buchholz  <martin@xemacs.org>
10335
10336         * sysdep.c (get_pty_max_bytes):
10337         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
10338         strings longer than 252 bytes.
10339
10340         * md5.c: Unconditionally include ANSI header <limits.h>
10341
10342         * glyphs-x.c (convert_EImage_to_XImage):
10343         * lisp-union.h (union Lisp_Object):
10344         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
10345
10346 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10347
10348         * filelock.c (current_lock_owner): Remove unused variable o, p.
10349
10350 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
10351
10352         * callint.c: Remove multiply defined symbol Qlet
10353         (syms_of_callint): ditto.
10354
10355 2000-04-14  Andy Piper  <andy@xemacs.org>
10356
10357         * general.c (syms_of_general): add last-command, this-command, let
10358         and funcall.
10359
10360         * lisp.h: declare various symbols.
10361
10362         * glyphs.h: declare Qwidget_callback_current_channel;
10363
10364         * glyphs-widget.c (syms_of_glyphs_widget): add
10365         Qgui_callback_current_channel.
10366         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
10367
10368         * gui-msw.c (mswindows_handle_gui_wm_command): bind
10369         widget-callback-current-channel when invoking the interactive
10370         arg. Also bind last-command and next-command when invoking the
10371         widget updates.
10372         * gui-x.c (popup_selection_callback): ditto.
10373
10374         * gui.c (get_gui_callback): massage args so that we are always
10375         calling eval. This allows us to add our own variable bindings
10376         outside.
10377
10378         * glyphs-x.c (x_button_instantiate): use
10379         gui_items_to_widget_values since this is GC safe.
10380         (x_progress_gauge_instantiate): ditto.
10381         (x_edit_field_instantiate): ditto.
10382         (x_label_instantiate): ditto.
10383
10384         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
10385         (emacs_Xt_event_widget_focus_out): new function
10386         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
10387         focus.
10388         (emacs_Xt_event_add_widget_actions): new function. add focus
10389         functions as actions.
10390         (init_event_Xt_late): use it.
10391
10392 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
10393
10394         * event-stream.c (Fdispatch_event): Doc fix.
10395
10396 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
10397
10398         * postgresql.c: Remove all references to PQsetenv*.
10399
10400         * postgresql.h: Remove references to PGsetenvHandler object.
10401         * lrecord.h (lrecord_type): Ditto.
10402
10403 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10404
10405         * glyphs-msw.h (struct mswindows_image_instance_data): Added
10406         real_heigh and real_width members, and accessor macros for these.
10407
10408         * glyphs-msw.c (init_image_instance_geometry): New function.
10409         (init_image_instance_from_dibitmap): Use it.
10410         (mswindows_resource_instantiate): Use it.
10411         (init_image_instance_from_xbm_inline): Use it.
10412         (mswindows_initialize_image_instance_mask): Use real bitmap
10413         geometry.
10414         (mswindows_create_resized_bitmap): Ditto.
10415         (mswindows_create_resized_mask): Ditto.
10416
10417         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
10418         and bitmap to their surface size.
10419
10420 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
10421
10422         * process-unix.c (unix_send_process): Guard against process MIA
10423         after Faccept_process_output.
10424
10425 2000-04-11  Ben Wing  <ben@xemacs.org>
10426
10427         * eval.c (unbind_to_hairy): fix brokenness introduced by
10428         nanosecond speed improvements.
10429
10430 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
10431
10432         * sunplay.c (init_device): To play sounds correctly, the device
10433         apparently needs to be initialized at least once by XEmacs.  Make
10434         it so.
10435
10436 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10437
10438         * redisplay.c (add_margin_runes): Add text image glyph
10439           handling.
10440
10441 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10442
10443         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
10444         gcc is newer than 2.5.
10445
10446 2000-04-06  Colin Rafferty  <colin@xemacs.org>
10447
10448         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
10449
10450         * fns.c (size_bit_vector):
10451         * alloc.c (size_vector):
10452         (make_vector_internal):
10453         (make_bit_vector_internal):
10454         (sweep_bit_vectors_1):
10455         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
10456
10457 2000-04-06  Andy Piper  <andy@xemacs.org>
10458
10459         * gmalloc.c (malloc): undo previous change.
10460         (malloc): ditto.
10461         (free): ditto.
10462         (realloc): ditto.
10463
10464 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
10465
10466         * line-number.c (buffer_line_number): Revert to former version.
10467
10468 2000-04-06  Andy Piper  <andy@xemacs.org>
10469
10470         * gmalloc.c (malloc): add error checking.
10471         (malloc): ditto.
10472         (free): ditto.
10473         (realloc): ditto.
10474
10475         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
10476         button_item_to_widget_value arg.
10477
10478         * glyphs-x.c (x_button_instantiate): add extra
10479         button_item_to_widget_value arg.
10480         (x_progress_gauge_instantiate): ditto.
10481         (x_edit_field_instantiate): ditto.
10482         (x_label_instantiate): ditto.
10483
10484         * gui-x.c (gui_items_to_widget_values_1): add extra
10485         button_item_to_widget_value arg.
10486         (button_item_to_widget_value): add extra menu_item_p arg.
10487
10488         * gui-x.h: change signature of button_item_to_widget_value.
10489
10490         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
10491         button_item_to_widget_value arg.
10492
10493 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10494
10495         * buffer.h (struct buffer): auto_save_modified should be long.
10496
10497 2000-04-05  Andy Piper  <andy@xemacs.org>
10498
10499         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
10500         type.
10501         (button_query_geometry): give a little more room so that athena
10502         buttons fit.
10503
10504 2000-04-05  Andy Piper  <andy@xemacs.org>
10505
10506         * faces.c (complex_vars_of_faces): The widget face should inherit
10507         the font of the gui-element face.
10508
10509 2000-04-04  Andy Piper  <andy@xemacs.org>
10510
10511         * glyphs-x.c (x_button_update): new function. unconditionally
10512         update a button's state when the instance is dirty.
10513         (image_instantiator_format_create_glyphs_x): add x_button_update.
10514         (x_widget_instantiate): remove old resize cruft.
10515
10516 2000-04-02  Andy Piper  <andy@xemacs.org>
10517
10518         * frame.c (change_frame_size_1): The introduction of gutters means
10519         that we need to allow 0 as a potential frame dimension.
10520
10521 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10522
10523         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
10524         image glyph if allow_cursor.
10525         (add_hscroll_rune): Don't allow cursor to border glyph.
10526         (create_text_block): Ditto.
10527
10528         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
10529         text not in buffer.
10530         (redisplay_output_layout): Call ensure_face_cachel_complete for
10531         text image glyph.
10532
10533
10534 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10535
10536         * redisplay.c (add_glyph_rune): Adding text image as text runes.
10537
10538         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
10539         not in buffer
10540
10541         * redisplay-tty.c (tty_output_display_block): Delete the routine
10542         for text image glyph
10543         * redisplay-x.c (x_output_display_block): ditto
10544         * redisplay-msw.c (mswindows_output_display_block): ditto
10545
10546 2000-02-02  Mike Alexander  <mta@arbortext.com>
10547
10548         Note: Some of these were committed by accident as part of other
10549         patches.
10550
10551         * regex.c (regex_compile): Avoid compiler warnings.
10552
10553         * ntproc.c (sys_spawnve): Avoid compiler warnings.
10554
10555         * nt.h: Declare term_ntproc correctly.
10556
10557         * nt.c: Remove incorrect declaration of get_home_directory which
10558         is declared correctly in lisp.h.
10559
10560         * keymap.c (get_keyelt): Avoid compiler warnings.
10561         (raw_lookup_key_mapper): Avoid compiler warnings.
10562
10563         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
10564
10565         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
10566
10567         * filemode.c (mode_string): Avoid compiler warnings.
10568
10569         * file-coding.c (Fcoding_system_aliasee): Add return statement to
10570         avoid warning.
10571
10572         * events-mod.h: Undef some things that winuser.h defines differently.
10573
10574         * data.c (Faset): Avoid compiler warnings.
10575
10576         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
10577
10578 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10579
10580         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
10581         Fall through to simple beep on error.
10582         Replace "extern" by real header file.
10583
10584         * linuxplay.c: Use nativesound.h
10585         (play_sound_data): Return error code. Be less verbose on error.
10586
10587         * sunplay.c: Use nativesound.h
10588         (play_sound_data): Return error code. Be less verbose on error.
10589
10590         * ntplay.c: Use nativesound.h
10591         (play_sound_data): Return fake error code
10592
10593         * sgiplay.c: Use nativesound.h
10594         (play_sound_data): Return error code
10595
10596         * hpplay.c: Use nativesound.h, partially implement
10597         new error code. Break compilation until finished.
10598         (play_sound_data): error code.
10599
10600         * nativesound.h (play_sound_file):
10601           (play_sound_data): Prototype in new header.
10602
10603 2000-03-31  Andy Piper  <andy@xemacs.org>
10604
10605         * glyphs-widget.c: (button_query_geometry): new function. Adjust
10606         for toggle and radio buttons.
10607         (image_instantiator_buttons): use it.
10608
10609 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10610
10611         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
10612         (x_update_horizontal_scrollbar_callback): Return if no mirror was
10613         found. Scrollbar event probably belonged to some old config.
10614
10615 2000-03-31  Andy Piper  <andy@xemacs.org>
10616
10617         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
10618         than 1.
10619         (initialize_widget_image_instance): default layout to
10620         LAYOUT_HORIZONTAL rather than 0.
10621         (widget_instantiate): reverse the item list at the end rather than
10622         every iteration.
10623         (layout_layout): re-code for the border text at the front of the
10624         item list rather than at the end.
10625         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
10626         provided by the user.
10627         (widget_query_geometry): comment.
10628
10629 2000-03-30  Andy Piper  <andy@xemacs.org>
10630
10631         * glyphs-widget.c (image_instantiator_layout): allow standard
10632         widget keywords in layouts.
10633
10634         * gutter.c (output_gutter): cope with nil gutter contents.
10635
10636         * frame.c (Fset_frame_properties): add gutter docs.
10637
10638 2000-03-29  Andy Piper  <andy@xemacs.org>
10639
10640         * toolbar-msw.c (TBSTYLE_FLAT): add.
10641         (mswindows_output_toolbar): minor fiddling.
10642
10643 2000-03-29  Andy Piper  <andy@xemacs.org>
10644
10645         * gutter.c (output_gutter): force gutter size recalculation if
10646         what we are trying to display won't fit.
10647         (update_gutter_geometry): new function. A per-gutter version of
10648         update_frame_gutter_geometry.
10649         (update_frame_gutter_geometry): use it.
10650         (redraw_exposed_gutter): add extra debugging output.
10651
10652 2000-03-28  Mike Alexander  <mta@arbortext.com>
10653
10654         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
10655         (pdump_file_unmap): Implement it on Windows
10656         (pdump_file_get): Save alocated handles for pdump_file_unmap
10657
10658 2000-03-28  Andy Piper  <andy@xemacs.org>
10659
10660         * gui.c (get_gui_callback): treat Quit specially.
10661
10662 2000-03-27  Andy Piper  <andy@xemacs.org>
10663
10664         * glyphs.c (image_instantiate): be careful to check in the same
10665         way we assigned.
10666
10667 2000-03-27  Didier Verna  <didier@xemacs.org>
10668
10669         * config.h.in: define the proper SMART_INCLUDE macro.
10670         handle renaming of `foo_h_path' to `foo_h_file'.
10671
10672         * database.c: ditto.
10673
10674         * emacs.c: ditto.
10675
10676         * linuxplay.c: ditto.
10677
10678         * terminfo.c: ditto.
10679
10680         * tooltalk.h: ditto.
10681
10682 2000-03-27  Andy Piper  <andy@xemacs.org>
10683
10684         * glyphs-msw.c (mswindows_update_widget): make sure the widget
10685         gets updated whenever the face might have changed.
10686
10687 2000-03-26  Mike Alexander  <mta@arbortext.com>
10688
10689         * dumper.c (pdump_resource_free): Fix the comment.
10690
10691 2000-03-21  Olivier Galibert  <galibert@pobox.com>
10692
10693         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
10694
10695 2000-03-22  Mike Alexander  <mta@arbortext.com>
10696
10697         * dumper.c: Include Windows headers on Windows
10698         (pdump_resource_free): Add a body to the function
10699         (pdump_load): exe_name -> exe_path and add some comments.
10700
10701 2000-03-25  Mike Alexander  <mta@arbortext.com>
10702
10703         * gui.c (copy_gui_item_tree): Return a value in all cases
10704
10705 2000-03-21  Didier Verna  <didier@xemacs.org>
10706
10707         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
10708         lwlib/config.h.in.
10709         (SMART_INCLUDE): new macro.
10710         (POSTGRES_INCLUDE): new macro to include postgresql headers from
10711         the proper location.
10712
10713         * postgresql.c: use it.
10714
10715         * inline.c: ditto.
10716
10717 2000-03-24  Andy Piper  <andy@xemacs.org>
10718
10719         * gutter.c (redraw_exposed_gutters): must be "in display" when we
10720         do this.
10721
10722 2000-03-24  Andy Piper  <andy@xemacs.org>
10723
10724         * redisplay-output.c (compare_runes): use image_instance_changed
10725         to detect changes. Do not depend on glyphs_changed, only depend on
10726         dirtiness.
10727          (redisplay_output_layout): add debug messages.
10728         (compare_runes): ditto.
10729
10730         * glyphs.h: declare new functions.
10731         (struct Lisp_Image_Instance): remove percent and associated
10732         accessors.
10733
10734         * gui.h: declare new copying functions.
10735
10736         * gui.c (copy_gui_item_tree): new function.
10737         (copy_gui_item): new function.
10738         (gui_item_id_hash): revert to standard hash.
10739         (gui_item_hash): ditto.
10740         (gui_item_hash_internal): deleted.
10741         (mark_gui_item): mark value.
10742         (gui_item_add_keyval_pair): add value.
10743         (gui_item_init): ditto.
10744         (gui_add_item_keywords_to_plist): ditto.
10745         (gui_item_equal): ditto.
10746         (syms_of_gui): add Q_value.
10747
10748         * glyphs-x.c (x_progress_gauge_update): use pending items and
10749         value for setting the state.
10750         (x_update_widget): don't set items from pending here.
10751
10752         * glyphs-widget.c (update_widget): update items here.
10753         (progress_gauge_set_property): use items for storing value. Put
10754         new value in pending items.
10755
10756         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10757         items for new value. Convert percent -> value.
10758         (mswindows_tab_control_update): don't update items here.
10759
10760         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10761         (update_subwindow): ditto.
10762         (image_instance_changed): new function. Compare hash values and
10763         past and present widget items.
10764         (image_instantiate): We more careful about where we instantiate
10765         things.
10766         (image_instantiate): add error checking.
10767
10768         * gutter.c (syms_of_gutter): use -hook.
10769
10770 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10771
10772         * console-tty.c (Fset_console_tty_input_coding_system): Use
10773         Qkeyboard.
10774         (Fset_console_tty_output_coding_system): Use Qterminal.
10775         (tty_init_console): Use Qkeyboard and Qterminal.
10776
10777 2000-03-21  Ben Wing  <ben@xemacs.org>
10778
10779         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10780         From Mike Alexander <mta@arbortext.com>.
10781
10782 2000-03-21  Ben Wing  <ben@xemacs.org>
10783
10784         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10785         process brokenness.  Proper implementation to come.
10786         * callproc.c:
10787         Rename call-process-internal to old-call-process-internal.
10788         New impl. in process.el.
10789
10790 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10791
10792         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10793
10794 2000-03-20  Andy Piper  <andy@xemacs.org>
10795
10796         * glyphs.c (full_list_hash): make hashes of the same elements in
10797         different orders return different values.
10798
10799 2000-03-20  Martin Buchholz <martin@xemacs.org>
10800
10801         * XEmacs 21.2.32 is released.
10802
10803 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10804
10805         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10806         (DFC_MALLOC_USE_CONVERTED_DATA):
10807         Add aliasing-safe casts to allow use with char* or unsigned char*
10808         lvalues.
10809
10810         * eldap.c (Fldap_open):
10811         (Fldap_search_basic):
10812         (Fldap_add):
10813         (Fldap_modify):
10814         Make C++-compilable.
10815         Make sure GCPRO'ed variables are initialized.
10816         Use temp variables to avoid repeated calls to Flength.
10817
10818 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10819
10820         * sysfile.h:
10821         Make sure PATH_MAX is always defined.
10822         Include limits.h for PATH_MAX.
10823         Deprecate use of MAXPATHLEN.
10824
10825 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10826
10827         * emacs.c: Add reinit_vars_of_fileio.
10828         * symsinit.h: Add reinit_vars_of_fileio.
10829         * fileio.c (reinit_vars_of_fileio): New.
10830         * fileio.c (Fmake_temp_name):
10831         Initialize temp_name random number from microseconds to make
10832         collisions even less likely.  Initialize always at process startup
10833         time.  (make-temp-name) used to return the same file name twice in
10834         a row when PDUMP.
10835         Random stylistic fiddling.
10836         Comment fixes.
10837
10838 2000-03-20  Andy Piper  <andy@xemacs.org>
10839
10840         * glyphs.c (image_instantiate): allow text glyphs to be
10841         instantiated in the minibuffer window.
10842
10843 2000-03-19  Andy Piper  <andy@xemacs.org>
10844
10845         * glyphs.c (image_instance_hash): be careful about which items we
10846         hash on.
10847
10848         * glyphs-widget.c (tab_control_set_property): record into pending
10849         items rather than the actual items.
10850
10851         * glyphs-x.c (x_update_widget): use pending items to update with.
10852
10853         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10854         to update with.
10855
10856         * glyphs.c (mark_image_instance): mark pending items.
10857
10858         * window.c (Fset_window_configuration): record the buffer.
10859         (Fselect_window): totally revert previous change which breaks many
10860         things.
10861
10862 2000-03-18  Andy Piper  <andy@xemacs.org>
10863
10864         * glyphs-msw.c (mswindows_tab_control_update): force selected
10865         item.
10866
10867         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10868         window domain cache, otherwise we get inconsistencies at
10869         startup. There is something fishy at startup which can lead to the
10870         minibuffer being the selected window when the gutter content is
10871         instantiated.
10872
10873         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10874         gcpros.
10875         (parse_gui_item_tree_children): ditto.
10876         (parse_gui_item_tree_item): ditto.
10877
10878         * glyphs.c (Fupdate_widget_instances): return something.
10879
10880 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10881
10882         * window.c (Fselect_window): Undo 2000-03-17 change.
10883
10884 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10885
10886         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10887         against v7.0 libraries.  Insta-coredump city until the postgres
10888         folks fix it.
10889
10890 2000-03-17  Andy Piper  <andy@xemacs.org>
10891
10892         * faces.c (complex_vars_of_faces): don't give the widget face an
10893         inherited background pixmap.
10894
10895         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10896         selected item.
10897
10898         * event-stream.c (Fdispatch_non_command_events): return something.
10899
10900         * gutter.c (output_gutter): use widget face.
10901         (clear_gutter): ditto.
10902
10903         * NEWS: adjust again.
10904
10905         * window.c (Fselect_window): make sure this runs to completion to
10906         avoid oddities with Fset_window_configuration.
10907         (Fcurrent_window_configuration): in general do not save the
10908         minibuffer as the selected window.
10909
10910         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10911
10912 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10913
10914         * emacs.c (Frunning_temacs_p): Revert previous patch.
10915         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10916
10917 2000-03-16  Andy Piper  <andy@xemacs.org>
10918
10919         * glyphs-x.c (x_tab_control_update): if no widget values then
10920         return.
10921
10922         * NEWS: update for new features.
10923
10924         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10925         synthetic event to the native system.
10926         (reinit_vars_of_event_Xt): set force_event_pending to
10927         emacs_Xt_force_event_pending.
10928
10929         * events.h (struct event_stream): add force_event_pending.
10930
10931         * specifier.c (recompute_one_cached_specifier_in_window): add
10932         comment.
10933
10934         * redisplay.c (redisplay_frame): don't call
10935         update_frame_subwindows. Reset subwindow cachels when
10936         subwindows_changed, removing this was an optimization too far.
10937
10938         * redisplay-output.c (compare_runes): reorganize so that we catch
10939         glyph changes when we want them. Set optimize_output when this
10940         would help layouts.
10941         (redisplay_output_layout): remove frame_really_changed, use
10942         optimize_output instead.
10943
10944         * redisplay-msw.c (mswindows_output_display_block): reset
10945         optimize_output after outputting a glyph.
10946         * redisplay-x.c (x_output_display_block): ditto.
10947         * redisplay-tty.c (tty_output_display_block): ditto.
10948
10949         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10950         functions.
10951         (gutter_specs_changed): do specific gutter positions.
10952         (top_gutter_specs_changed): new function. Only update the
10953         specified gutter specs.
10954         (bottom_gutter_specs_changed): ditto.
10955         (left_gutter_specs_changed): ditto.
10956         (right_gutter_specs_changed): ditto.
10957
10958         * gui.c (gui_item_hash_internal): new function, does a real hash.
10959         (gui_item_id_hash): use it.
10960         (gui_item_hash): hash the eval'ed gui_item.
10961
10962         * gui-x.c (popup_selection_callback): send an eval event to call
10963         Fupdate_widget_instances.
10964
10965         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10966         to call Fupdate_widget_instances.
10967
10968         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10969         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10970
10971         * glyphs.c: (update_frame_subwindows): deleted.
10972         (Fupdate_widget_instances): new function for updating the dirty
10973         state of widgets that might have changed.
10974         (syms_of_glyphs): add Qupdate_widget_instances.
10975         (full_list_hash): hash a list completely.
10976         (image_instance_hash): use it for items and properties.
10977
10978         * frame-msw.c (mswindows_size_frame_internal): remove unused
10979         variable.
10980
10981         * faces.h (struct face_cachel): fix comment.
10982
10983         * event-stream.c (Fdispatch_non_command_events): new
10984         function. Process non-command events, forcing an event cycle
10985         beforehand.
10986         (syms_of_event_stream): declare.
10987         (event_stream_force_event_pending): new function. Force an event
10988         on the native event queue so that an event cycle will occur next
10989         time we check.
10990
10991         * event-msw.c:
10992         (struct ntpipe_shove_stream):
10993         (mswindows_enqueue_dispatch_event):
10994         (mswindows_dequeue_dispatch_event):
10995         (mswindows_cancel_dispatch_event):
10996         (mswindows_pump_outstanding_events):
10997         (mswindows_drain_windows_queue):
10998         (mswindows_handle_paint):
10999         (mswindows_wnd_proc):
11000         (mswindows_key_to_emacs_keysym):
11001         (get_process_input_waitable):
11002         (emacs_mswindows_delete_stream_pair): re-indent file.
11003         (mswindows_need_event): do not process further fds if the windows
11004         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
11005         fixes the 100% cpu problem.
11006         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
11007
11008 2000-03-15  Olivier Galibert  <galibert@pobox.com>
11009
11010         * alloc.h: New.
11011         * dumper.h: New.
11012         * dumper.c: New.
11013
11014         * emacs.c: Moved dump file searching to dumper.c.
11015         (Frunning_temacs_p): Fixed.
11016
11017         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
11018         last_lrecord_type_index_assigned.
11019
11020 2000-02-20  Olivier Galibert  <galibert@pobox.com>
11021
11022         * symsinit.h: Added reinit parameter to init_console_stream
11023         declaration.
11024
11025         * lisp.h: Added file parameter to pdump_load declaration.
11026
11027         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
11028         support.  Added dump file searching.
11029
11030         * config.h.in: Added EMACS_PROGNAME.
11031
11032         * console-stream.c (init_console_stream): Fix reinitialisation
11033         when running from temacs.
11034
11035         * alloc.c (pdump): Add id support.
11036         (pdump_load): Add file parameter and signature/id support.
11037
11038         * Makefile.in.in: Add full pdump support.
11039
11040 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
11041
11042         * postgresql.c: Update documentation to reflect latest code
11043         status.
11044         (print_result): Show tuple counts in printed representation when
11045         appropriate.
11046         (Fpq_put_nbytes): MULE-ize.
11047         (Fpq_get_line_async): Ditto.
11048
11049 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
11050
11051         * postgresql.c (Fpq_lo_import): Fix return value.
11052         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
11053
11054 2000-03-13  Ben Wing  <ben@xemacs.org>
11055
11056         * alloc.c (pdump_load):
11057         Fix compile warning under mswin.
11058
11059 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
11060
11061         * postgresql.c: Mule-ization, bug fixes.
11062         Use PG_CODING to encapsulate coding system name changes.
11063         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
11064         (pg-coding-system): Create.
11065
11066         (Fpq_conn_defaults): Mule-ize.
11067         (Fpq_connectdb): Mule-ize & bug fix.
11068         (Fpq_connect_start): Mule-ize.
11069         (Fpq_set_client_encoding): Mule-ize.
11070         (Fpq_finish): Document `DEAD' connection status.
11071         (Fpq_clear): Ditto.
11072         (Fpq_pgconn): Mule-ize.
11073         (Fpq_exec): Mule-ize & bug fix.
11074         (Fpq_send_query): Ditto.
11075         (Fpq_get_result): Ditto.
11076         (Fpq_res_status): Mule-ize.
11077         (Fpq_result_error_message): Mule-ize.
11078         (Fpq_ntuples): fix comments.
11079         (Fpq_fname): Mule-ize.
11080         (Fpq_fnumber): Mule-ize.
11081         (Fpq_ftype): fix comments.
11082         (Fpq_get_value): Mule-ize.
11083         (Fpq_cmd_status): Ditto.
11084         (Fpq_cmd_tuples): Ditto.
11085         (Fpq_oid_value): Ditto.
11086         (Fpq_notifies): Ditto.
11087         (Fpq_lo_import): Ditto.
11088         (Fpq_lo_export): Ditto.
11089         (Fpq_get_line): Ditto.
11090         (Fpq_put_line): Mule-ize and bug fix.
11091         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
11092
11093 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
11094
11095         * postgresql.c (vars_of_postgresql): Mule-ize.
11096         (Fpq_conn_defaults): Ditto.
11097
11098 2000-03-12  Ben Wing  <ben@xemacs.org>
11099
11100         * alloc.c (Fmake_byte_code):
11101         * alloc.c (debug_string_purity_print):
11102         * alloc.c (pdump_backtrace):
11103         * alloc.c (pdump_get_indirect_count):
11104         * alloc.c (pdump_register_sub):
11105         * alloc.c (pdump_register_object):
11106         * alloc.c (pdump_register_struct):
11107         * alloc.c (pdump_dump_data):
11108         * alloc.c (pdump_reloc_one):
11109         Minor cleanups.
11110
11111         * console-msw.c:
11112         * console-msw.c (GetConsoleHwnd):
11113         * console-msw.c (msw_hide_console):
11114         * console-msw.c (msw_show_console):
11115         * console-msw.c (msw_ensure_console_buffered):
11116         * console-msw.c (msw_output_console_string):
11117         * console-msw.c (console_type_create_mswindows):
11118
11119         a) Added functions to manipulate the console window for use with
11120         shell support.
11121
11122         b) Added support for writing text to the console, which is now
11123         used under Windows when xemacs is not being run non-interactively,
11124         to write text that would otherwise be destined for stdout because
11125         under these circumstances, text written to stdout tends to
11126         disappear and not be seen.
11127
11128         * console-msw.h:
11129         * event-Xt.c:
11130         * event-Xt.c (x_event_to_emacs_event):
11131         * event-Xt.c (describe_event_window):
11132         * events-mod.h (XEMACS_MOD_CONTROL):
11133         * events.c:
11134         * events.c (Fmake_event):
11135         * events.c (character_to_event):
11136         * events.c (event_to_character):
11137         * events.c (format_event_object):
11138         * events.c (Fevent_modifiers):
11139         * events.h:
11140         * events.h (struct key_data):
11141         * events.h (struct button_data):
11142         * events.h (struct misc_user_data):
11143         * frame-x.c (Fcde_start_drag_internal):
11144         * frame-x.c (Foffix_start_drag_internal):
11145         * gpmevent.c (Freceive_gpm_event):
11146         * keymap.c:
11147         * keymap.c (bucky_sym_to_bucky_bit):
11148         * keymap.c (control_meta_superify):
11149         * keymap.c (make_key_description):
11150         * keymap.c (keymap_lookup_directly):
11151         * keymap.c (create_bucky_submap):
11152         * keymap.c (keymap_store):
11153         * keymap.c (define_key_check_and_coerce_keysym):
11154         * keymap.c (define_key_parser):
11155         * keymap.c (define_key_alternate_name):
11156         * keymap.c (Fdefine_key):
11157         * keymap.c (raw_lookup_key_mapper):
11158         * keymap.c (struct map_keymap_unsorted_closure):
11159         * keymap.c (map_keymap_unsorted_mapper):
11160         * keymap.c (map_keymap_sort_predicate):
11161         * keymap.c (map_keymap_sorted):
11162         * keymap.c (accessible_keymaps_mapper_1):
11163         * keymap.c (where_is_recursive_mapper):
11164         * keymap.c (describe_map_mapper):
11165         * keymap.c (describe_map_sort_predicate):
11166         * keymap.c (describe_map):
11167         * keymap.c (complex_vars_of_keymap):
11168         And a number of other files, the key modifier preprocessor
11169         constants that xemacs uses have names that conflict with constants
11170         defined under MS Windows for other purposes, so they were renamed
11171         to begin with the prefix XEMACS_. The variables that hold such
11172         modifiers were changed to consistently be of type int to fix
11173         various compile warnings.
11174
11175         * console.c (complex_vars_of_console):
11176         * device.c:
11177         * device-msw.c:
11178         * device-msw.c (mswindows_finish_init_device):
11179         * device-msw.c (msw_get_workspace_coords):
11180         * device-msw.c (mswindows_device_system_metrics):
11181         and various other files, added support for a new
11182         device property called offset-workspace which returns the position
11183         of the upper left corner of the workspace area and goes along with
11184         the existing size-workspace property.
11185
11186         * dialog-msw.c:
11187         * dialog-msw.c (push_bufbyte_string_as_unicode):
11188         * dialog-msw.c (mswindows_popup_dialog_box):
11189         Added support for XEmacs-style accelerator specifications in
11190         button text.  Note: I didn't add support for this under X Windows,
11191         and somebody needs to do this.
11192
11193         * dialog.c:
11194         * dialog.c (Fpopup_dialog_box):
11195         Documented the support for accelerators that was just mentioned.
11196
11197         editfns.c (get_home_directory): Changed behavior under Windows
11198         when HOME not defined; former behavior was irretrievably broken.
11199
11200         * emacs.c:
11201         * emacs.c (main_1):
11202         * emacs.c (main):
11203         * minibuf.c (clear_echo_area_internal):
11204         * minibuf.c (echo_area_append):
11205         * print.c:
11206         * print.c (std_handle_out_external):
11207         * print.c (std_handle_out_va):
11208         * print.c (fatal):
11209         * print.c (write_string_to_stdio_stream):
11210         * print.c (output_string):
11211         * print.c (debug_print):
11212         * print.c (debug_backtrace):
11213         * print.c (debug_short_backtrace):
11214         Cleaned up the code that prints text to stdout so that this can be
11215         changed to output into a console window instead under MS Windows,
11216         as described above.
11217
11218         * eval.c:
11219         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
11220         * eval.c (internal_catch):
11221         * eval.c (unwind_to_catch):
11222         * eval.c (throw_or_bomb_out):
11223         * eval.c (condition_case_1):
11224         * eval.c (signal_1):
11225         * eval.c (check_error_state_sanity):
11226         * eval.c (call_with_suspended_errors_1):
11227         * eval.c (call_with_suspended_errors):
11228         * eval.c (reinit_vars_of_eval):
11229         Added code to catch throw loops and check for a pesky bug that may
11230         be gone now.
11231
11232         * event-msw.c:
11233         * event-msw.c (key_needs_default_processing_p):
11234         * event-msw.c (mswindows_wnd_proc):
11235         * event-msw.c (mswindows_modifier_state):
11236         * event-msw.c (emacs_mswindows_quit_p):
11237         * event-msw.c (vars_of_event_mswindows):
11238         a) Added support for using the alt key to select menu items as is
11239         standard under MS Windows.  This is controlled using the variable
11240         menu-accelerator-enabled, just like under X Windows.  There is an
11241         option on the options menu to turn this support on.  I really
11242         think that it should be on by default under Windows, but I'm not
11243         going to make this change yet.
11244
11245         b)  Added support for dynamic display size changes under Windows.
11246
11247         * event-stream.c:
11248         * event-stream.c (maybe_echo_keys):
11249         * event-stream.c (Fnext_event):
11250         * event-stream.c (command_builder_find_leaf):
11251         * event-stream.c (lookup_command_event):
11252         * event-stream.c (execute_command_event):
11253         * event-stream.c (pre_command_hook):
11254         * event-stream.c (post_command_hook):
11255         * event-stream.c (syms_of_event_stream):
11256         * event-stream.c (vars_of_event_stream):
11257         * event-stream.c (complex_vars_of_event_stream):
11258         * events.h (struct command_builder):
11259
11260         a) Tried to clean up a little bit the horribly written x-specific
11261         accelerator code that crept into this file.  I moved this code
11262         into menubar-x.c where it belongs. I also needed to move the
11263         command builder structure into the file events.h because it is
11264         accessed directly by this accelerator code.  What I didn't do, but
11265         which should be done at some point, is to properly abstract this
11266         code using device methods instead of the kludgy way that it
11267         currently hooks into the event code.
11268
11269         b) Added the lisp variables this-command-properties and
11270         last-command- properties, which should be used to synchronize two
11271         adjacent commands in preference to playing games with the variable
11272         this-command, which is typically what happens.
11273
11274         c) Added some slightly nasty code to hook into the lisp support
11275         for shifted- motion-key selection.  This is actually necessary for
11276         somewhat complicated reasons, which are described in
11277         simple.el. (NB: I think the proper thing would be to have the code
11278         that calls the pre and post command hooks also call out to generic
11279         lisp functions in simple.el, where all built-in stuff could be
11280         added.  I will think about this more.)
11281
11282         * event-unixoid.c (poll_fds_for_input):
11283         * lread.c (readchar):
11284         * redisplay-tty.c (tty_clear_frame):
11285         * redisplay-x.c (x_get_gc):
11286         * signal.c (interrupt_signal):
11287         And a whole bunch of other files: fixed up places that printed
11288         directly to stderr to instead call the function stderr_out so that
11289         the changes I made under Windows work correctly.
11290
11291         * filemode.c (mode_string):
11292         Warning fixes.
11293
11294         * frame-msw.c:
11295         * frame-msw.c (mswindows_size_frame_internal):
11296         Fixed the computation of frame size and position to keep the frame
11297         within the workspace area, rather than within the physical
11298         dimensions of the screen, so that the frame doesn't overlap window
11299         manager decorations, such as the start menu and toolbar, typically
11300         at the bottom of the screen.
11301
11302         * frame.c (vars_of_frame):
11303         Changed the default frame title format under MS Windows to consist
11304         of buffername-XEmacs, which is standard under MS Windows.  I think
11305         it might be a good idea to change this everywhere because I think
11306         it is superior to the current frame title format, but this is the
11307         kind of change that is likely to cause some people to get annoyed,
11308         so I'm not making it.
11309
11310         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
11311
11312         * gui-msw.c (mswindows_handle_gui_wm_command):
11313         Fixed compile warnings.
11314
11315         * gui-x.c:
11316         * gui-x.c (strdup_and_add_accel):
11317         * gui-x.c (button_item_to_widget_value):
11318         * gui-x.h:
11319         Added code to automatically put an accelerator onto the beginning
11320         of menu items that don't have one as is now the standard, and is
11321         described more later.  Also fixed things so that the menu item
11322         name can be an evaluated expression, again a new standard.
11323
11324         * gui.c:
11325         * gui.c (gui_item_add_keyval_pair):
11326         * gui.c (make_gui_item_from_keywords_internal):
11327         * gui.c (gui_add_item_keywords_to_plist):
11328         * gui.c (gui_item_accelerator):
11329         * gui.c (gui_name_accelerator):
11330         * gui.c (gui_item_included_p):
11331         * gui.c (gui_item_display_flush_left):
11332         * gui.c (gui_item_display_flush_right):
11333         * gui.c (parse_gui_item_tree_item):
11334         * gui.c (parse_gui_item_tree_children):
11335         * gui.c (parse_gui_item_tree_list):
11336         Mule-ized.  Cleanup.  GCPRO addition.
11337
11338         * line-number.c (buffer_line_number):
11339         * lisp.h:
11340         * lisp.h (EMACS_INT_MAX):
11341         Added the manifest constant EMACS_INT_MIN corresponding to the
11342         existing constant EMACS_INT_MAX.  This is partially to fix compile
11343         warnings under Windows, and partly for cleanliness.
11344
11345         * menubar-msw.c:
11346         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
11347         * menubar-msw.c (msw_translate_menu_or_dialog_item):
11348         * menubar-msw.c (displayable_menu_item):
11349         * menubar-msw.c (populate_menu_add_item):
11350         * menubar-msw.c (populate_or_checksum_helper):
11351         * menubar-msw.c (populate_menu):
11352         * menubar-msw.c (update_frame_menubar_maybe):
11353         * menubar-msw.c (prune_menubar):
11354         * menubar-msw.c (msw_char_is_accelerator):
11355         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
11356         * menubar-msw.c (mswindows_handle_wm_command):
11357         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
11358         * menubar-msw.c (mswindows_handle_wm_initmenu):
11359         * menubar-msw.c (mswindows_update_frame_menubars):
11360         * menubar-msw.c (mswindows_free_frame_menubars):
11361         * menubar-msw.c (mswindows_popup_menu):
11362         Fixed a bug in handling accelerators where an extra character
11363         would be displayed in the menu item.  Also generalized the
11364         function displayable_menu_item because it is now used by the
11365         dialog box code as well.  And finally, added code in the functions
11366         that create the menubar to extract a list of accelerators for the
11367         top level menubar, which is used in the event code to determine
11368         whether a particular alt-key combination should be used to invoke
11369         a menu item, or should be passed through to access the standard
11370         XEmacs keymap binding for this key combination.
11371
11372         Much needed GCPROing.
11373
11374         * menubar-x.c:
11375         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11376         * menubar-x.c (menu_item_descriptor_to_widget_value):
11377         * menubar-x.c (restore_in_menu_callback):
11378         * menubar-x.c (x_popup_menu):
11379         * menubar-x.c (menu_move_up):
11380         * menubar-x.c (menu_move_down):
11381         * menubar-x.c (menu_move_left):
11382         * menubar-x.c (menu_move_right):
11383         * menubar-x.c (menu_select_item):
11384         * menubar-x.c (command_builder_operate_menu_accelerator):
11385         * menubar-x.c (menu_accelerator_junk_on_error):
11386         * menubar-x.c (command_builder_find_menu_accelerator):
11387         * menubar-x.c (Faccelerate_menu):
11388         * menubar.h:
11389         Moved a whole bunch of code here that was previously in
11390         event-stream.c as described above.  There is also code connected
11391         to the new standard of adding an accelerator to the beginning of
11392         menu items that don't have one as described above and below.
11393
11394         * menubar.c:
11395         * menubar.c (menu_parse_submenu_keywords):
11396         * menubar.c (Fmenu_find_real_submenu):
11397         * menubar.c (Fnormalize_menu_item_name):
11398         * menubar.c (syms_of_menubar):
11399         * menubar.c (vars_of_menubar):
11400         * menubar.c (complex_vars_of_menubar):
11401
11402         a) Cleaned up a bunch of documentation and improved it.
11403
11404         b) XEmacs now automatically adds an accelerator onto the beginning
11405         of any menu items that don't have one.  I did this because there
11406         will inevitably be some menu items on the main menubar that don't
11407         have accelerators on them because the package that adds that
11408         particular menu item hasn't yet been fixed up to have accelerators
11409         in them and it looked rather strange to have some items with and
11410         some items without accelerators, especially since even in items
11411         without accelerators, you can, at least under windows, still
11412         access the item through an accelerator corresponding to the first
11413         character in the item's name.  If people don't like this behavior,
11414         I can add a variable to turn it off optionally, but I'm not sure
11415         this is a good idea because we really do need to have accelerators
11416         on all of the menu items, and if a package doesn't like the
11417         accelerators being put on the first character, then it should put
11418         the accelerators where they belong.
11419
11420         c) I made a behavior change, which is that the descriptor that
11421         specifies the text of the menu item, which formerly was just a
11422         string, can now also be an evaluated expression.  This makes this
11423         descriptor parallel with all of the others, which could also be
11424         evaluated expressions.  This also obviates the need for the
11425         keyword :label, which was previously listed in the documentation
11426         as unimplemented, and which was for the same purpose.
11427
11428         d) GCPROing.
11429
11430         * ntproc.c:
11431         * ntproc.c (new_child):
11432         * ntproc.c (sys_spawnve):
11433         * ntproc.c (find_child_console):
11434         * ntproc.c (sys_kill):
11435         Fixed compile warnings.  By the way, this file should really go
11436         away entirely, and this will happen as soon as Kirill makes his
11437         final round of process cleanups, which affect the function
11438         call-process.
11439
11440         * process-nt.c:
11441         * process-nt.c (struct nt_process_data):
11442         * process-nt.c (find_process_from_pid):
11443         * process-nt.c (send_signal_the_nt_way):
11444         * process-nt.c (enable_child_signals):
11445         * process-nt.c (find_child_console):
11446         * process-nt.c (send_signal_the_95_way):
11447         * process-nt.c (nt_finalize_process_data):
11448         * process-nt.c (ensure_console_window_exists):
11449         * process-nt.c (nt_create_process):
11450         * process-nt.c (nt_kill_child_process):
11451         * process-nt.c (nt_kill_process_by_pid):
11452         * process-nt.c (nt_open_network_stream):
11453         * process-nt.c (vars_of_process_nt):
11454         Copied over code from Emacs 20.5 to correctly send signals to sub-
11455         processes under Windows 95.  Also added code to automatically
11456         create and hide console window when a sub-process is created under
11457         Windows 95, which obviates the need for the separate runemacs.exe
11458         executable, and finally implemented some variables that were
11459         implemented in Emacs 20.5, but previously not in XEmacs.  These
11460         include mswindows- start-process-share-console and
11461         mswindows-start-process-inherit-error-mode. (Both of these only
11462         apply to Windows 95.)
11463
11464         * regex.c (regex_compile): Fixed a compile warning.
11465
11466         * select-msw.c:
11467         * select-msw.c (mswindows_own_selection):
11468         * select-msw.c (mswindows_get_foreign_selection):
11469         * select-msw.c (mswindows_disown_selection):
11470         * select-msw.c (console_type_create_select_mswindows):
11471         * select-msw.c (syms_of_select_mswindows):
11472         Cleaned up the file and implemented the device method
11473         selection_exists_p, which had accidentally been left out.  Also
11474         removed four lisp functions that were remnants from before the
11475         time when the selection code was properly device abstracted.
11476         These functions are no longer needed because there are generic
11477         equivalents, and because they were added recently and don't exist
11478         in FSF Emacs, I don't think there's any problem with just deleting
11479         them.
11480
11481         * sysdep.c:
11482         * sysdep.c (sys_subshell):
11483         Fixed a compile warning, although in this case there's probably
11484         something wrong with this code, and it ought to be looked into
11485         more thoroughly by somebody who understands it.
11486
11487         * window.c:
11488         * window.c (Fwindow_text_area_height):
11489         * window.c (Fwindow_width):
11490         * window.c (Fwindow_full_width):
11491         * window.c (Fwindow_pixel_width):
11492         * window.c (debug_print_window):
11493         * window.c (syms_of_window):
11494         Added functions window-text-area-height and window-full-width,
11495         which are functions for returning various width and height
11496         characteristics of a window. (One of these functions is necessary
11497         for making the file dialog box work correctly, and the other one
11498         was added for completeness.)  Also added a table to the
11499         documentation for window-height which describes the entire scheme
11500         for accessing width and height characteristics of a window.
11501
11502 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11503
11504         * nt.c (fstat): Added a comment for another problem with
11505         non-encapsulated [f]stat(), reported by Adrian Aichner
11506         <aichner@ecf.teradyne.com>.
11507
11508 2000-03-11  Andy Piper  <andy@xemacs.org>
11509
11510         * window.c (make_dummy_parent): initialize subwindow instance
11511         cache.
11512         (Fset_window_configuration): zero extent_modiff.
11513
11514 2000-03-10  Andy Piper  <andy@xemacs.org>
11515
11516         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
11517         more changes can be triggered.
11518         (Fredisplay_frame): ditto.
11519         (Fredraw_device): ditto.
11520         (Fredisplay_device): ditto.
11521         (redisplay_frame): make non-static.
11522         (redisplay_frame): call update_frame_gutter_geometry outside of
11523         display proper.
11524
11525         * gutter.h: declare update_frame_gutter_geometry.
11526
11527         * redisplay.h: declare redisplay_frame.
11528
11529         * gutter.c (update_frame_gutter_geometry): move geometry changes
11530         in update_frame_gutters here. Geometry changes can only occur
11531         outside of redisplay.
11532         (update_frame_gutters): remove geometry change code.
11533         (Fredisplay_gutter_area): make sure that we are in display when we
11534         update and that we have flushed any size changes.
11535
11536 2000-03-11  Andy Piper  <andy@xemacs.org>
11537
11538         * alloc.c (pdump_dump_data): remove i & count shadows.
11539
11540 2000-02-27  Mike Alexander  <mta@arbortext.com>
11541
11542         * sysdep.h: Declare pdump_read_file
11543
11544         * sysdep.c (pdump_read_file): New function
11545
11546         * alloc.c (pdump_load): Call pdump_read_file to get the portable
11547         dump data
11548
11549 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
11550
11551         * lrecord.h: add `lrecord_type_pgsetenv'.
11552
11553 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
11554
11555         * symsinit.h: declare (vars|syms)_of* functions.
11556         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
11557
11558 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
11559
11560         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
11561
11562         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
11563         GCCs.
11564
11565         * emacs.c (main_1): Call postgres initialization code.
11566
11567         * postgresql.h: New file.  PostgreSQL RDBMS support.
11568         * postgresql.c: New file.
11569
11570 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11571
11572         * redisplay-output.c (redisplay_output_display_block): Disable
11573         redundant code.
11574
11575 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11576
11577         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
11578         (Fcanna_henkan_next): Ditto.
11579         (Fcanna_bunsetu_henkou): Ditto.
11580         (Fcanna_henkan_kakutei): Ditto.
11581         (Fcanna_henkan_end): Ditto.
11582         (Fcanna_henkan_quit): Ditto.
11583         (Fcanna_henkan_next): Set retun value correctly.
11584         (c2mu): Use unsigned char instead of signed char.
11585
11586 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11587
11588         * emacs.c (main_1): Always call syms_of_gui.
11589         * inline.c: include gui.h
11590
11591 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11592
11593         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
11594         converted to Lisp_Object.
11595         (Qtop_bottom): New variable.
11596         (syms_of_redisplay): Initialize it.
11597         * redisplay.h (Vvisible_bell): Ditto.
11598         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
11599         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
11600         only flash top and bottom.
11601
11602 2000-03-08  Andy Piper  <andy@xemacs.org>
11603
11604         * buffer.c (Frename_buffer): record new buffer name the right way.
11605
11606 2000-03-08  Andy Piper  <andy@xemacs.org>
11607
11608         * glyphs.c (update_subwindow): increase hash depth so that widget
11609         items get picked up properly.
11610
11611         * redisplay-output.c (compare_runes): increase hash depth so that
11612         widget items get picked up properly.
11613
11614 2000-03-08  Andy Piper  <andy@xemacs.org>
11615
11616         * gutter.c (output_gutter): add some debug.
11617
11618         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
11619         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
11620         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
11621
11622         * redisplay-output.c (compare_runes): use display_hash to
11623         determine if glyphs really are not the same.
11624
11625         * glyphs.c (update_subwindow): check display_hash to see if
11626         anything really needs to be updated. If not then do
11627         nothing. Record the display_hash after updating.
11628         (image_instance_equal): compare the image_instance face also.
11629
11630 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
11631
11632         * redisplay.h: Fix comment style.
11633
11634 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11635
11636         * consle-msw.h (struct mswindows_frame):
11637         Added new member paint_pending to indicate whether a WM_PAINT
11638         magic event has been queued for this frame.
11639
11640         * event-msw.c (mswindows_drain_windows_queue):
11641         Don't queue a WM_PAINT magic event if one is already queued.
11642         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
11643
11644         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
11645
11646 2000-03-07  Didier Verna  <didier@xemacs.org>
11647
11648         * dired.c: #include `regex.h' after `sysfile.h'.
11649
11650 2000-03-06  Martin Buchholz  <martin@xemacs.org>
11651
11652         * sound.c (init_nas_sound): Fix compiler warning.
11653
11654         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
11655         (FREE_STRUCT_P):
11656         (MARK_STRUCT_AS_FREE):
11657         (MARK_STRUCT_AS_NOT_FREE):
11658         Make `gcc -fstrict-aliasing' work properly.
11659
11660 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11661
11662         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
11663         (mswindows_delete_device): Call CoUnnitialize().
11664
11665         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
11666
11667 2000-02-25    <CraigL@DyCon.com>
11668
11669         * process-nt.c: MinGW now has <shellapi.h>, but still needs
11670         <errno.h>.
11671
11672         * sysdep.c: This extern declaration for environ prevents MinGW
11673         from finding the variable in CRTDLL.DLL.
11674
11675         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
11676         windows headers.
11677         (SHGFI_EXETYPE): ..
11678         (WM_MOUSEWHEEL): ..
11679         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
11680         definitions.
11681         (MMRESULT): Removed, now defined in cygwin's windows headers.
11682         (TIMECAPS): ..
11683         (uid_t,gid_t,pid_t,ssize_t): ..
11684         (_timeb): Removed, MinGW defines both _timeb and timeb.
11685         (HAVE_H_ERRNO): Added.
11686         (HAVE_TZNAME): Added, configure is not detecting this.
11687
11688 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
11689
11690         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
11691         * syntax.c (syntax_match): Use it.
11692
11693         * cmds.c: Import auto-fill-chars from FSF Emacs.
11694         (Vauto_fill_chars): New variables.
11695         (internal_self_insert): Check Vauto_fill_chars.
11696         (vars_of_cmds):
11697         Declare auto-fill-chars as a Lisp variable and initialize it.
11698
11699 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11700
11701         * fileio.c (Fmake_symbolic_link):
11702         (Ffile_symlink_p):
11703         Run handlers even if local machine doesn't have symlinks.
11704
11705 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11706
11707         * event-msw.c (mswindows_drain_windows_queue):
11708         Don't generate paint magic events for non-XEmacs frames.
11709
11710 2000-03-05  Andy Piper  <andy@xemacs.org>
11711
11712         * redisplay.c (redisplay_frame): generate_displayable_area and
11713         friends assumes that we are not in GC, we therefore have to make
11714         sure that this doesn't happen.
11715
11716         * gutter.c (calculate_gutter_size): generate_displayable_area
11717         assumes that we are not in GC, we therefore have to make sure that
11718         this doesn't happen.
11719
11720 2000-03-05  Martin Buchholz  <martin@xemacs.org>
11721
11722         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
11723
11724 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11725
11726         * redisplay.c (regenerate_window): Make sure we set a sane value
11727         for end_pos even if we jump out of the loop.
11728         (regenerate_window): Answer Ben's question :-).
11729         (start_end_of_last_line): Add may_error argument.
11730         (start_of_last_line):
11731         (end_of_last_line): Pass may_error = 0.
11732         (end_of_last_line_may_error): New function.
11733         (pixel_to_glyph_translation): Use it, so we don't crash in
11734         event_to_glyph.
11735
11736 2000-03-04  Andy Piper  <andy@xemacs.org>
11737
11738         * window.h (struct window): add gutter_extent_modiff.
11739
11740         * window.c (allocate_window): zero out gutter_extent_modiff.
11741
11742         * redisplay.h: declare sync_display_line_structs.
11743
11744         * redisplay.c (add_glyph_rune): add a better comment.
11745
11746         * redisplay-output.c (sync_display_line_structs): made non-static.
11747         (compare_runes): remove unneccesary glyph cachel access.
11748
11749         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
11750
11751         * gutter.c (output_gutter): don't output the gutter if extent
11752         changes only involve extents in buffers. use 4 sets of display
11753         lines.
11754         (gutter_extent_signal_changed_region_maybe): new function. Mark
11755         extents in gutters as changed.
11756         (update_frame_gutters): use 4 sets of display lines.
11757         (reset_gutter_display_lines): ditto.
11758         (free_frame_gutters): ditto.
11759         (redraw_exposed_gutter): force output of gutters.
11760
11761         * frame.h (struct frame): add 4 sets of gutter display lines.
11762
11763         * extents.c: (extent_changed_for_redisplay): signal changes to
11764         extents in strings in the gutter as well as extents in buffers.
11765
11766 2000-03-02  Andy Piper  <andy@xemacs.org>
11767
11768         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11769
11770         * frame.c (Fmake_frame): make sure the gutters get initialized
11771         after the frame is visible.
11772         (set_frame_selected_window): re-arrange compilation macros a
11773         little.
11774         (change_frame_size_1): mark gutters changed.
11775
11776         * device.c (Fset_device_class): mark gutters changed.
11777
11778 2000-03-01  Andy Piper  <andy@xemacs.org>
11779
11780         * window.c (window_top_frame_gutter_height): deleted.
11781         (window_bottom_frame_gutter_height): ditto.
11782         (window_left_frame_gutter_height): ditto.
11783         (window_right_frame_gutter_height): ditto.
11784         (window_top_gutter_height): don't use them.
11785         (window_bottom_gutter_height): ditto.
11786         (window_left_gutter_width): ditto.
11787         (window_right_gutter_width): ditto.
11788         (Fsplit_window): ditto.
11789         (Fwindow_pixel_edges): don't use border dimensions here.
11790
11791         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11792         (update_scrollbar_instance): ditto.
11793
11794         * redisplay.c (generate_modeline): don't take gutters into account.
11795         (generate_modeline): ditto.
11796         (redisplay_frame): small gutter display optimization.
11797
11798         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11799
11800         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11801         gutters into account.
11802
11803         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11804         for window position and type.
11805
11806         * gutter.c (get_gutter_coords): fix for frame gutters.
11807         (update_frame_gutters): update frame geometry if the gutters have
11808         changed.
11809         (init_frame_gutters): record current gutter geometries.
11810
11811         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11812         var.
11813         (mswindows_widget_instantiate): ditto.
11814
11815         * frame.h (struct frame): add current_gutter_bounds.
11816
11817         * frame.c (change_frame_size_1): position window and minibuffer
11818         appropriately taking into account the frame gutters.
11819
11820         * frame-x.c: (x_initialize_frame_size): take into account the
11821         frame gutters.
11822
11823 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11824
11825         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11826
11827 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11828
11829         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11830
11831 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11832
11833         * file-coding.c (reset_decoding_stream): Clear previous
11834         detection state when autodetect.
11835
11836 2000-02-29  Didier Verna  <didier@xemacs.org>
11837
11838         * extents.c (set_extent_glyph_1): don't require extents to be
11839         attached.
11840
11841 2000-02-27  Andy Piper  <andy@xemacs.org>
11842
11843         * gutter.c (Fset_default_gutter_position): don't default left and
11844         right gutter visibility to t.
11845         (Fset_default_gutter_position): run
11846         default-gutter-position-changed-hook.
11847         (syms_of_gutter): add default-gutter-position-changed-hook.
11848
11849 2000-02-26  Andy Piper  <andy@xemacs.org>
11850
11851         * specifier.c (Fmake_specifier): add gutter references.
11852
11853         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11854
11855         * lisp.h: declare Fvalid_plist_p.
11856
11857         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11858         as changed.
11859         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11860         well as its visibility so that it gets reconstructed.
11861         (construct_window_gutter_spec): new function. Construct a string
11862         to be displayed in the gutter from a plist of strings. Take care
11863         to only use elements that are declared as visible.
11864         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11865         WINDOW_GUTTER.
11866         (gutter_validate): allow plists of strings in the specifier.
11867         (gutter_specs_changed): construct the real_gutter from the gutter
11868         specs using construct_window_gutter_spec.
11869         (gutter_visible_validate): gutter-visible is a new specifier type.
11870         (Fgutter_visible_specifier_p): new function for the new specifier.
11871         (syms_of_gutter): declare gutter-visible and
11872         Fgutter_visible_specifier_p.
11873         (specifier_type_create_gutter): intitalize new gutter-visible
11874         specifier.
11875         (reinit_specifier_type_create_gutter): ditto.
11876         (specifier_vars_of_gutter): use new specifier type for gutter
11877         visibility.
11878         (init_frame_gutters): construct real_gutter correctly.
11879         (Fgutter_specifier_p): beef up documentation.
11880         (Fgutter_size_specifier_p): ditto.
11881
11882         * winslots.h: add real_gutter slots.
11883
11884 2000-02-25  Andy Piper  <andy@xemacs.org>
11885
11886         * device-msw.c: Be kind to older cygwin versions. From Raymond
11887         Toy <toy@rtp.ericsson.se>.
11888
11889         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11890         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11891
11892 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11893
11894         * elhash.c (MARK_OBJ): Practice macro hygiene.
11895
11896 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11897
11898         * miscplay.c: s/__inline__/inline/g;
11899         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11900         (get_device_compdc): INLINE ==> static inline
11901         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11902         find -name '*.h' | \
11903         xargs global-replace \
11904         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11905
11906 2000-02-25  Andy Piper  <andy@xemacs.org>
11907
11908         * window.c (window_top_frame_gutter_height): new function.
11909         (window_top_window_gutter_height): ditto.
11910         (window_top_gutter_height): use them.
11911         (window_bottom_frame_gutter_height): new function.
11912         (window_bottom_window_gutter_height): ditto.
11913         (window_bottom_gutter_height): use them.
11914         (window_left_window_gutter_width): new function.
11915         (window_left_frame_gutter_width): ditto.
11916         (window_left_gutter_width): use them.
11917         (window_right_window_gutter_width): new function.
11918         (window_right_frame_gutter_width): ditto.
11919         (window_right_gutter_width): use them.
11920         (window_pixel_height): new function. calulate window pixel height
11921         with frame gutter involvement.
11922         (Fsplit_window): calculate new sizes taking frame gutters into
11923         account.
11924         (window_char_height_to_pixel_height): don't include frame gutters.
11925         (window_char_height): use window_pixel_height.
11926         (window_pixheight): rename from window_pixel_height.
11927         (change_window_height): use it.
11928         (window_pixel_height_to_char_height): don't include frame gutters.
11929         (window_char_width_to_pixel_width): ditto.
11930
11931 2000-02-25  Andy Piper  <andy@xemacs.org>
11932
11933         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11934         if it is.
11935
11936 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11937
11938         * alloc.c (staticpro):
11939         (staticpro_nodump):
11940         (dumpstruct):
11941         (dumpopaque):
11942         (pdump_wire):
11943         (pdump_wire_list):
11944         (compact_string_chars):
11945         (pdump_dump_wired):
11946         Convert:  if (foo) abort();  ==>  assert (! foo);
11947
11948         * eldap.c (Fldap_search_basic):
11949         (Fldap_add):
11950         (Fldap_modify):
11951         (Fldap_delete):
11952         Fix compiler warnings, and possible crashes if (random) return
11953         value were to be used.
11954
11955 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11956
11957         * device-msw.c: Workaround ResetDC failure.
11958
11959         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11960         applying a devmode.
11961
11962         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11963         (mswindows_text_width): Do not start printer page.
11964
11965         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11966
11967         * glyphs-msw.c: Added image methods to msprinter console and
11968         msprinter-specific image instantiation.
11969
11970 2000-02-20  Mike Alexander  <mta@arbortext.com>
11971
11972         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11973         to avoid crashes when selection-sets-clipboard is on
11974         (mswindows_own_selection): ditto
11975
11976 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11977
11978         * glyphs-msw.c:
11979         * redisplay-msw.c (get_frame_dc):
11980         (get_frame_compdc):
11981         * console-msw.h:
11982         * device-msw.c (mswindows_init_device):
11983         (mswindows_delete_device):
11984         (msprinter_init_device):
11985         (msprinter_delete_device):
11986         * frame-msw.c (mswindows_init_frame_1):
11987         (mswindows_delete_frame):
11988         (msprinter_init_frame_3):
11989         (msprinter_delete_frame): Move compatible DC to device object from
11990         frame object, for both mswindows and msprinter. Only one at a time
11991         is needed, it is a real waste to have one per frame!
11992
11993 2000-02-23  Andy Piper  <andy@xemacs.org>
11994
11995         * glyphs.c: add dynamic width and height elements.
11996         (image_instance_equal): ditto.
11997
11998         * glyphs-widget.c (widget_query_geometry): calculate width and
11999         height dynamically if required.
12000         (initialize_widget_image_instance): initialize dynamic dimensions.
12001         (widget_instantiate): pick-up dynamic dimensions.
12002
12003         * glyphs.h (struct Lisp_Image_Instance): add width and height for
12004         dynamic determination. Add appropriate macros.
12005
12006         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
12007         dimensions safe.
12008         (WINDOW_GUTTER_SIZE): ditto.
12009         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
12010
12011         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
12012         inline.
12013         (get_frame_dc): ditto.
12014
12015         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
12016         here.
12017
12018 2000-02-23  Martin Buchholz <martin@xemacs.org>
12019
12020         * XEmacs 21.2.31 is released.
12021
12022 2000-02-22  Ben Wing <ben@xemacs.org>
12023
12024         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
12025
12026 2000-02-22  Andy Piper  <andy@xemacs.org>
12027
12028         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
12029
12030 2000-02-21  Mike Sperber <mike@xemacs.org>
12031
12032         * .dbxrc:
12033         * .gdbinit:
12034         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
12035         variables.
12036
12037 2000-02-21  Mike Sperber <mike@xemacs.org>
12038
12039         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
12040
12041 2000-02-21  Martin Buchholz <martin@xemacs.org>
12042
12043         * XEmacs 21.2.30 is released.
12044
12045 2000-02-20  Martin Buchholz  <martin@xemacs.org>
12046
12047         Performance hacking.
12048         * *.c (syms_of_*):
12049         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
12050         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
12051         * emacs.c (main_1):
12052         * lisp.h (DEFUN):
12053         * console.c (DEFVAR_CONSOLE_LOCAL_1):
12054         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
12055         * symeval.h (DEFVAR_SYMVAL_FWD):
12056         * symbols.c (guts_of_unbound_marker):
12057         Make all c_readonly objects also lisp_readonly and marked for life.
12058         * lrecord.h (struct lrecord_implementation):
12059         Document flags better.
12060         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
12061         * lrecord.h (DECLARE_LRECORD):
12062         * lrecord.h (XSETRECORD):
12063         * lrecord.h (RECORDP):
12064         * lrecord.h (RECORD_TYPEP):
12065         * lrecord.h (RECORD_MARKER): New.
12066         * lrecord.h (error_check_*):
12067         * lrecord.h (CONCHECK_NONRECORD):
12068         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
12069         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
12070         * lrecord.h (set_lheader_implementation):
12071         * lrecord.h (enum lrecord_type): New.
12072         * symeval.h (SYMBOL_VALUE_MAGIC_P):
12073         * alloc.c (disksave_object_finalization_1):
12074         * alloc.c (mark_object):
12075         * alloc.c (lrecord_type_index):
12076         * alloc.c (tick_lcrecord_stats):
12077         * alloc.c (Fgarbage_collect):
12078         * alloc.c (init_alloc_once_early):
12079         * alloc.c (pdump_load):
12080         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
12081         * alloc.c (lrecord_type_index): Delete.
12082         Make lisp object type indexes be constant.
12083           Makes (byte-compile) 5% faster.
12084         Put all marker functions into their own array.
12085           Makes (garbage-collect) 5% faster.
12086         Optimize SYMBOL_VALUE_MAGIC_P.
12087           Makes (byte-compile) 2-3% faster.
12088         * config.h.in (gc_checking_assert): New.
12089         * alloc.c: Use gc_checking_assert().
12090         * .dbxrc: Make compatible with new object type implementation.
12091         * .gdbinit: Make compatible with new object type implementation.
12092         * alloc.c: Delete all symbols defined only for debugging, such as
12093         Lisp_Type_Vector and lrecord_charset.
12094
12095 2000-02-21  Andy Piper  <andy@xemacs.org>
12096
12097         * gui-msw.c (Fmswindows_shell_execute): fix file location
12098         problems.
12099
12100         * buffer.c (Fkill_buffer): remove buffer from alist buffer
12101         unshowing so that set_window_buffer doesn't undo
12102         kill_buffer_hook's hard work.
12103
12104         * glyphs-widget.c (tab_control_query_geometry): don't count the
12105         first item when calculating geometry.
12106
12107         * glyphs.c (map_subwindow): remove redundant code.
12108         (update_frame_subwindows): be more circumspect about when to
12109         update subwindows.
12110
12111         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
12112         when items haven't changed. Update faces if faces have changed as
12113         well as just the widget face.
12114         (x_tab_control_update): Update faces if faces have changed as well
12115         as just the widget face.
12116
12117 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12118
12119         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
12120         registration.
12121         (build_syscolor_string): Use mswindows_color_to_string to try to
12122         get a named color.
12123         (mswindows_device_system_metrics): Reverse the foreground and
12124         background colors so that they match the documentation.
12125
12126         * objects-msw.c: (mswindows_X_color_map): tweak some values so
12127         they match the default Windows palette.
12128         (mswindows_color_to_string): New function.
12129
12130 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12131
12132         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
12133
12134 2000-02-18  Olivier Galibert  <galibert@pobox.com>
12135
12136         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
12137         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
12138
12139         * symbols.c (init_symbols_once_early): Removed obsolete
12140         DATA_SEG_BITS related kludge.
12141         (defvar_magic): Ditto.
12142
12143         * malloc.c: Removed obsolete DATA_SEG_BITS
12144         * ralloc.c: Ditto.
12145         * mem-limits.h: Ditto.
12146
12147         * Makefile.in.in: Removed obsolete HAVE_SHM
12148         * emacs.c: Ditto.
12149
12150 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12151
12152         *  device-msw.c (mswindows_delete_device): Free DDE string
12153         handles.
12154
12155 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12156
12157         * keymap.c (get_keyelt):
12158         * unexnt.c (unexec):
12159         * vm-limit.c (memory_warnings):
12160         * ntheap.c (recreate_heap):
12161         * ntheap.h (UNINIT_PTR):
12162         * select-msw.c (Fmswindows_get_clipboard):
12163         (Fmswindows_set_clipboard):
12164         * objects-msw.h (MSWINDOWS_BAD_HFONT):
12165         * objects-msw.c:
12166         * menubar-msw.c (displayable_menu_item):
12167         * glyphs-msw.c:
12168         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
12169         * sysdep.c (sys_subshell):
12170         * process-nt.c (nt_create_process):
12171         * nt.c (normalize_filename):
12172         (dostounix_filename):
12173         (unixtodos_filename):
12174         * ntproc.c (win32_executable_type):
12175         * ntplay.c (play_sound_data_1):
12176         (play_sound_file):
12177         * editfns.c (get_home_directory):
12178         * event-msw.c (struct winsock_stream):
12179         (mswindows_dde_callback):
12180         * device-msw.c (msprinter_init_device):
12181         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
12182
12183         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
12184         mswindows_clear_toolbar were swapped!
12185
12186         * objects-msw.c:(colormap_t):
12187         (fontmap_t):
12188         * emacs.c (struct standard_args): Fixed const jumble.
12189
12190         * glyphs-widget.c (update_widget): Fixed comparison notation.
12191
12192         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
12193
12194         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
12195         __declspec(noreturn) syntax.
12196
12197 2000-02-19  Martin Buchholz  <martin@xemacs.org>
12198
12199         * eldap.c (Fldap_open):
12200         (Fldap_search_basic):
12201         (Fldap_add):
12202         (Fldap_modify):
12203         Use new coding system conversion macros.
12204
12205 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12206
12207         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
12208
12209 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
12210
12211         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
12212         (Fldap_add, Fldap_modify, Fldap_delete): New functions
12213
12214         * eldap.c (Qadd, Qreplace): New constant symbols
12215         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
12216         interruptions by XEmacs signals
12217         Remove unnecessary calls to slow_down_interrupts and
12218         speed_up_interrupts
12219         (Fldap_search_basic): Renamed from Fldap_search_internal
12220         Added new optional parameter VERBOSE that triggers the
12221         display of progress messages
12222         Remove unnecessary calls to slow_down_interrupts and
12223         speed_up_interrupts
12224         LDAP result code analysis rewritten
12225         (Fldap_add, Fldap_modify, Fldap_delete): New functions
12226         (syms_of_eldap): Define the new symbols and functions
12227
12228
12229 2000-02-17  Martin Buchholz  <martin@xemacs.org>
12230
12231         * realpath.c: Determine PATH_MAX maximally portably.
12232
12233         * insdel.c (bytecount_to_charcount): Optimize.
12234         The function used to be optimized for entirely ASCII sequences.
12235         Now it is optimized for successive characters from the same
12236         charset.  This also wins big for _mostly_ ASCII sequences.
12237
12238         * fileio.c (Ffile_truename): convert return from realpath() using
12239         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
12240         - Rewrite GCPROing slightly.
12241
12242         * sysdep.c (sys_open): Do filename conversion, like all other
12243         sys_* functions.  Fixes bug:
12244         (let ((file-name-coding-system 'iso-8859-2))
12245            (write-region x y latin2-name))
12246         ==> writes filename using internal encoding.
12247
12248 2000-02-18  Martin Buchholz  <martin@xemacs.org>
12249
12250         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
12251         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
12252         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
12253         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
12254         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
12255         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
12256         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
12257         (CONST_IF_NOT_DEBUG): Delete.
12258         * alloc.c (this_one_is_unmarkable): Delete.
12259         (mark_object): Don't check for this_one_is_unmarkable. Use the
12260         c_readonly flag instead.
12261         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
12262
12263 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12264
12265         * event-msw.c (mswindows_drain_windows_queue):
12266         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
12267         away redundant repaint events.
12268
12269 2000-02-17  Andy Piper  <andy@xemacs.org>
12270
12271         * redisplay.h: declare mark_redisplay_structs.
12272
12273         * redisplay.c (redisplay_window):
12274         (redisplay_frame): don't check subwindows_state_changed.
12275         (mark_redisplay): mark gutters here.
12276
12277         * glyphs.c: (instantiate_image_instantiator): always layout if we
12278         haven't done so already.
12279         (allocate_image_instance): don't mark as dirty.
12280         (update_subwindow): bind inhibit_quit.
12281
12282         * gutter.c (mark_gutters): new function.
12283
12284         * glyphs-x.c (x_update_widget): Always resize to get round a
12285         widget bug.
12286
12287         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
12288         breaking absolutely everything.
12289
12290         * gutter.h: declare mark_gutters.
12291
12292 2000-02-16  Martin Buchholz <martin@xemacs.org>
12293
12294         * XEmacs 21.2.29 is released.
12295
12296 2000-02-15  Olivier Galibert  <galibert@pobox.com>
12297
12298         * fns.c (size_bit_vector): Fix computation of the size.
12299
12300 2000-02-15  Martin Buchholz  <martin@xemacs.org>
12301
12302         * *.[ch]: Change CONST to const globally.
12303         find -name '*.[ch]' | \
12304         xargs global-replace \
12305         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
12306         - Remove vestigial references to CONST_IS_LOSING
12307
12308 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12309
12310         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
12311         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
12312         events instead of dispatching them directly.
12313         (mswindows_handle_paint): New function to do repainting.
12314         (mswindows_wnd_proc):
12315         (emacs_mswindows_handle_magic_event): Call above function.
12316
12317 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12318
12319         * objects-msw.c (mswindows_create_font_variant): Return the new
12320         font handle.
12321         (initialize_font_instance): Get font metrics from the underlined
12322         variant of the font to cope with the case where the underlined
12323         font has a bigger descent.
12324
12325 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12326
12327         * gui.c (gui_item_accelerator): Return the first underlined
12328         character in item name.
12329
12330 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12331
12332         * lisp.h: Added Qprinter.
12333
12334         * general.c (syms_of_general): Initialized it.
12335
12336         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
12337         (get_frame_dc):
12338         (get_frame_compdc): Made inline.
12339
12340         * console.h (struct console_methods): Added eject_page method.
12341
12342         * frame.h: Added FRAME_DISPLAY_P and friends.
12343         Aligned backslahes in many macros in more readable fashion.
12344         Added page_number to struct frame, and an accessor macro
12345         for it.
12346
12347         * defice.h: Added DEVICE_DISPLAY_P and friends.
12348
12349         * device.c (Fdevice_printer_p): Used these.
12350
12351         * frame.c (allocate_frame_core): Initialize page number.
12352         (Fprint_job_page_number):
12353         (Fprint_job_eject_page): Implemented.
12354
12355         * frame-msw.c (msprinter_eject_page): Added method.
12356         (msprinter_start_page): Added.
12357
12358         * window.c (Fwindow_truncated_p): Fixed docstring.
12359         (Fwindow_last_line_visible_height): Implemented.
12360
12361 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12362
12363         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
12364
12365 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12366
12367         * syntax.c (scan_words): Always advance at least one character.
12368
12369 2000-02-13  Andy Piper  <andy@xemacs.org>
12370
12371         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
12372         to make sure the glyph is in the cachels.
12373
12374         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
12375         global image instance flag.
12376         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
12377         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
12378
12379         * glyphs.c (allocate_image_instance): set dirty bits correctly.
12380         (Fset_image_instance_property): mark layout as changed.
12381         (invalidate_glyph_geometry_maybe): mark layout as changed.
12382         (glyph_width): use new NEEDS_LAYOUT macro.
12383         (glyph_ascent): ditto.
12384         (glyph_descent): ditto.
12385         (glyph_height): ditto.
12386         (image_instance_layout): mark layout as clean after laying out.
12387         (update_subwindow): don't mark layout as clean here.
12388
12389         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
12390         should no longer be needed.
12391
12392         * glyphs-x.c (x_update_widget): sanitize asserts.
12393         (x_finalize_image_instance): sanitize assignment to widgets.
12394
12395         * glyphs-widget.c (widget_instantiate): don't need to clear the
12396         layout flag here.
12397
12398 2000-02-13  Martin Buchholz  <martin@xemacs.org>
12399
12400         * sysdep.c (getcwd): Use standard prototype.
12401         * sysdep.h (getcwd): Use standard prototype.
12402
12403         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
12404         (sequence, start, end).
12405         Remove redundant type checking.
12406         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
12407         view of `caller-protects') to avoid a crash where the real fix was
12408         found elsewhere.
12409
12410 2000-02-12  Martin Buchholz  <martin@xemacs.org>
12411
12412         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
12413
12414         * s/sol2.h: Remove feature macro initialization.
12415
12416         * alloc.c (alloc_lcrecord): Add more type checking assertions.
12417         (vector_hash): New.  Code from internal_hash.
12418         * lrecord.h:
12419         Fix up allocation subsystem comments.
12420
12421         * config.h.in: Add __EXTENSIONS__ for Solaris.
12422
12423         * systime.h (EMACS_GETTIMEOFDAY): New.
12424         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
12425         Remove Solaris-specific code.
12426         Use void* for the (ignored) second arg for gettimeofday().
12427
12428         * elhash.c (hash_table_hash): Implement it, finally.
12429         * elhash.c:  Use hashcode_t.
12430
12431         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
12432         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
12433
12434         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
12435         * fns.c (size_bit_vector):
12436         * alloc.c (size_vector):
12437         (make_vector_internal):
12438         (make_bit_vector_internal):
12439         (sweep_bit_vectors_1):
12440         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
12441
12442 2000-02-10  Martin Buchholz  <martin@xemacs.org>
12443
12444         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
12445         Include strings.h to avoid warnings for bzero and strcasecmp.
12446
12447 2000-02-10  Olivier Galibert  <galibert@pobox.com>
12448
12449         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
12450         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
12451
12452         * fns.c (size_bit_vector): New.  Declare bit vectors as a
12453         sequence.
12454
12455 2000-02-10  Olivier Galibert  <galibert@pobox.com>
12456
12457         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
12458         use a value field instead.
12459         (symbol_value_forward_forward): Use value field.
12460         (DEFVAR_SYMVAL_FWD): Use value field.
12461         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
12462         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
12463         (DEFVAR_CONST_INT): Ditto.
12464         (DEFVAR_BOOL): Ditto.
12465         (DEFVAR_CONST_BOOL): Ditto.
12466         (DEFVAR_INT_MAGIC): Ditto.
12467         (DEFVAR_BOOL_MAGIC): Ditto.
12468
12469         * symbols.c (guts_of_unbound_marker): Use value field.
12470         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
12471         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
12472
12473         * lisp.h: Declare dumpopaque and noninteractive1.
12474
12475         * alloc.c (dumpopaque): Added.
12476         (pdump_dump_opaquevec): Added.
12477         (pdump): Call pdump_dump_opaquevec to dump opaque data.
12478         (pdump_load): Reload opaque data.  Sync noninteractive1 with
12479         noninteractive.
12480
12481 2000-02-10  Andy Piper  <andy@xemacs.org>
12482
12483         * glyphs.c (image_instance_layout): if the size changes, mark it
12484         as such.
12485
12486         * redisplay-output.c (redisplay_output_layout): Update the
12487         subwindow here.
12488         (redisplay_output_subwindow): ditto.
12489
12490         * glyphs.c (update_subwindow): make sure we reset flags for
12491         layouts as well as everything else.
12492
12493         * glyphs-widget.c (layout_layout): don't need to set the instances
12494         dimensions here.
12495
12496 2000-02-09  Martin Buchholz  <martin@xemacs.org>
12497
12498         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
12499         not HAVE_DLOPEN, which is a lower-level thing.
12500
12501         * .cvsignore: Ignore gmon.out
12502
12503 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
12504
12505         * .cvsignore: Ignore portable dumper xemacs.dmp file
12506
12507 2000-02-09  Andy Piper  <andy@xemacs.org>
12508
12509         * redisplay-output.c (redisplay_output_layout): be more clever
12510         about when we output based on the changed flags.
12511
12512         * glyphs.h (struct image_instantiator_methods): add update_method.
12513         (struct Lisp_Image_Instance): add changed flags. Declare new
12514         macros for manipulating them.
12515
12516         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
12517         (image_instance_parent_glyph): find an image_instance's parent
12518         glyph or image_instance.
12519         (image_instance_layout): mark the size as changed.
12520         (set_image_instance_dirty_p): new function. mark an image
12521         instance, plus all of its parents, as dirty.
12522         (Fset_image_instance_property): use it.
12523         (Fglyph_animated_timeout_handler): use it.
12524         (update_subwindow): call update_widget and device methods for
12525         update_subwindow. Mark all changed flags as clean.
12526         (Fresize_subwindow): mark size as changed.
12527
12528         * glyphs-x.c (x_finalize_image_instance): try and detect gc
12529         failures.
12530         (x_update_subwindow): only resize subwindows here.
12531         (x_update_widget): new function. Update all changed properties of
12532         a widget.
12533         (x_resize_subwindow): deleted.
12534         (x_widget_set_property): deleted.
12535         (x_progress_gauge_set_property): deleted.
12536         (x_progress_gauge_update): new function. Implement recorded
12537         changes.
12538         (x_tab_control_update): ditto.
12539         (x_tab_control_set_property): deleted.
12540         (console_type_create_glyphs_x): declare new functions.
12541         (image_instantiator_format_create_glyphs_x): ditto.
12542
12543         * glyphs-widget.c (widget_set_property): mark text changed.
12544         (update_widget): new function. Update properties of a widget.
12545         (widget_instantiate): for layouts make sure we set their
12546         children's parent correctly.
12547         (tab_control_set_property): new function. Record changes that will
12548         take place under redisplay's control.
12549         (progress_gauge_set_property): ditto.
12550         (image_instantiator_progress_guage): declare new functions.
12551         (image_instantiator_tab_control): ditto.
12552
12553         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
12554         now.
12555         (mswindows_update_widget): new function. Update all properties on
12556         a widget that have changed.
12557         (mswindows_button_update): new function. Update a button's set
12558         state.
12559         (mswindows_tab_control_update): new function. Update the items in
12560         a tab.
12561         (mswindows_tab_control_set_property): deleted.
12562         (mswindows_progress_gauge_update): new function. Update the
12563         progress gauge's progress.
12564         (mswindows_widget_set_property): deleted. This is all done
12565         asynchronously now.
12566         (mswindows_progress_gauge_set_property): ditto.
12567         (console_type_create_glyphs_mswindows): declare new methods.
12568         (image_instantiator_format_create_glyphs_mswindows): ditto.
12569
12570         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
12571         (msprinter_set_frame_properties): ditto.
12572
12573         * console.h (struct console_methods): Add update_widget_method.
12574
12575 2000-02-09  Andy Piper  <andy@xemacs.org>
12576
12577         * gui-msw.c (Fmswindows_shell_execute): Make
12578         mswindows-shell-execute industrial strength.
12579
12580 2000-02-08  Martin Buchholz  <martin@xemacs.org>
12581
12582         * lrecord.h: Make macro argument `props' match member function `plist'.
12583         * fns.c (Fget):
12584         * fns.c (Fput):
12585         * fns.c (Fremprop):
12586         * fns.c (Fobject_plist):
12587         * alloc.c:
12588         * symbols.c:
12589         Object property list frobbing cleanup.
12590         - Allow any lisp object (compared with `eq'), not just symbols, as
12591           keys in object plists.
12592         - Move symbol plist frobbing into symbols.c, where it belongs.
12593         - Move string plist frobbing into alloc.c, where it belongs.
12594         - Everything's an lrecord now, so no need to test for symbolp, etc.
12595         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
12596
12597         * extents.c: Reorder code to remove declarations.
12598
12599         * frame.h (store_in_alist): Remove useless declaration.
12600
12601 2000-02-07  Martin Buchholz  <martin@xemacs.org>
12602
12603         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
12604         * config.h.in: Add HAVE_XCONVERTCASE.
12605
12606 2000-02-07  Andy Piper  <andy@xemacs.org>
12607
12608         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
12609         it breaks many things.
12610
12611 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12612
12613         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
12614         actually can start a common comment type.
12615         * src/syntax.h (SYNTAX_END_P): ditto for end.
12616
12617 2000-02-07  Martin Buchholz <martin@xemacs.org>
12618
12619         * XEmacs 21.2.28 is released.
12620
12621 2000-02-06  Martin Buchholz  <martin@xemacs.org>
12622
12623         * event-Xt.c (x_keysym_to_character): New.
12624         (maybe_define_x_key_as_self_inserting_character): New.
12625         (x_has_keysym): New.
12626         Auto-define all keys on the keyboard as self-insert-key.
12627
12628 2000-02-02  Martin Buchholz  <martin@xemacs.org>
12629
12630         * menubar.c (vars_of_menubar): A small code simplification.
12631
12632         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
12633
12634         * ExternalShell.c:
12635         * ExternalClient.c:
12636         * EmacsShell-sub.c:
12637         * EmacsManager.c:
12638         * EmacsFrame.c:
12639         Use consistent style for specifying X resources.
12640
12641         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
12642         This makes (dontusethis-set-symbol-value-handler) actually usable.
12643
12644         * lrecord.h (lrecord_decription_type):
12645         * alloc.c (pdump_register_sub):
12646         (pdump_dump_data):
12647         (pdump_reloc_one):
12648         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
12649         Comply with XEmacs coding style.
12650         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
12651         args, and XD_LISP_OBJECT_ARRAY with 3 args.
12652
12653         * keymap.c (Faccessible_keymaps):
12654         Make (accessible-keymaps map "\C-h") do the Right Thing.
12655         Make (accessible-keymaps map []) do the Right Thing.
12656         Make (accessible-keymaps map "") do the Right Thing.
12657         (check_keymap_definition_loop): New function.
12658         (keymap_store_internal): Keep luser from shooting self in foot,
12659           via (define-key ctl-x-4-map "p" global-map).
12660         Remove fullness slot from struct Lisp_Keymap, since hash tables
12661         are now reliable.
12662         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
12663
12664 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12665
12666         * redisplay.c (init_redisplay): Fix small memory leak.
12667         * elhash.h:
12668         * elhash.c (pdump_reorganize_hash_table):
12669         Rename from reorganize_hash_table. Change prototype.
12670         Reuse the original memory for hentries.  Save 100k.
12671         * alloc.c (PDUMP_READ): new macro.
12672         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
12673         * alloc.c: No need to #ifndef before #undef.
12674
12675         * print.c: Allow debug_print() to print readably by modifying
12676         debug_print_readably.  Use consistent variable names.
12677
12678         * .dbxrc: Try to get things to work even if stopped in a function
12679         without source available by explicitly specifying source files.
12680 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12681
12682         * unexnt.c (_start): Removed bogus code which caused loading heap
12683         from differrent executable file.
12684         Removed bogus assignment to _fmode, which caused inconsistencies.
12685
12686 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12687
12688         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
12689         Have spawnve encapsulation regard DONT_ENCAPSULATE.
12690         Do not preliminary `#define signal sigset'.
12691
12692         * systime.h: Do not prototype environ on windows nt and cygwin,
12693         this conflicts with system header.
12694
12695         * syssignal.h: Use correct define for WINDOWSNT
12696
12697         * sysdep.h: Do not prototype environ on windows nt, this conflicts
12698         with system header.
12699
12700         * sysdep.c (near start of file): Fixed commentary and rearranged
12701         ifdefs in readable order.
12702         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
12703         (start_of_text):
12704         (end_of_text):
12705         (end_of_data): Do not compile in if using PDUMP.
12706
12707         * symsinit.h: Prototyped vars_of_nt().
12708
12709         * ntproc.c (windows9x_p): Added, instead of os_subtype.
12710         (find_child_console): Use it.
12711         (sys_kill): Use it.
12712
12713         * ntheap.h: Do not extern os_subtype.
12714
12715         * ntheap.c (cache_system_info): Do not cache unneeded:
12716         nt_major_version, nt_minor_version and os_subtype.
12717         (recreate_heap): Do not compile in when PDUMPing.
12718
12719         * nt.c (geteuid and friends): Use the new varibale
12720         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
12721         (init_user_info): Removed the above mentioned hackery.
12722         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
12723         stat has been fixed in the C runtime.
12724         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
12725
12726         * file-coding.c (struct file_coding_dump): Do not define
12727         ucs_to_mule_table in the struct if not MULE.
12728         (struct struct lrecord_description fcd_description_1): Do not dump
12729         the above.
12730
12731         * emacs.c (main_1): Call vars_of_nt().
12732         (right before Fdump_emacs_data): Don't need lastfile if using both
12733         portabe dumper and system malloc.
12734
12735         * alloc.c (Fmemory_limit): Conditionalized out.
12736         (pdump): Use OPEN_BINARY for the portable dump file.
12737         (pdump_load): Ditto.
12738
12739 2000-02-02  Mike Alexander  <mta@arbortext.com>
12740
12741         * nt.c (convert_time): Set tm_isdst before calling mktime and
12742         avoid calling it at all if the compiler supports 64 bit integers.
12743         Also initialize utc_base_ft before using it.
12744
12745 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12746
12747         * frame.c (change_frame_size_1): Take f->internal_border_width
12748         into consideration when calculating the width of the frame.
12749
12750 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12751
12752         * window.c (frame_min_height):
12753         (frame_size_valid_p):
12754         (frame_pixsize_valid_p): Added.
12755         (check_frame_size): Generalized.
12756
12757         * window.h: Prototyped the above.
12758
12759         * lisp.h:
12760         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12761         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12762         Deleted Vwin32_* and Vbinary_process_* unused variables.
12763
12764         * device-msw.c (msprinter_init_device): Do not get printer font
12765         list; Added DEVMODE functions.
12766
12767         * frame-msw.c: Added lots of printer code.
12768
12769         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12770         general.c.
12771
12772         * console-msw.h: Added more msprinter device private slots.
12773
12774 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12775
12776         * event-msw.c (key_needs_default_processing_p): Added.
12777         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12778
12779 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12780
12781         * glyphs.c (image_instance_layout): Mark image instance as clean
12782         after layout.
12783         (glyph_dirty_p): Removed redundant function.
12784         (invalidate_glyph_geometry_maybe): Added.
12785         (update_glyph_cachel_data): Call it.
12786
12787         * glyphs.h: Prototyped it.
12788
12789         * redisplay.c (add_glyph_rune): Call it.
12790         (redisplay_window): Reset glyphs cachels when frame faces have
12791         changed, thus forcing recomputation of built-in border glyphs.
12792
12793 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12794
12795         * Makefile.in.in: Make portable dumper and purify play well together.
12796         Add imperfect, but better than nothing, support for pdump.
12797         Remove xemacs.dmp when temacs is re-generated.
12798         Don't ignore errors when dumping xemacs.
12799
12800         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12801
12802 2000-01-28  Andy Piper  <andy@xemacs.org>
12803
12804         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12805         (setup_normal_frame): ditto.
12806         (setup_frame_without_minibuffer): ditto.
12807         (setup_minibuffer_frame): ditto.
12808         (delete_frame_internal): ditto.
12809         (Fmake_frame_invisible): ditto.
12810         (Ficonify_frame): ditto.
12811
12812         * window.h: change Fset_window_buffer signature.
12813
12814         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12815         (Fset_window_buffer): allow recording of buffer if the window is
12816         the selected window.
12817         (window_loop): Use new Fset_window signature.
12818
12819 2000-01-23  Daniel Pittman  <daniel@danann.net>
12820
12821         * config.h.in: Added template for `HAVE_ATHENA_3D'
12822
12823 2000-01-29  Andy Piper  <andy@xemacs.org>
12824
12825         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12826
12827         * gutter.c (output_gutter): Don't output if the window isn't live.
12828
12829 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12830
12831         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12832         of 01/12/00: Moved SetFocus back here where it belongs.
12833
12834 2000-01-23  Andy Piper  <andy@xemacs.org>
12835
12836         * s/cygwin32.h: declare printer things.
12837
12838 2000-01-26  Andy Piper  <andy@xemacs.org>
12839
12840         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12841         Alexander.
12842
12843 2000-01-24  Andy Piper  <andy@xemacs.org>
12844
12845         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12846         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12847
12848         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12849
12850         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12851
12852         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12853
12854         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12855         (mswindows_output_display_block): Avoid local shadows.
12856
12857         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12858         (mswindows_enqueue_mouse_button_event): ditto.
12859         (mswindows_handle_gui_wm_command): remove declaration.
12860
12861         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12862         warnings.
12863
12864         * console-msw.h: Avoid shadows.
12865         (mswindows_get_toolbar_button_text):
12866         (emacs_mswindows_create_stream_pair):
12867         (emacs_mswindows_delete_stream_pair):
12868         (mswindows_handle_toolbar_wm_command): declare.
12869
12870         * device-msw.c (build_syscolor_string): Avoid shadows.
12871
12872 2000-01-23  Andy Piper  <andy@xemacs.org>
12873
12874         * glyphs-widget.c (widget_instantiate): reverse the items for
12875         layouts so that children are in the expected order.
12876
12877 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12878
12879         * ralloc.c: safe_bcopy ==> memmove
12880         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12881         * s/msdos.h: Remove BCOPY macros.
12882         * insdel.c (gap_right): Remove BCOPY conditional code.
12883         * insdel.c (gap_left): Remove BCOPY conditional code.
12884         XEmacs demands a working ANSI C compiler - hence memmove.
12885
12886         * regex.c (regex_compile): Remove accidental use of trigraphs.
12887
12888 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12889
12890         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12891         event timestamp.
12892
12893 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12894
12895         * event-msw.c (mswindows_drain_windows_queue): Added the
12896         parameter.
12897         (mswindows_need_event): Commented the call to
12898         mswindows_drain_windows_queue().
12899         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12900         only.
12901
12902         * console-msw.h: Moved a few function prototypes here from
12903         event-msw.c.
12904
12905         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12906         parameter from unsigned short to unsigned long.
12907         (Fmswindows_shell_execute): Added return value.
12908
12909 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12910
12911         * sysdep.c (init_system_name):
12912           process-unix.c (unix_canonicalized_host_name):
12913         Don't call freeaddrinfo() if getaddrinfo() fails.
12914
12915         * process-unix.c (unix_open_unix_network_stream):
12916         Moved the code to get a port # into address loop.
12917
12918 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12919
12920         * buffer.c (reinit_vars_of_buffer):
12921         The right place to initialize conversion_in_dynarr and
12922         conversion_out_dynarr.
12923
12924         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12925
12926         * process-unix.c (unix_canonicalize_host_name): Muleize.
12927         (unix_open_network_stream): Muleize.
12928
12929         * buffer.h: Fix up prototypes for ralloc.c functions.
12930
12931 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12932         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12933         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12934                 instead of gethostbyname()
12935         * process-unix.c: In unix_canonicalize_host_name() and
12936                 unix_open_network_stream(), add code to use getaddrinfo()
12937                 instead of gethostbyname().
12938
12939 2000-01-27  Daniel Pittman <daniel@danann.net>
12940
12941         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12942         libs when built with flat Athena.
12943
12944 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12945
12946         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12947         Use coding standards for function prototypes.
12948
12949 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12950
12951         * dialog-msw.c (push_lisp_string_as_unicode):
12952         * doc.c (unparesseuxify_doc_string):
12953         * dired.c (Fuser_name_completion_1):
12954         * dired.c (Fuser_name_all_completions):
12955         * dired.c (free_user_cache):
12956         * dired.c (user_name_completion):
12957         * console-x.c (get_display_arg_connection):
12958         * minibuf.c (clear_echo_area_internal):
12959         * minibuf.c (echo_area_append):
12960         * eldap.c (Fldap_open):
12961         * eldap.c (Fldap_search_internal):
12962         * frame-x.c (x_set_frame_text_value):
12963         * frame-x.c (x_set_frame_properties):
12964         * frame-x.c (x_create_widgets):
12965         * redisplay-tty.c (term_get_fkeys_1):
12966         * objects-x.c (x_parse_nearest_color):
12967         * objects-x.c (x_valid_color_name_p):
12968         * objects-x.c (x_initialize_font_instance):
12969         * objects-x.c (x_list_fonts):
12970         * objects-x.c (x_find_charset_font):
12971         * tooltalk.c (Fadd_tooltalk_message_arg):
12972         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12973         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12974         * process-unix.c (unix_create_process):
12975         * ntproc.c (sys_spawnve):
12976         * sound.c (Fplay_sound_file):
12977         * sound.c (Fplay_sound):
12978         * buffer.c (init_initial_directory):
12979         * buffer.c (init_buffer):
12980         * editfns.c (init_editfns):
12981         * editfns.c (Ftemp_directory):
12982         * editfns.c (Fuser_full_name):
12983         * editfns.c (uncache_home_directory):
12984         * editfns.c (get_home_directory):
12985         * editfns.c (Fuser_home_directory):
12986         * editfns.c (Fformat_time_string):
12987         * editfns.c (Fcurrent_time_string):
12988         * gui-x.c (button_item_to_widget_value):
12989         * database.c (Fopen_database):
12990         * event-Xt.c (x_to_emacs_keysym):
12991         * event-Xt.c (x_event_to_emacs_event):
12992         * event-Xt.c (describe_event_window):
12993         * event-msw.c (mswindows_wnd_proc):
12994         * glyphs-eimage.c (jpeg_instantiate):
12995         * glyphs-eimage.c (gif_instantiate):
12996         * glyphs-eimage.c (png_instantiate):
12997         * glyphs-eimage.c (tiff_instantiate):
12998         * glyphs-x.c (xbm_instantiate_1):
12999         * glyphs-x.c (x_xbm_instantiate):
13000         * glyphs-x.c (x_xface_instantiate):
13001         * glyphs-x.c (autodetect_instantiate):
13002         * glyphs-x.c (cursor_font_instantiate):
13003         * glyphs-x.c (x_widget_instantiate):
13004         * glyphs-x.c (x_widget_set_property):
13005         * glyphs-x.c (x_widget_property):
13006         * glyphs-x.c (BUILD_GLYPH_INST):
13007         * print.c (write_string_to_stdio_stream):
13008         * print.c (output_string):
13009         * print.c (Falternate_debugging_output):
13010         * print.c (Fexternal_debugging_output):
13011         * glyphs-msw.c (extract_xpm_color_names):
13012         * glyphs-msw.c (mswindows_xpm_instantiate):
13013         * glyphs-msw.c (bmp_instantiate):
13014         * glyphs-msw.c (resource_name_to_resource):
13015         * glyphs-msw.c (mswindows_resource_instantiate):
13016         * glyphs-msw.c (xbm_instantiate_1):
13017         * glyphs-msw.c (mswindows_xbm_instantiate):
13018         * glyphs-msw.c (mswindows_xface_instantiate):
13019         * glyphs-msw.c (mswindows_widget_instantiate):
13020         * glyphs-msw.c (add_tree_item):
13021         * glyphs-msw.c (add_tab_item):
13022         * glyphs-msw.c (mswindows_combo_box_instantiate):
13023         * glyphs-msw.c (mswindows_widget_property):
13024         * glyphs-msw.c (mswindows_combo_box_property):
13025         * glyphs-msw.c (mswindows_widget_set_property):
13026         * console.c (stuff_buffered_input):
13027         * objects-msw.c (mswindows_initialize_color_instance):
13028         * objects-msw.c (mswindows_valid_color_name_p):
13029         * objects-msw.c (mswindows_list_fonts):
13030         * objects-msw.c (mswindows_font_instance_truename):
13031         * bytecode.c (optimize_compiled_function):
13032         * select-x.c (symbol_to_x_atom):
13033         * select-x.c (x_atom_to_symbol):
13034         * select-x.c (hack_motif_clipboard_selection):
13035         * select-x.c (selection_data_to_lisp_data):
13036         * select-x.c (lisp_data_to_selection_data):
13037         * select-x.c (Fx_get_cutbuffer_internal):
13038         * select-x.c (Fx_store_cutbuffer_internal):
13039         * buffer.h (TO_EXTERNAL_FORMAT): New function.
13040         * buffer.h (TO_INTERNAL_FORMAT): New function.
13041         * emacs.c (make_arg_list_1):
13042         * emacs.c (make_argc_argv):
13043         * emacs.c (main_1):
13044         * emacs.c (Fdump_emacs):
13045         * emacs.c (split_string_by_emchar_1):
13046         * file-coding.h:
13047         * lisp.h:
13048         * lstream.h:
13049         * symsinit.h:
13050         * device-x.c (x_init_device):
13051         * device-x.c (Fx_valid_keysym_name_p):
13052         * device-x.c (Fx_get_font_path):
13053         * device-x.c (Fx_set_font_path):
13054         * glyphs.c (bitmap_to_lisp_data):
13055         * glyphs.c (pixmap_to_lisp_data):
13056         * alloc.c (make_ext_string): Use coding system arguments.  Update
13057         all callers.
13058         * alloc.c (build_string):
13059         * callproc.c (child_setup):
13060         * callproc.c (init_callproc):
13061         * fileio.c (lisp_strerror):
13062         * fileio.c (directory_file_name):
13063         * fileio.c (Fexpand_file_name):
13064         * fileio.c (Ffile_truename):
13065         * fileio.c (Fsysnetunam):
13066         * fileio.c (Fdo_auto_save):
13067         * sysdep.c (sys_readdir):
13068         * tests.c: New file.  Allow adding C tests.
13069         Replace GET_* macros with a more comprehensible and flexible
13070         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
13071         Modify all calls.
13072         Any coding system can be used to do format conversion.
13073         Eliminate enum external_data_format.
13074         Eliminate convert_to_external_format.
13075         Eliminate convert_to_internal_format.
13076         Make sure file-name, keyboard, terminal, and ctext are always
13077         defined as coding systems or aliases.  Make
13078         file-name-coding-system, terminal-coding-system, and
13079         keyboard-coding-system magical variables that are equivalent to
13080         defining the corresponding coding system aliases.
13081
13082         * file-coding.c (Fcoding_system_canonical_name_p): New function.
13083         * file-coding.c (Fcoding_system_alias_p): New function.
13084         * file-coding.c (Fcoding_system_aliasee): New function.
13085         * file-coding.c (append_suffix_to_symbol): New function.
13086         * file-coding.c (dangling_coding_system_alias_p): New function.
13087         * file-coding.c (Ffind_coding_system):
13088         * file-coding.c (Fcopy_coding_system):
13089         * file-coding.c (encode_coding_no_conversion):
13090         * file-coding.c (syms_of_file_coding):
13091         * file-coding.c (vars_of_file_coding):
13092         Rewrite coding system alias code.
13093         Allow nested aliases, like symbolic links.
13094         Allow redefinition of coding system aliases.
13095         Prevent existence of dangling coding system aliases.
13096
13097         * dired.c (Fuser_name_completion_1):
13098         * dired.c (Fuser_name_all_completions):
13099         A crash would happen if user did QUIT in the middle of building
13100         user_name_cache.  Remove redundant code in mainline and unwind_protect.
13101
13102         * lisp.h:
13103         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
13104
13105         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
13106         an unsigned char *.  Update all callers.
13107
13108 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13109
13110         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
13111
13112 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13113
13114         * elhash.c (hentry_description): Use more portable definition.
13115         (resize_hash_table): Initialize new hentries using
13116         xnew_array_and_zero, thereby simplifying the code.
13117
13118         * mule-charset.c (make_charset): Make sure entire object is
13119         initialized, to avoid Purify warnings.
13120
13121         * alloc.c (resize_string): Fix unlikely crash with big strings.
13122
13123 2000-01-24  Martin Buchholz  <martin@xemacs.org>
13124
13125         * realpath.c (xrealpath):
13126         Don't call getwd().
13127
13128 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13129
13130         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
13131
13132 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
13133
13134         * unexelfsgi.c (unexec): Change the way we decide which segment
13135         should be extended.
13136
13137         Assumption that .bss section should be outside the PT_LOADable
13138         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
13139         it's present) is inside the 'data' segment. This would fail the
13140         test which was used to find a segment to grow and cover new
13141         heap. Instead of this assumption, I created another one - on IRIX
13142         the segment to grow should start below .bss and it's address
13143         should extent above the end of .bss. Once this segment is
13144         identified, it's grown to accommodate the new heap and new
13145         zero-length .bss section is added at the end of .data2.
13146
13147 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13148
13149         * eval.c (Feval): Wrong number of arguments should use original
13150         function, not the indirect_function version of it.
13151
13152 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13153
13154         * glyphs-x.c (x_button_instantiate): Don't add image if
13155         it is not a pixmap.
13156         (x_locate_pixmap_file): Call Fexpand_file_name when file name
13157         is relative.
13158
13159 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
13160
13161         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
13162         declaration.
13163         (DEFVAR_INT_MAGIC): Ditto.
13164         (DEFVAR_BOOL_MAGIC): Ditto.
13165         * glyphs.h: Reindent backslash.
13166
13167 2000-01-24  Martin Buchholz  <martin@xemacs.org>
13168
13169         * glyphs-widget.c (layout_query_geometry):
13170         (layout_layout): Use correct types for gheight, gwidth.
13171
13172 2000-01-24  Martin Buchholz  <martin@xemacs.org>
13173
13174         * EmacsManager.c (QueryGeometry): Purified.
13175
13176 2000-01-23  Martin Buchholz  <martin@xemacs.org>
13177
13178         * alloc.c (make_float): Make sure entire object is initialized, to
13179         avoid Purify warnings.
13180         (pdump_register_sub): Remove useless assignment.
13181         (pdump): Use xmalloc, not malloc.
13182         (pdump_load): Use xmalloc, not malloc.
13183
13184 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13185
13186         * callproc.c:
13187         * dired-msw.c:
13188         * fileio.c:
13189         * process-nt.c:
13190         * redisplay-msw.c:
13191         * sysdep.c: Removed redundant #include <windows.h>
13192
13193 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13194
13195         * frame.c (delete_frame_internal): Do not delete device when its
13196         implementation so declares.
13197         (delete_frame_internal): Set device selected frame to nil when
13198         last frame goes away.
13199
13200         * device-msw.c (msprinter_device_system_metrics): Implemented.
13201         (mswindows_device_system_metrics): Added 'device-dpi property.
13202
13203         * device.c: (Fdevice_printer_p): Added.
13204         Added 'offset-workspace device metric.
13205
13206         * console.h (device_metrics): Declared DM_offset_workspace.
13207
13208 2000-01-23  Martin Buchholz  <martin@xemacs.org>
13209
13210         * fileio.c (Ffile_truename): Remove pointless and confusing
13211         initialization of elen.
13212
13213         * glyphs-widget.c: Compiler warning fixes.
13214
13215 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
13216
13217         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
13218         instead of a Lisp_Object as argument to make it consistent with
13219         the other LIVE_P macros.
13220         (CHECK_LIVE_PROCESS): New macro.
13221
13222         * process.c: Declare Qprocess_live_p.
13223         (Fprocess_live_p): New function.
13224         (create_process): Use PROCESS_LIVE_P.
13225         (read_process_output): Ditto.
13226         (set_process_filter): Ditto.
13227         (Fdelete_process): Ditto.
13228         (kill_buffer_processes): Ditto
13229         (process_send_signal): Use CHECK_LIVE_PROCESS.
13230         (Fprocess_input_coding_system): Check whether process is still
13231         alive (fix PR#1061).
13232         (Fprocess_output_coding_system): Ditto.
13233         (Fprocess_coding_system): Ditto.
13234         (Fset_process_input_coding_system): Ditto.
13235         (Fset_process_output_coding_system): Ditto.
13236
13237 2000-01-23  Andy Piper  <andy@xemacs.org>
13238
13239         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
13240         layout and widget.
13241
13242         * glyphs.c (mark_image_instance): take into account changed
13243         image_instance format.
13244         (image_instance_equal): ditto.
13245         (image_instance_hash): ditto.
13246
13247         * glyphs-widget.c (widget_instantiate): Incorporate layout
13248         instantiation here. Delay layout of the layout until later.
13249         (layout_instantiate): deleted.
13250         (layout_query_geometry): new function. get the geometry of a
13251         layout.
13252         (layout_layout): layout a layout dynamically.
13253         (image_instantiator_widget): New function - splitting up
13254         image_instantiator_format_create_glyphs_widget for netwinder
13255         compilation.
13256         (image_instantiator_buttons):
13257         (image_instantiator_edit_fields):
13258         (image_instantiator_combo_box):
13259         (image_instantiator_scrollbar):
13260         (image_instantiator_progress_guage):
13261         (image_instantiator_tree_view):
13262         (image_instantiator_tab_control):
13263         (image_instantiator_labels):
13264         (image_instantiator_layout): ditto.
13265         (image_instantiator_format_create_glyphs_widget): Call preceding
13266         functions.
13267
13268 2000-01-22  Martin Buchholz  <martin@xemacs.org>
13269
13270         * process.c (Fset_process_coding_system):
13271         * device-x.c (Fx_keysym_hash_table):
13272         Docstring fixes.
13273
13274         * lstream.c (Lstream_write): Return documented value, not 0.
13275
13276         * fileio.c (directory_file_name):
13277         (Fsubstitute_in_file_name):
13278         (Fsubstitute_insert_file_contents_internal):
13279         (Fwrite_region_internal):
13280         * emacs.c:
13281         * sysdep.c:
13282         * getloadavg.c:
13283         * systty.h:
13284         Remove vestigial APOLLO-conditional code.
13285
13286 2000-01-21  Martin Buchholz  <martin@xemacs.org>
13287
13288         * getpagesize.h: Add guard macros.
13289         * libsst.h: Add guard macros.
13290         * libst.h: Add guard macros.
13291         * line-number.h: Add guard macros.
13292         * ndir.h: Add guard macros.
13293         * sysfloat.h: Add guard macros.
13294         * sysfile.h: Add guard macros.
13295         * sysproc.h: Add guard macros.
13296         * syswait.h: Add guard macros.
13297         * xintrinsic.h: Add guard macros.
13298         * xintrinsicp.h: Add guard macros.
13299         * xmmanager.h: Add guard macros.
13300         * xmmanagerp.h: Add guard macros.
13301         * xmprimitive.h: Add guard macros.
13302         * xmu.h: Add guard macros.
13303         * gpmevent.h: Add copyright statement. Add guard macros.
13304         * miscplay.h: Add guard macros.
13305         * *.h: Use consistent C-standards-approved guard macro names.
13306
13307         * opaque.c (make_opaque): Switch parameter order.
13308         * opaque.h (make_opaque): Switch parameter order.
13309         Update all callers.
13310         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
13311
13312         * config.h.in (type_checking_assert): Added.
13313         (bufpos_checking_assert): Added.
13314
13315 2000-01-21  Martin Buchholz  <martin@xemacs.org>
13316
13317         * alloc.c: Harmless pdump changes.
13318         - Use countof().
13319         - spell alignment correctly.
13320         * sysdep.c: Use countof()
13321
13322 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13323
13324         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
13325         initially_selected_for_input() console method, default to 0.
13326         (semi_canonicalize_console_connection): Try to delegate to
13327         canonicalize_console_connection if no such console method.
13328         (canonicalize_console_connection): Vice versa.
13329         (print_console): Do not print nil connection.
13330
13331         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
13332         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
13333         (XDEVIMPF_FRAMELESS_OK): Added.
13334         (CONSOLE_INHERITS_METHOD): Added.
13335
13336         * console-msw.c (mswindows_canonicalize_console_connection):
13337         Added.
13338         (mswindows_canonicalize_device_connection): Added.
13339
13340         * console-msw.h (struct msprinter_device): Added this struct and
13341         accessor macros.
13342         (mswindows_device): Made fontlist a lisp object.
13343
13344         * device.c (semi_canonicalize_device_connection):  Try to delegate
13345         to canonicalize_device_connection if no such console method.
13346         (canonicalize_device_connection): Vice versa.
13347         (print_device): Do not print nil connection.
13348
13349         * device-msw.c (mswindows_init_device): Call InitCommonControls
13350         when have widgets.
13351         (mswindows_delete_device): Removed fontlist deallocation.
13352         (mswindows_mark_device): Added.
13353
13354         * events.c (event_equal): Added abort() at unreached code.
13355         (event_hash): Ditto.
13356
13357         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
13358         fallback tags of Windows devices.
13359
13360         * general.c (syms_of_general): Initialized Qmsprinter.
13361
13362         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
13363         of fallback tags of Windows devices.
13364
13365         * lisp.h: Declared Qmsprinter.
13366
13367         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
13368         of strings.
13369         (mswindows_list_fonts): Ditto.
13370         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
13371         that it can be used by both mswindows and msprinter devices.
13372         (initialize_font_instance): Added.
13373         (mswindows_initialize_font_instance): Use it.
13374         (msprinter_initialize_font_instance): Added.
13375
13376         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
13377         and implementation flags check.
13378         (redisplay_without_hooks): Changed the call to the above.
13379         (Fredraw_device): Ditto.
13380         (Fredisplay_device): Ditto.
13381
13382         * redisplay-msw.c (get_frame_dc): Implemented.
13383         (get_frame_compdc): Implemented.
13384         (many functions): Use the two functions above to get device
13385         contexts, ether for a window or a printer.
13386
13387 2000-01-21  Olivier Galibert  <galibert@pobox.com>
13388
13389         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
13390         initialization here.
13391         (init_symbols_once_early): Call it.
13392         * emacs.c (main_1): Call it.
13393         * symsinit.h: Declare it.
13394
13395 2000-01-19  Olivier Galibert  <galibert@pobox.com>
13396
13397         * alloc.c: Use a lrecord_header * in the backtrace instead of a
13398         Lisp_Object.
13399         (pdump_backtrace): Ditto.
13400         (pdump_register_object): Ditto.  Cleanup use of the pointers.
13401         (pdump_get_entry): Abort if trying to register a null pointer.
13402         (pdump_dump_data): Cleanup types when relocating.
13403         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
13404         (pdump_dump_rtables): Remove bad casts.
13405         (pdump_load): Cleanup relocation w.r.t union type.  Use a
13406         Lisp_Object instead of a EMACS_INT for the hashtable
13407         reorganization.
13408
13409 2000-01-20  Martin Buchholz  <martin@xemacs.org>
13410
13411         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
13412
13413         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
13414
13415         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
13416
13417         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
13418
13419 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13420
13421         * faces.h (FACE_STRIKETHRU_P): Added.
13422
13423         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
13424         of font variants.
13425
13426         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
13427         (mswindows_set_dc_font): New function, aware of font variants,
13428         separated from mswindows_update_dc.
13429
13430         * objects-msw.h (struct mswindows_font_instance_data): Added
13431         definition.
13432
13433         * objects-msw.c (mswindows_finalize_font_instance): Delete all
13434         cached fonts and the data structure.
13435         (mswindows_initialize_font_instance): Added creation of font data
13436         structure.
13437         (mswindows_print_font_instance): Print at least something.
13438         (mswindows_create_font_variant): Implemented.
13439         (mswindows_get_hfont): Implemented.
13440
13441 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
13442
13443         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
13444         prototyping problem with msvc.
13445
13446         * emacs.c (main_1): added syms_of_gui_mswindows() call
13447
13448         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
13449         syms_of_gui_mswindows() function
13450
13451         * symsinit.h: added the prototype for syms_of_gui_mswindows()
13452
13453 2000-01-18  Martin Buchholz <martin@xemacs.org>
13454
13455         * XEmacs 21.2.27 is released.
13456
13457 2000-01-18  Martin Buchholz  <martin@xemacs.org>
13458
13459         * glyphs-eimage.c (struct tiff_error_struct):
13460         (tiff_error_func):
13461         (tiff_warning_func):
13462         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
13463
13464         * unexmips.c:
13465         * unexhp9k3.c:
13466         * unexfreebsd.c:
13467         * unexec.c: Remove vestigial Lucid C code.
13468         * unexalpha.c:
13469         * unexaix.c:
13470         * termcap.c:
13471         * libsst.c: Ansify.
13472         Remove declarations of errno and strerror().
13473
13474         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
13475
13476         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
13477
13478 2000-01-16  Martin Buchholz  <martin@xemacs.org>
13479
13480         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
13481         Optimize.
13482
13483 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13484
13485         * md5.c:
13486         * file-coding.c:
13487         * file-coding.h:
13488         Change enum eol_type to eol_type_t.
13489
13490 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13491
13492         * gui.c (get_gui_callback): Check cons before accessing car.
13493
13494 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13495
13496         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
13497         (XSETSPECIFIER_TYPE): Ditto.
13498
13499 2000-01-17  Didier Verna  <didier@xemacs.org>
13500
13501         * redisplay.c (generate_fstring_runes): compute string size in
13502         characters, not bytes.
13503
13504 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13505
13506         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
13507
13508 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
13509
13510         * print.c (print_error_message): Call print_prepare().
13511
13512 2000-01-14  Martin Buchholz  <martin@xemacs.org>
13513
13514         * .dbxrc: Renamed from dbxrc.
13515
13516         * events.c (event_to_character):
13517         Use `assert (foo)' instead of `if (!foo) abort()'
13518
13519         * .gdbinit (xtype): Add documentation.
13520         * .gdbinit (check-temacs): New function.
13521         * .gdbinit (check-xemacs): New function.
13522         * dbxrc (check-xemacs): New function.
13523         * dbxrc (check-xemacs): New function.
13524
13525 2000-01-14  Andy Piper  <andy@xemacs.org>
13526
13527         * glyphs-widget.c (widget_query_geometry): Make sure that we
13528         calculate default dimensions correctly.
13529
13530 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13531
13532         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
13533
13534         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
13535         pdump_wire'd variable.
13536
13537         * emacs.c: (main_1): Conditionalized calls to
13538         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
13539
13540 2000-01-13  Martin Buchholz  <martin@xemacs.org>
13541
13542         * window.c (Fset_window_configuration):
13543         * sysdep.c (_start):
13544         * input-method-motif.c (res):
13545         * event-Xt.c (Xt_process_to_emacs_event):
13546         Simple compiler warning fixes.
13547
13548         * bytecode.c (funcall_compiled_function): Use the original
13549         function symbol on the backtrace list in preference to the
13550         compiled_function object in error messages.
13551
13552 2000-01-13  Andy Piper  <andy@xemacs.org>
13553
13554         * glyphs-x.c (update_widget_face): Make sure we update the widget
13555         background as well as foreground.
13556
13557 2000-01-13  Andy Piper  <andy@xemacs.org>
13558
13559         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
13560         fields to subwindow.
13561         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
13562         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
13563         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13564         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13565
13566         * glyphs-widget.c (check_valid_tab_orientation): new function.
13567         (initialize_widget_image_instance): zero orientation and
13568         justification.
13569         (widget_instantiate): pick up orientation.
13570         (tab_control_query_geometry): return appropriate values for
13571         vertical tabs.
13572
13573         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
13574         appropriate creation flags for left, right and bottom tabs.
13575
13576         * s/cygwin32.h: add tab definitions.
13577
13578 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13579
13580         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
13581         frame upon hiding a subwindow.
13582         (mswindows_button_instantiate): Changed the push button style to
13583         BS_PUSHBUTTON.
13584         (mswindows_button_instantiate): Removed button BS_NOTIFY
13585         style.
13586         (mswindows_button_instantiate): Removed redundant check for
13587         a disabled gui item.
13588         (mswindows_button_instantiate): Made use of WS_TABSTOP
13589         consistent: "operable" controls (edit, button, tree, scroll) have
13590         this style, "display-only" ones (static, progress gauge) do
13591         not. This style is currently ignored by XEmacs though. Also,
13592         removed the WS_EX_CONTROLPARENT style - it is not for children,
13593         it is for their parents!
13594         (mswindows_edit_field_instantiate): Ditto.
13595         (mswindows_progress_gauge_instantiate): Ditto.
13596         (mswindows_tree_view_instantiate): Ditto.
13597         (mswindows_tab_control_instantiate): Ditto.
13598         (mswindows_scrollbar_instantiate): Ditto.
13599         (mswindows_combo_box_instantiate): Ditto.
13600         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
13601         style to the "clip" window.
13602         (mswindows_button_instantiate): Removed compilation warning by
13603         equally typing terms of the ?: operator.
13604
13605 2000-01-12  Didier Verna  <didier@xemacs.org>
13606
13607         * redisplay.c (generate_fstring_runes): new parameter holding the
13608         last modeline-format extent.
13609         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
13610         extent, fill the glyph block with it.
13611         (generate_fstring_runes): handle these parameters.
13612         (generate_formatted_string_db): ditto.
13613
13614         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
13615         glyphs'extents in the modeline.
13616
13617 1999-01-11  Mike Woolley  <mike@bulsara.com>
13618
13619         * ntheap.c: Reduced the reserved heap space from 1Gb down to
13620         256Mb, as a workaround for the non-starting problem many people
13621         have experienced.
13622
13623 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13624
13625         * console-tty.c (Fset_console_tty_output_coding_system):
13626         Force redrawing tty frame.
13627
13628 2000-01-10  Didier Verna  <didier@xemacs.org>
13629
13630         * redisplay.c (generate_fstring_runes): fix size computation bug.
13631
13632 2000-01-09  William M. Perry <wmperry@aventail.com>
13633
13634         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
13635
13636 2000-01-09  Andy Piper  <andy@xemacs.org>
13637
13638         * glyphs-msw.c: index -> i to avoid shadows.
13639         (xbm_create_bitmap_from_data): make static.
13640         (check_valid_string_or_int): deleted.
13641         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
13642
13643         * glyphs-x.c (x_update_subwindow): remove unused args.
13644
13645         * glyphs.c (glyph_image_instance): return the thing. Don't set the
13646         back pointer - this is done in allocate_image_instance.
13647         (query_string_font): return Qnil to make the compiler happy.
13648         (unmap_subwindow): set to ~0 to make the compiler happy.
13649         (glyph_query_geometry): comment out until used.
13650         (glyph_layout): ditto.
13651
13652 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13653
13654         * insdel.c (signal_after_change): Remove extraneous unbind_to().