Merge r21-4-7-utf-2000-b5.
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * text-coding.c (decode_coding_utf8): Check CCS is specified or
4         not.
5
6 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
7
8         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
9         Q_lowercase, Q_uppercase in UTF-2000.
10
11         * chartab.c (get_char_table): Add special code for the standard
12         case table to use character attribute `->downcase' and
13         `->uppercase' for case operations in UTF-2000.
14
15         * casetab.c (Qflippedcase): New variable in UTF-2000.
16         (Q_lowercase): Likewise.
17         (Q_uppercase): Likewise.
18         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
19         and `->uppercase' in UTF-2000.
20         (complex_vars_of_casetab): Assign attribute name `downcase' to
21         downcase and CANON table of Vstandard_case_table in UTF-2000;
22         assign attribute name `flippedcase' to upcase and EQV table of
23         Vstandard_case_table in UTF-2000.
24
25 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
26
27         * text-coding.c (decode_add_er_char): Support isolated-chars.
28         (char_encode_as_entity_reference): Likewise.
29
30 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
31
32         * emacs.c (Vutf_2000_lisp_directory): New variable.
33         (Vconfigure_utf_2000_lisp_directory): Likewise.
34         (complex_vars_of_emacs): Add new variable
35         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
36
37 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
38
39         * char-ucs.h (DECODE_CHAR): Delete special code for
40         `chinese-big5-1' and `chinese-big5-2'.
41
42         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
43         (Qbig5_2): Likewise.
44         (decode_defined_char): Support CONVERSION_BIG5_1 and
45         CONVERSION_BIG5_2.
46         (decode_builtin_char): Likewise.
47         (charset_code_point): Likewise.
48         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
49         'conversion in UTF-2000.
50         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
51         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
52         `chinese-big5-2' as children of `chinese-big5'.
53
54         * char-ucs.h (CONVERSION_BIG5_1): New macro.
55         (CONVERSION_BIG5_2): New macro.
56
57 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
58
59         * text-coding.c (char_encode_big5): Support entity-reference.
60
61 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
62
63         * text-coding.c (char_encode_as_entity_reference): New function.
64         (char_encode_utf8): Use `char_encode_as_entity_reference'.
65
66 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
67
68         * text-coding.c (decode_coding_big5): Support entity-reference
69         decoding feature.
70
71 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
72
73         * text-coding.c (allocate_coding_system): Initialize initial
74         charsets for CODESYS_UTF8.
75         (Fmake_coding_system): Accept charset-g0, charset-g1 and
76         charset-g2 for CODESYS_UTF8.
77         (decode_coding_utf8): Use charset-g0.
78         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
79         to force variants to map to UCS.
80
81 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
82
83         * text-coding.c (Qutf_8_mcs): New variable.
84         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
85         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
86         instead of `utf-8' in UTF-2000.
87
88 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
89
90         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
91         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
92         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
93         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
94         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
95         CONVERSION_96x96x96x96 are introduced.
96         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
97         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
98         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
99
100         * char-ucs.h (CONVERSION_94): New macro.
101         (CONVERSION_96): New macro.
102         (CONVERSION_94x94): New macro.
103         (CONVERSION_96x96): New macro.
104         (CONVERSION_94x94x94): New macro.
105         (CONVERSION_96x96x96): New macro.
106         (CONVERSION_94x94x94x60): New macro.
107         (CONVERSION_94x94x94x94): New macro.
108         (CONVERSION_96x96x96x96): New macro.
109
110 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
111
112         * chartab.c (Vcharacter_variant_table): Deleted.
113         (Fchar_variants): Use character-attribute `->ucs-variants' instead
114         of `Vcharacter_variant_table'.
115         (Fput_char_attribute): Likewise.
116         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
117         (complex_vars_of_chartab): Likewise.
118
119 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
120
121         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
122
123         * fns.c (Qideographic_structure): New variable.
124         (Qkeyword_char): New variable.
125         (ids_format_unit): New function.
126         (Fideographic_structure_to_ids): New function.
127         (syms_of_fns): Add new symbols `ideographic-structure' and
128         `:char'; add new builtin function `ideographic-structure-to-ids'.
129
130         * data.c (Fchar_ref_p): New function.
131         (syms_of_data): Add new builtin function `char-ref-p'.
132
133         * chartab.h: Add an EXFUN for `Ffind_char'.
134
135 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
136
137         * text-coding.c (Vcharacter_composition_table): Deleted.
138         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
139         in every UTF-2000.
140
141         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
142         UTF-2000.
143         (Vcharacter_composition_table): Deleted.
144         (Fget_composite_char): Use the implementation for external-DB
145         support in every UTF-2000.
146         (Fput_char_attribute): Likewise.
147         (char_attribute_system_db_file): Don't define if external-DB
148         feature is not available.
149         (Fsave_char_attribute_table): Likewise.
150         (Fmount_char_attribute_table): Likewise.
151         (Fclose_char_attribute_table): Likewise.
152         (Freset_char_attribute_table): Likewise.
153         (Fload_char_attribute_table): Likewise.
154         (syms_of_chartab): Don't define `save-char-attribute-table',
155         `mount-char-attribute-table', `reset-char-attribute-table',
156         `close-char-attribute-table' and `load-char-attribute-table' if
157         external-DB feature is not available.
158         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
159
160 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
161
162         * text-coding.c (Qcomposition): Add extern if external-DB feature
163         is supported.
164         (Vcharacter_composition_table): Don't add extern if external-DB
165         feature is supported.
166         (COMPOSE_ADD_CHAR): Modify for new data-representation of
167         character composition rule if external-DB feature is supported.
168
169         * chartab.c (Vcharacter_composition_table): Don't define if
170         external-DB feature is supported.
171         (Qcomposition): New variable.
172         (Fget_composite_char): New implementation for external-DB support.
173         (Fput_char_attribute): Use `composition' property of each
174         character instead of `Vcharacter_composition_table' to store
175         character-composition rules if external-DB feature is supported.
176         (syms_of_chartab): Add new symbol `composition'.
177         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
178         external-DB feature is supported.
179
180 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
181
182         * chartab.c (Vchar_db_stingy_mode): New variable.
183         (load_char_attribute_maybe): Close database if
184         Vchar_db_stingy_mode is not NIL.
185         (Fload_char_attribute_table_map_function): Use
186         `get_char_id_table_0' instead of `get_char_id_table'.
187         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
188
189         * chartab.h (get_char_id_table_0): New inline function.
190         (get_char_id_table): Use `get_char_id_table_0'.
191
192 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
193
194         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
195         and `COMPOSE_ADD_CHAR'.
196         (decode_coding_iso2022): Use `decode_flush_er_chars'.
197
198 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
199
200         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
201         instead of `DECODE_ADD_UCS_CHAR'.
202         (COMPOSE_ADD_CHAR): Likewise.
203
204 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
205
206         * text-coding.c (decode_flush_er_chars): New inline function.
207         (decode_add_er_char): New function.
208         (decode_coding_utf8): Use `decode_flush_er_chars' and
209         `decode_add_er_char'.
210
211 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
212
213         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
214         done before `decode_output_utf8_partial_char'.
215
216         * mule-charset.c (complex_vars_of_mule_charset): Specify
217         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
218         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
219
220 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * mule-charset.c (decode_defined_char): New function; search
223         mother.
224         (decode_builtin_char): Don't search mother if
225         XCHARSET_MAX_CODE(charset) == 0.
226         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
227         == 0 even if code >= XCHARSET_MAX_CODE(charset).
228         (Fdecode_char): Use `decode_defined_char' instead of
229         `DECODE_DEFINED_CHAR'.
230         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
231         mother of `Vcharset_ucs_jis'.
232
233         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
234         instead of `DECODE_DEFINED_CHAR'.
235
236         * char-ucs.h (decode_defined_char): Renamed from
237         `DECODE_DEFINED_CHAR'; changed to normal function.
238         (DECODE_CHAR): Use `decode_defined_char' instead of
239         `DECODE_DEFINED_CHAR'.
240
241         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
242
243 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
244
245         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
246
247         * text-coding.c (Vcoded_charset_entity_reference_alist): New
248         variable.
249         (Quse_entity_reference): New variable.
250         (Qd): New variable.
251         (Qx): New variable.
252         (QX): New variable.
253         (coding_system_description): Add description for
254         `ccs_priority_list'.
255         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
256         (allocate_coding_system): Initialize `ccs_priority_list' in
257         UTF-2000.
258         (Fmake_coding_system): Add description about
259         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
260         (codesys).
261         (Fcoding_system_property): Accept `disable-composition' and
262         `use-entity-reference' in UTF-2000.
263         (struct decoding_stream): Add new member `er_counter' and `er_buf'
264         in UTF-2000.
265         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
266         (decode_coding_utf8): Decode entity-reference if
267         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
268         (char_encode_utf8): Encode non-Unicode characters as
269         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
270         (str->codesys).
271         (syms_of_file_coding): Add new symbols `use-entity-reference',
272         `d', `x', `X'.
273         (vars_of_file_coding): Add new variable
274         `coded-charset-entity-reference-alist'.
275         (complex_vars_of_file_coding): Declare `disable-composition' and
276         `use-entity-reference' to be coding-system-properties in UTF-2000.
277
278         * file-coding.h (struct Lisp_Coding_System): Add new member
279         `use_entity_reference' and `ccs_priority_list'.
280         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
281         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
282         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
283
284 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
285
286         * chartab.c (save_uint8_byte_table): Don't clear the table.
287         (save_uint16_byte_table): Likewise.
288         (save_byte_table): Likewise.
289         (Fmount_char_attribute_table): New function.
290         (syms_of_chartab): Add new builtin function
291         `mount-char-attribute-table'.
292
293 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
294
295         * mule-charset.c (Fsave_charset_mapping_table): Open database as
296         "w+" mode.
297         (load_char_decoding_entry_maybe): Open database as read-only mode.
298
299         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
300         open database as "w+" mode.
301         (load_char_attribute_maybe): Open database as read-only mode.
302         (Fload_char_attribute_table): Likewise.
303
304 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
307         (char_table_description): Delete member `db_file'.
308         (Fmake_char_table): Don't refer `ct->db_file'.
309         (Fcopy_char_table): Likewise.
310         (Fsave_char_attribute_table): Likewise.
311         (Fclose_char_attribute_table): Likewise.
312         (Freset_char_attribute_table): Likewise.
313         (load_char_attribute_maybe): Likewise.
314         (Fload_char_attribute_table): Likewise.
315
316         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
317
318 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
319
320         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
321         (Fsave_char_attribute_table): Don't check `ct->db_file' if
322         `ct->db' is living.
323         (load_char_attribute_maybe): Likewise.
324         (Fload_char_attribute_table): Likewise.
325
326 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
327
328         * chartab.c (Fclose_char_attribute_table): Set Qnil on
329         `ct->db_file' unconditionally.
330
331 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
332
333         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
334         UTF-2000.
335         (char_table_description): Add description for `db_file' and `db'
336         in UTF-2000.
337         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
338         UTF-2000.
339         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
340         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
341         (Fclose_char_attribute_table): New function.
342         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
343         (load_char_attribute_maybe): Change interface; use `cit->db_file'
344         and `cit->db'.
345         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
346         (syms_of_chartab): Add new builtin function
347         `Fclose_char_attribute_table'.
348
349 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
350
351         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
352         `db' in UTF-2000.
353         (load_char_attribute_maybe): Change interface.
354         (get_char_id_table): Modify for `load_char_attribute_maybe'.
355
356 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
357
358         * database.h: Add an EXFUN for `Fdatabase_live_p'.
359
360 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
363         instead of `DECODE_CHAR' for mother; don't use special code for
364         chinese-big5 to use code space of chinese-big5-1 and
365         chinese-big5-2.
366         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
367         `MAX_CHAR_BIG5_CDP' for chinese-big5.
368
369         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
370         (MAX_CHAR_BIG5_CDP): Revival.
371
372 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
373
374         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
375         the XLFD registry-encoding name of `chinese-big5'.
376
377 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
378
379         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
380         (Qchinese_big5_cdp): Deleted.
381         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
382         (complex_vars_of_mule_charset): Delete coded-charset
383         `chinese-big5-cdp'.
384
385         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
386         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
387         `CHARSET_ID_OFFSET - n' for private CCS.
388         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
389         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
390         of `MIN_LEADING_BYTE'.
391         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
392         `(CHARSET_ID_OFFSET - 97)'.
393         (MIN_CHAR_BIG5_CDP): Deleted.
394         (MAX_CHAR_BIG5_CDP): Deleted.
395
396 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
397
398         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
399
400 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
401
402         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
403         (vars_of_mule): Add new variable `utf-2000-version' [moved from
404         chartab.c].
405
406         * chartab.c (Vutf_2000_version): Moved to mule.c.
407         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
408
409 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
410
411         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
412         when HAVE_CHISE_CLIENT is not defined.
413
414         * mule.c (vars_of_mule): Provide feature `chise' when
415         HAVE_CHISE_CLIENT is defined.
416
417 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
418
419         * config.h.in (UTF2000): Add comment.
420         (HAVE_CHISE_CLIENT): New macro.
421
422 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
423
424         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
425         CONSP.
426         (Fput_char_attribute): Likewise.
427         (char_attribute_system_db_file): Encode file-name of attribute.
428         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
429         the initial value.
430
431 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
432
433         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
434         (Fsave_charset_mapping_table): Use
435         `char_attribute_system_db_file'.
436         (load_char_decoding_entry_maybe): Likewise.
437
438         * chartab.h (Qsystem_char_id): New external variable.
439         (char_attribute_system_db_file): New prototype.
440
441         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
442         (char_attribute_system_db_file): New function.
443         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
444         (Freset_char_attribute_table): Likewise.
445         (load_char_attribute_maybe): Likewise.
446         (Fload_char_attribute_table): Likewise.
447         (syms_of_chartab): Add new symbol `system-char-id'.
448
449 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
450
451         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
452         `XCHARSET_GRAPHIC(ccs)'.
453
454 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
455
456         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
457
458 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
459
460         * chartab.c (Q_ucs_variants): New variable.
461         (syms_of_chartab): Add new symbol `->ucs-variants'.
462         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
463         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
464         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
465
466         * mule-charset.c (load_char_decoding_entry_maybe): New function.
467
468         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
469         `HAVE_DATABASE' is defined.
470         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
471         `HAVE_DATABASE' is defined.
472
473 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
474
475         * chartab.c (Fsave_char_attribute_table): Don't clear internal
476         attribute-table.
477         (Freset_char_attribute_table): New function.
478         (syms_of_chartab): Add new builtin function
479         `reset-char-attribute-table'.
480
481 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
482
483         * chartab.c (load_char_attribute_maybe): Don't make directories.
484
485 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
486
487         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
488
489         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
490         for decoding-table.
491
492 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
493
494         * mule-charset.c (Fsave_charset_mapping_table): Use
495         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
496
497         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
498         instead of `XCHARSET_CHARS'.
499
500 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
501
502         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
503         (XCHARSET_BYTE_SIZE): Likewise.
504
505         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
506         mule-charset.c].
507         (XCHARSET_BYTE_SIZE): Likewise.
508
509 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
510
511         * chartab.c (Fput_char_attribute): Use exec-directory instead of
512         data-directory to store database.
513         (Fsave_char_attribute_table): Likewise.
514         (load_char_attribute_maybe): Likewise.
515         (Fload_char_attribute_table): Likewise.
516
517 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
518
519         * mule-charset.c (Fsave_charset_mapping_table): New function.
520         (syms_of_mule_charset): Add new builtin function
521         `save-charset-mapping-table'.
522
523 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
524
525         * char-ucs.h (decoding_table_check_elements): Delete prototype.
526         (get_ccs_octet_table): New inline function.
527         (put_ccs_octet_table): Likewise.
528         (decoding_table_put_char): Use `get_ccs_octet_table' and
529         `put_ccs_octet_table'.
530         (decoding_table_remove_char): Use `decoding_table_put_char'.
531         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
532
533         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
534         into encoding_table.
535         (make_charset): Use Qunbound instead Qnil as initial value of
536         decoding_table.
537
538 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
539
540         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
541         element is Qunloaded.
542         (map_over_uint16_byte_table): Likewise.
543         (map_over_byte_table): Likewise.
544         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
545         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
546         database support, load encoding-table of the specified
547         coded-charset if it is not loaded yet.
548         (save_uint8_byte_table): New function of UTF-2000 with external
549         database support.
550         (save_uint16_byte_table): Likewise.
551         (save_byte_table): Likewise.
552         (Fput_char_attribute): Don't store value into external database
553         even if the external database feature is supported in UTF-2000;
554         set `attribute' as name of char-table if the external database
555         feature is supported.
556         (Fsave_char_attribute_table): New function in UTF-2000.
557         (syms_of_chartab): Add new builtin function
558         `save-char-attribute-table' in UTF-2000.
559
560 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
561
562         * chartab.c (char_attribute_table_to_put): New variable in
563         UTF-2000.
564         (Qput_char_table_map_function): Likewise.
565         (value_to_put): Likewise.
566         (Fput_char_table_map_function): New function in UTF-2000.
567         (put_char_table): Use `Fmap_char_attribute' for
568         CHARTAB_RANGE_CHARSET in UTF-2000.
569         (Fput_char_attribute): Store symbol instead of string in
570         `XCHAR_TABLE_NAME (table)'.
571         (load_char_attribute_maybe): Likewise.
572         (syms_of_chartab): Add new symbol/function
573         `put-char-table-map-function'.
574
575 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
576
577         * database.h: Add new EXFUN for `Fmap_database'.
578
579         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
580         (syms_of_database): Likewise.
581
582         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
583         UTF-2000.
584         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
585         (XCHAR_TABLE_UNLOADED): Likewise.
586
587         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
588         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
589         HAVE_DATABASE is defined.
590         (char_attribute_table_to_load): New variable of UTF-2000 with
591         external database support.
592         (Qload_char_attribute_table_map_function): Likewise.
593         (Fload_char_attribute_table_map_function): New function of
594         UTF-2000 with external database support.
595         (Fload_char_attribute_table): New function of UTF-2000.
596         (Fmap_char_attribute): Call Fload_char_attribute_table if
597         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
598         (syms_of_chartab): Add new symbol and function
599         `load-char-attribute-table-map-function' in UTF-2000 with external
600         database support; add new function `load-char-attribute-table' in
601         UTF-2000.
602
603 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
604
605         * chartab.h (load_char_attribute_maybe): New prototype for
606         UTF-2000 with DATABASE support.
607         (get_char_id_table): Use `load_char_attribute_maybe' if
608         HAVE_DATABASE is defined.
609
610         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
611         with DATABASE support.
612
613 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
614
615         * chartab.c (Fput_char_attribute): Use S-expression as key of
616         external database.
617
618         * chartab.h (get_char_id_table): Use S-expression as key of
619         external database.
620
621 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
624         if an element is not loaded, load the corresponding attributes
625         from an external database.
626         (map_over_uint16_byte_table): Likewise.
627         (map_over_byte_table): Likewise.
628         (map_char_table): Modify for `map_over_uint8_byte_table',
629         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
630         element is not loaded, load the corresponding attributes from an
631         external database.
632         (Fput_char_attribute): Change initial values to Qunloaded.
633
634         * chartab.h (get_char_id_table): If a character attribute is not
635         loaded and the attribute value is not found in an external
636         database, store Qunbound as the attribute value.
637
638 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
639
640         * chartab.c (BT_UINT8_unloaded): New macro.
641         (UINT8_VALUE_P): Accept Qunloaded.
642         (UINT8_ENCODE): Likewise.
643         (UINT8_DECODE): Likewise.
644         (BT_UINT16_unloaded): New macro.
645         (UINT16_VALUE_P): Accept Qunloaded.
646         (UINT16_ENCODE): Likewise.
647         (UINT16_DECODE): Likewise.
648         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
649         BT_UINT16_unloaded.
650         (mark_char_table): Mark `ct->name' in UTF-2000.
651         (char_table_description): Add `name' in UTF-2000.
652         (Fmake_char_table): Initialize `ct->name'.
653         (Fcopy_char_table): Copy `ct->name'.
654         (Fput_char_attribute): Store value into an external database if
655         HAVE_DATABASE is defined.
656
657         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
658         UTF-2000.
659         (CHAR_TABLE_NAME): New macro in UTF-2000.
660         (XCHAR_TABLE_NAME): New macro in UTF-2000.
661         (get_char_id_table): Try to read an external database if Qunloaded
662         is stored in a table.
663
664         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
665         Qunloaded.
666
667 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
668
669         * database.h: Add EXFUN definitions for Fopen_database,
670         Fput_database, Fget_database and Fclose_database.
671
672         * data.c (Qunloaded): New variable in UTF-2000.
673
674         * lisp.h (Qunloaded): New variable in UTF-2000.
675
676 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
677
678         * mule-charset.c (put_char_ccs_code_point): Modify for
679         `decoding_table_remove_char' and `decoding_table_put_char'.
680         (remove_char_ccs): Modify for `decoding_table_remove_char'.
681
682         * char-ucs.h (decoding_table_remove_char): Change arguments to
683         hide decoding_table vector.
684         (decoding_table_put_char): Likewise.
685
686 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
687
688         * mule-charset.c (decoding_table_remove_char): Moved to
689         char-ucs.h.
690         (decoding_table_put_char): Likewise.
691
692         * char-ucs.h (decoding_table_check_elements): New prototype [moved
693         from mule-charset.c].
694         (decoding_table_remove_char): New inline function [moved from
695         mule-charset.c].
696         (decoding_table_put_char): Likewise.
697
698 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
699
700         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
701         extension.
702
703 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
704
705         * mule-charset.c (decode_builtin_char): Support mother charsets.
706
707 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
708
709         * mule-charset.c (Q94x94x60): New variable.
710         (charset_code_point): Support conversion `94x94x60'.
711         (Fmake_charset): Likewise.
712         (syms_of_mule_charset): Add new symbol `94x94x60'.
713
714         * char-ucs.h (CONVERSION_94x94x60): New macro.
715
716 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
717
718         * mule-charset.c (charset_code_point): Unify code about
719         `code-offset'.
720
721 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
722
723         * mule-charset.c (charset_code_point): Merge code about builtin
724         characters into code about mother charsets; don't use
725         `range_charset_code_point'.
726         (range_charset_code_point): Deleted.
727
728 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
729
730         * mule-charset.c (Qcode_offset): New variable.
731         (Fmake_charset): Use `XUINT' to get value of `min-code' and
732         `max-code'; accept new property `code-offset'.
733         (syms_of_mule_charset): Add new symbol `code-offset'.
734
735 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
736
737         * mule-charset.c (range_charset_code_point): Fixed.
738
739 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
740
741         * mule-charset.c (decode_builtin_char): Change semantics of
742         code-offset of coded-charset.
743         (charset_code_point): Likewise.
744         (range_charset_code_point): Likewise.
745         (complex_vars_of_mule_charset): Modify for the change.
746
747 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
748
749         * mule-charset.c (Fencode_char): Reverse arguments.
750
751         * mule-charset.c (charset_code_point): Fixed.
752
753 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
754
755         * mule-charset.c (Vcharset_mojikyo): Deleted.
756         (Vcharset_mojikyo_2022_1): Deleted.
757         (Vcharset_mojikyo_pj_{1..21}): Deleted.
758         (Qmin_code): New variable in UTF-2000.
759         (Qmax_code): Likewise.
760         (Qmother): Likewise.
761         (Qconversion): Likewise.
762         (Q94x60): Likewise.
763         (Qmojikyo): Deleted.
764         (Qmojikyo_2022_1): Deleted.
765         (Qmojikyo_pj_{1..22}): Deleted.
766         (mark_charset): Mark `cs->mother'.
767         (charset_description): Add description for `mother'.
768         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
769         new arguments `mother' and `conversion'; use
770         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
771         (charset_code_point): Moved from char-ucs.h; support `mother'
772         charset feature.
773         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
774         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
775         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
776         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
777         allow 2 as the value of `graphic' in UTF-2000; add new properties
778         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
779         require `final' in UTF-2000; modify for `make_charset'.
780         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
781         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
782         (Fcharset_property): Support `mother', `min-code' and `max-code'.
783         (Fencode_char): New function.
784         (syms_of_mule_charset): Add new builtin function `encode-char' in
785         UTF-2000; add new symbols `min-code', `max-code', `mother',
786         `conversion' and `94x60'; delete symbols `mojikyo',
787         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
788         (complex_vars_of_mule_charset): Modify for `make_charset' change;
789         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
790         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
791
792         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
793         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
794
795         * char-ucs.h (Vcharset_mojikyo): Deleted.
796         (Vcharset_mojikyo_2022_1): Deleted.
797         (LEADING_BYTE_MOJIKYO): Deleted.
798         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
799         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
800         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
801         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
802         add new member `mother'; add new member `conversion'.
803         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
804         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
805         (CHARSET_MOTHER): New macro.
806         (CHARSET_CONVERSION): New macro.
807         (CONVERSION_IDENTICAL): New macro.
808         (CONVERSION_94x60): New macro.
809         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
810         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
811         (XCHARSET_MOTHER): New macro.
812         (XCHARSET_CONVERSION): New macro.
813         (MIN_CHAR_MOJIKYO): Deleted.
814         (MAX_CHAR_MOJIKYO): Deleted.
815         (DECODE_MOJIKYO_2022): Deleted.
816         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
817         (charset_code_point): Changed to non-inline function.
818         (encode_char_1): Use `charset_code_point'.
819         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
820
821 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
822
823         * lread.c (read_compiled_function): Fix prototype.
824         (read_vector): Likewise.
825
826 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
827
828         * lrecord.h (struct lrecord_header): Delete `older'.
829         (set_lheader_implementation): Delete code for `older'.
830         (set_lheader_older_implementation): Deleted.
831         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
832         (OLDER_RECORD_P): Deleted.
833         (OLDER_RECORD_HEADER_P): Deleted.
834         (alloc_older_lcrecord): Deleted.
835         (alloc_older_lcrecord_type): Deleted.
836
837         * alloc.c (all_older_lcrecords): Deleted.
838         (alloc_older_lcrecord): Deleted.
839         (disksave_object_finalization_1): Delete code for older objects.
840         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
841         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
842
843 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * mule-charset.c (decoding_table_put_char): Use `make_vector'
846         instead of `make_older_vector'.
847         (put_char_ccs_code_point): Likewise.
848         (mark_charset): Mark `cs->decoding_table'.
849         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
850
851         * lisp.h (make_older_vector): Deleted.
852         (make_vector_newer): Deleted.
853
854         * config.h.in (HAVE_GGC): Deleted.
855
856         * alloc.c (make_older_vector): Deleted.
857         (make_vector_newer_1): Deleted.
858         (make_vector_newer): Deleted.
859
860 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
863         (Qideograph_daikanwa_2): New variable.
864         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
865         (complex_vars_of_mule_charset): Add new coded-charset
866         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
867         `LEADING_BYTE_DAIKANWA'.
868
869         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
870         (LEADING_BYTE_DAIKANWA_1): New macro.
871         (LEADING_BYTE_DAIKANWA_2): New macro.
872         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
873
874 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
875
876         * mule-charset.c (complex_vars_of_mule_charset): Change
877         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
878         the second revised version.
879
880 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
881
882         * mule-charset.c (Vcharset_ucs_smp): New variable.
883         (Vcharset_ucs_sip): New variable.
884         (Qucs_smp): New variable.
885         (Qucs_sip): New variable.
886         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
887         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
888         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
889         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
890         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
891         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
892
893         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
894         (LEADING_BYTE_UCS_SIP): New macro.
895         (MIN_CHAR_SMP): New macro.
896         (MAX_CHAR_SMP): New macro.
897         (MIN_CHAR_SIP): New macro.
898         (MAX_CHAR_SIP): New macro.
899
900 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
901
902         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
903         utf-2000.
904
905 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
906
907         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
908         value; don't store value into `encoding_table' of `Lisp_Charset'.
909         (mark_charset): `encoding_table' was deleted.
910         (charset_description): Likewise.
911         (make_charset): Likewise.
912         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
913         `put_char_ccs_code_point'.
914
915         * chartab.h (Fput_char_attribute): New EXFUN.
916
917         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
918         is unified with normal symbol space.
919         (Fget_char_attribute): Likewise.
920         (Fput_char_attribute): Likewise; behavior of
921         `put_char_ccs_code_point' is changed.
922
923         * char-ucs.h: Include "elhash.h".
924         (Vchar_attribute_hash_table): New external variable.
925         (struct Lisp_Charset): Delete `encoding_table'.
926         (CHARSET_ENCODING_TABLE): New implementation; refer
927         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
928         `Lisp_Charset'.
929
930 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
931
932         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
933         (cs) == 0.
934
935 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
936
937         * text-coding.c (char_encode_big5): Prefer charset-g1 than
938         `chinese-big5'.
939
940 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
941
942         * chartab.c (uint8_byte_table_description): New constant.
943         (uint8-byte-table): Use `uint8_byte_table_description'.
944         (uint16_byte_table_description): New constant.
945         (uint16-byte-table): Use `uint16_byte_table_description'.
946
947 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
948
949         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
950         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
951
952 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
953
954         * mule-charset.c (Vcharset_ucs_ks): New variable.
955         (Qucs_ks): New variable.
956         (syms_of_mule_charset): Add new symbol `ucs-ks'.
957         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
958
959         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
960
961 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
962
963         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
964         (Fdecode_char): Likewise.
965
966         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
967         chartab.h.
968         (Fdefine_char): Modify for Fdecode_char.
969         (Ffind_char): Likewise.
970
971         * mule-charset.c (Fdecode_char): Add new optional argument
972         `defined-only'.
973         (Fdecode_builtin_char): Modify for `Fdecode_char'.
974
975 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
976
977         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
978         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
979         (allocate_coding_system): Initialize initial-charsets of
980         CODESYS_BIG5 in XEmacs UTF-2000.
981         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
982         CODESYS_BIG5 in XEmacs UTF-2000.
983         (decode_coding_big5): Use initial-charset-g0 and -g1 of
984         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
985
986         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
987         variables.
988         (Qideograph_hanziku_{1 .. 12}): Likewise.
989         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
990         .. 12}'.
991         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
992         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
993         `ideograph-hanziku-{1 .. 12}'.
994
995         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
996         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
997         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
998         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
999         (DECODE_DEFINED_CHAR): New inline function.
1000         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1001
1002 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1003
1004         * mule-charset.c (Vcharset_china3_jef): Renamed from
1005         `Vcharset_japanese_jef_china3'.
1006         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1007         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1008         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1009         (syms_of_mule_charset): Rename `china3-jef' from
1010         `japanese-jef-china3'.
1011         (complex_vars_of_mule_charset): Likewise; rename
1012         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1013
1014         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1015         `LEADING_BYTE_JEF_CHINA3'.
1016         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1017         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1018
1019 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1020
1021         * mule-charset.c (encode_builtin_char_1): Comment out special code
1022         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1023
1024         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1025         (MAX_CHAR_MOJIKYO_0): Comment out.
1026         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1027         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1028         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1029         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1030
1031 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1032
1033         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1034         (Qideograph_cbeta): New variable.
1035         (encode_builtin_char_1): Comment out special code for
1036         coded-charset `mojikyo' and `japanese-jef-china3'.
1037         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1038         (complex_vars_of_mule_charset): Add new coded-charset
1039         `ideograph-cbeta'.
1040
1041         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1042         (MIN_CHAR_CBETA): New macro.
1043         (MAX_CHAR_CBETA): New macro.
1044
1045 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1046
1047         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1048         (LEADING_BYTE_JEF_CHINA3): New macro.
1049         (MIN_CHAR_JEF_CHINA3): New macro.
1050         (MAX_CHAR_JEF_CHINA3): Likewise.
1051         (DECODE_CHAR): Fixed.
1052
1053 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1054
1055         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1056         (Qjapanese_jef_china3): New variable.
1057         (encode_builtin_char_1): Support `japanese-jef-china3'.
1058         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1059         (complex_vars_of_mule_charset): Add new coded-charset
1060         `japanese-jef-china3'.
1061
1062 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1063
1064         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1065         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1066         94^4, 96^3, 96^4, 128^n and 256^n set.
1067         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1068         (map_char_table): Likewise.
1069
1070 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1071
1072         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1073         UTF-2000.
1074
1075 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1076
1077         * chartab.h (get_char_id_table): New inline function.
1078
1079         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1080         function.
1081
1082 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1083
1084         * chartab.h (decode_char_table_range): New prototype in XEmacs
1085         UTF-2000.
1086         (put_char_id_table): New inline function in XEmacs UTF-2000.
1087
1088         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1089         function.
1090         (decode_char_table_range): Delete static declaration in XEmacs
1091         UTF-2000.
1092
1093 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1094
1095         * chartab.c (put_char_id_table): Use `put_char_table'.
1096
1097 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1098
1099         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1100         (map_over_uint16_byte_table): Likewise.
1101         (map_over_byte_table): Likewise.
1102         (map_char_table): Modify for `map_over_uint8_byte_table',
1103         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1104         UTF-2000.
1105
1106 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1107
1108         * chartab.c (struct map_char_table_for_charset_arg): New
1109         structure.
1110         (map_char_table_for_charset_fun): New function.
1111         (map_char_table): Use `map_char_table' for encoding_table of
1112         `range->charset'.
1113
1114 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1115
1116         * chartab.c (map_char_table): Check a character is found in
1117         range->charset instead of non default value is defined in
1118         char-table when range is CHARTAB_RANGE_ROW.
1119
1120 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1121
1122         * chartab.c (map_char_id_table): Deleted.
1123         (Fmap_char_attribute): Use `map_char_table' instead of
1124         `map_char_id_table'.
1125
1126 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1129         UTF-2000.
1130         (update_syntax_table): Deleted in XEmacs UTF-2000.
1131
1132         * syntax.c (find_defun_start): Use `syntax_table' instead of
1133         `mirror_syntax_table' in XEmacs UTF-2000.
1134         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1135         UTF-2000.
1136         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1137         XEmacs UTF-2000.
1138         (Fmatching_paren): Likewise.
1139         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1140         in XEmacs UTF-2000.
1141         (find_start_of_comment): Likewise.
1142         (find_end_of_comment): Likewise.
1143         (Fforward_comment): Likewise.
1144         (scan_lists): Likewise.
1145         (char_quoted): Likewise.
1146         (Fbackward_prefix_chars): Likewise.
1147         (scan_sexps_forward): Likewise.
1148         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1149         (update_syntax_table): Likewise.
1150
1151         * search.c (skip_chars): Use `syntax_table' instead of
1152         `mirror_syntax_table' in XEmacs UTF-2000.
1153         (wordify): Likewise.
1154         (Freplace_match): Likewise.
1155
1156         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1157         `mirror_syntax_table' in XEmacs UTF-2000.
1158         (WORDCHAR_P_UNSAFE): Likewise.
1159         (re_match_2_internal): Likewise.
1160
1161         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1162         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1163
1164         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1165         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1166
1167         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1168         XEmacs UTF-2000.
1169
1170         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1171         UTF-2000.
1172         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1173         (char_table_description): Delete `mirror_table' in XEmacs
1174         UTF-2000.
1175         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1176         UTF-2000.
1177         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1178         (Fcopy_char_table): Likewise.
1179         (put_char_table): Don't call `update_syntax_table' in XEmacs
1180         UTF-2000.
1181
1182         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1183         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1184         (casify_region_internal): Likewise.
1185
1186         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1187
1188         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1189         `mirror_syntax_table' in XEmacs UTF-2000.
1190
1191         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1192         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1193         (Fexpand_abbrev): Likewise.
1194
1195 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1196
1197         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1198
1199 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1200
1201         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1202         (map_over_uint16_byte_table): Likewise.
1203         (map_over_byte_table): Likewise.
1204         (get_char_id_table): Refer `cit->default_value'.
1205         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1206         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1207         of character-id ranges.
1208         (mark_char_table): Mark `ct->default_value'.
1209         (char_table_description): Add `default_value'.
1210         (fill_char_table): Use `default_value'.
1211         (decode_char_table_range): Decode `nil' as
1212         `CHARTAB_RANGE_DEFAULT'.
1213         (get_char_id_table): Refer `cit->default_value'.
1214         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1215         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1216         temporary hack; check value of char-table is bound or not.
1217         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1218
1219         * chartab.h (struct Lisp_Char_Table): Add new member
1220         `default_value' in XEmacs UTF-2000.
1221         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1222         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1223         UTF-2000.
1224
1225 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1226
1227         * chartab.h (Lisp_Char_ID_Table): Deleted.
1228
1229         * chartab.c (char_table_description): Fix typo.
1230         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1231         `Lisp_Char_ID_Table'.
1232
1233 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1234
1235         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1236         `CHAR_ID_TABLE_P'.
1237
1238         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1239         `CHAR_ID_TABLE_P'.
1240
1241         * chartab.h (XCHAR_ID_TABLE): Deleted.
1242         (XSETCHAR_ID_TABLE): Deleted.
1243         (CHAR_ID_TABLE_P): Deleted.
1244
1245         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1246         `CHAR_ID_TABLE_P'.
1247         (Fget_composite_char): Likewise.
1248         (put_char_table): Likewise.
1249         (add_char_attribute_alist_mapper): Fixed.
1250         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1251         `CHAR_ID_TABLE_P'.
1252         (Fget_char_attribute): Likewise.
1253         (Fget_char_attribute): Likewise.
1254         (Fmap_char_attribute): Likewise.
1255
1256         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1257         `CHAR_ID_TABLE_P'.
1258         (encode_char_1): Likewise.
1259
1260 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1261
1262         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1263         `XCHAR_ID_TABLE'.
1264
1265         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1266         instead of `XCHAR_ID_TABLE'.
1267         (remove_char_ccs): Likewise.
1268
1269         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1270         `XCHAR_ID_TABLE'.
1271         (Fget_composite_char): Likewise.
1272         (Fchar_variants): Likewise.
1273         (put_char_table): Likewise.
1274         (add_char_attribute_alist_mapper): Likewise.
1275         (Fchar_attribute_alist): Likewise.
1276         (Fget_char_attribute): Likewise.
1277         (Fput_char_attribute): Likewise.
1278         (Fmap_char_attribute): Likewise.
1279         (Fmap_char_attribute): Likewise.
1280
1281         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1282         `XCHAR_ID_TABLE'.
1283         (encode_char_1): Likewise.
1284
1285 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1286
1287         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1288         `Lisp_Char_ID_Table'.
1289         (mark_char_id_table): Deleted.
1290         (print_char_id_table): Likewise.
1291         (char_id_table_equal): Likewise.
1292         (char_id_table_hash): Likewise.
1293         (char_id_table_description): Likewise.
1294         (char_id_table): Likewise.
1295         (make_char_id_table): Use `Fmake_char_table' and
1296         `fill_char_table'.
1297         (get_char_id_table): Use `Lisp_Char_Table' instead of
1298         `Lisp_Char_ID_Table'.
1299         (put_char_id_table): Likewise.
1300         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1301         `XCHAR_ID_TABLE'.
1302         (Fremove_char_attribute): Likewise.
1303         (syms_of_chartab): Don't define type `char-id-table'.
1304
1305         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1306         (char_id_table): Likewise.
1307         (GC_CHAR_ID_TABLE_P): Likewise.
1308         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1309         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1310         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1311         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1312         (get_char_id_table): Use `Lisp_Char_Table' instead of
1313         `Lisp_Char_ID_Table'.
1314         (put_char_id_table_0): Likewise.
1315         (put_char_id_table): Likewise.
1316
1317 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1318
1319         * chartab.h: Lisp_Byte_Table related codes are moved from
1320         chartab.h.
1321
1322         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1323
1324 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1325
1326         * chartab.h: Don't include "chartab.h".
1327         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1328         (Lisp_Char_ID_Table): Likewise.
1329         (char_id_table): Likewise.
1330         (XCHAR_ID_TABLE): Likewise.
1331         (XSETCHAR_ID_TABLE): Likewise.
1332         (CHAR_ID_TABLE_P): Likewise.
1333         (GC_CHAR_ID_TABLE_P): Likewise.
1334         (get_char_id_table): Likewise.
1335
1336         * char-ucs.h: Include "chartab.h".
1337         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1338         (Lisp_Char_ID_Table): Likewise.
1339         (char_id_table): Likewise.
1340         (XCHAR_ID_TABLE): Likewise.
1341         (XSETCHAR_ID_TABLE): Likewise.
1342         (CHAR_ID_TABLE_P): Likewise.
1343         (GC_CHAR_ID_TABLE_P): Likewise.
1344         (get_char_id_table): Likewise.
1345
1346 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1347
1348         * chartab.c (copy_uint8_byte_table): New function.
1349         (copy_uint16_byte_table): New function.
1350         (copy_byte_table): New function.
1351         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1352         characters to call.
1353         (map_over_uint16_byte_table): Likewise.
1354         (map_over_byte_table): Likewise.
1355         (get_byte_table): Move prototype to chartab.h.
1356         (put_byte_table): Likewise.
1357         (put_char_id_table_0): Moved to chartab.h.
1358         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1359         (char_table_entry_equal): Likewise.
1360         (char_table_entry_hash): Likewise.
1361         (char_table_entry_description): Likewise.
1362         (char_table_entry): Likewise.
1363         (make_char_table_entry): Likewise.
1364         (copy_char_table_entry): Likewise.
1365         (get_non_ascii_char_table_value): Likewise.
1366         (map_over_charset_ascii): Likewise.
1367         (map_over_charset_control_1): Likewise.
1368         (map_over_charset_row): Likewise.
1369         (map_over_other_charset): Likewise.
1370         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1371         (print_char_table): Likewise.
1372         (char_table_equal): Likewise.
1373         (char_table_hash): Likewise.
1374         (char_table_description): Likewise.
1375         (fill_char_table): Likewise.
1376         (Fcopy_char_table): Likewise.
1377         (get_char_table): Likewise.
1378         (Fget_range_char_table): Likewise.
1379         (put_char_table): Likewise.
1380         (map_char_table): Likewise.
1381         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1382         UTF-2000.
1383
1384 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1385
1386         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1387         `Vauto_fill_chars' in XEmacs UTF-2000.
1388
1389         * chartab.h (get_byte_table): New prototype [moved from
1390         chartab.c].
1391         (put_byte_table): Likewise [moved from chartab.c].
1392         (put_char_id_table_0): New inline function [moved from chartab.c].
1393         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1394         (Lisp_Char_Table_Entry): Likewise.
1395         (char_table_entry): Likewise.
1396         (XCHAR_TABLE_ENTRY): Likewise.
1397         (XSETCHAR_TABLE_ENTRY): Likewise.
1398         (CHAR_TABLE_ENTRYP): Likewise.
1399         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1400         (NUM_ASCII_CHARS): Likewise.
1401         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1402         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1403
1404 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1405
1406         * chartab.c (get_char_id_table): Change interface.
1407         (put_char_id_table_0): New function.
1408         (put_char_id_table): Change interface; new implementation.
1409         (Fget_composite_char): Modify for interface change of
1410         `get_char_id_table'.
1411         (Fchar_variants): Likewise.
1412         (add_char_attribute_alist_mapper): Likewise.
1413         (Fchar_attribute_alist): Likewise.
1414         (Fget_char_attribute): Likewise.
1415         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1416         as same as character as the first argument like `put-char-table';
1417         modify for interface change of `put_char_id_table'.
1418         (Fremove_char_attribute): Modify for interface change of
1419         `put_char_id_table'.
1420
1421 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1422
1423         * text-coding.c: Sync up with XEmacs 21.2.41.
1424         (COMPOSE_ADD_CHAR): Modify for interface change of
1425         `get_char_id_table'.
1426
1427         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1428         change of `put_char_id_table'.
1429         (remove_char_ccs): Likewise.
1430
1431         * chartab.h (put_char_id_table): Change interface.
1432
1433         * char-ucs.h (get_char_id_table): Change interface.
1434         (charset_code_point): Modify for interface change of
1435         `get_char_id_table'.
1436         (encode_char_1): Likewise.
1437
1438 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1439
1440         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1441         argument `ccs'.
1442         (map_over_uint16_byte_table): Likewise.
1443         (map_over_byte_table): Likewise.
1444         (map_char_id_table): Add new argument `range' like
1445         `map_char_table'.
1446         (Fmap_char_attribute): Add new argument `range' like
1447         `Fmap_char_table'.
1448
1449 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1450
1451         * chartab.c (map_over_uint8_byte_table): Change interface of
1452         mapping function to use struct chartab_range instead of Emchar.
1453         (map_over_uint16_byte_table): Likewise.
1454         (map_over_byte_table): Likewise.
1455         (map_char_id_table): Likewise.
1456         (struct slow_map_char_id_table_arg): Deleted.
1457         (slow_map_char_id_table_fun): Deleted.
1458         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1459         function `slow_map_char_table_fun' instead of struct
1460         `slow_map_char_id_table_arg' and function
1461         `slow_map_char_id_table_fun'.
1462
1463 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1464
1465         * mule-charset.c: Move char-it-table related codes to chartab.c.
1466         (Vutf_2000_version): Moved to chartab.c.
1467         (Fdefine_char): Likewise.
1468         (Ffind_char): Likewise.
1469         (syms_of_mule_charset): Move types `uint8-byte-table',
1470         `uint16-byte-table', `byte-table' and `char-id-table' to
1471         chartab.c; move functions `char_attribute_list,
1472         `find_char_attribute_table, `char_attribute_alist,
1473         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1474         `map_char_attribute, `define_char, `find_char, `char_variants and
1475         `get_composite_char to chartab.c; move symbols `=>ucs',
1476         `->decomposition', `compat', `isolated', `initial', `medial',
1477         `final', `vertical', `noBreak', `fraction', `super', `sub',
1478         `circle', `square', `wide', `narrow', `small' and `font' to
1479         chartab.c.
1480         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1481         setting codes for `Vcharacter_composition_table' and
1482         `Vcharacter_variant_table' to chartab.c.
1483         (complex_vars_of_mule_charset): Move setting code for
1484         `Vchar_attribute_hash_table' to chartab.c.
1485
1486         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1487         (make_char_id_table): New prototype.
1488         (put_char_id_table): Likewise.
1489         (Fget_char_attribute): Likewise.
1490
1491         * chartab.c: Move char-id-table related code from mule-charset.c.
1492         (Vutf_2000_version): Moved from mule-charset.c.
1493
1494         * char-ucs.h (Qucs): New external variable.
1495         (put_char_ccs_code_point): New prototype.
1496         (remove_char_ccs): Likewise.
1497
1498 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1499
1500         * mule-charset.c (Vcharset_ucs_jis): New variable.
1501         (Qucs_jis): Likewise.
1502         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1503         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1504
1505         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1506
1507 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1508
1509         * mule-charset.c (map_over_uint8_byte_table): New function.
1510         (map_over_uint16_byte_table): Likewise.
1511         (map_over_byte_table): Likewise.
1512         (map_char_id_table): Likewise.
1513         (slow_map_char_id_table_fun): Likewise.
1514         (Fmap_char_attribute): Likewise.
1515         (syms_of_mule_charset): Add new function `map-char-attribute'.
1516
1517 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1518
1519         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1520         (syms_of_mule_charset): Add new function `find-char'.
1521
1522 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1523
1524         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1525         XEmacs UTF-2000.
1526         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1527         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1528         XEmacs UTF-2000.
1529         (complex_vars_of_mule_charset): Add new coded-charset
1530         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1531         `ideograph-gt-pj-*'.
1532
1533         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1534
1535 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1536
1537         * mule-charset.c (encode_builtin_char_1): Purge codes about
1538         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1539         {MIN|MAX}_CHAR_HEBREW.
1540         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1541         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1542
1543         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1544         (MAX_CHAR_GREEK): Purged.
1545         (MIN_CHAR_CYRILLIC): Purged.
1546         (MAX_CHAR_CYRILLIC): Purged.
1547         (MIN_CHAR_HEBREW): Commented out.
1548         (MAX_CHAR_HEBREW): Likewise.
1549
1550 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1551
1552         * mule-charset.c (Qto_ucs): New variable.
1553         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1554         (Fdefine_char): Likewise.
1555         (syms_of_mule_charset): Add new symbol `=>ucs'.
1556
1557 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1558
1559         * mule-charset.c (Fdecode_char): Fixed.
1560
1561 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1562
1563         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1564         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1565         "tcvn5712-1".
1566
1567 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1568
1569         * mule-charset.c (Vcharset_ucs_big5): New variable.
1570         (Qucs_big5): Likewise.
1571         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1572         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1573
1574         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1575
1576 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1577
1578         * mule-charset.c (decode_builtin_char): Check Big5 code range
1579         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1580
1581 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1582
1583         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1584         (Qchinese_gb12345): Likewise.
1585         (Fdecode_builtin_char): Fixed.
1586         (syms_of_mule_charset): Add `chinese-gb12345'.
1587         (complex_vars_of_mule_charset): Add coded-charset
1588         `chinese-gb12345'.
1589
1590         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1591         (LEADING_BYTE_CHINESE_GB12345): New macro.
1592
1593 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1594
1595         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1596         and `latin-viscii-upper' for `latin-viscii'.
1597
1598 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1599
1600         * mule-charset.c (Fdecode_builtin_char): Comment out
1601         regularization code for ISO-IR GR representation.
1602
1603 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1604
1605         * mule-charset.c (decode_builtin_char): New function; renamed from
1606         `make_builtin_char'; return -1 instead of signal.
1607         (Fdecode_builtin_char): Use `decode_builtin_char'.
1608
1609         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1610         `make_builtin_char'.
1611         (DECODE_CHAR): Use `decode_builtin_char' instead of
1612         `make_builtin_char'; use mapping table of `chinese-big5' for
1613         `chinese-big5-{1,2}'.
1614
1615 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1616
1617         * text-coding.c (char_encode_big5): New function.
1618         (char_finish_big5): Likewise.
1619         (reset_encoding_stream): Use `char_encode_big5' and
1620         `char_finish_big5' for CODESYS_BIG5.
1621         (mule_encode): Don't use `encode_coding_big5'.
1622         (encode_coding_big5): Deleted.
1623
1624 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1625
1626         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1627         0x81- in XEmacs UTF-2000.
1628         (detect_coding_big5): Likewise.
1629
1630 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1631
1632         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1633         generate character-id if the CCS property does not have
1634         corresponding predefined character.
1635         (make_builtin_char): Return -1 if corresponding predefined
1636         character is not found.
1637         (Fdecode_char): Return nil if corresponding character is not
1638         found.
1639         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1640         don't map to builtin ucs space.
1641
1642 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1643
1644         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1645         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1646
1647 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1648
1649         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1650         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1651         (Qideograph_gt): Likewise.
1652         (Qideograph_gt_pj_{1..11}): Likewise.
1653         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1654         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1655         `ideograph-gt-pj-11'.
1656         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1657         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1658         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1659
1660         * char-ucs.h (LEADING_BYTE_GT): New macro.
1661         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1662         (MIN_CHAR_GT): Likewise.
1663         (MAX_CHAR_GT): Likewise.
1664
1665 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1666
1667         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1668         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1669
1670         * doprnt.c (unsigned_int_converters): Add `c'.
1671         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1672
1673         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1674         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1675         `MIN_CHAR_MOJIKYO'.
1676         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1677         (MAX_CHAR_MOJIKYO_0): New macro.
1678         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1679
1680 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1681
1682         * mule-charset.c (Fdefine_char): Delete cemented out code.
1683         (encode_builtin_char_1): Modify for new allocation of builtin
1684         Mojikyo characters.
1685
1686         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1687
1688 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1689
1690         * mule-charset.c (Vcharset_ucs_cns): New variable.
1691         (Qucs_cns): New variable.
1692         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1693         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1694
1695 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1696
1697         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1698
1699 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1700
1701         * search.c (search_buffer): Make `charset_base_code' as
1702         character-id >> 6 to eliminate the corresponding last byte in
1703         UTF-8 representation [I'm not sure it is right thing].
1704         (boyer_moore): Likewise.
1705
1706 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1707
1708         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1709         representation in MULE.
1710
1711 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1712
1713         * text-coding.c (Fmake_coding_system): Use
1714         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1715         `EXTERNAL_PROPERTY_LIST_LOOP'.
1716
1717 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1718
1719         * text-coding.c (decode_output_utf8_partial_char): New function.
1720         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1721
1722 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1723
1724         * text-coding.c (decode_coding_utf8): Output original byte
1725         sequence if it is broken; change order of conditions.
1726
1727         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1728         of conditions.
1729
1730         * mb-multibyte.h (BYTE_ASCII_P):
1731         Use bit ops for char-signedness safety.
1732         (BYTE_C0_P): Use bit ops for char-signedness safety.
1733         (BYTE_C1_P): Use bit ops for char-signedness safety.
1734
1735         * character.h: (XCHAR_OR_CHAR_INT):
1736         Always use inline function.
1737         Remove redundant type checking assert() - XINT will abort quite
1738         nicely.
1739
1740 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1741
1742         * text-coding.c: (Fencode_shift_jis_char):
1743         (Fencode_big5_char):
1744         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1745         Replace 0 with '\0' when working with bytes.
1746         Replace initial "(" with "\(" in docstrings.
1747
1748         (Fmake_coding_system):
1749         When type is ccl and value is vector, register it with a proper
1750         symbol.  And checks whether the given ccl program is valid.
1751         (mule_decode): When calling ccl_driver, if src indicates
1752         NULL pointer, set an empty string instead.
1753         (mule_encode): Likewise.
1754
1755         (detect_eol_type):
1756         (detect_coding_sjis):
1757         (decode_coding_sjis):
1758         (detect_coding_big5):
1759         (decode_coding_big5):
1760         (detect_coding_ucs4):
1761         (decode_coding_ucs4):
1762         (detect_coding_utf8):
1763         (decode_coding_utf8):
1764         (detect_coding_iso2022):
1765         (decode_coding_iso2022):
1766         (decode_coding_no_conversion):
1767         (mule_decode):
1768         Make all detecting and decoding functions take an Extbyte * arg.
1769         (text_encode_generic):
1770         (encode_coding_big5):
1771         (encode_coding_no_conversion):
1772         (mule_encode):
1773         Make all encoding functions take a Bufbyte * arg.
1774         Use size_t instead of unsigned int for memory sizes.
1775         Only cast to unsigned char whenever dereferencing Extbyte *.
1776
1777         (struct lrecord_description fcd_description_1): Use countof.
1778         (complex_vars_of_file_coding):
1779         Use countof instead of sizeof.
1780         Use CHECK_NATNUM instead of CHECK_INT.
1781
1782 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1783
1784         * mule-charset.c (Fget_char_attribute): Add new optional argument
1785         `default-value'.
1786         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1787         (remove_char_ccs): Likewise.
1788
1789 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1790
1791         * text-coding.c (char_encode_shift_jis): New implementation in
1792         UTF-2000.
1793         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1794         ...)'.
1795
1796         * mule-charset.c (Vcharset_chinese_big5): New variable in
1797         UTF-2000.
1798         (Qchinese_big5): New variable in UTF-2000.
1799         (BIG5_SAME_ROW): New macro in UTF-2000.
1800         (make_builtin_char): Use builtin characters of
1801         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1802         characters of `Vcharset_chinese_big5'.
1803         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1804         (complex_vars_of_mule_charset): Add new coded-charset
1805         `chinese-big5' in UTF-2000.
1806
1807         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1808         (Vcharset_chinese_big5): New external variable declaration.
1809         (Vcharset_japanese_jisx0208_1990): Likewise.
1810
1811 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1812
1813         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1814         function.
1815         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1816
1817 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1818
1819         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1820         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1821         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1822         `mojikyo-pj-*'.
1823
1824 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1825
1826         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1827
1828 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1829
1830         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1831         to 0.17.
1832
1833 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1834
1835         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1836         for `CHARSET_BY_ATTRIBUTES'.
1837         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1838         `CHARSET_BY_ATTRIBUTES'.
1839
1840         * text-coding.c (struct decoding_stream): Rename member `CH' to
1841         `CPOS'.
1842         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1843         (decode_coding_sjis): Likewise.
1844         (decode_coding_big5): Likewise.
1845         (decode_coding_ucs4): Likewise.
1846         (decode_coding_utf8): Likewise.
1847         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1848         `CHARSET_BY_ATTRIBUTES'.
1849         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1850         `str->counter'; decode 3, 4 bytes sets.
1851         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1852         sets.
1853         (decode_coding_no_conversion): Use `str->cpos' instead of
1854         `str->ch'.
1855
1856         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1857         (Qmojikyo_2022_1): New variable.
1858         (make_charset): Don't use `CHARSET_TYPE_*'.
1859         (range_charset_code_point): Support coded-charset
1860         `mojikyo-2022-1'.
1861         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1862         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1863         `CHARSET_BY_ATTRIBUTES'.
1864         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1865         `CHARSET_BY_ATTRIBUTES'.
1866         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1867         (complex_vars_of_mule_charset): Add new coded-charset
1868         `mojikyo-2022-1'.
1869
1870         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1871         interface; changed to inline function.
1872
1873         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1874         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1875         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1876         (CHARSET_TYPE_94): Deleted.
1877         (CHARSET_TYPE_94X94): Deleted.
1878         (CHARSET_TYPE_96): Deleted.
1879         (CHARSET_TYPE_96X96): Deleted.
1880         (CHARSET_TYPE_128): Deleted.
1881         (CHARSET_TYPE_128X128): Deleted.
1882         (CHARSET_TYPE_256): Deleted.
1883         (CHARSET_TYPE_256X256): Deleted.
1884         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1885         to inline function.
1886         (DECODE_MOJIKYO_2022): New inline function.
1887         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1888         `Vcharset_mojikyo_2022_1'.
1889
1890 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1891
1892         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1893         instead of `EQ'.
1894         (put_byte_table): Likewise.
1895         (char_id_table_equal): Use `get_byte_table' [new implementation].
1896
1897 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1898
1899         * mule-charset.c: Include <limits.h> in UTF-2000.
1900         (BT_UINT8_MIN): New macro in UTF-2000.
1901         (BT_UINT8_MAX): New macro in UTF-2000.
1902         (BT_UINT8_t): New macro in UTF-2000.
1903         (BT_UINT8_nil): New macro in UTF-2000.
1904         (BT_UINT8_unbound): New macro in UTF-2000.
1905         (INT_UINT8_P): New inline function in UTF-2000.
1906         (UINT8_VALUE_P): New inline function in UTF-2000.
1907         (UINT8_ENCODE): New inline function in UTF-2000.
1908         (UINT8_DECODE): New inline function in UTF-2000.
1909         (mark_uint8_byte_table): New function in UTF-2000.
1910         (print_uint8_byte_table): New function in UTF-2000.
1911         (uint8_byte_table_equal): New function in UTF-2000.
1912         (uint8_byte_table_hash): New function in UTF-2000.
1913         (make_uint8_byte_table): New function in UTF-2000.
1914         (uint8_byte_table_same_value_p): New function in UTF-2000.
1915         (BT_UINT16_MIN): New macro in UTF-2000.
1916         (BT_UINT16_MAX): New macro in UTF-2000.
1917         (BT_UINT16_t): New macro in UTF-2000.
1918         (BT_UINT16_nil): New macro in UTF-2000.
1919         (BT_UINT16_unbound): New macro in UTF-2000.
1920         (INT_UINT16_P): New inline function in UTF-2000.
1921         (UINT16_VALUE_P): New inline function in UTF-2000.
1922         (UINT16_ENCODE): New inline function in UTF-2000.
1923         (UINT16_DECODE): New inline function in UTF-2000.
1924         (UINT8_TO_UINT16): New inline function in UTF-2000.
1925         (mark_uint16_byte_table): New function in UTF-2000.
1926         (print_uint16_byte_table): New function in UTF-2000.
1927         (uint16_byte_table_equal): New function in UTF-2000.
1928         (uint16_byte_table_hash): New function in UTF-2000.
1929         (make_uint16_byte_table): New function in UTF-2000.
1930         (uint16_byte_table_same_value_p): New function in UTF-2000.
1931         (print_byte_table): New function in UTF-2000.
1932         (byte-table): Use `print_byte_table' as printer.
1933         (make_byte_table): Delete second argument `older'.
1934         (byte_table_same_value_p): New function in UTF-2000.
1935         (copy_byte_table): Deleted.
1936         (get_byte_table): New function in UTF-2000.
1937         (put_byte_table): New function in UTF-2000.
1938         (print_char_id_table): New function in UTF-2000.
1939         (char-id-table): Use `print_char_id_table' as printer.
1940         (make_char_id_table): Delete second argument `older'.
1941         (get_char_id_table): Use `get_byte_table [new implementation].
1942         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1943         implementation].
1944         (Ffind_char_attribute_table): New function in UTF-2000.
1945         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1946         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1947         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1948         (syms_of_mule_charset): Add new function
1949         `find-char-attribute-table' in UTF-2000.
1950
1951         * lrecord.h (enum lrecord_type): Add
1952         `lrecord_type_uint16_byte_table' and
1953         `lrecord_type_uint8_byte_table'.
1954
1955         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1956         (Lisp_Uint8_Byte_Table): New type.
1957         (XUINT8_BYTE_TABLE): New macro.
1958         (XSETUINT8_BYTE_TABLE): New macro.
1959         (UINT8_BYTE_TABLE_P): New macro.
1960         (GC_UINT8_BYTE_TABLE_P): New macro.
1961         (struct Lisp_Uint16_Byte_Table): New structure.
1962         (Lisp_Uint16_Byte_Table): New type.
1963         (XUINT16_BYTE_TABLE): New macro.
1964         (XSETUINT16_BYTE_TABLE): New macro.
1965         (UINT16_BYTE_TABLE_P): New macro.
1966         (GC_UINT16_BYTE_TABLE_P): New macro.
1967
1968 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1969
1970         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1971         (Vcharacter_ideographic_strokes_table): Deleted.
1972         (Vcharacter_total_strokes_table): Deleted.
1973         (Vcharacter_morohashi_daikanwa_table): Deleted.
1974         (Vcharacter_decomposition_table): Deleted.
1975         (Qname): Deleted because it is duplicated.
1976         (Qideographic_radical): Deleted.
1977         (Qideographic_strokes): Deleted.
1978         (Qtotal_strokes): Deleted.
1979         (Qmorohashi_daikanwa): Deleted.
1980         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1981         `ideographic-radical', `ideographic-strokes', `total-strokes',
1982         `morohashi-daikanwa' and `->decomposition'.
1983         (Fget_char_attribute): Likewise.
1984         (Fput_char_attribute): Likewise; use `make-vector' instead of
1985         `make_older_vector' for `->decomposition' value.
1986         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1987         `ideograph-daikanwa'.
1988         (syms_of_mule_charset): Delete builtin symbols `name',
1989         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1990         `morohashi-daikanwa'.
1991         (vars_of_mule_charset): Don't setup
1992         `Vcharacter_ideographic_radical_table',
1993         `Vcharacter_ideographic_strokes_table',
1994         `Vcharacter_total_strokes_table',
1995         `Vcharacter_morohashi_daikanwa_table' and
1996         `Vcharacter_decomposition_table'.
1997
1998 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1999
2000         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2001         `make_older_vector', `make_vector_newer_1' and
2002         `make_vector_newer'.
2003
2004         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2005         `make_older_vector' and `make_vector_newer'.
2006
2007         * config.h.in (HAVE_GGC): New macro.
2008
2009 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2010
2011         * mule-charset.c (struct char_attribute_list_closure): New
2012         structure in UTF-2000.
2013         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2014         (Fchar_attribute_list): Likewise.
2015         (Fset_charset_mapping_table): Use `make_vector_newer'.
2016         (Fdecode_builtin_char): New function in UTF-2000.
2017         (syms_of_mule_charset): Add new function `char-attribute-list' and
2018         `decode-builtin-char' in UTF-2000.
2019
2020         * lisp.h (make_vector_newer): New prototype.
2021
2022         * alloc.c (make_vector_newer_1): New function.
2023         (make_vector_newer): New function.
2024
2025 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2026
2027         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2028         50100)'.
2029
2030 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2031
2032         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2033         (Vcharacter_attribute_table): Deleted.
2034         (Vcharacter_name_table): Deleted.
2035         (put_char_attribute): Deleted.
2036         (remove_char_attribute): Deleted.
2037         (struct char_attribute_alist_closure): New structure.
2038         (add_char_attribute_alist_mapper): New function.
2039         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2040         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2041         (Fget_char_attribute): Likewise.
2042         (Fput_char_attribute): Likewise.
2043         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2044         of `remove_char_attribute'.
2045         (Fdefine_char): Return character.
2046         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2047         and `Vcharacter_name_table'.
2048         (complex_vars_of_mule_charset): Likewise
2049         `Vchar_attribute_hash_table'.
2050
2051 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2052
2053         * character.h (CHARC_CHARSET): New macro.
2054         (CHARC_CHARSET_ID): New macro.
2055         (CHARC_CODE_POINT): New macro.
2056         (CHARC_COLUMNS): New macro.
2057         (CHARC_TO_CHAR): New inline function.
2058         (CHARC_EQ): New inline function.
2059         (CHARC_ASCII_EQ): New inline function.
2060         (CHARC_IS_SPACE): New inline function.
2061         (ASCII_TO_CHARC): New inline function.
2062
2063         * char-ucs.h (encode_char_2): Deleted.
2064         (ENCODE_CHAR): Use `encode_char_1' again.
2065         (breakup_char_1): Likewise.
2066         (CHAR_TO_CHARC): New inline function.
2067
2068         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2069
2070 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2071
2072         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2073         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2074         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2075         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2076         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2077         `CHARC_IS_SPACE'.
2078         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2079
2080         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2081         `CHARC_CODE_POINT'.
2082         (x_output_display_block): Use `CHARC_CHARSET' and
2083         `CHARC_ASCII_EQ'.
2084
2085         * redisplay-tty.c (tty_output_display_block): Use
2086         `CHARC_ASCII_EQ'.
2087         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2088
2089         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2090
2091         * insdel.c (find_charsets_in_charc_string): Use
2092         `CHARC_CHARSET_ID'.
2093         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2094         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2095         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2096         (convert_charc_string_into_malloced_string): Likewise.
2097
2098 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2099
2100         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2101         instead of <Emchar_dynarr *> for buf; use
2102         `convert_bufbyte_string_into_charc_dynarr' instead of
2103         `convert_bufbyte_string_into_emchar_dynarr'; use
2104         `find_charsets_in_charc_string' instead of
2105         `find_charsets_in_emchar_string'.
2106
2107         * redisplay.h:
2108         - Include "character.h".
2109         (struct rune): New member `cglyph'; delete member `chr'.
2110
2111         * redisplay.c (redisplay_text_width_charc_string): New function;
2112         delete `redisplay_text_width_emchar_string'.
2113         (rtw_charc_dynarr): New variable; renamed from
2114         `rtw_emchar_dynarr'.
2115         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2116         `rtw_emchar_dynarr'; use
2117         `convert_bufbyte_string_into_charc_dynarr' instead of
2118         `convert_bufbyte_string_into_emchar_dynarr'; use
2119         `redisplay_text_width_charc_string' instead of
2120         `redisplay_text_width_emchar_string'.
2121         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2122         instead of `rtw_emchar_dynarr'; use
2123         `convert_bufbyte_string_into_charc_dynarr' instead of
2124         `convert_bufbyte_string_into_emchar_dynarr'.
2125         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2126         `redisplay_text_width_charc_string' instead of
2127         `redisplay_text_width_emchar_string'.
2128         (create_text_block): Modify for <struct rune> change.
2129         (generate_formatted_string_db): Likewise.
2130         (create_string_text_block): Likewise.
2131         (pixel_to_glyph_translation): Likewise.
2132
2133         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2134         instead of <const Emchar *>.
2135         (x_text_width): Likewise.
2136         (x_output_display_block): Use <Charc_dynarr *> instead
2137         <Emchar_dynarr *>; modify for <structure rune> change.
2138         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2139         *>.
2140
2141         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2142         <const Emchar *>; use `charc_string_displayed_columns' instead of
2143         `emchar_string_displayed_columns'.
2144         (tty_output_display_block): Use <Charc_dynarr *> instead of
2145         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2146         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2147         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2148         `tty_output_emchar_dynarr_dynarr'.
2149         (tty_output_charc_dynarr): New function; delete
2150         `tty_output_charc_dynarr'.
2151
2152         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2153         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2154         <Emchar_dynarr *> for buf; use
2155         `convert_bufbyte_string_into_charc_dynarr' instead of
2156         `convert_bufbyte_string_into_emchar_dynarr'.
2157
2158         * frame.c (title_string_charc_dynarr): New variable; renamed from
2159         `title_string_emchar_dynarr'.
2160         (generate_title_string): Use `title_string_charc_dynarr' instead
2161         of `title_string_emchar_dynarr'; use
2162         `convert_charc_string_into_malloced_string' instead of
2163         `convert_emchar_string_into_malloced_string'.
2164         (init_frame): Use `title_string_charc_dynarr' instead of
2165         `title_string_emchar_dynarr'.
2166
2167         * console.h:
2168         - Include "character.h".
2169         (struct console_methods): Use <const Charc *> instead of <const
2170         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2171         <Emchar_dynarr *> in output_string_method.
2172
2173         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2174         <Emchar_dynarr *>.
2175
2176         * console-stream.c (stream_text_width): Use <const Charc *>
2177         instead of <const Emchar *>.
2178
2179         * character.h (Charc_dynarr): New type.
2180
2181         * char-ucs.h (structure Charc): New structure; define new type
2182         `Charc'.
2183
2184         * char-lb.h (DECODE_CHAR): New inline function.
2185         (encode_char_1): New inline function.
2186         (ENCODE_CHAR): New macro.
2187         (structure Charc): New structure; define new type `Charc'.
2188
2189         * char-1byte.h (Vcharset_control_1): New macro.
2190         (Vcharset_latin_iso8859_1): New macro.
2191         (DECODE_CHAR): New inline function.
2192         (encode_char_1): New inline function.
2193         (ENCODE_CHAR): New macro.
2194         (structure Charc): New structure; define new type `Charc'.
2195
2196         * insdel.c (find_charsets_in_charc_string): New function; delete
2197         `find_charsets_in_emchar_string'.
2198         (charc_string_displayed_columns): New function; delete
2199         `emchar_string_displayed_columns'.
2200         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2201         `convert_bufbyte_string_into_emchar_dynarr'.
2202         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2203         `convert_charc_string_into_bufbyte_dynarr'.
2204         (convert_charc_string_into_malloced_string): New function; delete
2205         `convert_charc_string_into_malloced_string'.
2206
2207         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2208         `find_charsets_in_emchar_string'.
2209         (charc_string_displayed_columns): New prototype; delete
2210         `emchar_string_displayed_columns'.
2211         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2212         `convert_charc_string_into_bufbyte_dynarr'.
2213         (convert_charc_string_into_malloced_string): New prototype; delete
2214         `convert_charc_string_into_malloced_string'.
2215
2216 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2217
2218         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2219
2220 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2221
2222         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2223
2224         * char-ucs.h: Use <short> for <Charset_ID>.
2225
2226         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2227         <Charset_ID>.
2228
2229 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2230
2231         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2232         to 0.16.
2233
2234 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2235
2236         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2237         variable.
2238         (Qmorohashi_daikanwa): New variable.
2239         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2240         for `morohashi-daikanwa' attribute.
2241         (Fget_char_attribute): Likewise.
2242         (Fput_char_attribute): Likewise.
2243         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2244         has the same value of `ideograph-daikanwa'.
2245         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2246         (vars_of_mule_charset): Setup
2247         `Vcharacter_morohashi_daikanwa_table'.
2248
2249 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2250
2251         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2252         attributes.
2253         (add_charset_to_list_mapper): Add `key' instead of
2254         `XCHARSET_NAME (value)' to return aliases.
2255
2256 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2257
2258         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2259         variable.
2260         (Vcharacter_ideographic_strokes_table): New variable.
2261         (Qideographic_radical): New variable.
2262         (Qideographic_strokes): New variable.
2263         (Fchar_attribute_alist): Use
2264         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2265         attribute; use `Vcharacter_ideographic_strokes_table' for
2266         `ideographic-strokes' attribute.
2267         (Fget_char_attribute): Likewise.
2268         (Fput_char_attribute): Likewise.
2269         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2270         `ideographic-strokes'.
2271         (vars_of_mule_charset): Setup
2272         `Vcharacter_ideographic_radical_table' and
2273         `Vcharacter_ideographic_strokes_table'.
2274
2275 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2276
2277         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2278         (Qtotal_strokes): New variable.
2279         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2280         `total-strokes' attribute.
2281         (Fget_char_attribute): Likewise.
2282         (Fput_char_attribute): Likewise.
2283         (syms_of_mule_charset): Add new symbol `total-strokes'.
2284         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2285
2286 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2287
2288         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2289         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2290         are found.
2291         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2292         `->decomposition' attribute.
2293         (Fput_char_attribute): Likewise.
2294         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2295
2296 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2297
2298         * mule-charset.c (decoding_table_check_elements): New function.
2299         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2300
2301 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2302
2303         * mule-charset.c (Fset_charset_mapping_table): Use
2304         `put_char_ccs_code_point'.
2305
2306 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2307
2308         * mule-charset.c (decoding_table_put_char): New inline function.
2309         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2310
2311 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2312
2313         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2314         (XCHARSET_BYTE_SIZE): New macro.
2315         (decoding_table_remove_char): New inline function.
2316         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2317         `decoding_table_remove_char'.
2318         (remove_char_ccs): Use `decoding_table_remove_char'.
2319         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2320
2321 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2322
2323         * mule-charset.c (Vcharacter_name_table): New variable.
2324         (Qname): New variable.
2325         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2326         attribute.
2327         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2328         `Vcharacter_name_table' for `name' attribute.
2329         (Fremove_char_attribute): Use function `remove_char_ccs'.
2330         (put_char_ccs_code_point): New function.
2331         (remove_char_ccs): New function.
2332         (syms_of_mule_charset): Add new symbol `name'.
2333         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2334
2335 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2336
2337         * mule-charset.c (make_byte_table): Add new argument `older'.
2338         (make_char_id_table): Likewise.
2339         (copy_char_id_table): Comment out because it is not used.
2340         (put_char_id_table): Modify for `make_byte_table'.
2341         (Fput_char_attribute): Make encoding_table as older object;
2342         inherit older bit of `Vcharacter_composition_table'.
2343         (mark_charset): Don't mark `cs->encoding_table'.
2344         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2345         normal object; make `Vcharacter_composition_table' as an older
2346         object; delete staticpro for `Vcharacter_composition_table'; make
2347         `Vcharacter_variant_table' as a normal object.
2348
2349         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2350         (mark_object): Don't check older object in UTF-2000.
2351
2352         * lrecord.h (struct lrecord_header): Add new member `older' in
2353         UTF-2000.
2354         (set_lheader_implementation): Setup `SLI_header->older' in
2355         UTF-2000.
2356         (set_lheader_older_implementation): New macro in UTF-2000.
2357         (OLDER_RECORD_P): New macro in UTF-2000.
2358         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2359         (alloc_older_lcrecord): New prototype in UTF-2000.
2360         (alloc_older_lcrecord_type): New macro in UTF-2000.
2361
2362 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2363
2364         * mule-charset.c (byte_table_description): Use
2365         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2366         (char_id_table_description): Delete bogus `, 1'.
2367         (Fget_char_attribute): Refer encoding_table of each coded-charset
2368         to get value of coded-charset attribute of a character.
2369         (Fput_char_attribute): Use `make_older_vector' instead of
2370         `make_vector'; use encoding_table of each coded-charset to store
2371         value of coded-charset attribute of a character.
2372         (Fremove_char_attribute): Use encoding_table of each coded-charset
2373         to store value of coded-charset attribute of a character.
2374         (mark_charset): Mark `cs->encoding_table'; don't mark
2375         `cs->decoding_table'.
2376         (charset_description): Add description of new member
2377         `encoding_table'.
2378         (make_charset): Initialize `encoding_table'.
2379
2380         * char-ucs.h (struct Lisp_Charset): Add new member
2381         `encoding_table'.
2382         (CHARSET_ENCODING_TABLE): New macro.
2383         (XCHARSET_ENCODING_TABLE): New macro.
2384         (charset_code_point): New implementation.
2385         (encode_char_1): Likewise.
2386
2387         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2388         (disksave_object_finalization_1): Call finalizers of
2389         `all_older_lcrecords' in UTF-2000.
2390         (make_older_vector): New function in UTF-2000.
2391         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2392         UTF-2000.
2393
2394         * lisp.h (make_older_vector): New prototype in UTF-2000.
2395
2396 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2397
2398         * lrecord.h (enum lrecord_type): Rename
2399         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2400
2401         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2402         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2403         `get_char_code_table'.
2404
2405         * mule-charset.c (mark_char_id_table): Renamed from
2406         `mark_char_code_table'.
2407         (char_id_table_equal): Renamed from `char_code_table_equal'.
2408         (char_id_table_hash): Renamed from `char_code_table_hash'.
2409         (make_char_id_table): Renamed from `make_char_code_table'.
2410         (copy_char_id_table): Renamed from `copy_char_code_table'.
2411         (get_char_id_table): Renamed from `get_char_code_table'.
2412         (put_char_id_table): Renamed from `put_char_code_table'.
2413         (to_char_id): Renamed from `to_char_code'.
2414
2415         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2416         `Lisp_Char_Code_Table'.
2417         (char_id_table): Renamed from `char_code_table'.
2418         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2419         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2420         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2421         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2422         (get_char_id_table): Renamed from `get_char_code_table'.
2423
2424 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2425
2426         * lrecord.h (enum lrecord_type): Rename
2427         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2428
2429         * mule-charset.c (mark_byte_table): Renamed from
2430         `mark_char_byte_table'.
2431         (byte_table_equal): Renamed from `char_byte_table_equal'.
2432         (byte_table_hash): Renamed from `byte_table_hash'.
2433         (make_byte_table): Renamed from `make_byte_table'.
2434         (copy_byte_table): Renamed from `copy_char_byte_table'.
2435
2436         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2437         `Lisp_Char_Byte_Table'.
2438         (byte_table): Renamed from `char_byte_table'.
2439         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2440         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2441         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2442         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2443
2444 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2445
2446         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2447         (dfc_convert_to_internal_format): Likewise.
2448         
2449         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2450         * text-coding.c (Fcoding_system_alias_p): New function.
2451         * text-coding.c (Fcoding_system_aliasee): New function.
2452         * text-coding.c (append_suffix_to_symbol): New function.
2453         * text-coding.c (dangling_coding_system_alias_p): New function.
2454         * text-coding.c (Ffind_coding_system):
2455         * text-coding.c (Fcopy_coding_system):
2456         * text-coding.c (encode_coding_no_conversion):
2457         * text-coding.c (syms_of_file_coding):
2458         * text-coding.c (vars_of_file_coding):
2459         Rewrite coding system alias code.
2460         Allow nested aliases, like symbolic links.
2461         Allow redefinition of coding system aliases.
2462         Prevent existence of dangling coding system aliases.
2463         Eliminate convert_to_external_format.
2464         Eliminate convert_to_internal_format.
2465         
2466         * text-coding.c: Change enum eol_type to eol_type_t.
2467
2468 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2469
2470         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2471         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2472
2473         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2474         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2475
2476 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2477
2478         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2479         `ideograph-daikanwa'.
2480
2481         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2482         (Vcharset_ucs_bmp): Likewise.
2483         (Vcharset_mojikyo): Add new extern variable definition.
2484         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2485         (Vcharset_latin_iso8859_3): Likewise.
2486         (Vcharset_latin_iso8859_4): Likewise.
2487         (Vcharset_latin_iso8859_9): Likewise.
2488         (Vcharset_latin_viscii_lower): Likewise.
2489         (Vcharset_latin_viscii_upper): Likewise.
2490         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2491         `mojikyo' code-point is used to decode.
2492         (encode_char_2): New function [to convert `mojikyo' code-point to
2493         Mojikyo font encoding].
2494         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2495         (breakup_char_1): Likewise.
2496         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2497
2498 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2499
2500         * text-coding.c (Fmake_coding_system): Add document about
2501         `disable-composition' property.
2502
2503 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2504
2505         * text-coding.c (Qdisable_composition): New variable; delete
2506         `Qcomposite'.
2507         (Fmake_coding_system): Add new property `disable-composite';
2508         delete property `composite'.
2509         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2510         instead of `!CODING_SYSTEM_COMPOSITE'.
2511         (syms_of_file_coding): Add new symbol `disable-composition';
2512         delete symbol `composite'.
2513
2514         * file-coding.h (struct Lisp_Coding_System): Add
2515         `disable_composition'; delete `enable_composition'.
2516         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2517         `CODING_SYSTEM_COMPOSITE'.
2518         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2519         `XCODING_SYSTEM_COMPOSITE'.
2520
2521 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2522
2523         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2524         to 0.15.
2525
2526 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2527
2528         * text-coding.c (Qcomposite): New variable.
2529         (Fmake_coding_system): Add new property `composite'.
2530         (struct decoding_stream): Add `combined_char_count',
2531         `combined_chars' and `combining_table' in UTF-2000.
2532         (COMPOSE_FLUSH_CHARS): New macro.
2533         (COMPOSE_ADD_CHAR): New macro.
2534         (reset_decoding_stream): Reset `str->combined_char_count' and
2535         `str->combining_table' in UTF-2000.
2536         (decode_coding_iso2022): Modify for character-decomposition.
2537         (syms_of_file_coding): Add new symbol `composite'.
2538
2539 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2540
2541         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2542         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2543         of `Vcharacter_composition_table' if `->decomposition' property
2544         has only 1 element.
2545         (Qlatin_tcvn5712): New variable.
2546         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2547         (complex_vars_of_mule_charset): Add new coded-charset
2548         `latin-tcvn5712'.
2549
2550         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2551
2552 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2553
2554         * file-coding.h (struct Lisp_Coding_System): Add
2555         `enable_composition'.
2556         (CODING_SYSTEM_COMPOSITE): New macro.
2557         (XCODING_SYSTEM_COMPOSITE): New macro.
2558
2559 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2560
2561         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2562
2563 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2564
2565         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2566         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2567
2568 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2569
2570         * mule-charset.c (Vcharset_mojikyo): New variable.
2571         (Fdefine_char): Don't use coded-charset which does not have
2572         non-builtin character range to allocate character-id.
2573         (Qmojikyo): New variable.
2574         (syms_of_mule_charset): Add new symbol `mojikyo'.
2575         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2576
2577         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2578         (LEADING_BYTE_MOJIKYO): New macro.
2579         (MIN_CHAR_MOJIKYO): New macro.
2580         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2581         (MAX_CHAR_MOJIKYO): New macro.
2582
2583 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2584
2585         * mule-charset.c (remove_char_attribute): Fixed.
2586
2587 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2588
2589         * mule-charset.c (remove_char_attribute): New function.
2590         (Fremove_char_attribute): New function.
2591         (encode_builtin_char_1): Comment out builtin-support for
2592         greek-iso8859-7 and cyrillic-iso8859-5.
2593         (Fdecode_char): Check `code' is an integer.
2594         (syms_of_mule_charset): Add `remove-char-attribute'.
2595         (MIN_CHAR_GREEK): Deleted.
2596         (MAX_CHAR_GREEK): Likewise.
2597         (MIN_CHAR_CYRILLIC): Likewise.
2598         (MAX_CHAR_CYRILLIC): Likewise.
2599         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2600         MAX_CHAR_GREEK for `greek-iso8859-7'.
2601
2602         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2603         (MAX_CHAR_GREEK): Likewise.
2604         (MIN_CHAR_CYRILLIC): Likewise.
2605         (MAX_CHAR_CYRILLIC): Likewise.
2606
2607 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2608
2609         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2610         format is used without `ucs' property.
2611         (Fdecode_char): Fix problem with GR representation.
2612         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2613         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2614
2615 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2616
2617         * mule-charset.c (make_builtin_char): New function.
2618         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2619         (Fset_charset_mapping_table): Modify for new representation of
2620         code-point.
2621         (Fdecode_char): New function.
2622         (syms_of_mule_charset): Add new builtin function `decode-char' in
2623         UTF-2000.
2624
2625         * char-ucs.h (make_builtin_char): New prototype.
2626         (DECODE_CHAR): New inline function.
2627         (MAKE_CHAR): Use `DECODE_CHAR'.
2628
2629 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2630
2631         * text-coding.c (parse_charset_conversion_specs): Use
2632         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2633         `XCHARSET_TYPE'.
2634         (iso2022_designate): Likewise.
2635
2636         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2637         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2638
2639         * mule-charset.c (Vcharset_ucs): New variable.
2640         (print_charset): Change design; use `CHARSET_CHARS' and
2641         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2642         (make_charset): Change signature to specify `chars' and
2643         `dimension' instead of `type'.
2644         (range_charset_code_point): Modify for 256^n-set.
2645         (encode_builtin_char_1): Encode as `ucs' in default.
2646         (Fmake_charset): Modify for `make_charset'.
2647         (Fmake_reverse_direction_charset): Likewise.
2648         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2649         UTF-2000.
2650         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2651         for `make_charset'.
2652
2653         * char-ucs.h (Vcharset_ucs): New variable.
2654         (LEADING_BYTE_UCS): New macro.
2655         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2656         and `chars' to `unsigned short' from `unsigned int'.
2657         (CHARSET_TYPE): Deleted.
2658         (XCHARSET_TYPE): Deleted.
2659
2660 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2661
2662         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2663
2664         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2665         (ENCODE_CHAR): New macro.
2666
2667 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2668
2669         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2670         to 0.14 (Kawachi-Katakami).
2671
2672 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2673
2674         * text-coding.c (char_encode_shift_jis): Modify for
2675         `charset_code_point'.
2676         (char_encode_iso2022): Likewise.
2677
2678         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2679         (integer) instead of list of <Lisp_Object>s (integers) as the
2680         format of code-point of a coded-charset.
2681         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2682         (encode_builtin_char_1): New function; delete
2683         `split_builtin_char'.
2684         (charset_code_point): Return <int> instead of <Lisp_Object>.
2685         (Fsplit_char): Don't use `SPLIT_CHAR'.
2686
2687         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2688         prototype for `split_builtin_char'.
2689         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2690         (charset_code_point): Likewise.
2691         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2692         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2693
2694 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2695
2696         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2697         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2698
2699 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2700
2701         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2702
2703         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2704         (MAX_CHAR_OBS_94x94): Deleted.
2705
2706 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2707
2708         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2709
2710         * char-ucs.h (MAX_CHAR_BMP): New macro.
2711
2712 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2713
2714         * text-coding.c: Sync with r21-2-24.
2715
2716 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2717
2718         * file-coding.c: Modify for UTF-2000.
2719
2720 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2721
2722         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2723         to 0.13 (Takaida).
2724
2725 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2726
2727         * mule-charset.c (split_builtin_char): Delete builtin support for
2728         `katakana-jisx0201'.
2729         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2730         BMP area in builtin representation.
2731
2732         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2733         `Vcharset_katakana_jisx0201'.
2734
2735 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2736
2737         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2738         (Qisolated): New variable.
2739         (Qinitial): New variable.
2740         (Qmedial): New variable.
2741         (Qfinal): New variable.
2742         (Qvertical): New variable.
2743         (Qsmall): New variable.
2744         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2745         `Qvertical' and `Qsmall'.
2746         (Qmojikyo_pj_[1 .. 21]): New variable.
2747         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2748         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2749         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2750         .. 21]'.
2751
2752 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2753
2754         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2755         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2756         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2757
2758 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2759
2760         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2761         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2762         BMP.
2763         (Qjapanese_jisx0208_1990): New variable.
2764         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2765         (complex_vars_of_mule_charset): Add new coded-charset
2766         `japanese-jisx0208-1990'.
2767
2768         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2769         (MIN_CHAR_JIS_X0208_1990): New macro.
2770         (MAX_CHAR_JIS_X0208_1990): New macro.
2771
2772 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2773
2774         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2775         coded-charset is not found.
2776
2777 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2778
2779         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2780         (Fdefine_char): Use `Fmake_char'.
2781
2782 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2783
2784         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2785         (Vcharset_hiragana_jisx0208): Deleted.
2786         (Vcharset_katakana_jisx0208): Deleted.
2787         (Qideograph_daikanwa): New variable.
2788         (Qhiragana_jisx0208): Deleted.
2789         (Qkatakana_jisx0208): Deleted.
2790         (split_builtin_char): Split `ideograph-daikanwa'.
2791         (Fsplit_char): New implementation for UTF-2000.
2792         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2793         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2794         (complex_vars_of_mule_charset): Add new coded-charset
2795         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2796         `katakana-jisx0208'.
2797
2798         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2799         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2800         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2801         (MIN_CHAR_DAIKANWA): New macro.
2802         (MAX_CHAR_DAIKANWA): New macro.
2803
2804 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2805
2806         * data.c (Fstring_to_number): Don't recognize floating point if
2807         base is not 10.
2808
2809 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2810
2811         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2812
2813 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2814
2815         * mule-charset.c (Qsquare): New variable.
2816         (to_char_code): Add `Qsquare'.
2817         (syms_of_mule_charset): Add new symbol `square'.
2818
2819 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2820
2821         * mule-charset.c (Qcircle): New variable.
2822         (to_char_code): Add `Qcircle'.
2823         (syms_of_mule_charset): Add new symbol `circle'.
2824
2825 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2826
2827         * mule-charset.c (Qfont): New variable.
2828         (to_char_code): Add `Qfont'.
2829         (syms_of_mule_charset): Add new symbol `font'.
2830
2831 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2832
2833         * mule-charset.c (Qsub): New variable.
2834         (to_char_code): Add `Qsub'.
2835         (syms_of_mule_charset): Add new symbol `sub'.
2836
2837 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2838
2839         * mule-charset.c (Fput_char_attribute): Convert each element of
2840         VALUE to GL position if ATTRIBUTE is a GR-set,
2841
2842 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2843
2844         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2845         coded-charset is a GR-set.
2846
2847 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2848
2849         * mule-charset.c (Fput_char_attribute): Check each element of
2850         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2851
2852 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2853
2854         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2855         UTF-2000.
2856         (Qethiopic_ucs): New variable in UTF-2000.
2857         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2858         (complex_vars_of_mule_charset): Add new coded-charset
2859         `ethiopic-ucs' in UTF-2000.
2860
2861         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2862         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2863         9)'.
2864         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2865         10)'.
2866         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2867
2868 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2869
2870         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2871         `ascii'.
2872
2873 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2874
2875         * mule-charset.c (Vcharacter_variant_table): New variable.
2876         (Q_ucs): New variable.
2877         (Fchar_variants): New function.
2878         (Fput_char_attribute): Register `->ucs' value to
2879         `Vcharacter_variant_table'.
2880         (syms_of_mule_charset): Add new function `char-variants' and new
2881         symbol `->ucs'.
2882         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2883
2884 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2885
2886         * mule-charset.c (get_char_code_table): Allow negative character
2887         code.
2888         (put_char_code_table): Likewise.
2889         (Vcharacter_composition_table): New variable.
2890         (Q_decomposition): New variable.
2891         (Qwide): New variable.
2892         (Qnarrow): New variable.
2893         (Qcompat): New variable.
2894         (QnoBreak): New variable.
2895         (Qsuper): New variable.
2896         (Qfraction): New variable.
2897         (to_char_code): New function.
2898         (Fget_composite_char): New function.
2899         (Fput_char_attribute): Register `->decomposition' value to
2900         `Vcharacter_composition_table'.
2901         (syms_of_mule_charset): Add new function `get-composite-char', new
2902         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2903         `super' and `fraction'.
2904         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2905
2906 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2907
2908         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2909         character; copy the return value.
2910
2911 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2912
2913         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2914
2915         * mule-charset.c (range_charset_code_point): Must use make_int.
2916         (split_builtin_char): New function.
2917
2918 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2919
2920         * mule-charset.c (char_byte_table): Change name from
2921         "char-code-table" to "char-byte-table".
2922         (mark_char_code_table): New function.
2923         (char_code_table_equal): New function.
2924         (char_code_table_hash): New function.
2925         (char_code_table_description): New constant.
2926         (char_code_table): New type.
2927         (make_char_code_table): New function.
2928         (copy_char_code_table): New function.
2929         (get_char_code_table): Modify for `char_code_table' type.
2930         (put_char_code_table): Likewise.
2931         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2932         (Kashiwara).
2933
2934         * char-ucs.h (char_code_table): New type.
2935         (XCHAR_CODE_TABLE): New macro.
2936         (XSETCHAR_CODE_TABLE): New macro.
2937         (CHAR_CODE_TABLE_P): New macro.
2938         (GC_CHAR_CODE_TABLE_P): New macro.
2939         (struct Lisp_Char_Code_Table): New structure.
2940
2941 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2942
2943         * mule-charset.c (Fmake_charset): Setup byte_offset for
2944         {94|96}^n-set.
2945
2946 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2947
2948         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2949         character.
2950
2951 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2952
2953         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2954         is found.
2955
2956 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2957
2958         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2959         charset, it is regarded as a charset.
2960         (put_char_attribute): New function in UTF-2000.
2961         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2962         charset, mapping-table of the charset is modified.
2963         (Fdefine_char): New function in UTF-2000.
2964         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2965         `Fput_char_attribute'.
2966         (syms_of_mule_charset): Add new function `define-char' and new
2967         symbol `ucs' in UTF-2000.
2968         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2969
2970 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2971
2972         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2973         non-UTF-2000 configuration.
2974
2975 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2976
2977         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2978         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2979
2980         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2981         deleted.
2982         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2983         (Fset_charset_mapping_table): Likewise.
2984
2985         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2986         (CHARSET_ENCODING_TABLE): Delete.
2987         (XCHARSET_ENCODING_TABLE): Delete.
2988         (charset_code_point): New interface.
2989
2990 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2991
2992         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2993         instead of `charset_get_byte1' and `charset_get_byte2'.
2994
2995         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2996         (charset_get_byte2): Deleted.
2997
2998 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2999
3000         * char-ucs.h (SPLIT_CHAR): New inline function.
3001         (breakup_char_1): Use `SPLIT_CHAR'.
3002
3003         * mule-charset.c (range_charset_code_point): New function.
3004         (charset_code_point): New function.
3005
3006         * char-ucs.h (range_charset_code_point): New interface.
3007         (breakup_char_1): Use `range_charset_code_point'.
3008
3009 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3010
3011         * mule-charset.c (Fmake_charset): Delete unused local variable
3012         `code_offset'.
3013
3014         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3015         (breakup_char_1): Find a charset and code-point in
3016         `Vcharacter_attribute_table'.
3017
3018 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3019
3020         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3021         to 0.10 (Yao).
3022
3023 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3024
3025         * mule-charset.c (Vcharacter_attribute_table): New variable.
3026         (Fchar_attribute_alist): New function.
3027         (Fget_char_attribute): New function.
3028         (Fput_char_attribute): New function.
3029         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3030         too.
3031         (syms_of_mule_charset): Add new function `char-attribute-alist',
3032         `get-char-attribute' and `put-char-attribute'.
3033         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3034
3035 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3036
3037         * mule-charset.c (Fmake_charset): Just use
3038         `get_unallocated_leading_byte'.
3039
3040         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3041         sets; don't use final-byte based number for private sets.
3042
3043 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3044
3045         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3046         integer.
3047
3048 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3049
3050         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3051         to 0.9.
3052
3053 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3054
3055         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3056         of `CHAR_LEADING_BYTE' in UTF-2000.
3057
3058         * insdel.c (find_charsets_in_bufbyte_string): Use
3059         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3060         (find_charsets_in_emchar_string): Likewise.
3061
3062         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3063         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3064
3065         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3066         (CHAR_CHARSET_ID): New macro.
3067
3068 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3069
3070         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3071         charset-id - MIN_LEADING_BYTE.
3072         (put_char_table): Likewise.
3073
3074 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3075
3076         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3077         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3078         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3079         (CHARSET_ID_OFFSET): New macro.
3080         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3081         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3082         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3083         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3084         4).
3085         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3086         5).
3087         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3088         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3089         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3090         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3091         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3092
3093 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3094
3095         * mule-charset.c (next_allocated_leading_byte): New variable in
3096         UTF-2000.
3097         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3098         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3099         (get_unallocated_leading_byte): Simply use
3100         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3101         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3102         UTF-2000.
3103
3104         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3105         (MAX_LEADING_BYTE_PRIVATE): New macro.
3106         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3107         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3108
3109 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3110
3111         * mule-charset.c (Fmake_charset): Allocate final-byte based
3112         charset-id for 94-set, 96-set and 94x94-set.
3113
3114 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3115
3116         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3117         ambiguous `else'.
3118         (Fmake_charset): Likewise.
3119         (complex_vars_of_mule_charset): Modify the font registry of
3120         `ucs-bmp' not to match `Ethiopic-Unicode'.
3121
3122 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3123
3124         * mule-charset.c (complex_vars_of_mule_charset): Add font
3125         registory of `ucs-bmp'.
3126
3127 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3128
3129         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3130         coded-charsets in `default-coded-charset-priority-list' when
3131         breaking up a character.
3132
3133         * mule-charset.c (Vcharset_latin_viscii): New variable.
3134         (Qlatin_viscii): New variable.
3135         (make_charset): Don't use `decoding_table'.
3136         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3137         byte_offset.
3138         (Fset_charset_mapping_table): New implementation.
3139         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3140         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3141         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3142         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3143         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3144         charset `latin_viscii'.
3145
3146         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3147         (CHARSET_TYPE_94X94): Change to 1 from 2.
3148         (CHARSET_TYPE_96): Change to 2 from 1.
3149         (CHARSET_TYPE_128): New macro.
3150         (CHARSET_TYPE_128X128): Change to 5 from 4.
3151         (CHARSET_TYPE_256): New macro.
3152         (CHARSET_TYPE_256X256): Change to 7 from 5.
3153         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3154
3155 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3156
3157         * text-coding.c (char_encode_shift_jis): Refer
3158         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3159         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3160
3161         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3162         (char_byte_table_equal): New function in UTF-2000.
3163         (char_byte_table_hash): New function in UTF-2000.
3164         (char_byte_table_description): New constant in UTF-2000.
3165         (char_byte_table): New type in UTF-2000.
3166         (make_char_byte_table): New function in UTF-2000.
3167         (copy_char_byte_table): New function in UTF-2000.
3168         (make_char_code_table): New macro in UTF-2000.
3169         (get_char_code_table): New function in UTF-2000.
3170         (put_char_code_table): New function in UTF-2000.
3171         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3172         (charset_description): Add setting in UTF-2000.
3173         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3174         `CHARSET_TO_BYTE1_TABLE(cs)'.
3175         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3176         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3177         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3178         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3179         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3180         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3181         `CHARSET_TO_BYTE2_TABLE(cs)'.
3182
3183         * char-ucs.h (char_byte_table): New type.
3184         (XCHAR_BYTE_TABLE): New macro.
3185         (XSETCHAR_BYTE_TABLE): New macro.
3186         (CHAR_BYTE_TABLE_P): New macro.
3187         (GC_CHAR_BYTE_TABLE_P): New macro.
3188         (struct Lisp_Char_Byte_Table): New structure.
3189         (get_char_code_table): New interface.
3190         (Emchar_to_byte_table): Deleted.
3191         (get_byte_from_character_table): Deleted.
3192         (struct Lisp_Charset): Add `encoding_table'; delete
3193         `to_byte1_table' and `to_byte2_table'.
3194         (CHARSET_ENCODING_TABLE): New macro.
3195         (CHARSET_TO_BYTE1_TABLE): Deleted.
3196         (CHARSET_TO_BYTE2_TABLE): Deleted.
3197         (XCHARSET_ENCODING_TABLE): New macro.
3198         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3199         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3200
3201 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3202
3203         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3204         `vietnamese-viscii-*'.
3205
3206 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3207
3208         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3209         (Qvietnamese_viscii_upper): New variable.
3210         (Fdefine_charset_alias): New function.
3211         (syms_of_mule_charset): Add new function `define-charset-alias'.
3212         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3213         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3214         `latin-viscii-*'.
3215
3216 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3217
3218         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3219         (MAX_CHAR_OBS_94x94): New macro.
3220         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3221         for 94x94 sets.
3222
3223         * mule-charset.c (put_byte_from_character_table): Change unit size
3224         from 128 to 256.
3225         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3226         not defined.
3227         (Fmake_reverse_direction_charset): Modify dummy argument of
3228         `make_charset' for non-UTF-2000 environment.
3229
3230 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3231
3232         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3233
3234         * mule-charset.c (destroy_byte_from_character_table): New macro.
3235         (latin_jisx0201_to_ucs): Deleted.
3236         (latin_iso8859_2_to_ucs): Deleted.
3237         (latin_iso8859_3_to_ucs): Deleted.
3238         (latin_iso8859_4_to_ucs): Deleted.
3239         (latin_iso8859_9_to_ucs): Deleted.
3240         (latin_viscii_lower_to_ucs): Deleted.
3241         (latin_viscii_upper_to_ucs): Deleted.
3242         (mark_charset): Mark `cs->decoding_table'.
3243         (Fcharset_mapping_table): Fix DOC-string.
3244         (Fset_charset_mapping_table): New function.
3245         (syms_of_mule_charset): Add nwe function
3246         `set-charset-mapping-table'.
3247         (complex_vars_of_mule_charset): Don't setup and use
3248         `latin_*_to_ucs'.
3249
3250 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3251
3252         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3253         charset.
3254
3255 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3256
3257         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3258         (Vcharset_katakana_jisx0208): New variable.
3259         (Qhiragana_jisx0208): New variable.
3260         (Qkatakana_jisx0208): New variable.
3261         (make_charset): Add new argument `byte_offset'.
3262         (charset_get_byte1): Modify for new coded-charset definition; use
3263         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3264         `XCHARSET_BYTE_OFFSET'.
3265         (Fmake_charset): Modify for `make_charset'.
3266         (Fmake_reverse_direction_charset): Likewise.
3267         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3268         `katakana-jisx0208'.
3269         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3270         `.'  in font registry of charset `katakana-jisx0201',
3271         `latin-jisx0201', `vietnamese-viscii-lower' and
3272         `vietnamese-viscii-upper'; modify DOC-string of charset
3273         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3274         registry of charset `japanese-jisx0208' not to use font for JIS
3275         X0208:1990; add new charset `hiragana-jisx0208' and
3276         `katakana-jisx0208'.
3277
3278         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3279         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3280         (struct Lisp_Charset): Add `byte_offset'.
3281         (CHARSET_BYTE_OFFSET): New macro.
3282         (XCHARSET_UCS_MIN): New macro.
3283         (XCHARSET_UCS_MAX): New macro.
3284         (XCHARSET_CODE_OFFSET): New macro.
3285         (XCHARSET_BYTE_OFFSET): New macro.
3286         (MIN_CHAR_HIRAGANA): New macro.
3287         (MAX_CHAR_HIRAGANA): New macro.
3288         (MIN_CHAR_KATAKANA): New macro.
3289         (MAX_CHAR_KATAKANA): New macro.
3290         (MAKE_CHAR): Modify for new coded-charset definition; use
3291         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3292         `XCHARSET_BYTE_OFFSET'.
3293
3294 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3295
3296         * mule-charset.c (CHAR96): Deleted.
3297         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3298         <Lisp_Object>.
3299         (latin_iso8859_2_to_ucs): Likewise.
3300         (latin_iso8859_3_to_ucs): Likewise.
3301         (latin_iso8859_4_to_ucs): Likewise.
3302         (latin_iso8859_9_to_ucs): Likewise.
3303         (latin_viscii_lower_to_ucs): Likewise.
3304         (latin_viscii_upper_to_ucs): Likewise.
3305         (latin_tcvn5712_to_ucs): Commented out.
3306         (make_charset): Change type of argument `decoding_table' from
3307         <Emchar*> to <Lisp_Object> [vector of characters].
3308         (Fmake_charset): Modify for `make_charset'.
3309         (Fmake_reverse_direction_charset): Likewise.
3310         (Fcharset_mapping_table): New function in UTF-2000.
3311         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3312         UTF-2000.
3313         (complex_vars_of_mule_charset): Modify for type change of
3314         `*_to_ucs'; modify for `make_charset'.
3315
3316         * char-ucs.h (struct Lisp_Charset): Change type of
3317         `decoding_table' from <Emchar*> to <Lisp_Object>.
3318         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3319
3320 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3321
3322         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3323         error with non-UTF-2000-Mule.
3324
3325 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3326
3327         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3328         in lisp again].
3329         (Vcharset_chinese_cns11643_4): Likewise.
3330         (Vcharset_chinese_cns11643_5): Likewise.
3331         (Vcharset_chinese_cns11643_6): Likewise.
3332         (Vcharset_chinese_cns11643_7): Likewise.
3333         (Qchinese_cns11643_3): Likewise.
3334         (Qchinese_cns11643_4): Likewise.
3335         (Qchinese_cns11643_5): Likewise.
3336         (Qchinese_cns11643_6): Likewise.
3337         (Qchinese_cns11643_7): Likewise.
3338         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3339         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3340         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3341         (complex_vars_of_mule_charset): Likewise.
3342
3343 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3344
3345         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3346         96-set.
3347         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3348         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3349
3350 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3351
3352         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3353         0xFF60.
3354         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3355         (breakup_char_1): Likewise.
3356
3357         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3358         one of them includes the specified character.
3359
3360 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3361
3362         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3363
3364 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3365
3366         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3367
3368 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3369
3370         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3371         definition for non-UTF-2000 Mule.
3372         (latin_iso8859_3_to_ucs): Likewise.
3373         (latin_iso8859_4_to_ucs): Likewise.
3374         (latin_iso8859_9_to_ucs): Likewise.
3375         (latin_jisx0201_to_ucs): Likewise.
3376         (MIN_CHAR_THAI): Likewise.
3377         (MAX_CHAR_THAI): Likewise.
3378         (MIN_CHAR_GREEK): Likewise.
3379         (MAX_CHAR_GREEK): Likewise.
3380         (MIN_CHAR_HEBREW): Likewise.
3381         (MAX_CHAR_HEBREW): Likewise.
3382         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3383         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3384         (MIN_CHAR_CYRILLIC): Likewise.
3385         (MAX_CHAR_CYRILLIC): Likewise.
3386
3387 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3388
3389         * char-ucs.h (breakup_char_1): Use
3390         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3391         thai-tis620 and katakana-jisx0201 area.
3392
3393 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3394
3395         * char-ucs.h (breakup_char_1): Use
3396         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3397         area.
3398
3399         * text-coding.c (reset_encoding_stream): Fixed.
3400         (char_encode_ucs4): Delete `& 255'.
3401
3402         * char-ucs.h (breakup_char_1): Use
3403         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3404
3405 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3406
3407         * file-coding.c (Fmake_coding_system): Don't set up
3408         `codesys->fixed.size'.
3409         (encode_coding_no_conversion): Don't refer
3410         `str->codesys->fixed.size'.
3411
3412 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3413
3414         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3415         (latin_a_char_to_byte1): Deleted.
3416         (latin_a_char_to_byte2): Deleted.
3417
3418 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3419
3420         * mule-charset.c (make_charset): Add new argument `ucs_min',
3421         `ucs_max' and `code_offset'.
3422         (charset_get_byte1): New implementation [delete specific charset
3423         depended implementations].
3424         (Fmake_charset): Modify for `make_charset'.
3425         (Fmake_reverse_direction_charset): Likewise.
3426         (complex_vars_of_mule_charset): Likewise.
3427
3428         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3429         `code_offset'.
3430         (CHARSET_UCS_MIN): New macro.
3431         (CHARSET_UCS_MAX): New macro.
3432         (CHARSET_CODE_OFFSET): New macro.
3433         (MAKE_CHAR): Delete charset depended definitions [except
3434         katakana-jisx0201].
3435
3436 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3437
3438         * char-ucs.h (breakup_char_1): Use
3439         `Vdefault_coded_charset_priority_list' for C0-Controls,
3440         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3441
3442 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3443
3444         * char-ucs.h (charset_get_byte1): New function.
3445         (XCHARSET_GET_BYTE1): Deleted.
3446         (charset_get_byte2): New function.
3447         (XCHARSET_GET_BYTE2): Deleted.
3448         (Vdefault_coded_charset_priority_list): New external variable.
3449         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3450         `Vdefault_preferred_coded_charset_list'.
3451
3452         * mule-charset.c (charset_get_byte1): New function.
3453         (charset_get_byte2): New function.
3454         (Vdefault_coded_charset_priority_list): New variable.
3455         (vars_of_mule_charset): Add new variable
3456         `default-coded-charset-priority-list'.
3457
3458 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3459
3460         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3461         (XCHARSET_GET_BYTE2): New inline function.
3462         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3463         `XCHARSET_GET_BYTE2'.
3464
3465 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3466
3467         * mule-charset.c (make_charset): Initialize
3468         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3469         NULL if table is not defined.
3470
3471 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3472
3473         * text-coding.c (char_encode_shift_jis): Use
3474         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3475         `ucs_to_latin_jisx0201'.
3476
3477         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3478         (ucs_to_latin_iso8859_2): Deleted.
3479         (ucs_to_latin_iso8859_3): Deleted.
3480         (ucs_to_latin_iso8859_4): Deleted.
3481         (ucs_to_latin_iso8859_9): Deleted.
3482         (ucs_to_latin_viscii_lower): Deleted.
3483         (ucs_to_latin_viscii_upper): Deleted.
3484         (ucs_to_latin_tcvn5712): Deleted.
3485         (make_charset): Add new argument `decoding_table'; set up
3486         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3487         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3488         `decoding_table' is defined in UTF-2000.
3489         (Fmake_charset): Modify for `make_charset'.
3490         (Fmake_reverse_direction_charset): Likewise.
3491         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3492         and `GENERATE_96_SET'.
3493
3494         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3495         (ucs_to_latin_jisx0201): Deleted.
3496         (latin_iso8859_2_to_ucs): Deleted.
3497         (ucs_to_latin_iso8859_2): Deleted.
3498         (latin_iso8859_3_to_ucs): Deleted.
3499         (ucs_to_latin_iso8859_3): Deleted.
3500         (latin_iso8859_4_to_ucs): Deleted.
3501         (ucs_to_latin_iso8859_4): Deleted.
3502         (latin_iso8859_9_to_ucs): Deleted.
3503         (ucs_to_latin_iso8859_9): Deleted.
3504         (latin_viscii_lower_to_ucs): Deleted.
3505         (ucs_to_latin_viscii_lower): Deleted.
3506         (latin_viscii_upper_to_ucs): Deleted.
3507         (ucs_to_latin_viscii_upper): Deleted.
3508         (struct Lisp_Charset): Renamed `encoding_table' to
3509         `to_byte1_table'; add `to_byte2_table'.
3510         (CHARSET_DECODING_TABLE): New macro.
3511         (CHARSET_TO_BYTE1_TABLE): New macro.
3512         (CHARSET_TO_BYTE2_TABLE): New macro.
3513         (XCHARSET_DECODING_TABLE): New macro.
3514         (XCHARSET_TO_BYTE1_TABLE): New macro.
3515         (XCHARSET_TO_BYTE2_TABLE): New macro.
3516         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3517         tables.
3518         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3519         don't use `ucs_to_*' tables.
3520
3521 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3522
3523         * text-coding.c (Fmake_coding_system): Don't set up
3524         `codesys->fixed.size'.
3525         (encode_coding_no_conversion): Use `if' instead of `switch'.
3526
3527         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3528
3529 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3530
3531         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3532         (Fmake_charset): Modify for `make_charset'.
3533         (Fmake_reverse_direction_charset): Likewise.
3534         (complex_vars_of_mule_charset): Likewise.
3535
3536 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3537
3538         * text-coding.c (char_encode_shift_jis): Use table
3539         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3540
3541 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3542
3543         * text-coding.c (text_encode_generic): Use `if' instead of
3544         `switch'.
3545         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3546         decode JIS-Latin.
3547
3548 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3549
3550         * text-coding.c (encode_coding_sjis): Deleted.
3551         (char_encode_shift_jis): New function.
3552         (char_finish_shift_jis): New function.
3553         (reset_encoding_stream): Set up `encode_char' and `finish' for
3554         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3555         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3556         (char_encode_utf8): Treat `eol_type'.
3557
3558 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3559
3560         * file-coding.c (decode_coding_iso2022): Use
3561         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3562
3563 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3564
3565         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3566         to 0.7 (Hirano).
3567
3568 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3569
3570         * char-lb.h (CHAR_COLUMNS): New macro.
3571
3572 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3573
3574         * text-coding.c (char_encode_ucs4): New function.
3575         (char_finish_ucs4): New function.
3576         (encode_coding_ucs4): Deleted.
3577         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3578         (text_encode_generic): Delete local variable `charset' and `half'.
3579         (ucs_to_mule_table): Deleted.
3580         (mule_to_ucs_table): Deleted.
3581         (Fset_ucs_char): Deleted.
3582         (ucs_to_char): Deleted.
3583         (Fucs_char): Deleted.
3584         (Fset_char_ucs): Deleted.
3585         (Fchar_ucs): Deleted.
3586         (decode_ucs4): Deleted.
3587         (mule_char_to_ucs4): Deleted.
3588         (encode_ucs4): Deleted.
3589         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3590         (decode_coding_utf8): Likewise.
3591         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3592         (char_encode_iso2022): Fixed.
3593         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3594         `Fset_char_ucs' and `Fchar_ucs'.
3595         (complex_vars_of_file_coding): Don't initialize
3596         `ucs_to_mule_table'.
3597
3598         * objects-tty.c (tty_initialize_font_instance): Don't use
3599         `XCHARSET_COLUMNS'.
3600
3601         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3602         UTF-2000.
3603
3604         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3605         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3606
3607         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3608         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3609         (emchar_string_displayed_columns): Likewise.
3610
3611         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3612         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3613         (string_column_at_point): Likewise.
3614         (Fmove_to_column): Likewise.
3615
3616         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3617         `encoding_table' and `decoding_table'.
3618         (CHARSET_REP_BYTES): Deleted.
3619         (XCHARSET_REP_BYTES): Deleted.
3620         (XCHARSET_COLUMNS): Deleted.
3621         (CHAR_COLUMNS): New macro.
3622         (lookup_composite_char): Deleted unconditionally.
3623         (composite_char_string): Likewise.
3624
3625 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3626
3627         * char-ucs.h (Emchar_to_byte_table): New type.
3628         (get_byte_from_character_table): New function interface.
3629         (Vcharset_latin_jisx0201): New variable.
3630         (latin_jisx0201_to_ucs): New variable.
3631         (ucs_to_latin_jisx0201): New variable.
3632         (Vcharset_latin_iso8859_2): New variable.
3633         (latin_iso8859_2_to_ucs): New variable.
3634         (ucs_to_latin_iso8859_2): New variable.
3635         (Vcharset_latin_iso8859_3): New variable.
3636         (latin_iso8859_3_to_ucs): New variable.
3637         (ucs_to_latin_iso8859_3): New variable.
3638         (Vcharset_latin_iso8859_4): New variable.
3639         (latin_iso8859_4_to_ucs): New variable.
3640         (ucs_to_latin_iso8859_4): New variable.
3641         (Vcharset_latin_iso8859_9): New variable.
3642         (latin_iso8859_9_to_ucs): New variable.
3643         (ucs_to_latin_iso8859_9): New variable.
3644         (Vcharset_latin_viscii_lower): New variable.
3645         (latin_viscii_lower_to_ucs): New variable.
3646         (ucs_to_latin_viscii_lower): New variable.
3647         (Vcharset_latin_viscii_upper): New variable.
3648         (latin_viscii_upper_to_ucs): New variable.
3649         (ucs_to_latin_viscii_upper): New variable.
3650         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3651         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3652         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3653         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3654         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3655         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3656         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3657         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3658         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3659         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3660
3661         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3662         (Vcharset_latin_viscii_upper): New variable.
3663         (make_byte_from_character_table): New function.
3664         (put_byte_from_character_table): New function.
3665         (get_byte_from_character_table): New function.
3666         (CHAR96): New macro.
3667         (ucs_to_latin_jisx0201): New variable.
3668         (latin_jisx0201_to_ucs): New variable.
3669         (ucs_to_latin_iso8859_2): New variable.
3670         (latin_iso8859_2_to_ucs): New variable.
3671         (ucs_to_latin_iso8859_3): New variable.
3672         (latin_iso8859_3_to_ucs): New variable.
3673         (ucs_to_latin_iso8859_4): New variable.
3674         (latin_iso8859_4_to_ucs): New variable.
3675         (ucs_to_latin_iso8859_9): New variable.
3676         (latin_iso8859_9_to_ucs): New variable.
3677         (ucs_to_latin_viscii_lower): New variable.
3678         (latin_viscii_lower_to_ucs): New variable.
3679         (ucs_to_latin_viscii_upper): New variable.
3680         (latin_viscii_upper_to_ucs): New variable.
3681         (ucs_to_latin_tcvn5712): New variable.
3682         (latin_tcvn5712_to_ucs): New variable.
3683         (Qlatin_viscii_lower): New variable.
3684         (Qlatin_viscii_upper): New variable.
3685         (syms_of_mule_charset): Set up new symbol
3686         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3687         (complex_vars_of_mule_charset): Set up new charset
3688         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3689         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3690         `ucs_to_<CHARSET>' tables.
3691
3692 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3693
3694         * text-coding.c: New file.
3695
3696 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3697
3698         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3699
3700         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3701         (MAKE_CHAR): Modify for `ucs-bmp'.
3702         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3703         non-MULE characters of BMP.
3704
3705 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3706
3707         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3708         to 0.6.
3709
3710 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3711
3712         * lstream.h:
3713         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3714         - Include character.h for `CHAR_ASCII_P'.
3715
3716         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3717
3718         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3719         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3720
3721         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3722         (BYTE_C0_P): Likewise.
3723         (BYTE_C1_P): Likewise.
3724         (Lstream_get_emchar_1): Likewise.
3725         (Lstream_fput_emchar): Likewise.
3726         (Lstream_funget_emchar): Likewise.
3727         (copy_internal_to_external): Likewise.
3728         (copy_external_to_internal): Likewise.
3729
3730         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3731         (BYTE_C0_P): Likewise.
3732         (BYTE_C1_P): Likewise.
3733         (Lstream_get_emchar_1): Likewise.
3734         (Lstream_fput_emchar): Likewise.
3735         (Lstream_funget_emchar): Likewise.
3736         (copy_internal_to_external): Likewise.
3737         (copy_external_to_internal): Likewise.
3738
3739         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3740         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3741
3742         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3743         (BYTE_ASCII_P): Moved to mb-1byte.h.
3744
3745 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3746
3747         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3748
3749         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3750         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3751         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3752         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3753         (VALIDATE_CHARPTR_FORWARD): Likewise.
3754         (simple_charptr_emchar): Moved to mb-multibyte.h.
3755         (simple_set_charptr_emchar): Likewise.
3756         (simple_charptr_copy_char): Likewise.
3757         (non_ascii_charptr_emchar): Likewise.
3758         (non_ascii_set_charptr_emchar): Likewise.
3759         (non_ascii_charptr_copy_char): Likewise.
3760         (charptr_emchar): Moved to mb-*byte.h.
3761         (set_charptr_emchar): Likewise.
3762         (charptr_copy_char): Likewise.
3763
3764         * mb-1byte.h, mb-multibyte.h: New files.
3765
3766 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3767
3768         * mb-utf-8.h (MULTIBYTE): New macro.
3769         (MAX_EMCHAR_LEN): Moved from buffer.h.
3770         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3771
3772         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3773
3774         * mb-lb.h, multibyte.h: New files.
3775
3776         * char-1byte.h (Charset_ID): Moved from buffer.h.
3777         (MIN_LEADING_BYTE): Likewise.
3778         (LEADING_BYTE_ASCII): Likewise.
3779         (NUM_LEADING_BYTES): Likewise.
3780         (CHARSETP): Likewise.
3781         (CHARSET_BY_LEADING_BYTE): Likewise.
3782         (XCHARSET_LEADING_BYTE): Likewise.
3783         (XCHARSET_GRAPHIC): Likewise.
3784         (XCHARSET_COLUMNS): Likewise.
3785         (XCHARSET_DIMENSION): Likewise.
3786         (CHAR_CHARSET): Likewise.
3787         (CHAR_LEADING_BYTE): Likewise.
3788         (BREAKUP_CHAR): Likewise.
3789         (Vcharset_ascii): Likewise.
3790
3791         * buffer.h: Include multibyte.h unconditionally.
3792         (VALID_CHARPTR_P): Moved to multibyte.h.
3793         (ASSERT_VALID_CHARPTR): Likewise.
3794         (REAL_INC_CHARPTR): Likewise.
3795         (REAL_INC_CHARBYTIND): Likewise.
3796         (REAL_DEC_CHARPTR): Likewise.
3797         (INC_CHARPTR): Likewise.
3798         (INC_CHARBYTIND): Likewise.
3799         (DEC_CHARPTR): Likewise.
3800         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3801         (VALIDATE_CHARPTR_FORWARD): Likewise.
3802         (charptr_n_addr): Likewise.
3803         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3804         (simple_charptr_emchar): Moved to multibyte.h.
3805         (simple_set_charptr_emchar): Likewise.
3806         (simple_charptr_copy_char): Likewise.
3807         (non_ascii_charptr_emchar): Likewise.
3808         (non_ascii_set_charptr_emchar): Likewise.
3809         (non_ascii_charptr_copy_char): Likewise.
3810         (charptr_emchar): Likewise.
3811         (set_charptr_emchar): Likewise.
3812         (charptr_copy_char): Likewise.
3813         (charptr_emchar_n): Likewise.
3814         (Charset_ID): Moved to char-1byte.h.
3815         (Vcharset_ascii): Likewise.
3816         (CHAR_CHARSET): Likewise.
3817         (CHAR_LEADING_BYTE): Likewise.
3818         (LEADING_BYTE_ASCII): Likewise.
3819         (NUM_LEADING_BYTES): Likewise.
3820         (MIN_LEADING_BYTE): Likewise.
3821         (CHARSETP): Likewise.
3822         (CHARSET_BY_LEADING_BYTE): Likewise.
3823         (XCHARSET_LEADING_BYTE): Likewise.
3824         (XCHARSET_GRAPHIC): Likewise.
3825         (XCHARSET_COLUMNS): Likewise.
3826         (XCHARSET_DIMENSION): Likewise.
3827         (BREAKUP_CHAR): Likewise.
3828
3829 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3830
3831         * character.h: Add document about interface for characters.
3832
3833         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3834         (MAKE_CHAR): Delete comment about
3835         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3836         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3837         (BREAKUP_CHAR): Modify name of arguments.
3838         (CHAR_CHARSET): Modify name of argument.
3839
3840         * buffer.h: Delete document about Emchar accessors.
3841
3842 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3843
3844         * character.h (CHAR_INTP): Moved from buffer.h
3845         (CHAR_OR_CHAR_INTP): Likewise.
3846         (XCHAR_OR_CHAR_INT): Likewise.
3847         (CHECK_CHAR_COERCE_INT): Likewise.
3848
3849         * buffer.h (CHAR_INTP): Moved to character.h
3850         (CHAR_OR_CHAR_INTP): Likewise.
3851         (XCHAR_OR_CHAR_INT): Likewise.
3852         (CHECK_CHAR_COERCE_INT): Likewise.
3853
3854 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3855
3856         * character.h:
3857         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3858         - Include char-1byte.h, char-lb.h or char-ucs.h.
3859
3860         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3861
3862         * buffer.h: Include character unconditionally.
3863         (valid_char_p): Moved to char-*.h.
3864         (non_ascii_valid_char_p): Moved to char-lb.h.
3865
3866         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3867
3868 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3869
3870         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3871         in UTF-2000 because it is not ported yet and not to use
3872         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3873         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3874         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3875
3876         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3877         (CHAR_ASCII_P): Moved from character.h.
3878
3879         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3880         (CHAR_ASCII_P): Likewise.
3881         (CHAR_FIELD1_MASK): Deleted.
3882         (CHAR_FIELD2_MASK): Deleted.
3883         (CHAR_FIELD3_MASK): Deleted.
3884         (MAX_CHAR_BASIC_LATIN): New macro.
3885         (CHAR_FIELD1): Deleted.
3886         (CHAR_FIELD2_INTERNAL): Deleted.
3887         (CHAR_FIELD3_INTERNAL): Deleted.
3888         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3889         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3890         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3891         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3892         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3893         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3894         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3895         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3896         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3897         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3898         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3899         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3900         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3901         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3902         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3903         (MIN_CHAR_COMPOSITION): Deleted.
3904         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3905         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3906
3907 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3908
3909         * buffer.h: Include mb-utf-8.h in UTF-2000.
3910
3911         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3912
3913         * mb-utf-8.h: New file.
3914
3915 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3916
3917         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3918         instead of `int'.
3919
3920         * mule-charset.h, buffer.h (Charset_ID): New type.
3921
3922 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3923
3924         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3925         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3926         instead of `MULE_CHAR_PRIVATE_OFFSET',
3927         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3928         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3929         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3930
3931         * character.h (Vcharset_japanese_jisx0212): New variable
3932         definition.
3933
3934 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3935
3936         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3937         (charset_by_attributes): Delete array about direction.
3938         (latin_a_char_to_charset): New variable in UTF-2000.
3939         (latin_a_char_to_byte1): New variable in UTF-2000.
3940         (latin_a_char_to_byte2): New variable in UTF-2000.
3941         (Qucs_bmp): New variable.
3942         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3943         `Bufbyte'.
3944         (next_allocated_2_byte_leading_byte): Likewise.
3945         (non_ascii_set_charptr_emchar): Likewise.
3946         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3947         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3948         `charset_by_attributes'.
3949         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3950         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3951         and `CHARSET_BY_LEADING_BYTE'.
3952         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3953         `utf-2000-version' to `vars_of_mule_charset'.
3954         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3955         define `leading-code-private-11' in UTF-2000; move setting of
3956         `utf-2000-version' from `syms_of_mule_charset'.
3957         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3958         UTF-2000.
3959
3960         * character.h (Charset_ID): New type.
3961         (LEADING_BYTE_UCS_BMP): New macro.
3962         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3963         (CHARSET_ID_OFFSET_94): New macro.
3964         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3965         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3966         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3967         final-byte.
3968         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3969         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3970         (CHARSET_ID_OFFSET_96): New macro.
3971         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3972         CHARSET_ID_OFFSET_96 and final-byte.
3973         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3974         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3975         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3976         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3977         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3978         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3979         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3980         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3981         (LEADING_BYTE_THAI_TIS620): Likewise.
3982         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3983         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3984         (CHARSET_ID_OFFSET_94x94): New macro.
3985         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3986         CHARSET_ID_OFFSET_94x94 and final-byte.
3987         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3988         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3989         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3990         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3991         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3992         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3993         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3994         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3995         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3996         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3997         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3998         (CHARSET_TYPE_128X128): New macro.
3999         (CHARSET_TYPE_256X256): New macro.
4000         (XCHARSET_PRIVATE_P): Delete unconditionally.
4001         (charset_by_attributes): Delete array about direction.
4002         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4003         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4004         (MIN_CHAR_94): New macro.
4005         (MAX_CHAR_94): New macro.
4006         (MIN_CHAR_96): New macro.
4007         (MAX_CHAR_96): New macro.
4008         (MIN_CHAR_94x94): New macro.
4009         (MAX_CHAR_94x94): New macro.
4010         (MIN_CHAR_96x96): New macro.
4011         (MAX_CHAR_96x96): New macro.
4012         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4013         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4014         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4015         - 32)'.
4016         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4017         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4018         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4019         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4020         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4021         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4022         `XCHARSET_LEADING_BYTE' to make code-point.
4023         (latin_a_char_to_charset): New variable.
4024         (latin_a_char_to_byte1): New variable.
4025         (latin_a_char_to_byte2): New variable.
4026         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4027         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4028         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4029
4030         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4031         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4032         (find_charsets_in_emchar_string): Likewise.
4033         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4034
4035         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4036         `int'.
4037         (decode_coding_iso2022): Likewise.
4038
4039         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4040         of `unsigned char'.
4041
4042         * redisplay.c (redisplay_text_width_emchar_string): Use
4043         `Charset_ID' instead of `unsigned char'.
4044         (redisplay_frame_text_width_string): Likewise.
4045
4046         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4047         `unsigned char'.
4048
4049         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4050         instead of `unsigned char'.
4051         (face_cachel_charset_font_metric_info): Likewise.
4052
4053         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4054         (get_non_ascii_char_table_value): Likewise.
4055         (get_char_table): Likewise.
4056         (put_char_table): Likewise.
4057         (map_over_other_charset): Likewise.
4058         (map_char_table): Likewise.
4059
4060         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4061         instead of `unsigned char'.
4062
4063 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4064
4065         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4066         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4067
4068         * mule-charset.c (leading_code_private_11): Don't define in
4069         UTF-2000.
4070
4071         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4072         in UTF-2000 because it is not ported yet and not to use
4073         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4074
4075 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4076
4077         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4078
4079 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4080
4081         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4082         in UTF-2000.
4083
4084         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4085         of unsigned char to store leading-byte.
4086
4087         * chartab.c (get_non_ascii_char_table_value): Don't use
4088         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4089
4090         * file-coding.c (encode_coding_big5): Delete bogus implementation
4091         in UTF2000.
4092
4093         * character.h (LEADING_BYTE_*): Delete definition for
4094         non-UTF-2000.
4095         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4096         (LEADING_BYTE_PREFIX_P): Deleted.
4097         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4098         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4099         (BUFBYTE_LEADING_BYTE_P): Deleted.
4100         (CHARSET_PRIVATE_P): Deleted unconditionally.
4101         (rep_bytes_by_first_byte): Deleted unconditionally.
4102         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4103         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4104         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4105         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4106         (CHAR_FIELD2): Deleted.
4107         (CHAR_FIELD3): Deleted.
4108         (MAKE_CHAR): Delete definition for non-UTF-2000.
4109         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4110         (breakup_char_1): New implementation.
4111         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4112         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4113
4114 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4115
4116         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4117         condition.
4118
4119 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4120
4121         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4122         (CHARSET_PRIVATE_P): Likewise.
4123         (XCHARSET_PRIVATE_P): Likewise.
4124         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4125
4126         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4127         UTF2000.
4128         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4129
4130 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4131
4132         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4133         (NUM_LEADING_BYTES): Changed from 128 to 256.
4134         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4135         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4136         UTF2000.
4137         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4138
4139         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4140         UTF2000.
4141         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4142         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4143         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4144         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4145         (Qchinese_cns11643_3): New variable in UTF2000.
4146         (Qchinese_cns11643_4): New variable in UTF2000.
4147         (Qchinese_cns11643_5): New variable in UTF2000.
4148         (Qchinese_cns11643_6): New variable in UTF2000.
4149         (Qchinese_cns11643_7): New variable in UTF2000.
4150         (syms_of_mule_charset): Define `chinese-cns11643-3',
4151         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4152         and `chinese-cns11643-7' in UTF2000.
4153         (vars_of_mule_charset): Initialize
4154         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4155         + 1 in UTF2000.
4156         (complex_vars_of_mule_charset): Setup charset
4157         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4158         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4159
4160 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4161
4162         * mule-charset.c: Move setting for `leading-code-private-11' from
4163         `syms_of_mule_charset' to `vars_of_mule_charset'.
4164
4165 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4166
4167         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4168         and `NUM_LEADING_BYTES' in assert.
4169
4170 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4171
4172         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4173         instead of 128.
4174         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4175         `NUM_LEADING_BYTES' instead of 128.
4176
4177 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4178
4179         * mule-charset.h (charset_by_leading_byte): Use
4180         `NUM_LEADING_BYTES' instead of 128.
4181         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4182
4183         * mule-charset.c (charset_by_leading_byte): Use
4184         `NUM_LEADING_BYTES' instead of 128.
4185         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4186
4187         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4188         128.
4189
4190 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4191
4192         * mule-charset.c (syms_of_mule_charset): Update to
4193         0.4 (Shin-Imamiya).
4194
4195 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4196
4197         * file-coding.c (encode_coding_sjis): New implementation for
4198         UTF2000.  (decode_coding_sjis): Ditto.
4199
4200 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4201
4202         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4203         Don't define in UTF2000.
4204
4205         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4206         defined.
4207
4208         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4209         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4210         MULE.
4211
4212 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4213
4214         * config.h.in (CHAR_IS_UCS4): New macro.
4215
4216         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4217         conventional MULE representation.
4218         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4219
4220         * mule-charset.h: Reverted to original.
4221
4222         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4223         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4224         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4225
4226         * character.h: New file.
4227
4228         * file-coding.c (Fmake_coding_system): Set 1 to
4229         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4230         defined.
4231         (encode_coding_no_conversion): New implementation for UTF2000.
4232
4233         * file-coding.h (struct Lisp_Coding_System): Add new member
4234         `fixed.size'.
4235
4236 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4237
4238         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4239         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4240         (encode_coding_iso2022): New implementation for UTF2000.
4241
4242 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4243
4244         * mule-canna.c (c2mu): New implementation for UTF2000.
4245         (m2c): Likewise.
4246
4247 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4248
4249         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4250
4251 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4252
4253         * file-coding.c (reset_encoding_stream): Set 0 to
4254         `str->iso2022.current_char_boundary' in UTF2000.
4255         (encode_utf8): Don't define in UTF2000.
4256         (encode_coding_utf8): New implementation for UTF-8 representation
4257         of UTF2000.
4258         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4259
4260 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4261
4262         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4263
4264         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4265         UTF2000.
4266         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4267
4268         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4269
4270         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4271         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4272         as UTF-8 in UTF2000.
4273         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4274         (non_ascii_valid_char_p): Don't define in UTF2000.
4275         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4276         (Lstream_get_emchar_1): Likewise.
4277         (utf-2000-version): New variable in UTF2000.
4278
4279         * lread.c (read_escape): Add new reader `u'.
4280
4281         * insdel.c (three_to_one_table): Don't define in UTF2000.
4282         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4283         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4284         UTF2000.
4285         (bytind_to_bufpos_func): Likewise.
4286         (buffer_mule_signal_inserted_region): Likewise.
4287         (vars_of_insdel): Don't initialize `three_to_one_table'.
4288         (init_buffer_text): Use `buf->text->mule_size' instead of
4289         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4290         UTF2000.
4291
4292         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4293         UTF-8 representation in UTF2000.
4294         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4295         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4296         (decode_coding_iso2022): Don't define local variable `lb' in
4297         UTF2000; don't use LEADING_BYTE in UTF2000; use
4298         `DECODE_ADD_UCS_CHAR' in UTF2000.
4299         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4300
4301         * config.h.in (UTF2000): New macro.
4302
4303         * buffer.h (struct buffer_text): Add new member `mule_size' and
4304         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4305         (valid_char_p): Return always 1 in UTF2000.
4306         (MAX_EMCHAR_LEN): 6 in UTF2000.
4307         (three_to_one_table): Don't define in UTF2000.
4308         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4309         UTF2000.
4310         (real_bytind_to_bufpos): Likewise.
4311
4312         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4313
4314 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4315
4316         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4317         representation change.
4318         (Vutf_2000_version): New variable.
4319         (leading_code_private_11): New variable.
4320         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4321         `leading-code-private-11'.
4322
4323         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4324         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4325         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4326         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4327         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4328         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4329         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4330         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4331         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4332         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4333         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4334         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4335         (MIN_CHAR_GREEK): New macro.
4336         (MAX_CHAR_GREEK): New macro.
4337         (MIN_CHAR_CYRILLIC): New macro.
4338         (MAX_CHAR_CYRILLIC): New macro.
4339         (MIN_CHAR_HEBREW): New macro.
4340         (MAX_CHAR_HEBREW): New macro.
4341         (MIN_CHAR_THAI): New macro.
4342         (MAX_CHAR_THAI): New macro.
4343         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4344         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4345         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4346         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4347         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4348         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4349         (CHAR_FIELD2): New inline function.
4350         (CHAR_FIELD3): New inline function.
4351         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4352         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4353         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4354         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4355         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4356         (MIN_CHAR_COMPOSITION): Likewise.
4357         (CHAR_LEADING_BYTE): Modified for character representation change.
4358         (MAKE_CHAR): Likewise.
4359
4360         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4361         (Vcharset_greek_iso8859_7): Likewise.
4362         (Vcharset_cyrillic_iso8859_5): Likewise.
4363         (Vcharset_hebrew_iso8859_8): Likewise.
4364         (Vcharset_thai_tis620): Likewise.
4365         (Vcharset_katakana_jisx0201): Likewise.
4366
4367 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
4368
4369         * XEmacs 21.4.7 "Economic Science" is released.
4370
4371 2002-04-17  Nix  <nix@esperi.demon.co.uk>
4372
4373         * process.h (PROCESS_LIVE_P): Use the process status as
4374         evidence of health, not the state of the input stream.
4375
4376 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
4377
4378         * sysdep.c (sys_siglist): change "signum" to "signal"
4379
4380 2001-04-21  Martin Buchholz  <martin@xemacs.org>
4381
4382         * s/darwin.h: New file.
4383         Thanks to Greg Parker <gparker@cs.stanford.edu>.
4384         
4385 2002-04-23  Andreas Jaeger  <aj@suse.de>
4386
4387         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
4388         which use lib64 for 64-bit libs.
4389         (START_FILES): Likewise.
4390
4391 2002-02-11  Mike Sperber  <mike@xemacs.org>
4392
4393         * device-x.c: 
4394         (x_IO_error_handler):
4395         (x_init_device): Temporarily keep device in static variable
4396         `device_being_initialized' so we can recover gracefully from
4397         internal XOpenDevice failure.  (XOpenDevice is documented to
4398         return NULL on failure, but sometimes calls the IO error handler
4399         instead.)
4400
4401 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
4402
4403         * dired.c (Ffile_name_all_completions): Change documentation --
4404         remove reference to completion-ignored-extensions.
4405         * dired.c (vars_of_dired): Change documentation for
4406         completion-ignored-extensions -- remove reference to
4407         file-name-all-completions.
4408
4409 2002-03-06  Jerry James  <james@xemacs.org>
4410
4411         * emodules.c (emodules_load): Fix multiple loading of same module.
4412
4413 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
4414         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
4415         RTLD_LAZY to avoid incorrect symbol binding when using nested
4416         shared libraries on Solaris.
4417
4418 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
4419
4420         * fileio.c (Ffind_file_name_handler): Improve docstring.
4421
4422 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
4423
4424         * fns.c (Fmapconcat): Improve docstring.
4425
4426 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
4427
4428         * device-gtk.c: Add prototype for
4429         emacs_gtk_selection_clear_event_handle.
4430         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
4431         selection.  Setup signal handler for "selection_clear_event"
4432         (emacs_gtk_selection_clear_event_handle).
4433
4434         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
4435         other applications owning the clipboard (based on
4436         x_handle_selection_clear).
4437
4438 2001-12-23  William M. Perry  <wmperry@gnu.org>
4439
4440         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
4441         
4442 2002-01-04  Martin Buchholz  <martin@xemacs.org>
4443
4444         * keymap.c (define_key_alternate_name): Parenthesize EQ.
4445
4446 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
4447
4448         * XEmacs 21.4.6 "Common Lisp" is released.
4449
4450 2001-12-16  Torsten Duwe  <duwe@caldera.de>
4451
4452         * search.c (Freplace_match): Add missing sub-expression functionality.
4453
4454         * buffer.c (decode_buffer): Add a check for pointer type to
4455         decode_buffer, before gcc's CSE optimization reorders a
4456         dereference in front of the allow_string test.
4457
4458 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
4459
4460         * window.c (window_loop): Fix bug that sometimes prevented
4461         window_loop() from iterating across multiple devices.  Also, at
4462         Ben's request, changed infloop-detecting code to abort() instead
4463         of silently terminating window_loop().
4464
4465 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
4466
4467         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
4468         * editfns.c (make_time): New function.
4469         (Fencode_time): Use it instead of wasteful_word_to_lisp.
4470         * lisp.h (make_time): Prototype and comment it.
4471         * dired.c (wasteful_word_to_lisp): Deprecate.
4472         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
4473
4474 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
4475
4476         * fileio.c (auto_save_1): Use current coding system, not
4477         escape-quoted.
4478
4479 2001-11-13  Ben Wing  <ben@xemacs.org>
4480
4481         * window.c:
4482         * window.c (window_truncation_on):
4483         * window.c (syms_of_window):
4484         truncate-partial-width-windows should respect the buffer being
4485         displayed, like other redisplay vars.
4486
4487 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
4488
4489         * event-stream.c (Fread_key_sequence): save current buffer.
4490
4491 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
4492
4493         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
4494
4495 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
4496
4497         * alloc.c (lcrecord_stats): Add space for types defined in modules.
4498
4499 2001-10-26  Mike Alexander  <mta@arbortext.com>
4500
4501         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
4502
4503 2001-10-25  Andy Piper  <andy@xemacs.org>
4504
4505         * ChangeLog:
4506         * dialog-msw.c (handle_directory_proc): new function.
4507          (handle_directory_dialog_box): new fucntion.
4508          (handle_file_dialog_box): use new directory dialog support.
4509          (mswindows_make_dialog_box_internal): ditto.
4510         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
4511         handling.
4512         (mswindows_find_frame): make global.
4513         * fileio.c (Fexpand_file_name): build fix.
4514         * general-slots.h: add Qdirectory.
4515         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
4516         handling.
4517         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
4518         cygwin not leaving win32 paths unchanged.
4519         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
4520         cygwin runtime to do path conversion.
4521         (Fmswindows_shell_execute): fix cygwin handling of URLs.
4522         (syms_of_win32): add new function.
4523         * window.c (window_loop): build fix.
4524
4525 2001-10-15  Andy Piper  <andy@xemacs.org>
4526
4527         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
4528
4529 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
4530
4531         * XEmacs 21.4.5 "Civil Service" is released.
4532
4533 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
4534
4535         * glyphs-x.c: Force buffer-tab highlight update when moving the
4536         buffer, avoiding an ugly black border, used for keyboard focus
4537         indication, on a widget that can never have keyboard focus, the
4538         buffer tab.
4539
4540 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
4541
4542         * process-unix.c (unix_open_multicast_group): Remove too much
4543         conversion between host and network byte order.
4544
4545 2001-09-10  Nix  <nix@esperi.demon.co.uk>
4546
4547         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
4548         before replacing them.
4549
4550         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
4551         operation.
4552
4553         * src/window.c (undedicate_windows): Use it.
4554         * src/window.h: Add prototype.
4555
4556 2001-09-17  Ben Wing  <ben@xemacs.org>
4557
4558         * fileio.c (normalize_filename):
4559         * fileio.c (Fexpand_file_name):
4560         Fix various C++ compile errors in Andy's recent code.
4561         
4562         * callint.c (Fcall_interactively):
4563         * editfns.c (Ftemp_directory):
4564         * editfns.c (Fuser_full_name):
4565         * emacs.c (argmatch):
4566         * lread.c (locate_file_map_suffixes):
4567         * redisplay-x.c (x_ring_bell):
4568         Fix sign-compare warnings.
4569         
4570 2001-09-08  Andy Piper  <andy@xemacs.org>
4571
4572         * fileio.c (normalize_filename): copied from nt.c
4573         * (Ffile_name_directory): enable win32 paths under cygwin.
4574         * (Ffile_name_nondirectory): ditto.
4575         * (directory_file_name): ditto.
4576         * (Fexpand_file_name): ditto.
4577         * (Ffile_truename): ditto.
4578         * (Fsubstitute_in_file_name): ditto.
4579         * (Ffile_name_absolute_p): ditto.
4580         * (Ffile_readable_p): ditto.
4581
4582 2001-09-08  Andy Piper  <andy@xemacs.org>
4583
4584         * device-msw.c (mswindows_finish_init_device): remove dde
4585         initialization.
4586         * device-msw.c (mswindows_init_dde): factor out from
4587         mswindows_finish_init_device()
4588         * device-msw.c (init_mswindows_very_early): new function
4589         initialize but don't enable dde.
4590         * emacs.c (main_1): call init_mswindows_very_early.
4591         * event-msw.c:
4592         * event-msw.c (mswindows_dde_callback): only execute when we are
4593         ready.
4594         * symsinit.h: declare init_mswindows_very_early.
4595
4596 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4597
4598         [sjt: This has been in 21.5 for months with no complaints.]
4599
4600         * console.h (struct console_methods): Added flags member.
4601         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
4602         (CONMETH_IMPL_FLAG):
4603         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
4604         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
4605
4606         * device.c (window_system_pixelated_geometry): Use the above macros.
4607
4608         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
4609         implememntation flag.
4610         * device.h (DEVICE_DISPLAY_P): Use it.
4611
4612         * frame.c (delete_frame_internal): Use the above macro.
4613
4614         * redisplay.c (redisplay_device): Use it.
4615         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
4616         (redisplay_frame): Ditto.
4617
4618         * device-msw.c (mswindows_device_implementation_flags): Removed.
4619         (msprinter_device_implementation_flags): Removed.
4620         (console_type_create_device_mswindows): Removed references to
4621         implementation_flags methods, set implementation flags here.
4622         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
4623
4624         * device-gtk.c (gtk_device_implementation_flags): Removed method.
4625         (console_type_create_device_gtk): Removed method declaration.
4626         Added commented out statement which semantically matches the
4627         commented out statement in the above removed method.
4628
4629 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
4630
4631         The attached patch fixes a few warnings. 
4632
4633         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
4634         * src/frame-gtk.c: guard against GNOME calls in GTK only
4635         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
4636         * src/select-gtk.c: prototype lisp_to_time
4637
4638 2001-06-08  Ben Wing  <ben@xemacs.org>
4639
4640         ------ gc-in-window-procedure fixes ------
4641         
4642         * alloc.c:
4643         * alloc.c (struct post_gc_action):
4644         * alloc.c (register_post_gc_action):
4645         * alloc.c (run_post_gc_actions):
4646         * alloc.c (garbage_collect_1):
4647         Create "post-gc actions", to avoid those dreaded "GC during window
4648         procedure" problems.
4649
4650         * event-msw.c:
4651         Abort, clean and simple, when GC in window procedure.  We want
4652         to flush these puppies out.
4653
4654         * glyphs-msw.c:
4655         * glyphs-msw.c (finalize_destroy_window):
4656         * glyphs-msw.c (mswindows_finalize_image_instance):
4657         Use a post-gc action when destroying subwindows.
4658
4659         * lisp.h:
4660         Declare register_post_gc_action().
4661
4662         * scrollbar-msw.c:
4663         * scrollbar-msw.c (unshow_that_mofo):
4664         Use a post-gc action when unshowing scrollbar windows, if in gc.
4665
4666         * redisplay.c (mark_redisplay):
4667         Add comment about the utter evilness of what's going down here.
4668
4669         ------ cygwin setitimer fixes ------
4670         
4671         * Makefile.in.in (sheap_objs):
4672         * Makefile.in.in (profile_objs):
4673         * Makefile.in.in (objs):
4674         Compile profile.c only when HAVE_SETITIMER.
4675         
4676         * nt.c (mswindows_sigset):
4677         * nt.c (mswindows_sighold):
4678         * nt.c (mswindows_sigrelse):
4679         * nt.c (mswindows_sigpause):
4680         * nt.c (mswindows_raise):
4681         * nt.c (close_file_data):
4682         Style fixes.
4683         
4684         * nt.c:
4685         Move setitimer() emulation to win32.c, because Cygwin needs it too.
4686         
4687         * profile.c:
4688         * profile.c (Fstart_profiling):
4689         * profile.c (Fstop_profiling):
4690         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
4691         instead of just plain setitimer().
4692         
4693         * signal.c:
4694         * signal.c (set_one_shot_timer):
4695         * signal.c (alarm):
4696         Define qxe_setitimer() as an encapsulation around setitimer() --
4697         call setitimer() directly unless Cygwin or MS Win, in which case
4698         we use our simulated version in win32.c.
4699         
4700         * systime.h:
4701         * systime.h (struct itimerval):
4702         * systime.h (ITIMER_REAL):
4703         Prototype mswindows_setitimer() and qxe_setitimer().  Long
4704         comment about "qxe" and the policy regarding encapsulation.
4705
4706         * win32.c:
4707         * win32.c (setitimer_helper_proc):
4708         * win32.c (setitimer_helper_period):
4709         * win32.c (setitimer_helper):
4710         * win32.c (mswindows_setitimer):
4711         Move setitimer() emulation here, so Cygwin can use it.
4712         Rename a couple of functions and variables to be longer and more
4713         descriptive.  In setitimer_helper_proc(), send the signal
4714         using either mswindows_raise() or (on Cygwin) kill().  If for
4715         some reason we are still getting lockups, we'll change the kill()
4716         to directly invoke the signal handlers.
4717
4718         ------ windows shell fixes ------
4719         
4720         * callproc.c:
4721         * ntproc.c:
4722         Comments about how these two files must die.
4723
4724         * callproc.c (init_callproc):
4725         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
4726         not just COMSPEC. (more correct and closer to FSF.) Don't
4727         force a value for SHELL into the environment. (Comments added
4728         to explain why not.)
4729         
4730         * nt.c (init_user_info):
4731         Don't shove a fabricated SHELL into the environment.  See above.
4732
4733 2001-06-01  Ben Wing  <ben@xemacs.org>
4734
4735         * Makefile.in.in (ldflags):
4736         eliminate that pesky "defaulting to 00401000" warning.
4737         * nt.h:
4738         eliminate warnings.
4739
4740 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
4741
4742         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
4743         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
4744
4745 2001-04-24  Jerry James <james@xemacs.org>
4746
4747         * faces.h: pass parameters to Fadd_spec_to_specifier in the
4748         correct order.
4749
4750 2001-06-01  Ben Wing  <ben@xemacs.org>
4751
4752         * event-msw.c (debug_mswin_messages):
4753         conditionalize the messages that were causing compile errors.
4754         (if only macros could generate #ifdef statements ...)
4755
4756 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
4757
4758         * XEmacs 21.4.4 "Artificial Intelligence" is released.
4759
4760 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
4761
4762         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
4763
4764 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
4765
4766         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
4767         * process-unix.c (unix_canonicalize_host_name):
4768         sysdep.c (init_system_name):
4769         Use it to conditionally support IPv6 canonicalization.
4770
4771 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
4772
4773         * event-msw.c:
4774         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
4775
4776 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
4777
4778         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
4779         attempt is made to scroll when no scroll bar is available.
4780
4781 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
4782
4783         * input-method-motif.c (XIM_delete_frame): New callback.
4784         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
4785         got deleted from 21.4.3.)
4786
4787 2001-06-01  Ben Wing  <ben@xemacs.org>
4788
4789         * nt.c (mswindows_utime):
4790         * nt.c (close_file_data):
4791         fix off-by-one-indirection error.
4792
4793 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
4794
4795         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
4796         because set_file_times() now takes Lisp_Object path, instead of
4797         char*.
4798         * nt.c: Include buffer.h.
4799         * nt.c (convert_from_time_t): New.
4800         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
4801         not set mtime correctly.
4802         * nt.h: Declare mswindows_utime().
4803         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
4804         path, instead of char*.
4805         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
4806
4807 2001-05-30  Ben Wing  <ben@xemacs.org>
4808
4809         For 21.4:
4810
4811         (Stephen, just take all event-msw.c patches.  This includes
4812         the "iconify" fix below.)
4813
4814         * event-msw.c:
4815         * event-msw.c (mswindows_dequeue_dispatch_event):
4816         * event-msw.c (assert):
4817         * event-msw.c (emacs_mswindows_quit_p):
4818         * event-msw.c (debug_mswin_messages):
4819         * event-msw.c (debug_output_mswin_message):
4820         * event-msw.c (vars_of_event_mswindows):
4821         Fix yet more problems with C-g handling.
4822         Implement debug-mswindows-events.
4823         
4824 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4825
4826         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
4827         
4828 2001-05-23  Ben Wing  <ben@xemacs.org>
4829
4830         * event-msw.c (winsock_writer):
4831         * event-msw.c (winsock_closer):
4832         prior kludgy code was clobbering the buffer, thinking it was
4833         "unused" space to store an unneeded return value; instead, use
4834         the variable we've already got staring us in the face.
4835
4836 2001-05-17  Andy Piper  <andy@xemacs.org>
4837
4838         * sysfile.h: don't assume that file attributes are boolean
4839
4840 2001-05-23  Ben Wing  <ben@xemacs.org>
4841
4842         * device-msw.c (msprinter_init_device):
4843         signal an error rather than crash with an unavailable network
4844         printer (from Mike Alexander).
4845         
4846         * event-msw.c:
4847         * event-msw.c (struct winsock_stream):
4848         * event-msw.c (winsock_writer):
4849         * event-msw.c (winsock_closer):
4850         * event-msw.c (make_winsock_stream_1):
4851         cleanup headers.  fix (hopefully) an error with data corruption
4852         when sending to a network connection.
4853
4854         * fileio.c (Fexpand_file_name): Fix evil code that attempts
4855         to handle the ~user prefix by (a) always assuming we're referencing
4856         ourselves and not even verifying the user -- hence any file with
4857         a tilde as its first char is invalid! (b) if there wasn't a slash
4858         following the filename, the pointer was set *past* the end of
4859         file and we started reading from uninitialized memory.  Now we
4860         simply treat these as files, always.
4861
4862         * buffer.c (common_init_complex_vars_of_buffer): comment change.
4863         
4864 2001-05-19  Ben Wing  <ben@xemacs.org>
4865
4866         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
4867
4868         * process-nt.c:
4869         * process-nt.c (vars_of_process_nt):
4870         remove unused mswindows-quote-process-args.  rec for 21.4.
4871         
4872 2001-05-12  Ben Wing  <ben@xemacs.org>
4873
4874         * event-msw.c (mswindows_dde_callback):
4875         * event-msw.c (mswindows_wnd_proc):
4876         eliminate cygwin warnings.
4877
4878 2001-05-06  Ben Wing  <ben@xemacs.org>
4879
4880         * console-msw.h:
4881         * device-msw.c:
4882         * device-msw.c (print_dialog_worker):
4883         * device-msw.c (mswindows_handle_print_dialog_box):
4884         * device-msw.c (syms_of_device_mswindows):
4885         * dialog-msw.c (mswindows_make_dialog_box_internal):
4886         * general-slots.h:
4887         implement printing the selection when it's selected.
4888
4889 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
4890
4891         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
4892
4893 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
4894
4895         * lisp.h (EMACS_INT_MAX): This should be one bit less since
4896         EMACS_INT is signed.
4897
4898 2001-04-15  Michael Lausch  <mla@1012surf.net>
4899
4900         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
4901         gtk_widget_request_size() to give scrollbar >0 width for
4902         GTK >1.2.8.
4903
4904 2001-05-30  William M. Perry  <wmperry@gnu.org>
4905
4906         * event-gtk.c: Check for buttons as modifier keys.
4907
4908 2001-05-25  Craig Lanning  <CraigL@Knology.net>
4909
4910         * s\mingw32.h:
4911         Properly find MinGW's <process.h> inside Cygwin's restructured
4912         include directories.  Don't try to include <cygwin/version.h>
4913         since we are dropping support for MinGW in versions of Cygwin
4914         earlier than b21.
4915         * nt.c:
4916         Drop support for MinGW in versions of Cygwin before b21.
4917         * sysdep.c:
4918         Properly find MinGW's <process.h> inside Cygwin's restructured
4919         include directories.
4920         * syswindows.h:
4921         Drop support for MinGW in versions of Cygwin before b21.
4922         * unexcw.c:
4923         Even though a.out.h is no longer detected by configure, allow
4924         MinGW to use it until we figure out how to do the job with Win32.
4925
4926 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
4927
4928         * syntax.c (find_start_of_comment):
4929         Fix `unbalanced parentheses' bug when dealing with mixed comment
4930         styles in c++/java/etc. mode
4931
4932 2001-05-29  Mike Alexander  <mta@arbortext.com>
4933
4934         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
4935         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
4936
4937 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
4938
4939         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
4940
4941 2001-03-31  Mike Sperber <mike@xemacs.org>
4942
4943         * search.c (Freplace_match): Support FSF-style specification of
4944         match subexpression when applied to a buffer.
4945
4946 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
4947
4948         * event-stream.c (is_scrollbar_event): add missing semicolon
4949
4950 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
4951
4952         * Makefile.in.in: Use TAR macro instead of hardcoding
4953           tar.  Allows use of GNU tar instead of system tar
4954
4955 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
4956
4957         * event-stream.c (is_scrollbar_event): add missing semicolon
4958
4959 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
4960
4961         * XEmacs 21.4.3 "Academic Rigor" is released.
4962
4963 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
4964
4965         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
4966
4967 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
4968
4969         * buffer.c (Vcase_fold_search): Remove obsolete
4970           comment about non ASCII case-fold-search.  This
4971           bug has been fixed by case-table changes.
4972
4973 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
4974
4975         * event-msw.c: Restore include of events-mod.h.
4976
4977 2001-04-22   zhaoway  <zw@debian.org>
4978
4979         * event-stream.c (is_scrollbar_event): Noop returning 0 if
4980         !HAVE_SCROLLBARS.
4981
4982 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
4983
4984         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
4985
4986 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
4987
4988         * mule-charset.c (Fmake_charset): Add missing else.
4989
4990 2001-04-23  Ben Wing  <ben@xemacs.org>
4991
4992         * event-msw.c (FAKE_MOD_QUIT):
4993         * event-msw.c (mswindows_dequeue_dispatch_event):
4994         * event-msw.c (mswindows_wnd_proc):
4995         * event-msw.c (emacs_mswindows_quit_p):
4996         Get critical quit working.
4997
4998 2001-05-05  Ben Wing  <ben@xemacs.org>
4999
5000         * console-msw.h:
5001         * device-msw.c:
5002         * device-msw.c (mswindows_get_default_margin):
5003         * frame-msw.c (mswindows_size_frame_internal):
5004         * frame-msw.c (msprinter_init_frame_1):
5005         * frame-msw.c (vars_of_frame_mswindows):
5006         Change top/bottom margin defaults to 0.5 inches.
5007
5008 2001-05-01  Martin Buchholz  <martin@xemacs.org>
5009
5010         Fix link error with gcc 3.0 on Linux.
5011         * terminfo.c (UP): Remove.
5012         * terminfo.c (BC): Remove.
5013         * terminfo.c (PC): Remove.
5014         They weren't used, and in any case, these symbols should be
5015         defined in the *library*.
5016
5017 2001-05-03  Martin Buchholz  <martin@xemacs.org>
5018
5019         * s/aix4.h: Fix crash with xlc -O3.
5020         Improve comment explaining how -O3 works.
5021
5022 2001-04-15  Ben Wing  <ben@xemacs.org>
5023
5024         * event-stream.c:
5025         * event-stream.c (Fnext_event):
5026         * event-stream.c (is_scrollbar_event):
5027         * event-stream.c (execute_command_event):
5028         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
5029         crash' problem.  His fix introduces other problems.  We filter
5030         out scrollbar events specifically, making them somewhat invisible
5031         to command-building, and not appearing in `this-command-keys'.
5032         More work is still needed (see comments in event-stream.c), but
5033         this fixes all the major problems.
5034
5035 2001-04-20  Ben Wing  <ben@xemacs.org>
5036
5037         * .cvsignore: Added stuff for Windows.
5038
5039 2001-04-28  Ben Wing  <ben@xemacs.org>
5040
5041         * buffer.c (Ferase_buffer):
5042         * editfns.c (buffer_insert1):
5043         * editfns.c (Finsert_before_markers):
5044         * editfns.c (Finsert_string):
5045         * editfns.c (Finsert_char):
5046         * editfns.c (Fdelete_region):
5047         * editfns.c (Fwiden):
5048         * editfns.c (Fnarrow_to_region):
5049         remove bogus lines setting zmacs_region_stays to 0.
5050         
5051 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5052
5053         * process-unix.c (unix_open_network_stream): If connect() fails
5054         invalidate file descriptor after closing it.
5055
5056 2001-03-08  Mike Alexander  <mta@arbortext.com>
5057
5058         * event-msw.c (mswindows_need_event_in_modal_loop):
5059         Don't dispatch a message if we didn't get one.
5060         (mswindows_need_event):
5061         Terminate the correct process when one exits instead of the first
5062         one on Vprocess_list and look for process termination when in
5063         mswindows_protect_modal_loop.
5064
5065 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
5066
5067         * XEmacs 21.4.1 "Copyleft" is released.
5068
5069 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5070
5071         * input-method-motif.c (XIM_delete_frame): New callback.
5072         (XIM_init_frame): Register it.
5073
5074 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5075
5076         * XEmacs 21.4.0 "Solid Vapor" is released.
5077
5078 2001-04-15  Ben Wing  <ben@xemacs.org>
5079
5080         * cmdloop.c (call_command_loop):
5081         Fix braino in bit-rotting code.
5082         
5083 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
5084
5085         * extents.c (Fset_extent_endpoints): Force creation of extent info
5086         in buffer_or_string.
5087
5088         * extents.c (process_extents_for_insertion_mapper): Correctly
5089         check for open-open zero-length extents.
5090
5091 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5092
5093         * lisp.h: New typedefs Memory_count, Element_count.
5094         * regex.c:
5095         * regex.h:
5096         Sign-compare warning elimination: several unsigned -> signed.
5097         Based on work by Ben Wing <ben@xemacs.org>.
5098
5099 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
5100
5101         * XEmacs 21.2.47 "Zephir" is released.
5102
5103 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
5104
5105         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
5106
5107 2001-04-03  Mike Sperber <mike@xemacs.org>
5108
5109         * search.c: Revert previous patch due because of release.
5110
5111 2001-03-30  Ben Wing  <ben@xemacs.org>
5112
5113         * s\cygwin32.h:
5114         Add missing killpg prototype.
5115
5116         * elhash.c:
5117         Add a comment about fixing problems when a new entry is added
5118         while mapping.
5119
5120         * frame-msw.c (mswindows_init_frame_1):
5121         Fix compile warnings.
5122
5123         * menubar.c (vars_of_menubar):
5124         Provide `menu-accelerator-support' to indicate that we properly
5125         support %_ in menu specifications, so that package code can
5126         conditionalize on this (and remove %_ from menu specifications
5127         on older versions).
5128
5129         * event-msw.c:
5130         * scrollbar-msw.c:
5131         * scrollbar-msw.c (can_scroll):
5132         * scrollbar-msw.h:
5133         Fix handling of mouse wheel under Windows to follow standards --
5134         now scrolls window under pointer, not selected window.
5135
5136 2001-03-31  Mike Sperber <mike@xemacs.org>
5137
5138         * search.c (Freplace_match): Support FSF-style specification of
5139         match subexpression when applied to a buffer.
5140
5141 2001-03-15  Martin Buchholz  <martin@xemacs.org>
5142
5143         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
5144         function to modify KEYMAP, so map over a copy of the hash table.
5145
5146 2001-03-21  Martin Buchholz <martin@xemacs.org>
5147
5148         * XEmacs 21.2.46 "Urania" is released.
5149
5150 2001-03-20  Dan Holmsand  <dan@eyebee.com>
5151
5152         * realpath.c (xrealpath): Make file-truename work with symlinks to
5153         /cygdrive paths on cygwin. Always lowercase drive-letters on
5154         native windows.
5155         (cygwin_readlink): Don't try to find canonical filename unless
5156         file exists.
5157
5158 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
5159
5160         * ChangeLog: Log GTK merge.
5161
5162         * dumper.c:
5163         * select-x.c:
5164         * specifier.c:
5165         * symeval.h:
5166         Revert gratuitous whitespace changes from GTK merge.
5167
5168         * emacs.c: Document end of complex #ifdef @ l. 1495.
5169
5170
5171 2001-03-12  Andy Piper  <andy@xemacs.org>
5172
5173         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
5174         have to do likewise.
5175
5176 2001-03-12  Andy Piper  <andy@xemacs.org>
5177
5178         * sysdep.c: we only support mingw now.
5179
5180 2001-03-09  Andy Piper  <andy@xemacs.org>
5181
5182         * unexcw.c (copy_executable_and_dump_data_section): making approx
5183         overrun a warning only.
5184
5185 2001-03-10  William M. Perry  <wmperry@aventail.com>
5186
5187         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
5188         satisfy Stephen's identical-after-cpp plea.
5189
5190 2001-03-02  Ben Wing  <ben@xemacs.org>
5191
5192         * cmds.c:
5193         * cmds.c (Fforward_char):
5194         * syntax.c:
5195         * window.c:
5196
5197         Augment documentation of the most common motion commands to make
5198         note of the shifted-motion support.
5199         
5200 2001-03-02  Ben Wing  <ben@xemacs.org>
5201
5202         * nt.c (mswindows_fstat):
5203         * nt.c (mswindows_stat):
5204         * search.c (boyer_moore):
5205         Fix compile warnings under Windows.
5206         
5207         * sysdep.c (sys_readdir):
5208         Fix buggy filename-conversion code under Mule.
5209
5210 2001-03-09  William M. Perry  <wmperry@aventail.com>
5211
5212         * Makefile.in.in:
5213         * config.h.in:
5214         * console.c:
5215         * console.h:
5216         * device.c:
5217         * device.h:
5218         * dragdrop.c:
5219         * emacs.c:
5220         * event-stream.c:
5221         * events.c:
5222         * events.h:
5223         * faces.c:
5224         * frame.h:
5225         * general-slots.h:
5226         * glyphs.c:
5227         * gutter.c:
5228         * inline.c:
5229         * lisp.h:
5230         * lrecord.h:
5231         * make-src-depend:
5232         * redisplay-output.c:
5233         * redisplay.c:
5234         * symsinit.h:
5235         * sysfile.h:
5236         * toolbar.c:
5237         * window.c:
5238         The Great GTK Merge.
5239
5240         * ChangeLog.GTK:
5241         * console-gtk.c:
5242         * console-gtk.h:
5243         * device-gtk.c:
5244         * emacs-marshals.c:
5245         * emacs-widget-accessors.c:
5246         * event-gtk.c:
5247         * frame-gtk.c:
5248         * gccache-gtk.c:
5249         * gccache-gtk.h:
5250         * glade.c:
5251         * glyphs-gtk.c:
5252         * glyphs-gtk.h:
5253         * gtk-glue.c:
5254         * gtk-xemacs.c:
5255         * gtk-xemacs.h:
5256         * gui-gtk.c:
5257         * gui-gtk.h:
5258         * menubar-gtk.c:
5259         * native-gtk-toolbar.c:
5260         * objects-gtk.c:
5261         * objects-gtk.h:
5262         * redisplay-gtk.c:
5263         * scrollbar-gtk.c:
5264         * scrollbar-gtk.h:
5265         * select-gtk.c:
5266         * toolbar-gtk.c:
5267         * ui-byhand.c:
5268         * ui-gtk.c:
5269         * ui-gtk.h:
5270         The Great GTK Merge: new files.
5271
5272 2001-02-26  Ben Wing  <ben@xemacs.org>
5273
5274         Reapplied Lstream change.
5275
5276 2001-02-26  Ben Wing  <ben@xemacs.org>
5277
5278         Undid the last change, since it is more controversial than I
5279         thought.  It should be back in at some point soon.
5280         
5281 2001-02-25  Ben Wing  <ben@xemacs.org>
5282
5283         * buffer.c:
5284         * callproc.c (Fold_call_process_internal):
5285         * event-msw.c (ntpipe_slurp_reader):
5286         * event-msw.c (ntpipe_shove_writer):
5287         * event-msw.c (winsock_reader):
5288         * event-msw.c (winsock_writer):
5289         * file-coding.c:
5290         * file-coding.c (detect_eol_type):
5291         * file-coding.c (detect_coding_type):
5292         * file-coding.c (determine_real_coding_system):
5293         * file-coding.c (Fdetect_coding_region):
5294         * file-coding.c (decoding_reader):
5295         * file-coding.c (decoding_writer):
5296         * file-coding.c (mule_decode):
5297         * file-coding.c (Fdecode_coding_region):
5298         * file-coding.c (encoding_reader):
5299         * file-coding.c (encoding_writer):
5300         * file-coding.c (mule_encode):
5301         * file-coding.c (Fencode_coding_region):
5302         * file-coding.c (detect_coding_sjis):
5303         * file-coding.c (decode_coding_sjis):
5304         * file-coding.c (encode_coding_sjis):
5305         * file-coding.c (detect_coding_big5):
5306         * file-coding.c (decode_coding_big5):
5307         * file-coding.c (encode_coding_big5):
5308         * file-coding.c (detect_coding_ucs4):
5309         * file-coding.c (decode_coding_ucs4):
5310         * file-coding.c (encode_coding_ucs4):
5311         * file-coding.c (detect_coding_utf8):
5312         * file-coding.c (decode_coding_utf8):
5313         * file-coding.c (encode_coding_utf8):
5314         * file-coding.c (detect_coding_iso2022):
5315         * file-coding.c (decode_coding_iso2022):
5316         * file-coding.c (encode_coding_iso2022):
5317         * file-coding.c (decode_coding_no_conversion):
5318         * file-coding.c (encode_coding_no_conversion):
5319         * glyphs-x.c (write_lisp_string_to_temp_file):
5320         * gpmevent.c (tty_get_foreign_selection):
5321         * lisp.h:
5322         * lstream.c:
5323         * lstream.c (Lstream_flush_out):
5324         * lstream.c (Lstream_adding):
5325         * lstream.c (Lstream_write_1):
5326         * lstream.c (Lstream_write):
5327         * lstream.c (Lstream_raw_read):
5328         * lstream.c (Lstream_read_more):
5329         * lstream.c (Lstream_read):
5330         * lstream.c (Lstream_unread):
5331         * lstream.c (Lstream_fputc):
5332         * lstream.c (stdio_reader):
5333         * lstream.c (stdio_writer):
5334         * lstream.c (filedesc_reader):
5335         * lstream.c (filedesc_writer):
5336         * lstream.c (lisp_string_reader):
5337         * lstream.c (struct fixed_buffer_stream):
5338         * lstream.c (make_fixed_buffer_input_stream):
5339         * lstream.c (make_fixed_buffer_output_stream):
5340         * lstream.c (fixed_buffer_reader):
5341         * lstream.c (fixed_buffer_writer):
5342         * lstream.c (struct resizing_buffer_stream):
5343         * lstream.c (resizing_buffer_writer):
5344         * lstream.c (dynarr_writer):
5345         * lstream.c (lisp_buffer_reader):
5346         * lstream.c (lisp_buffer_writer):
5347         * lstream.h:
5348         * lstream.h (lstream_implementation):
5349         * lstream.h (struct lstream):
5350         * md5.c (Fmd5):
5351         * process-nt.c (nt_send_process):
5352         * process-unix.c (unix_send_process):
5353         
5354         Correct Lstream lossage due to mixing of signed and unsigned
5355         quantities.  All Lstream uses of size_t and ssize_t are now a
5356         single signed data type Lstream_data_count.  This fixes problems
5357         under Windows with sending large quantities of data to a process,
5358         and may well fix other subtle bugs.
5359
5360 2001-02-23  Martin Buchholz <martin@xemacs.org>
5361
5362         * XEmacs 21.2.45 "Thelxepeia" is released.
5363
5364 2001-02-21  Martin Buchholz  <martin@xemacs.org>
5365
5366         * lisp-union.h (XSETINT): 
5367         (XSETCHAR):
5368         (XSETOBJ): 
5369         Reverse previous change of 2001-02-06.
5370
5371 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
5372
5373         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
5374         buffers.
5375         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5376         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
5377         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
5378         * regex.c (POS_AS_IN_BUFFER): removed
5379         * regex.c (re_search_2):
5380         * regex.c (re_match_2):
5381         Don't use an offset of 1 when calculating buffer positions, since
5382         `BI_BUF_BEGV' does it already.
5383
5384 2001-02-18  Wim Dumon  <wim@easics.be>
5385
5386         * insdel.c (prepare_to_modify_buffer): Also check for
5387         supersession when clash-detection is enabled. 
5388
5389 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
5390
5391         * regex.c (re_match_2_internal):
5392         Convert temp characters from 'const unsigned char' to 're_char'.
5393         Fix crashing bug with extended characters under mule.
5394         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
5395         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
5396         font-lock, pdump, and new syntax-table code.
5397         * syntax.c (find_start_of_comment):
5398         (find_end_of_comment):
5399         (forward-comment):
5400         Fix crashing bugs involving moving beyond end of buffer.
5401         * syntax.c (find_start_of_comment):
5402         Fixed logic to allow proper detection of cases where the same
5403         character is used to end both a two-char comment start and a
5404         two-char comment end sequence. Fixes `(forward-comment -1)'.
5405         * syntax.c (find_start_of_comment):
5406         Return position just past last comment-end character for all cases
5407         (previously was only done for two-char comment-end sequences).
5408         * syntax.c (forward-comment):
5409         Take value returned from `find_end_of_comment', rather than
5410         incrementing it.
5411         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5412         Properly deal with BUFFERP (syntax_cache.object)
5413
5414 2001-02-17  Martin Buchholz  <martin@xemacs.org>
5415
5416         * alloc.c (Fgarbage_collect): 
5417         * alloc.c (make_bit_vector_from_byte_vector):
5418         -Wsign-compare-correctness.
5419
5420 2001-02-16  Martin Buchholz  <martin@xemacs.org>
5421
5422         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
5423         (XSETCHAR): Likewise.
5424         (XSETOBJ): Likewise.
5425
5426 2001-02-15  Martin Buchholz  <martin@xemacs.org>
5427
5428         * mule-canna.c (canna-func-delete_previous): 
5429         Rename to canna-func-delete-previous.
5430
5431 2001-02-14  Martin Buchholz  <martin@xemacs.org>
5432
5433         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
5434
5435 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
5436
5437         * font-lock.c (find_context): Fix C++ compile errors introduced by
5438         recent patch
5439
5440 2001-02-13  Martin Buchholz  <martin@xemacs.org>
5441
5442         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
5443         pragma, but earlier ones barf on the same pragma.
5444
5445 2001-02-06  Mike Sperber <mike@xemacs.org>
5446
5447         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
5448         `configure-mule-lisp-directory'.
5449
5450 2001-02-12  Martin Buchholz  <martin@xemacs.org>
5451
5452         Make sure dump-id.c is compiled in the same way as other .c's.
5453         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
5454         * dump-id.h: Remove.
5455         * emacs.c: Move dump-id.h into dumper.h.
5456         * dumper.h: Move dump-id.h into dumper.h.
5457         * Makefile.in.in:
5458         Use standard .c.o rule for building dump-id.o.
5459         Remove preprocessor flags from link command.
5460         Add dump-id.o to ${otherobjs} if PDUMP.
5461
5462 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
5463
5464         Port FSF 20.7 syntax table improvements.
5465         * syntax.c.
5466         * syntax.h.
5467
5468         Fixups for new syntax table stuff.
5469         * dired.c: Include syntax.c.
5470         (Fdirectory_files): Initialize regex_match_object and
5471         regex_emacs_buffer.
5472         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
5473         and Fget_char_property.
5474
5475         Use ported FSF 20.7 syntax table improvements.
5476         * font-lock.c.
5477         * regex.c.
5478         * search.c.
5479         
5480 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5481
5482         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
5483         Unixware's enum boolean from sys/types.h.
5484
5485 2001-02-10  Martin Buchholz  <martin@xemacs.org>
5486
5487         Fix support for building with latest Purify.
5488         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
5489         (PURIFY_FLAGS): Likewise.
5490
5491 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5492
5493         * fileio.c (lisp_string_set_file_times): New.
5494         * fileio.c (Fcopy_file): Use it.
5495         Fixes bug:
5496         (copy-file filename non-ascii-filename t t)
5497         ==> No such file or directory, non-ascii-filename
5498
5499 2001-02-10  Martin Buchholz  <martin@xemacs.org>
5500
5501         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
5502         USHRT_MAX seems clearer than ~0 anyways.
5503
5504 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5505
5506         dumper improvements.  Inspired by Olivier.
5507         * dumper.c (pdump_max_align): New.
5508         * dumper.c (pdump_add_entry): Use pdump_max_align.
5509         * dumper.c (pdump_get_entry_list): Likewise.
5510         * dumper.c (pdump_scan_by_alignment): Likewise.
5511         Don't iterate through unnecessary alignments.
5512         * dumper.c (pdump_file_get): No need to align result of malloc().
5513         * dumper.c (pdump_mallocadr): Remove.  
5514         The result of malloc() is guaranteed to be maximally aligned.
5515         * dumper.c: s/elmt/elt/g;
5516         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
5517         * dumper.c (pdump_alert_undump_object): Likewise.
5518         * dumper.c (pdump_align_table): 
5519         Don't support alignments > 64.
5520         Store ALIGNOF's, not shift counts, in table.
5521
5522 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5523
5524         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
5525         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
5526         * systime.h: Use HAVE_UTIME.
5527         * sysdep.c (struct utimbuf): Remove.
5528         * sysdep.c (set_file_times): Prefer utime() to utimes().
5529         * config.h.in (HAVE_UTIME): New.
5530         * config.h.in (HAVE_UTIME_H): Remove.
5531         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
5532
5533 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5534
5535         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
5536
5537 2001-02-08  Martin Buchholz  <martin@xemacs.org>
5538
5539         * s/irix6-0.h: Use the standard system memmove, not bcopy.
5540
5541 2001-02-08  Martin Buchholz <martin@xemacs.org>
5542
5543         * XEmacs 21.2.44 "Thalia" is released.
5544
5545 2001-02-06  Martin Buchholz  <martin@xemacs.org>
5546
5547         Fixes crashes in kill-emacs on some systems.
5548         * process-unix.c (unix_kill_child_process):
5549         It's OK for kill() to fail with ESRCH.
5550
5551 2001-02-07  Martin Buchholz  <martin@xemacs.org>
5552
5553         Contortions to make .gdbinit tricks work on most systems.
5554         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
5555         * alloc.c (dbg_valmask): Make non-const.
5556         * alloc.c (dbg_typemask): Make non-const.
5557         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
5558         * alloc.c (dbg_valbits): Make non-const.
5559         * alloc.c (dbg_gctypebits): Make non-const.
5560         * .gdbinit (decode_object): Make it work with AIX cc.
5561
5562 2001-02-06  Martin Buchholz  <martin@xemacs.org>
5563
5564         * elhash.c (make_general_lisp_hash_table):
5565         Use simpler and more efficient calloc to clear entries.
5566
5567 2001-02-07  Martin Buchholz  <martin@xemacs.org>
5568
5569         * window.c (window_scroll): Work around an AIX C compiler bug.
5570         Fixes 'scroll-up' does nothing problem with xlC.
5571
5572 2001-02-05  Martin Buchholz  <martin@xemacs.org>
5573
5574         * .gdbinit: Remove obsolete comment.
5575
5576 2001-01-31  Mike Alexander  <mta@arbortext.com>
5577
5578         * select.c (Fown_selection_internal): Set owned_p for device
5579         method correctly.
5580
5581 2001-02-01  Martin Buchholz  <martin@xemacs.org>
5582
5583         Port to g++ 2.97.
5584         "not" cannot be used as a macro name as it is an operator in C++
5585         * config.h.in: Stop #defining `not'.
5586         * chartab.c (check_category_char): not ==> not_p
5587         * chartab.h: Likewise.
5588         * regex.c (re_match_2_internal): Likewise.
5589
5590 2001-02-02  Martin Buchholz  <martin@xemacs.org>
5591
5592         * lisp-disunion.h: Fix up comments.
5593
5594 2001-01-31  Martin Buchholz  <martin@xemacs.org>
5595
5596         * keymap.c (define_key_check_and_coerce_keysym):
5597         (syms_of_keymap):
5598         Support mouse-6 and mouse-7 bindings in the obvious way.
5599
5600 2001-02-01  Martin Buchholz  <martin@xemacs.org>
5601
5602         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
5603
5604 2001-01-30  Martin Buchholz  <martin@xemacs.org>
5605
5606         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
5607         Previous patch missed DEFVAR_INT_MAGIC.
5608         Make sure future DEFVAR_foo use correct types.
5609         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
5610         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
5611         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
5612         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
5613         * (DEFVAR_INT): Likewise.
5614         * redisplay.c (vertical_clip): Should be of type Fixnum.
5615         * redisplay.c (horizontal_clip): Likewise.
5616         * lisp.h (dump_add_opaque_int): New.
5617         (dump_add_opaque_fixnum): New.
5618
5619 2001-01-29  Andy Piper  <andy@xemacs.org>
5620
5621         * glyphs-widget.c (check_valid_int_or_function): allow symbols
5622         since they can be eval'ed
5623
5624 2001-01-29  Martin Buchholz  <martin@xemacs.org>
5625
5626         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
5627         Oops, XEmacs redefines `class'.  Use `typename' instead.
5628
5629 2001-01-28  Martin Buchholz  <martin@xemacs.org>
5630
5631         * dumper.c: Fix C++ compile errors.
5632
5633 2001-01-29  Martin Buchholz  <martin@xemacs.org>
5634
5635         * tparam.c: Use correct prototypes.
5636
5637 2001-01-28  Martin Buchholz  <martin@xemacs.org>
5638
5639         * sysproc.h: #include util.h for NetBSD's openpty.
5640
5641 2001-01-27  Martin Buchholz  <martin@xemacs.org>
5642
5643         More 64-bit correctness.
5644         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
5645         Use a typedef `fixnum' for the type used for DEFVAR_INT.
5646         Fix up comments.
5647         This finally finishes the 64-bit SGI port.
5648         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
5649         * symbols.c: Fix up comments and type casts.
5650         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
5651         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
5652         * symeval.h (Fixnum): New type.
5653         * symeval.h (symbol_value_type): Fix up comment.
5654
5655         * commands.h:
5656         * nt.c:
5657         * emacs.c:
5658         * data.c:
5659         * redisplay.c:
5660         * abbrev.c:
5661         * dired-msw.c:
5662         * event-Xt.c:
5663         * eldap.c:
5664         * window.c:
5665         * sound.c:
5666         * event-stream.c:
5667         * eval.c:
5668         * buffer.c:
5669         * mule-canna.c: A million DEFVAR_INTs here...
5670         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
5671         * extents.c:
5672         * cmdloop.c:
5673         * lisp.h:
5674         * select-x.c:
5675         * console-x.h:
5676         * event-msw.c:
5677         * mule-wnnfns.c:
5678         * hpplay.c:
5679         * ralloc.c:
5680         * alloc.c:
5681         * keymap.c:
5682         * profile.c:
5683         s/int/Fixnum/g in DEFVAR_INT declarations.
5684
5685 2001-01-26  Martin Buchholz  <martin@xemacs.org>
5686
5687         Port pdump to SGI alignment-sensitive environment.
5688         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
5689         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
5690         properly aligned.
5691         Define and use aligned reading and writing macros.
5692         Use buffered stdio instead of posix i/o for faster dumping.
5693         Eliminate kludgy 256 byte space for header.
5694         Read and write from dump file using structs for alignment safety.
5695         * dumper.c (pdump_align_stream): New.
5696         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
5697         * dumper.c (PDUMP_READ_ALIGNED): New.
5698         * dumper.c (PDUMP_WRITE_ALIGNED): New.
5699         * dumper.c (pdump_static_Lisp_Object): New struct.
5700         * dumper.c (pdump_static_pointer): New struct.
5701         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
5702         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
5703         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
5704         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
5705
5706         * dumper.c (pdump_backtrace):
5707         * dumper.c (pdump_get_indirect_count):
5708         * dumper.c (pdump_register_object):
5709         * dumper.c (pdump_register_struct):
5710         * dumper.c (pdump_reloc_one):
5711         * dumper.c (pdump_scan_by_alignment):
5712         * dumper.c (pdump_dump_from_root_struct_ptrs):
5713         * dumper.c (pdump_dump_opaques):
5714         * dumper.c (pdump_dump_rtables):
5715         * dumper.c (pdump_dump_from_root_objects):
5716         * dumper.c (pdump):
5717         * dumper.c (pdump_load_finish):
5718         Use aligned reading and writing.
5719
5720         * dumper.c (pdump_free): Make static.
5721         * dumper.c (pdump_hFile): Likewise.
5722         * dumper.c (pdump_hMap): Likewise.
5723
5724 2001-01-26  Martin Buchholz <martin@xemacs.org>
5725
5726         * XEmacs 21.2.43 "Terspichore" is released.
5727
5728 2001-01-25  Martin Buchholz  <martin@xemacs.org>
5729
5730         Type fiddling for window_config.saved_windows_count
5731         * window.c (struct window_config): 
5732         Make saved_windows_count member unsigned.
5733         * window.c (sizeof_window_config_for_n_windows): 
5734         Make parameter unsigned.
5735         * window.c (mark_window_config):
5736         * window.c (window_config_equal):
5737         * window.c (free_window_configuration):
5738         * window.c (Fset_window_configuration):
5739         * window.c (count_windows):
5740         * window.c (Fcurrent_window_configuration):
5741         * window.c (reinit_vars_of_window):
5742         Update all callers and users.
5743
5744 2001-01-25  Martin Buchholz  <martin@xemacs.org>
5745
5746         Alignment correctness for flexible arrays.
5747         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
5748         Make alignment-correct. Add interesting comments.
5749         * alloc.c (size_vector):
5750         * alloc.c (make_vector_internal):
5751         * alloc.c (make_bit_vector_internal):
5752         * alloc.c (sweep_bit_vectors_1):
5753         * fns.c (size_bit_vector):
5754         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
5755         * window.c (sizeof_window_config_for_n_windows): 
5756         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
5757
5758 2001-01-24  Martin Buchholz  <martin@xemacs.org>
5759
5760         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
5761
5762 2001-01-23  Andy Piper  <andy@xemacs.org>
5763
5764         * select.c (Fown_selection_internal): pass owned_p
5765
5766         * select-msw.c (mswindows_own_selection): New Signature.
5767
5768         * console.h (struct console_methods): add owned_p to
5769         _own_selection.
5770
5771         * select-x.c (x_own_selection): pass owned_p
5772         (hack_motif_clipboard_selection): use owned_p
5773         (vars_of_select_x): new variable -
5774         x_selection_strict_motif_ownership.
5775
5776 2001-01-23  Martin Buchholz  <martin@xemacs.org>
5777
5778         * specifier.h (specifier_data_offset): Remove pointless parens.
5779         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
5780
5781 2001-01-24  Martin Buchholz  <martin@xemacs.org>
5782
5783         Make Lisp_Object sizeof methods be alignment-correct.
5784         pdump must restore objects to the same alignment as the C compiler
5785         assumes.  It really matters on SGIs.
5786         * lstream.c (aligned_sizeof_lstream): New.
5787         (sizeof_lstream): Use aligned_sizeof_lstream.
5788         (Lstream_new): Likewise.
5789         * opaque.c (aligned_sizeof_opaque): New.
5790         (sizeof_opaque): Use aligned_sizeof_opaque.
5791         (make_opaque): Likewise.
5792         * specifier.c (aligned_sizeof_specifier): New.
5793         (sizeof_specifier): Use aligned_sizeof_specifier.
5794         (make_specifier_internal): Likewise.
5795
5796 2001-01-23  Martin Buchholz  <martin@xemacs.org>
5797
5798         * lstream.h (struct lstream): Use max_align_t for trailing data.
5799         * specifier.h (struct Lisp_Specifier): Likewise.
5800
5801 2001-01-22  Martin Buchholz  <martin@xemacs.org>
5802
5803         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
5804         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
5805         (CCL_SUSPEND): Likewise.
5806         (CCL_INVALID_CMD): Likewise.
5807         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
5808         (ccl_driver): Likewise.
5809         (CCL_WRITE_CHAR): Macro hygiene.
5810         (CCL_WRITE_STRING): Macro hygiene.
5811
5812 2001-01-22  Martin Buchholz  <martin@xemacs.org>
5813
5814         Port "portable" dumper to SunOS 4 and HP-UX.
5815         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
5816         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
5817         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
5818
5819 2001-01-22  Martin Buchholz  <martin@xemacs.org>
5820
5821         * lisp.h (ALIGNOF): A better definition for C++.
5822
5823 2001-01-20  Martin Buchholz  <martin@xemacs.org>
5824
5825         Macro hygiene.
5826         Fix printf warnings: int format, long int arg.
5827         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
5828         (PUSH_FAILURE_POINT): Use correct printf formats.
5829         (POP_FAILURE_POINT): Use correct printf formats.  
5830         Use do {...} while (0)
5831
5832 2001-01-20  Martin Buchholz <martin@xemacs.org>
5833
5834         * XEmacs 21.2.42 "Poseidon" is released.
5835
5836 2001-01-20  Martin Buchholz  <martin@xemacs.org>
5837
5838         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
5839
5840 2001-01-19  Martin Buchholz  <martin@xemacs.org>
5841
5842         De-kludgify FIXED_TYPE free list frobbing.
5843         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
5844         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
5845         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
5846         * alloc.c (Lisp_Free): New pseudo lisp object definition.
5847         * alloc.c (LRECORD_FREE_P): New.
5848         * alloc.c (MARK_LRECORD_AS_FREE): New.
5849         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
5850         * alloc.c (STRUCT_FREE_P): Deleted.
5851         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
5852         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
5853         * alloc.c (STRING_CHARS_FREE_P): New.
5854         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
5855         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
5856         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
5857         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
5858         * alloc.c (resize_string): Use new definitions.
5859         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
5860         * alloc.c (verify_string_chars_integrity): Use new definitions.
5861         * alloc.c (compact_string_chars): Use new definitions.
5862         * alloc.c: Update monster comments.
5863         * lrecord.h (lrecord_type): Add some new lrecord types for
5864         alloc.c's use.
5865
5866 2001-01-18  Martin Buchholz  <martin@xemacs.org>
5867
5868         Improve alignment hackery.
5869         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
5870         (max_align_t): Moved from opaque.h - general purpose.
5871         (ALIGN_PTR): Use size_t, not long.
5872         * opaque.h (max_align_t): Move to lisp.h.
5873
5874 2001-01-18  Norbert Koch  <nk@LF.net>
5875
5876         * gui.h: Fix and add prototypes to fix build problems.
5877
5878 2001-01-18  Martin Buchholz  <martin@xemacs.org>
5879
5880         temacs is going away, so `dump-temacs' is now a bad name.
5881         * .dbxrc (dump-temacs): Rename to `dmp'.
5882         * .gdbinit (dump-temacs): Rename to `dmp'.
5883
5884 2001-01-17  Andy Piper  <andy@xemacs.org>
5885
5886         * glyphs.c (print_image_instance): comment to make martin happy.
5887
5888         * glyphs-x.c (x_redisplay_widget): update faces after a frame
5889         change.
5890
5891         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
5892         activation.
5893         (mswindows_tab_control_redisplay): warning suppression.
5894
5895         * glyphs-widget.c (widget_update): re-write to cope with updated
5896         items.
5897         (widget_instantiate): use new gui_item functions.
5898         (tab_control_update): deleted.
5899         (progress_gauge_update): deleted.
5900         (image_instantiator_progress_guage): take out update reference.
5901         (image_instantiator_tree_view): ditto.
5902         (image_instantiator_tab_control): ditto.
5903
5904         * gui.c (widget_gui_parse_item_keywords): new function. Do things
5905         Right the new way.
5906         (gui_item_add_keyval_pair): re-write to cope with descriptors and
5907         return whether anything was changed.
5908         (update_gui_item_keywords): as it sounds.
5909
5910         * gui.h: declare widget_gui_parse_item_keywords.
5911
5912         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
5913         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
5914
5915 2001-01-17  Martin Buchholz <martin@xemacs.org>
5916
5917         * XEmacs 21.2.41 "Polyhymnia" is released.
5918
5919 2001-01-16  Didier Verna  <didier@xemacs.org>
5920
5921         * glyphs.c (image_instantiate): don't use fallbacks when
5922         instantiating a face's background pixmap by inheritance.
5923
5924 2001-01-14  Mike Sperber <mike@xemacs.org>
5925
5926         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
5927         Conditionalize accordingly.
5928
5929 2001-01-16  Martin Buchholz  <martin@xemacs.org>
5930
5931         * dumper.c (pdump_file_get): Fix a compiler warning.
5932
5933 2001-01-15  Martin Buchholz  <martin@xemacs.org>
5934
5935         Make Purify happy when pdumping.
5936         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
5937         iniitalizing all bits of new lisp object memory.
5938         * symbols.c (Fmake_local_variable): Likewise.
5939         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
5940         * symbols.c (Fdefvaralias): Likewise.
5941         * mule-charset.c (vars_of_mule_charset): Likewise.
5942
5943 2001-01-15  Martin Buchholz  <martin@xemacs.org>
5944         Add the `-nd' flag when running pre-dump operations under the debugger.
5945         * .dbxrc (run-temacs): Add `-nd'.
5946         * .dbxrc (update-elc): Likewise.
5947         * .dbxrc (dump-temacs): Likewise.
5948         * .gdbinit (run-temacs): Likewise.
5949         * .gdbinit (check-temacs): Likewise.
5950         * .gdbinit (update-elc): Likewise.
5951         * .gdbinit (dump-temacs): Likewise.
5952
5953 2001-01-14  Martin Buchholz  <martin@xemacs.org>
5954
5955         Allow building 64-bit executables on AIX with GNU malloc, e.g.
5956         export OBJECT_MODE=64
5957         configure --pdump --use-union-type=no
5958         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
5959         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
5960
5961         * miscplay.c (sndcnv8U_2mono):
5962         Avoid two uses of `++' in the same expression.
5963         Suppresses a GCC warning.
5964
5965 2001-01-13  Martin Buchholz  <martin@xemacs.org>
5966
5967         Make sure future compilers don't miscompile alloc.c.
5968         * alloc.c:
5969         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
5970         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
5971
5972 2001-01-12  Martin Buchholz  <martin@xemacs.org>
5973
5974         * dumper.c: A little post-pdump-rename comment fixup.
5975
5976 2001-01-09  Jerry James  <james@eecs.ku.edu>
5977
5978         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
5979
5980 2001-01-13  Martin Buchholz  <martin@xemacs.org>
5981
5982         * *.[ch]: Globally rename symbols using the following `pdump-rename'
5983         script:
5984         #!/bin/sh
5985         replace_symbol () {
5986           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
5987         }
5988
5989         replace_symbol pdump_wire_lists pdump_weak_object_chains
5990         replace_symbol pdump_wire_list dump_add_weak_object_chain
5991
5992         replace_symbol pdump_wires pdump_root_objects
5993         replace_symbol pdump_wire dump_add_root_object
5994
5995         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
5996         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
5997
5998         replace_symbol dumpstructinfos pdump_root_struct_ptrs
5999         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
6000         replace_symbol dumpstructinfo pdump_root_struct_ptr
6001         replace_symbol dumpstruct dump_add_root_struct_ptr
6002
6003         replace_symbol dumpopaque dump_add_opaque
6004         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
6005         replace_symbol dumpopaqueinfos pdump_opaques
6006         replace_symbol dumpopaqueinfo pdump_opaque
6007
6008         replace_symbol nb_structdump nb_root_struct_ptrs
6009         replace_symbol nb_opaquedump nb_opaques
6010
6011         replace_symbol align_table pdump_align_table
6012         replace_symbol dump_header pdump_header
6013
6014         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
6015         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
6016
6017
6018 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6019
6020         * s/aix4.h: Keep the C for AIX compiler from overaggressively
6021         optimizing bytecount_to_charcount().
6022
6023 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6024
6025         * config.h.in:
6026         (HAVE_DLFCN_H): Removed.
6027         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
6028
6029 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6030
6031         Portable dumper maintainability improvements.
6032         * alloc.c (staticpro):
6033         * alloc.c (staticpro_nodump):
6034         * alloc.c (garbage_collect_1):
6035         * alloc.c (reinit_alloc_once_early):
6036         * alloc.c (init_alloc_once_early):
6037         * alloc.c: Move dumper functions to alloc.c.
6038         * dumper.c (pdump_backtrace):
6039         * dumper.c (pdump_dump_structs):
6040         * dumper.c (pdump_dump_opaques):
6041         * dumper.c (pdump_dump_rtables):
6042         * dumper.c (pdump_dump_wired):
6043         * dumper.c (pdump):
6044         * dumper.c (pdump_load_check):
6045         * dumper.c (pdump_load_finish):
6046         * dumper.c (pdump_file_unmap):
6047         * dumper.c (pdump_file_get):
6048         * dumper.c (pdump_resource_free):
6049         * dumper.c (pdump_resource_get):
6050         * dumper.c (pdump_file_free):
6051         * dumper.c (pdump_file_try):
6052         * dumper.c (pdump_load):
6053         Remove fixed size limits on staticpro(), staticpro_nodump(),
6054         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
6055         Remove custom code for dumping lrecord_implementations_table - use
6056         dumpopaque instead.
6057         Remove (most of the) custom code for dumping staticpros - dump it
6058         like any other dynarr.
6059
6060         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
6061         * dumper.c: Moved functions from alloc.c.
6062         * alloc.c (dumpstruct): Moved to dumper.c.
6063         * alloc.c (dumpopaque): Likewise.
6064         * alloc.c (pdump_wire): Likewise.
6065         * alloc.c (pdump_wire_list): Likewise.
6066
6067         * lisp.h (Dynarr_sizeof): New.
6068         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
6069         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
6070         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
6071
6072         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
6073         * lisp.h (dumpopaque): ditto.
6074         * lisp.h (pdump_wire): ditto.
6075         * lisp.h (pdump_wire_list): ditto.
6076
6077 2001-01-09  Martin Buchholz  <martin@xemacs.org>
6078
6079         * make-src-depend (PrintPatternDeps):
6080         Use `sort' to make output independent of perl version.
6081
6082 2001-01-08  Martin Buchholz  <martin@xemacs.org>
6083
6084         Port to Netbsd 1.5.
6085         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
6086         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
6087
6088 2001-01-03  Didier Verna  <didier@xemacs.org>
6089
6090         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
6091         that `focus_frame' is alive before thinking of calling
6092         `redisplay_redraw_cursor' on it.
6093
6094 2001-01-08  Martin Buchholz <martin@xemacs.org>
6095
6096         * XEmacs 21.2.40 is released.
6097
6098 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6099
6100         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
6101
6102 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6103
6104         * alloc.c (dbg_valmask): Make const.
6105         * alloc.c (dbg_typemask): Make const.
6106         * alloc.c (dbg_USE_UNION_TYPE): Make const.
6107         * alloc.c (dbg_valbits): Make const.
6108         * alloc.c (dbg_gctypebits): Make const.
6109
6110 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
6111
6112         * redisplay-x.c (x_bevel_area):
6113         redisplay.h (struct rune):
6114         Typo fixes in comments.
6115
6116 2001-01-05  Andy Piper  <andy@xemacs.org>
6117
6118         * glyphs-x.c (x_redisplay_widget): use size changed for offset
6119         adjustment.
6120
6121         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
6122
6123 2001-01-05  Martin Buchholz  <martin@xemacs.org>
6124
6125         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
6126
6127         * mule-ccl.c (stack_idx_of_map_multiple):
6128         Non const global data must not be initialized!
6129         Found by MIYASHITA Hisashi.
6130
6131 2001-01-02  Andy Piper  <andy@xemacs.org>
6132
6133         * frame.c (change_frame_size): make sure frame size is always
6134         marked as changed.
6135
6136         * glyphs.c (image_instance_layout): minor code reuse.
6137
6138         * window.c (Fcurrent_window_configuration): revert previous
6139         change.
6140
6141 2001-01-02  Martin Buchholz  <martin@xemacs.org>
6142
6143         * glyphs.h:
6144         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
6145
6146 2000-12-31  Andy Piper  <andy@xemacs.org>
6147
6148         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
6149         when widget gets unmapped.
6150
6151         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
6152         function. Make sure widgets losing focus don't just drop it.
6153         (handle_focus_event_1): record the widget with focus.
6154
6155 2000-12-31  Andy Piper  <andy@xemacs.org>
6156
6157         * window.c (allocate_window): use
6158         make_image_instance_cache_hash_table.
6159         (make_dummy_parent): ditto.
6160         (Fset_window_configuration): ditto.
6161
6162         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
6163
6164         * glyphs.c (process_image_string_instantiator): use
6165         INSTANTIATOR_TYPE.
6166         (get_image_instantiator_governing_domain): ditto.
6167         (normalize_image_instantiator): ditto.
6168         (instantiate_image_instantiator): ditto.
6169         (make_image_instance_1): ditto.
6170         (image_instantiate): ditto. Key on glyph *and* instantiator type.
6171         (instantiator_eq_equal): new function for use with instance hash
6172         tables.
6173         (instantiator_eq_hash): ditto.
6174         (make_image_instance_cache_hash_table): create a suitable hash
6175         table for storing image instances.
6176
6177         * elhash.h (hash_table_weakness): new internal weakness type
6178         HASH_TABLE_KEY_CAR_VALUE_WEAK.
6179         declare new functions.
6180
6181         * elhash.c (finish_marking_weak_hash_tables): introduce yet
6182         another weakness type for glyphs.
6183         (make_standard_lisp_hash_table): new function split out from
6184         make_general_lisp_hash_table.
6185         (make_lisp_hash_table): call make_standard_lisp_hash_table.
6186         (hash_table_instantiate): ditto.
6187         (Fmake_hash_table): ditto.
6188
6189 2000-12-31  Martin Buchholz <martin@xemacs.org>
6190
6191         * XEmacs 21.2.39 is released.
6192
6193 2000-12-29  Andy Piper  <andy@xemacs.org>
6194
6195         * menubar.c (menubar_visible_p_changed): signal the frame changed.
6196
6197         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
6198         the frame has changed so that we pick up geometry changes such as
6199         menubar visibility.
6200
6201 2000-12-28  Andy Piper  <andy@xemacs.org>
6202
6203         * lastfile.c (my_ebss): make a char array so we can pad the
6204         bss. Fixes cygwin unexec.
6205
6206         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
6207
6208 2000-12-26  Andy Piper  <andy@xemacs.org>
6209
6210         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
6211         comments and try and be more precise about a non-/SIGIO world.
6212         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
6213         SIGIO.
6214
6215         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
6216         we don't normalize to zero width or height.
6217
6218 2000-12-24  Andy Piper  <andy@xemacs.org>
6219
6220         * Makefile.in.in (ldflags): add -mwindows when appropriate.
6221
6222 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
6223
6224         * s/sco5.h: SCO 5 has pty support.
6225
6226 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
6227
6228         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
6229         input-method-xlib.c contains whole contents of input-method-xfs.c,
6230         so we can use input-method-xlib.c's code for USE_XFONTSET
6231         using #ifdefs.
6232         * input-method-xfs.c: removed.
6233
6234 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
6235
6236         * file-coding.h (enum coding_category_type): reorder enumerators to
6237         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
6238         (now one greater than largest real coding_category_type enumerator).
6239         * file-coding.c (coding_category_symbol, coding_category_by_priority,
6240         coding_category_system, fcd_descriptihon_1, decode_coding_category,
6241         Fcoding_category_list, Fset_coding_priority_list,
6242         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
6243         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
6244
6245 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6246
6247         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
6248         * redisplay-output.c (redisplay_output_window): Clear top of window
6249         when face is changed.
6250         * redisplay-x.c (x_redraw_exposed_window): Call
6251         redisplay_clear_top_of_window.
6252         * redisplay.h: Publish redisplay_clear_top_of_window.
6253
6254 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6255
6256         * buffer.c (Fkill_buffer): Map over all devices.
6257         * window.c (window_loop): Remove UNSHOW_BUFFER code.
6258         (list_windows): New function.
6259         (list_all_windows): Ditto.
6260         (Freplace_buffer_in_windows): Use them.
6261
6262 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
6263
6264         * database.c (berkdb_subtype): Recognize new subtype `queue'.
6265         (Fopen_database): Use `db_create' instead of `db_open'.
6266         (syms_of_database): Initialize Qqueue.
6267
6268 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
6269
6270         * buffer.c (common_init_complex_vars_of_buffer): Initialize
6271         buffer_local_face_property.
6272         * buffer.h (struct buffer): New member buffer_local_face_property.
6273         * window.c (Fset_window_buffer):  Mark window's face as changed
6274         when buffer has buffer local face.
6275         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
6276         * objects.c (color_after_change): Set buffer_local_face_property
6277         when locale of face specifier is buffer.
6278         * objects.c (font_after_change): Ditto.
6279         * objects.c (face_boolean_after_change): Ditto.
6280         * glyphs.c (image_after_change): Ditto.
6281
6282 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6283
6284         * nt.c (mswindows_fstat): Report file permissions, volume serial
6285         number, etc. Code adapted from FSF Emacs 20.7.
6286
6287 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6288
6289         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
6290         of stat when we don't have symbolic links, to make sure
6291         mswindows_stat is called on mswindows.
6292
6293 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6294
6295         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
6296
6297 2000-12-12  Martin Buchholz  <martin@xemacs.org>
6298
6299         * doprnt.c (emacs_doprnt_1): More printing fixes.
6300         Make printing of numbers compatible with libc and FSF Emacs.
6301         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
6302         Use the system printf to do most of the hard work of formatting,
6303         instead of doprnt_1().
6304         Calculate memory to allocate for format string.
6305         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
6306         (doprnt_1): Cleaner code and documentation.
6307
6308 2000-12-01  Jerry James  <james@eecs.ukans.edu>
6309
6310         * Makefile.in.in: Use the loop variable to install headers.
6311
6312 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6313
6314         * window.c (Fsplit_window): Don't invalidate face cache.
6315
6316 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6317
6318         * minibuf.c (Fall_completions): Undo the previous change
6319         which removed checking elements start with space.
6320
6321 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6322
6323         * mule-canna.c: Didier suppression.
6324
6325 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6326
6327         * mule-canna.c: rename static unsigned char buf[] to key_buffer
6328         (warning suppression).  Add English comment translations.
6329
6330 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6331
6332         * unexelfsgi.c (unexec): Better test for mmap failure.
6333
6334 2000-12-05  Martin Buchholz <martin@xemacs.org>
6335
6336         * XEmacs 21.2.38 is released.
6337
6338 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6339
6340         * redisplay.c (bar-cursor): Make a user variable.
6341
6342         * symsinit.h: Add init_postgresql_from_environment.
6343
6344 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6345
6346         * regex.c: Convert to clean C.
6347
6348 2000-12-05  Dan Holmsand  <dan@eyebee.com>
6349
6350         * realpath.c:
6351         Don't #include sysfile.h. Revert to duplicating PATH_MAX
6352         initialization.
6353         (sys_readlink): renamed to system_readlink to avoid conflict with
6354         the other sys_readlink.
6355
6356 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
6357
6358         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
6359
6360 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
6361
6362         * postgresql.c (init_postgresql_from_environment): new function.
6363         (vars_of_postgresql): Move code initializing Lisp variables out and
6364         into init_postgresql_from_environment.
6365         emacs.c (main_1): Call init_postgresql_from_environment if and only
6366         if running a dumped XEmacs.
6367
6368 2000-08-31  Dan Holmsand  <dan@eyebee.com>
6369
6370         * buffer.c: Make find-file-compare-truenames default to true on
6371         windows.
6372
6373         * realpath.c (win32_abs_start):
6374         (cygwin_readlink):
6375         (win32_readlink): New functions.
6376         (xrealpath): Return really real filenames on windows.
6377
6378         * fileio.c (Ffile_truename): Make file-truename work on windows.
6379
6380 2000-11-29  Didier Verna  <didier@xemacs.org>
6381
6382         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
6383         * faces.c (update_face_cachel_data): use it.
6384         * faces.c (add_face_cachel): use it. Complete background pixmap
6385         frobbing in face cache if `update_face_cachel_data' has not done so.
6386
6387 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
6388
6389         * search.c (string_match_1): Don't set last_thing_searched
6390         when search failed.
6391
6392 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
6393
6394         * buffer.c: Include casetab.h
6395         (common_init_complex_vars_of_buffer): Use new case-table object.
6396         * buffer.h: Include casetab.h
6397         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
6398         (DOWNCASE_TABLE_OF): Ditto.
6399         * bufslots.h: Remove char-tables and add case-table.
6400         * casetab.c: Include casetab.h
6401         (CASE_TABLE_P): Removed.
6402         (mark_case_table): New function.
6403         (allocate_case_table): New function.
6404         (Fcase_table_p): Use new case-table.
6405         (case_table_char): New function.
6406         (Fget_case_table): Ditto.
6407         (Fput_case_table): Ditto.
6408         (Fput_case_table_pair): Ditto.
6409         (Fcopy_case_table): Ditto.
6410         (Fcurrent_case_table): Return case-table.
6411         (Fstandard_case_table): Return case-table.
6412         (Fset_case_table): Fix doc-string.
6413         (set_case_table): Use case-table
6414         (syms_of_casetab): DEFSUBR new functions.
6415         (complex_vars_of_casetab): Set up standard case-table.
6416         * casetab.h: New file.
6417         * editfns.c: Include casetab.h
6418         (Fcompare_buffer_substrings): Use case-table.
6419         * inline.c: Include casetab.h
6420         * lisp.h: Remove bogus extern.
6421         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
6422         * search.c: Include casetab.h
6423         (TRANSLATE_ASCII): Removed.
6424         (TRANSLATE): Unconditionally translate character.
6425         (looking_at_1): Use case-table.
6426         (string_match_1): Ditto.
6427         (fast_string_match): Ditto.
6428         (search_command): Ditto.
6429         (search_buffer): Separate boyer_moore.  Check whether
6430         boyer_moore is possible.
6431         (simple_search): New function.
6432         (boyer_moore): Separated from search_buffer. Translate char.
6433
6434 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
6435
6436         * regex.c (RE_TR_ASCII): Removed.
6437         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
6438         (PATFETCH): Call PATFETCH_RAW.
6439         (PATFETCH_RAW): Fetch Emchar.
6440         (PATUNFETCH): Decrement charptr.
6441         (GET_BUFFER_SPACE): Rename b to buf_end.
6442         (BUF_PUSH): Ditto.
6443         (BUF_PUSH_2): Ditto.
6444         (BUF_PUSH_3): Ditto.
6445         (EXTEND_BUFFER): Ditto.
6446         (SET_LIST_BIT): Ditto.
6447         (regex_compile): Ditto.  Translate non ASCII char.
6448         (compile_range): Ditto.
6449         (re_search_2): Ditto.
6450         (re_match_2_internal): Compare Emchar.
6451         (bcmp_translate): Ditto.
6452
6453 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
6454
6455         * lisp.h (basic char/int typedefs):  comment improvement.
6456
6457 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
6458
6459         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
6460         unstomp inhibit_site_lisp.  Improve comments.
6461
6462 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
6463
6464         * mule-charset.c (Fcharset_property):  improve type checking, comments.
6465
6466 2000-11-28  Andy Piper  <andy@xemacs.org>
6467
6468         * redisplay-output.c (redisplay_output_subwindow): make sure we do
6469         clipped display for windows in the gutter also.
6470         (redisplay_display_boxes_in_window_p): change semantics of return
6471         codes to be more intuitive.
6472
6473         * gutter.h: declare display_boxes_in_gutter_p.
6474
6475         * gutter.c (display_boxes_in_gutter_p): new function for
6476         redisplay.
6477
6478 2000-11-22  Andy Piper  <andy@xemacs.org>
6479
6480         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
6481         autodetect domain.
6482
6483 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
6484
6485         * callproc.c (Fold_call_process_internal):
6486         * gpm.c (Freceive_gpm_event):
6487         (tty_get_foreign_selection): Might be just warning supression.
6488         * fileio.c (Fwrite_region_internal):
6489         (Fset_visited_file_modtime):
6490         * keymap.c (event_matches_key_specifier_p):
6491         Initialize GCPROed variable.
6492
6493         * menubar-x.c (command_builder_find_menu_accelerator):
6494         Initialize before use.
6495
6496 2000-11-23  Andy Piper  <andy@xemacs.org>
6497
6498         * unexcw.c (unexec): make the resulting executable executable.
6499
6500 2000-11-21  Martin Buchholz  <martin@xemacs.org>
6501
6502         * doc.c (get_doc_string):
6503         Use size_t, not int, for result of XSTRING_LENGTH.
6504
6505         * cmds.c (Fdelete_char):
6506         * cmds.c (Fpoint_at_eol):
6507         * cmds.c (Fself_insert_command):
6508         Use EMACS_INT, not int, for result of XINT.
6509         Someday, someone will want to insert more than 2**31 identical characters.
6510
6511         * cmds.c (Fdelete_char):
6512         * cmds.c (Fdelete_backward_char):
6513         * syntax.c (Fforward_word):
6514         * syntax.c (Fforward_comment):
6515         Make COUNT argument optional, for consistency with forward-char et al.
6516
6517 2000-11-22  Martin Buchholz  <martin@xemacs.org>
6518
6519         * lisp.h:
6520         * print.c (long_to_string):
6521         Return a useful value: the pointer at end of data written.
6522
6523         * doprnt.c:
6524         Use `static const char * const' for constant strings.
6525         (union printf_arg): Delete `i', `ui' members.
6526         (get_doprnt_args):
6527         (emacs_doprnt_1):
6528         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
6529         Do all printf-ing via the `l' specifier.
6530         Use EMACS_INT instead of int.
6531         Optimize.
6532
6533 2000-11-20  Didier Verna  <didier@xemacs.org>
6534
6535         * faces.c (update_face_cachel_data): don't frob the background
6536         pixmap when the window is being created. The face is needed but
6537         does not exist yet.
6538
6539 2000-11-20  Andy Piper  <andy@xemacs.org>
6540
6541         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
6542         messing with a debug environment.
6543
6544 2000-11-20  Martin Buchholz  <martin@xemacs.org>
6545
6546         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
6547
6548 2000-11-20  Martin Buchholz  <martin@xemacs.org>
6549
6550         * casetab.c (Fcase_table_p): Fix compile error and crash.
6551
6552 2000-11-18  Philip Aston  <philipa@mail.com>
6553
6554         * s/cygwin32.h: Cygwin has SVR4-like pty support.
6555
6556 2000-11-18  Martin Buchholz  <martin@xemacs.org>
6557
6558         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
6559         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
6560
6561 2000-11-17  Martin Buchholz  <martin@xemacs.org>
6562
6563         * config.h.in: Define HAVE_ELF_H if elf.h exists.
6564         * unexelf.c: Use HAVE_ELF_H.
6565         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
6566         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
6567         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
6568         Greg Harrington <greg_harrington@hotmail.com> provided a machine
6569         for testing.
6570         So this is an unexelfsgi.c from a different line of development.
6571
6572 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
6573
6574         * regex.c (RE_TR_ASCII): New function.
6575         (RE_TRANSLATE): Call it.
6576
6577 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
6578
6579         * buffer.h (TRT_TABLE_OF): Remove assert.
6580         (IN_TRT_TABLE_DOMAIN): Removed.
6581
6582 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6583
6584         * free-hook.c (log_gcpro):
6585         (show_gcprohist): Add support for GCPRO5.
6586
6587 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
6588
6589         * emacs.c (main_1): Improve -sd error message when --pdump=no.
6590
6591 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
6592
6593         * symeval.h: Declare flush_all_buffer_local_cache.
6594
6595         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
6596         (flush_buffer_local_cache): Added.
6597         (flush_all_buffer_local_cache): Added.
6598
6599         * lrecord.h: Remove unused XD_LO_RESET_NIL.
6600
6601         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
6602         (pdump_dump_data): Ditto.
6603         (pdump_reloc_one): Ditto.
6604         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
6605         before dumping.
6606
6607
6608 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
6609
6610         * buffer.c: Remove if 0'ed entry.
6611         * buffer.h: Rewrite TRT to use char-table.
6612         * bufslots.h: Remove mirror tables.
6613         * casetab.c: Remove mirror tables.
6614         (CASE_TABLE_P): New macro.
6615         (Fcase_table_p): Element of a case table is string or char-table.
6616         (make_mirror_trt_table): Removed.
6617         (set_case_table): Setup char-table from strings for backward
6618         compatibility.
6619         * dired.c (Fdirectory_files):
6620         * dired-msw.c: (mswindows_get_files):
6621         * lisp.h: Change prototype of re_pattern_buffer.
6622         * regex.c: (RE_TRANSLATE): New macro.
6623         (TRANSLATE_P): Ditto.
6624         Change translate to type RE_TRANSLATE_TYPE.
6625         * regex.h: Define RE_TRANSLATE_TYPE
6626         * search.c (TRANSLATE): New macro.
6627         (TRANSLATE_ASCII): New macro.
6628         Translate table is changed to Lisp_Object.
6629         (signal_failure): Inhibit return.
6630
6631 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
6632
6633         * device-msw.c:
6634         * eldap.c:
6635         * event-Xt.c:
6636         * event-stream.c:
6637         * print.c:
6638         Do UNGCPRO before return.
6639
6640 2000-11-14  Martin Buchholz <martin@xemacs.org>
6641
6642         * XEmacs 21.2.37 is released.
6643
6644 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
6645
6646         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
6647         Add comments about discarded return value.
6648
6649 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
6650
6651         * callint.c:
6652         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
6653
6654 2000-10-27  Andy Piper  <andy@xemacs.org>
6655
6656         * gutter.c (Fset_default_gutter_position): default left and right
6657         gutters to visible.
6658         (calculate_gutter_size): calculate resonable heuristic for left
6659         and right gutter sizes.
6660         (specifier_vars_of_gutter): change left and right gutter sizes to
6661         autodetect.
6662         (calculate_gutter_size_from_display_lines): new function.
6663         (output_gutter): check for resizing on left and right gutters.
6664         (clear_gutter): don't special case top and left gutters.
6665         (specifier_vars_of_gutter): use new signature for
6666         set_specifier_caching.
6667
6668         * glyphs-x.c (x_redisplay_widget): spelling fix.
6669         * glyphs.c (specifier_vars_of_glyphs):
6670         * menubar.c (specifier_vars_of_menubar):
6671         * redisplay.c (specifier_vars_of_redisplay):
6672         * toolbar.c (specifier_vars_of_toolbar):
6673         * window.c (specifier_vars_of_window):
6674         * scrollbar.c (specifier_vars_of_scrollbar):
6675         (complex_vars_of_scrollbar): use new signature for
6676         set_specifier_caching.
6677
6678         * specifier.c (set_specifier_caching): include recompute flag.
6679         (recompute_one_cached_specifier_in_window): always recompute if
6680         flag set.
6681         (recompute_one_cached_specifier_in_frame): ditto.
6682
6683         * specifier.h (struct specifier_caching): add recompute flag.
6684
6685 2000-10-24  Andy Piper  <andy@xemacs.org>
6686
6687         * unexcw.c (copy_executable_and_dump_data_section): add new
6688         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
6689         5.0 happy.
6690
6691 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
6692
6693         * console-x.h (x_device): New member modifier_release_time.
6694         * event-Xt.c (x_handle_sticky_modifiers):
6695         Bound interval modifier keys are sticky.
6696         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
6697         * events.h: extern it.
6698
6699 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
6700
6701         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
6702
6703 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
6704
6705         * event-stream.c (execute_command_event): Preserve current_events
6706         and the like when event is misc-user-event.
6707         Inhibit quit during the call to maybe_echo_keys.
6708
6709 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6710
6711         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
6712         symlink when buffer is killed.
6713         (inhibit_clash_detection): New variable.
6714
6715 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
6716
6717         * console.c (Fset_input_method): Trigger redisplay on tty.
6718
6719 2000-11-07  Martin Buchholz  <martin@xemacs.org>
6720
6721         * process.c (Fprocess_status): Revert to previous behavior:
6722         (process-status "nosuchprocess") ==> nil
6723
6724 2000-11-06  Martin Buchholz  <martin@xemacs.org>
6725
6726         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
6727         Work around another GCC 2.95.2 optimizer bug.
6728
6729 2000-11-02  Martin Buchholz  <martin@xemacs.org>
6730
6731         * process.c (Fget_process): Use LIST_LOOP_2.
6732         (kill_buffer_processes): Use LIST_LOOP_2.
6733
6734         * minibuf.c (Fall_completions):
6735         Delete old non-functional code for FSF fourth argument.
6736
6737         * frame.c (frame_matches_frame_spec):
6738         Renamed from `frame_matches_frametype'.  Update all callers.
6739         (device_matches_device_spec):
6740         Renamed from 'device_matches_console_spec'.  Update all callers.
6741
6742         * doc.c (Fsubstitute_command_keys):
6743         Remove buffer overflow crash.  Small code cleanups.
6744
6745         * casetab.c (check_case_table): Simpler code.
6746
6747         * window.c (Freplace_buffer_in_windows):
6748         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
6749         (and similar implementation) as Fdelete_windows_on.
6750         Update all callers.
6751
6752         * alloc.c (Fmake_list):
6753         * alloc.c (make_vector):
6754         * alloc.c (Fmake_vector):
6755         * alloc.c (make_bit_vector):
6756         * alloc.c (Fmake_bit_vector):
6757         * alloc.c (Fbit_vector):
6758         * alloc.c (Fmake_string):
6759         * alloc.c (Fpurecopy):
6760         * alloc.c (Fmemory_limit):
6761         * buffer.c:
6762         * buffer.c (Fget_buffer):
6763         * buffer.c (Fkill_buffer):
6764         * buffer.c (complex_vars_of_buffer):
6765         * bytecode.c (Fcompiled_function_stack_depth):
6766         * callint.c (Fprefix_numeric_value):
6767         * event-stream.c:
6768         * event-stream.c (Fread_key_sequence):
6769         * casetab.c:
6770         * casetab.c (Fcase_table_p):
6771         * casetab.c (check_case_table):
6772         * casetab.c (Fset_case_table):
6773         * casetab.c (Fset_standard_case_table):
6774         * chartab.c:
6775         * chartab.c (Fchar_table_type):
6776         * chartab.c (Freset_char_table):
6777         * chartab.c (Fget_char_table):
6778         * chartab.c (Fget_range_char_table):
6779         * chartab.c (Fput_char_table):
6780         * chartab.c (Fmap_char_table):
6781         * chartab.c (Fcategory_table_p):
6782         * chartab.c (Fcheck_category_at):
6783         * chartab.c (Fchar_in_category_p):
6784         * chartab.c (Fcategory_table):
6785         * chartab.c (Fcopy_category_table):
6786         * chartab.c (Fset_category_table):
6787         * chartab.c (Fcategory_designator_p):
6788         * chartab.c (Fcategory_table_value_p):
6789         * cmds.c (Fdelete_char):
6790         * cmds.c (Fdelete_backward_char):
6791         * cmds.c (Fself_insert_command):
6792         * cmds.c (Fself_insert_internal):
6793         * console.c (Fvalid_console_type_p):
6794         * console.c (Fcdfw_console):
6795         * console.c (Fconsole_type):
6796         * console.c (Fconsole_name):
6797         * console.c (Fconsole_device_list):
6798         * console.c (Fconsole_on_window_system_p):
6799         * data.c:
6800         * data.c (Feq):
6801         * data.c (Fold_eq):
6802         * data.c (Fsubr_interactive):
6803         * data.c (Fchar_to_int):
6804         * data.c (Fint_to_char):
6805         * data.c (Fsetcar):
6806         * data.c (Fsetcdr):
6807         * data.c (Fnumber_to_string):
6808         * data.c (Fstring_to_number):
6809         * data.c (Frem):
6810         * database.c (mark_database):
6811         * database.c (finalize_database):
6812         * database.c (Fdatabase_live_p):
6813         * database.c (Fdatabasep):
6814         * device-x.c (Fx_get_resource):
6815         * device.c (Fdfw_device):
6816         * dired.c:
6817         * dired.c (Ffile_name_completion):
6818         * dired.c (Ffile_name_all_completions):
6819         * dired.c (Fuser_name_completion):
6820         * dired.c (Fuser_name_completion_1):
6821         * dired.c (Fuser_name_all_completions):
6822         * doc.c (Fdocumentation):
6823         * doc.c (Fdocumentation_property):
6824         * doc.c (Fsubstitute_command_keys):
6825         * editfns.c:
6826         * editfns.c (Fchar_to_string):
6827         * editfns.c (Fstring_to_char):
6828         * editfns.c (Ftemp_directory):
6829         * editfns.c (Finsert_char):
6830         * editfns.c (Fbuffer_substring_no_properties):
6831         * editfns.c (Fnarrow_to_region):
6832         * editfns.c (Fchar_equal):
6833         * editfns.c (Fchar_Equal):
6834         * editfns.c (Ftranspose_regions):
6835         * emacs.c (Fdump_emacs):
6836         * eval.c (Fthrow):
6837         * eval.c (Fcommand_execute):
6838         * eval.c (Fautoload):
6839         * eval.c (Fbacktrace):
6840         * eval.c (Fbacktrace_frame):
6841         * events.c:
6842         * events.c (Fcopy_event):
6843         * events.c (Fcharacter_to_event):
6844         * events.c (Fevent_button):
6845         * events.c (Fevent_process):
6846         * extents.c:
6847         * extents.c (Fnext_extent_change):
6848         * extents.c (Fextent_property):
6849         * faces.c (Ffacep):
6850         * faces.c (Fmake_face):
6851         * file-coding.c:
6852         * file-coding.c (Fencode_shift_jis_char):
6853         * file-coding.c (Fencode_big5_char):
6854         * fileio.c (Ffile_name_directory):
6855         * fileio.c (Ffile_name_nondirectory):
6856         * fileio.c (Ffile_name_as_directory):
6857         * fileio.c (Fdirectory_file_name):
6858         * fileio.c (Ffile_truename):
6859         * fileio.c (Fsubstitute_in_file_name):
6860         * fileio.c (Ffile_modes):
6861         * fileio.c (Fset_file_modes):
6862         * fileio.c (Fset_default_file_modes):
6863         * fileio.c (Fverify_visited_file_modtime):
6864         * floatfns.c (Facos):
6865         * floatfns.c (Fasin):
6866         * floatfns.c (Fatan):
6867         * floatfns.c (Fcos):
6868         * floatfns.c (Fsin):
6869         * floatfns.c (Ftan):
6870         * floatfns.c (Fbessel_j0):
6871         * floatfns.c (Fbessel_j1):
6872         * floatfns.c (Fbessel_jn):
6873         * floatfns.c (Fbessel_y0):
6874         * floatfns.c (Fbessel_y1):
6875         * floatfns.c (Fbessel_yn):
6876         * floatfns.c (Ferf):
6877         * floatfns.c (Ferfc):
6878         * floatfns.c (Flog_gamma):
6879         * floatfns.c (Fexp):
6880         * floatfns.c (Fexpt):
6881         * floatfns.c (Flog):
6882         * floatfns.c (Flog10):
6883         * floatfns.c (Fsqrt):
6884         * floatfns.c (Fcube_root):
6885         * floatfns.c (Facosh):
6886         * floatfns.c (Fasinh):
6887         * floatfns.c (Fatanh):
6888         * floatfns.c (Fcosh):
6889         * floatfns.c (Fsinh):
6890         * floatfns.c (Ftanh):
6891         * floatfns.c (Fabs):
6892         * floatfns.c (Ffloat):
6893         * floatfns.c (Flogb):
6894         * floatfns.c (Fceiling):
6895         * floatfns.c (Ffloor):
6896         * floatfns.c (Fround):
6897         * floatfns.c (Ftruncate):
6898         * floatfns.c (Ffceiling):
6899         * floatfns.c (Fffloor):
6900         * floatfns.c (Ffround):
6901         * floatfns.c (Fftruncate):
6902         * fns.c (Fstring_equal):
6903         * fns.c (Fstring_lessp):
6904         * fns.c (concat2):
6905         * fns.c (concat3):
6906         * fns.c (vconcat2):
6907         * fns.c (vconcat3):
6908         * fns.c (Fsubstring):
6909         * fns.c (Fassoc):
6910         * fns.c (Fold_assoc):
6911         * fns.c (assoc_no_quit):
6912         * fns.c (Fassq):
6913         * fns.c (Fold_assq):
6914         * fns.c (assq_no_quit):
6915         * fns.c (Frassoc):
6916         * fns.c (Fold_rassoc):
6917         * fns.c (Frassq):
6918         * fns.c (Fold_rassq):
6919         * fns.c (rassq_no_quit):
6920         * fns.c (Fremassoc):
6921         * fns.c (remassoc_no_quit):
6922         * fns.c (Fremassq):
6923         * fns.c (remassq_no_quit):
6924         * fns.c (Fremrassoc):
6925         * fns.c (Fremrassq):
6926         * fns.c (remrassq_no_quit):
6927         * fns.c (Fsort):
6928         * fns.c (Fplist_get):
6929         * fns.c (Fplist_put):
6930         * fns.c (Fplist_remprop):
6931         * fns.c (Fplist_member):
6932         * fns.c (Flax_plist_get):
6933         * fns.c (Flax_plist_put):
6934         * fns.c (Flax_plist_remprop):
6935         * fns.c (Flax_plist_member):
6936         * fns.c (Fequal):
6937         * fns.c (Fold_equal):
6938         * fns.c (Frequire):
6939         * fns.c (Fbase64_encode_region):
6940         * fns.c (Fbase64_encode_string):
6941         * fns.c (Fbase64_decode_region):
6942         * frame.c:
6943         * frame.c (frame_matches_frame_spec):
6944         * frame.c (device_matches_device_spec):
6945         * frame.c (next_frame):
6946         * frame.c (previous_frame):
6947         * frame.c (Fnext_frame):
6948         * frame.c (Fprevious_frame):
6949         * frame.c (Fframe_property):
6950         * frame.c (Fset_frame_height):
6951         * frame.c (Fset_frame_size):
6952         * frame.h:
6953         * glyphs.c:
6954         * glyphs.c (if):
6955         * glyphs.c (decode_error_behavior_flag):
6956         * glyphs.c (Fmake_image_instance):
6957         * indent.c (Findent_to):
6958         * intl.c (Fignore_defer_gettext):
6959         * keymap.c (Fkeymapp):
6960         * keymap.c (Flookup_key):
6961         * lread.c:
6962         * lread.c (Fload_internal):
6963         * lread.c (Feval_buffer):
6964         * lread.c (Feval_region):
6965         * macros.c (Fexecute_kbd_macro):
6966         * marker.c (set_marker_internal):
6967         * marker.c (Fset_marker):
6968         * marker.c (set_marker_restricted):
6969         * marker.c (Fcopy_marker):
6970         * marker.c (noseeum_copy_marker):
6971         * menubar.c:
6972         * menubar.c (Fpopup_menu):
6973         * minibuf.c:
6974         * mule-charset.c (Fcharset_name):
6975         * mule-charset.c (Fchar_charset):
6976         * mule-charset.c (Fchar_octet):
6977         * mule-charset.c (Fsplit_char):
6978         * mule-wnnfns.c (Fwnn_open):
6979         * mule-wnnfns.c (Fwnn_dict_comment):
6980         * mule-wnnfns.c (Fwnn_quit_henkan):
6981         * mule-wnnfns.c (Fwnn_word_toroku):
6982         * mule-wnnfns.c (Fwnn_word_sakujo):
6983         * mule-wnnfns.c (Fwnn_word_use):
6984         * mule-wnnfns.c (Fwnn_hindo_set):
6985         * objects.c:
6986         * objects.c (Fmake_color_instance):
6987         * objects.c (Fmake_font_instance):
6988         * print.c (Fwrite_char):
6989         * process.c:
6990         * process.c (mark_process):
6991         * process.c (print_process):
6992         * process.c (get_process_from_usid):
6993         * process.c (Fprocessp):
6994         * process.c (Fprocess_live_p):
6995         * process.c (Fget_process):
6996         * process.c (Fget_buffer_process):
6997         * process.c (get_process):
6998         * process.c (Fprocess_id):
6999         * process.c (Fprocess_name):
7000         * process.c (Fprocess_command):
7001         * process.c (init_process_io_handles):
7002         * process.c (start_process_unwind):
7003         * process.c (Fstart_process_internal):
7004         * process.c (Fopen_multicast_group_internal):
7005         * process.c (Fset_process_window_size):
7006         * process.c (read_process_output):
7007         * process.c (send_process):
7008         * process.c (Fprocess_tty_name):
7009         * process.c (Fset_process_buffer):
7010         * process.c (Fprocess_buffer):
7011         * process.c (Fprocess_mark):
7012         * process.c (set_process_filter):
7013         * process.c (Fset_process_filter):
7014         * process.c (Fprocess_filter):
7015         * process.c (Fprocess_send_region):
7016         * process.c (Fprocess_send_string):
7017         * process.c (exec_sentinel):
7018         * process.c (Fset_process_sentinel):
7019         * process.c (Fprocess_sentinel):
7020         * process.c (status_notify):
7021         * process.c (Fprocess_status):
7022         * process.c (Fprocess_exit_status):
7023         * process.c (process_send_signal):
7024         * process.c (Fprocess_send_eof):
7025         * process.c (deactivate_process):
7026         * process.c (remove_process):
7027         * process.c (Fdelete_process):
7028         * process.c (kill_buffer_processes):
7029         * process.c (Fprocess_kill_without_query):
7030         * process.c (Fprocess_kill_without_query_p):
7031         * rangetab.c:
7032         * rangetab.c (Fget_range_table):
7033         * rangetab.c (Fput_range_table):
7034         * rangetab.c (Fremove_range_table):
7035         * rangetab.c (Fclear_range_table):
7036         * search.c:
7037         * search.c (Fskip_chars_forward):
7038         * search.c (Fskip_chars_backward):
7039         * search.c (Fskip_syntax_forward):
7040         * search.c (Fskip_syntax_backward):
7041         * search.c (search_command):
7042         * search.c (Freplace_match):
7043         * search.c (Fregexp_quote):
7044         * select.c (Fown_selection_internal):
7045         * select.c (Fselection_owner_p):
7046         * select.c (Fselection_exists_p):
7047         * select.c (Fget_selection_internal):
7048         * specifier.c:
7049         * symbols.c:
7050         * symbols.c (Fintern):
7051         * symbols.c (Fintern_soft):
7052         * symbols.c (Funintern):
7053         * symbols.c (Fapropos_internal):
7054         * symbols.c (Fset_default):
7055         * syntax.c:
7056         * syntax.c (Fsyntax_table_p):
7057         * syntax.c (Fcopy_syntax_table):
7058         * syntax.c (Fset_syntax_table):
7059         * syntax.c (Fchar_syntax):
7060         * syntax.c (syntax_match):
7061         * syntax.c (Fmatching_paren):
7062         * syntax.c (Fforward_word):
7063         * syntax.c (scan_lists):
7064         * syntax.c (Fscan_lists):
7065         * syntax.c (Fscan_sexps):
7066         * syntax.c (Fparse_partial_sexp):
7067         * toolbar.c (Fcheck_toolbar_button_syntax):
7068         * tooltalk.doc:
7069         * window.c:
7070         * window.c (Fwindowp):
7071         * window.c (Fwindow_live_p):
7072         * window.c (Fwindow_point):
7073         * window.c (Fdelete_window):
7074         * window.c (Fnext_window):
7075         * window.c (Fprevious_window):
7076         * window.c (Fother_window):
7077         * window.c (window_loop):
7078         * window.c (Fget_lru_window):
7079         * window.c (Fsplit_window):
7080         * window.c (Fenlarge_window):
7081         * window.c (Fenlarge_window_pixels):
7082         * window.c (Fshrink_window):
7083         * window.c (Fshrink_window_pixels):
7084         * window.c (change_window_height):
7085         * window.c (Fwindow_configuration_p):
7086         * window.c (Fcurrent_window_configuration):
7087         * window.h:
7088         * casefiddle.c (casify_object):
7089         * casefiddle.c (Fupcase):
7090         * casefiddle.c (Fdowncase):
7091         * casefiddle.c (Fcapitalize):
7092         * casefiddle.c (Fupcase_initials):
7093         * casefiddle.c (casify_region_internal):
7094         * casefiddle.c (casify_region):
7095         * casefiddle.c (Fupcase_region):
7096         * casefiddle.c (Fdowncase_region):
7097         * casefiddle.c (Fcapitalize_region):
7098         * casefiddle.c (Fupcase_initials_region):
7099         * casefiddle.c (Fupcase_word):
7100         * casefiddle.c (Fdowncase_word):
7101         * casefiddle.c (Fcapitalize_word):
7102         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
7103         Replace 0 with '\0' when working with bytes.
7104         Replace initial "(" with "\(" in docstrings.
7105
7106 2000-11-01  Martin Buchholz  <martin@xemacs.org>
7107
7108         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
7109
7110         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
7111
7112 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7113
7114         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
7115
7116 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7117
7118         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
7119         correctly.
7120
7121 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7122
7123         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
7124         (inhibit_auto_save_session): New variable.
7125         (vars_of_fileio): Declare and initialize them.
7126         * fileio.c (Fdo_auto_save): Don't create session file if
7127         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
7128
7129 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7130
7131         * sgiplay.c (play_internal): C++ compilability.
7132         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
7133         * callproc.c (Fold_call_process_internal):
7134         Remove unused vars `env', `first'.
7135         * scrollbar.c (update_scrollbar_instance):
7136         #### unused var `current_window'.
7137         * redisplay-tty.c: Put currently unused vars insert_mode_on,
7138         etc. within #ifdef NOT_YET.
7139         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
7140         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
7141         * specifier.c (specifier_instance):
7142         #### unused var `tag'.
7143         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
7144
7145 2000-10-27  Martin Buchholz  <martin@xemacs.org>
7146
7147         * fns.c (Fbutlast):
7148         * fns.c (list_sort):
7149         * fns.c (Ffillarray):
7150         * fns.c (bytecode_nconc2):
7151         * fns.c (Fnconc):
7152         * fns.c (mapcar1):
7153         * fns.c (Fmapconcat):
7154         Be pedantically 64-bit correct.  For the time when someone will
7155         want to have a list with length > 2**32.
7156
7157         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7158         Work around MIPSpro compiler bug.
7159
7160         * process-unix.c (unix_kill_child_process): Add snarky comment.
7161         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
7162
7163         * config.h.in: Oops, _getpt ==> _getpty
7164
7165 2000-10-26  Martin Buchholz  <martin@xemacs.org>
7166
7167         * config.h.in:
7168         * regex.c:
7169         Use void*, not char*, as return type of alloca().
7170
7171         * alloc.c (free_marker): Side effect inside assert expression!
7172
7173 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
7174
7175         * mule-charset.c (Fset_charset_ccl_program): To check
7176         if the given ccl program is valid, use setup_ccl_program()
7177         instead of CHECK_VECTOR().
7178         (Fmake_charset): Likewise.
7179
7180 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
7181
7182         * faces.c (get_extent_fragment_face_cache_index):
7183         Fix cachel.merged_faces memory leak.
7184
7185 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
7186
7187         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
7188         Reset MSB of octets obtained by DECODE_SJIS
7189         because of the incompatibility with Emacs.
7190         (ccl_driver)<CCL_ENCODE_SJIS>:
7191         Set MSB of octets before passing them to
7192         ENCODE_SJIS because of the incompatibility
7193         with Emacs.
7194
7195 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
7196
7197         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
7198         (DECLARE_LRECORD): Undo the last change.
7199         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
7200
7201 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
7202
7203         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
7204         the implementation to lrecord_implementations_table.
7205
7206 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
7207
7208         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
7209         initial value of `lrecord_type_##c_name' and
7210         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
7211         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
7212         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
7213         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
7214         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
7215
7216 2000-10-17  Martin Buchholz  <martin@xemacs.org>
7217
7218         * miscplay.c (sndcnv8S_2mono):
7219         (sndcnv2monounsigned):
7220         (sndcnvULaw_2linear):
7221         (sndcnv16swap):
7222         Remove implementation-defined behavior.
7223
7224 2000-10-12  Martin Buchholz  <martin@xemacs.org>
7225
7226         * input-method-xlib.c: Warning suppression.
7227
7228 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
7229
7230         * mule-ccl.c: Sync up with Emacs 21.0.90.
7231         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
7232         Do nothing.
7233         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
7234         Likewise.
7235         (ccl_driver[WriteMultibyteChar2]): Bug fix.
7236         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
7237         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
7238         leading char belongs to official 2-dimensional charset.
7239         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
7240         write the given character as is.  Otherwise,
7241         if it is a multibyte char, convert it by
7242         non_ascii_set_charptr_emchar, then write it.
7243         (CCL_WRITE_STRING): Likewise.
7244         (ccl_get_compiled_code): New function.
7245         (setup_ccl_program): When ccl_prog is invalid,
7246         return -1.
7247         (Fregister_code_conversion_map): New function.
7248         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
7249
7250         * mule-ccl.h: Sync up with Emacs 21.0.90.
7251         (Fregister_ccl_program): export it.
7252
7253         * redisplay-msw.c (separate_textual_runs):
7254         If ccl program is not valid, don't do ccl conversion.
7255
7256         * redisplay-x.c (separate_textual_runs): Ditto.
7257
7258         * file-coding.c (Fmake_coding_system):
7259         When type is ccl and value is vector, register it
7260         with a proper symbol.  And checks whether the
7261         given ccl program is valid.
7262         (mule_decode): When calling ccl_driver, if src indicates
7263         NULL pointer, set an empty string instead.
7264         (mule_encode): Likewise.
7265
7266 2000-10-11  Martin Buchholz  <martin@xemacs.org>
7267
7268         The following large batch of changes gets us back to a state of
7269         C++ compilability.  Extbyte is now a char, which means that
7270         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
7271
7272         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
7273
7274         * sound.c (Fplay_sound): Type correctness.
7275
7276         * select-x.c (hack_motif_clipboard_selection): Type correctness.
7277         (x_get_window_property): Type correctness.
7278         (receive_incremental_selection): unsigned char ==> Extbyte
7279         (selection_data_to_lisp_data): unsigned char ==> Extbyte
7280         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
7281         (Fx_store_cutbuffer_internal): Type correctness.
7282
7283         * process-unix.c (try_to_initialize_subtty): Type correctness.
7284
7285         * objects-x.c (x_print_color_instance): Type correctness.
7286         (x_print_font_instance): Type correctness.
7287         (x_list_fonts): SExtbyte ==> Extbyte.
7288         (valid_x_font_name_p): SExtbyte ==> Extbyte.
7289         (x_find_charset_font): SExtbyte ==> Extbyte.
7290         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
7291         (truename_via_XListFonts): SExtbyte ==> Extbyte.
7292         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
7293         Use bufbyte_strcmp.
7294
7295         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
7296         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
7297         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
7298         (BYTE_C0_P): Use bit ops for char-signedness safety.
7299         (BYTE_C1_P): Use bit ops for char-signedness safety.
7300         (CHARSET_BY_LEADING_BYTE):
7301         (CHARSET_BY_ATTRIBUTES):
7302         Always use inline function.
7303         Use type_checking_assert.
7304         Hide chlook.
7305
7306         * mule-charset.c (non_ascii_charptr_copy_char):
7307         Modify to work with both ASCII and non-ASCII characters.
7308         Improve docs and variable names.
7309         Replace over-clever fall-through switch with a simple loop.
7310         (Lstream_get_emchar_1):
7311         Replace over-clever fall-through switch with a simple loop.
7312
7313         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7314         Warning suppression.
7315
7316         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
7317         the return value of Lstream_getc, which could be EOF as well.
7318
7319         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
7320
7321         * lisp.h: Make Extbyte a char, not unsigned char, so that external
7322         APIs can be used on Extbytes without casts.  Risky!
7323         (SExtbyte): Remove.
7324         (UExtbyte): Remove.
7325
7326         * input-method-xlib.c (XIM_init_device):
7327         Use Xlib.h instead of IntrinsicP.h.
7328         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
7329         which will break in X11R7.
7330         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
7331         to call XRegisterIMInstantiateCallback with correct types.
7332
7333         * gui-x.c (button_item_to_widget_value): Type correctness.
7334
7335         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
7336
7337         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
7338         (xbm_instantiate_1): Type correctness.
7339         (BUILD_GLYPH_INST):  Type correctness.
7340
7341         * fileio.c (Fsubstitute_in_file_name): Type correctness.
7342
7343         * file-coding.c:
7344         (decode_coding_sjis):
7345         (decode_coding_big5):
7346         (decode_coding_ucs4):
7347         (decode_coding_utf8):
7348         (decode_coding_iso2022):
7349         (decode_coding_no_conversion):
7350         Make all decoding functions take an Extbyte * arg.
7351         (encode_coding_sjis):
7352         (encode_coding_big5):
7353         (encode_coding_ucs4):
7354         (encode_coding_utf8):
7355         (encode_coding_iso2022):
7356         (encode_coding_no_conversion):
7357         Make all encoding functions take a Bufbyte * arg.
7358         Use size_t instead of unsigned int for memory sizes.
7359         Only cast to unsigned char whenever dereferencing Extbyte *.
7360
7361         * doc.c (unparesseuxify_doc_string): Type correctness.
7362
7363         * console-x.c (split_up_display_spec):
7364         Rewrite without using details of internal string representation.
7365         (x_semi_canonicalize_device_connection): Type correctness.
7366
7367         * config.h.in:
7368         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
7369         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
7370         (HAVE_XFREE386): Removed.
7371
7372         * buffer.h (DEC_CHARPTR): `const' correctness.
7373         (bufbyte_strcmp): New.
7374         (bufbyte_memcmp): New.
7375
7376         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
7377
7378         * buffer.h (XCHAR_OR_CHAR_INT):
7379         Always use inline function.
7380         Remove redundant type checking assert() - XINT will abort quite nicely.
7381
7382 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
7383
7384         * search.c (Freplace_match): Set newtext to an empty string.
7385
7386 2000-10-10  Martin Buchholz  <martin@xemacs.org>
7387
7388         * s/decosf1-3.h: Remove #include of stropts.h
7389         * s/ptx.h: Remove #include of stropts.h
7390         * s/usg5-4.h: Remove #include of stropts.h
7391         * sysproc.h:
7392         * config.h.in:
7393         Use stropts.h, not sys/stropts.h.
7394         Use strtio.h, not sys/strtio.h.
7395
7396 2000-10-04  Martin Buchholz <martin@xemacs.org>
7397
7398         * XEmacs 21.2.36 is released.
7399
7400 2000-09-21  Andy Piper  <andy@xemacs.org>
7401
7402         * glyphs-x.c (x_redisplay_widget): make sure non-structural
7403         changes still involve copying the widget tree.
7404         (update_widget_face): make sure a change is register in the widget
7405         tree. Call update_tab_widget_face appropriately.
7406         (update_tab_widget_face): ditto.
7407         (x_tab_control_redisplay): make sure non-structural changes still
7408         involve copying the widget tree.
7409
7410 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
7411
7412         * lread.c (locate_file): Check the path element is non-nil.
7413
7414 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7415
7416         * lisp.h: Warning suppression for SCO compilers.
7417
7418         * redisplay-tty.c (reset_tty_modes): Fix crash.
7419         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
7420
7421 2000-09-27  Martin Buchholz  <martin@xemacs.org>
7422
7423         Big signal/process handling overhaul.  Bugs fixed:
7424         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
7425         M-x comint-kill-subjob should work for both values nil and t of
7426         process-connection-type. It was broken on most platforms.
7427         Testing on Irix and Cygwin still needed.  Other plaforms tested.
7428         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
7429         * process-unix.c: Signal/Process handling overhaul.
7430         (pty_name): make 64 bytes, as `expect' does, for paranoia.
7431         (allocate_pty): Use all available modern methods of allocating
7432         ptys, falling back to old style BSD allocation as a last resort.
7433         Use allegedly more secure Unix98 pty allocation by default.
7434         (allocate_pty_the_old_fashioned_way): New. the last resort.
7435         (unix_create_process): Push ptem, ldterm, ttcompat where
7436         available.  Autoconfiscate.
7437         (try_to_initialize_subtty): New.
7438         (unix_kill_child_process): Proper signal handling for ptys on most
7439         platforms, using special knowledge of AIX, BSD, etc...
7440         (unix_create_process): Always disconnect_controlling_terminal() for
7441         subprocesses, whether using ptys or not.
7442         * process.h: Remove old getpt-dependent PTY code.
7443         * process.c (Fprocess_send_signal): New, obvious generic function.
7444         (decode_signal): New.
7445         (Finterrupt_process):
7446         (Fkill_process):
7447         (Fquit_process):
7448         (Fstop_process):
7449         (Fcontinue_process):
7450         (Fsignal_process): Use decode_signal.
7451         (process_send_signal):
7452         Many docstring corrections.
7453         Allow any signal to be sent to a process object.
7454         * config.h.in: Add symbols for big signal/process overhaul.
7455         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
7456         * sysproc.h: Include process-related headers, where available:
7457         sys/stropts.h sys/strtio.h pty.h libutil.h
7458         * s/irix4-0.h:
7459         * s/irix5-0.h:
7460         * s/cygwin32.h:
7461         * s/gnu.h:
7462         * s/linux.h:
7463         * s/hpux.h:
7464         * s/aix3-1.h:
7465         Remove old S&M pty stuff.
7466         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
7467         * systty.h: Simplify cpp hackery, improve comments.
7468         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
7469
7470         * editfns.c (Fformat_time_string):
7471         Be a little more paranoid with the return value of ctime.
7472
7473         * fileio.c (check_executable):
7474         (check_writable):
7475         Use symbolic constants X_OK, W_OK.
7476
7477         * console-x.c (split_up_display_spec): Fix a warning.
7478
7479 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7480
7481         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
7482         * ntproc.c (sys_spawnve): make_string ==> build_string
7483         Small clarity improvements.
7484
7485 2000-09-30  Martin Buchholz  <martin@xemacs.org>
7486
7487         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
7488
7489         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
7490
7491         * config.h.in (HAVE_STRCASECMP): Remove.
7492
7493 2000-09-29  Martin Buchholz  <martin@xemacs.org>
7494
7495         * redisplay-output.c (redisplay_output_pixmap):
7496         Cleaner and possibly more 64-bit correct code.
7497
7498 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7499
7500         * dumper.c (pdump_load_finish): move restoration of
7501         `noninteractive1' to emacs.c (main_1).
7502         * emacs.c (main_1): protect LISP-visible command-line flags
7503         from pdump_load().
7504
7505 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
7506
7507         * Makefile.in.in (versionclean):  Use EXE_TARGET and
7508         DUMP_TARGET instead of literal program names.
7509
7510 2000-09-20  Martin Buchholz  <martin@xemacs.org>
7511
7512         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
7513
7514 2000-09-19  Martin Buchholz  <martin@xemacs.org>
7515
7516         * *: Spelling mega-patch
7517
7518 2000-09-19  Martin Buchholz  <martin@xemacs.org>
7519
7520         * fns.c (bad_bad_turtle):
7521         Delete "Eek!" comment, since we fixed the bug to which it refers.
7522
7523 2000-09-16  Martin Buchholz  <martin@xemacs.org>
7524
7525         * alloca.c: Replace REGISTER with register.
7526
7527 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
7528
7529         * file-coding.c (ucs_to_char): Use countof.
7530
7531 2000-09-16  Martin Buchholz  <martin@xemacs.org>
7532
7533         * file-coding.c: (ucs_to_char):
7534         (complex_vars_of_file_coding):
7535         Use countof instead of sizeof.
7536         Use CHECK_NATNUM instead of CHECK_INT.
7537
7538         * sysdep.c (strcasecmp): Remove.
7539         * device-x.c (ascii_strcasecmp): New.
7540         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
7541         Avoid using non-standard non-portable strcasecmp.
7542
7543 2000-09-16  Martin Buchholz  <martin@xemacs.org>
7544
7545         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
7546         * font-lock.c: remove reference to emacsfns.h.
7547         * search.c: small doc improvement.
7548         * event-Xt.c: correct file names in comments.
7549         * console-x.h Correct file names in comments.
7550         * frame.c: Correct file names in comments.
7551         * event-stream.c: remove Energize from comments.
7552
7553 2000-09-15  Martin Buchholz  <martin@xemacs.org>
7554
7555         * symeval.h (DEFERROR_STANDARD):
7556         (DEFERROR):
7557         (DEFSYMBOL):
7558         (DEFSYMBOL_NO_DUMP):
7559         (DEFSYMBOL_MULTIWORD_PREDICATE):
7560         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
7561         (DEFKEYWORD):
7562         The construct &##name is not sensible C.
7563         Fixes compilation errors with Unixware native compiler.
7564
7565 2000-09-14  Martin Buchholz  <martin@xemacs.org>
7566
7567         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
7568         (next_frame_internal): Removed.  We now just have next_frame.
7569         (next_frame):
7570         Write a simpler and cleaner one-pass algorithm.
7571         Remove called_from_delete_device arg and #ifdefed-out code.
7572         (previous_frame):
7573         Renamed from prev_frame.  Update callers.
7574         Cleaned up to have an analogous implementation to next_frame.
7575         (other_visible_frames_internal): Remove the
7576         called_from_delete_device bogus arg, and hence, remove this
7577         function.  Just use other_visible_frames().
7578
7579         * window.c (Fnext_window):
7580         Prettify docstring.
7581         Since next_frame() is guaranteed to return a frame, remove check
7582         for nil inserted in previous patch.
7583         (Fprevious_window):
7584         Prettify docstring.
7585         Make code look more like Fnext_window.
7586         (window_loop):
7587         Respect the `console' arg when iterating through windows.
7588         Fixes bug: (get-buffer-window buffer t device) not respecting
7589         the `device' arg.
7590         This function needs more work, as others have pointed out.
7591
7592         * frame.h: Rename prev_frame to previous_frame.
7593         device_matches_console_spec no longer takes a `frame' arg.
7594
7595         * s/gnu.h:
7596         * s/linux.h:
7597         * s/hpux.h:
7598         Use EMACS_BLOCK_SIGNAL instead of sigblock.
7599         From "Golubev I. N." <gin@mo.msk.ru>.
7600
7601         * make-src-depend: Fix typo.
7602
7603 2000-09-13  Martin Buchholz  <martin@xemacs.org>
7604
7605         * window.c (Fnext_window):
7606         next_frame() might return nil, not a frame.
7607         Fixes this crash:
7608         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
7609
7610         * frame.c (next_frame_internal):
7611         We've passed a frame if we've passed its device.
7612         Fixes this crash:
7613         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
7614 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
7615
7616 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7617
7618         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7619         Allow option to suppress accelerators in menu/dialog items.
7620         (populate_or_checksum_helper): Pass dialog title through above.
7621
7622 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7623
7624         * event-msw.c (mswindows_key_to_emacs_keysym):
7625         Add "pause" key, fix "menu" key.
7626
7627 2000-09-09  Martin Buchholz  <martin@xemacs.org>
7628
7629         * eval.c (reinit_vars_of_eval):
7630         Increase max_lisp_eval_depth to 1000,
7631         required for thai-xtis.el to byte-compile under some circumstances.
7632
7633 2000-09-04  Martin Buchholz  <martin@xemacs.org>
7634
7635         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
7636         From Kenichi Handa.
7637
7638 2000-09-01  Martin Buchholz  <martin@xemacs.org>
7639
7640         * make-src-depend: Make the generated Makefiles smaller.
7641
7642         * s/hpux.h (SETUP_SLAVE_PTY):
7643         Provide a %d in the format string for the errno argument.
7644
7645         * editfns.c (Ftemp_directory):
7646         Warning fix.
7647         Avoid buffer overrun on very long file name.
7648
7649         * input-method-xlib.c (XIM_init_device):
7650         6th parameter of XRegisterIMInstantiateCallback has different
7651         pointer types on different OSes, so simply cast to (void *).
7652
7653         * unexhp9k800.c: Warning fixes.  Fiddly changes.
7654
7655         * sysdll.c (dll_open):
7656         shl_load will hang hard if passed a NULL filename.
7657         Simply return NULL for compatibility with dlopen.
7658         * sysdll.c: Conform to XEmacs coding standards.
7659
7660         * sysdep.c (get_pty_max_bytes):
7661         Support pty input lines longer than 512 bytes on HP-UX 10.20.
7662
7663 2000-08-31  Martin Buchholz  <martin@xemacs.org>
7664
7665         * tooltalk.c: Add #include <syssignal.h>
7666
7667 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
7668
7669         * s/hpux.h: Don't use undefined function sigunblock().
7670
7671 2000-08-31  Martin Buchholz  <martin@xemacs.org>
7672
7673         * config.h.in: Add HAVE_BALLOON_HELP.
7674         * emacs.c: Use HAVE_BALLOON_HELP.
7675         * Makefile.in.in (x_objs):
7676         Make Balloon Help conditional on finding shape.h.
7677
7678 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
7679
7680         * syntax.c (regex_emacs_buffer_p): New variable.
7681         * syntax.h (regex_emacs_buffer_p): extern.
7682         * search.c (looking_at_1):
7683         (string_match_1):
7684         (fast_string_match):
7685         (search_buffer): Set regex_emacs_buffer_p.
7686         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
7687         when before_dot, at_dot, after_dot.
7688
7689 2000-08-23  Andy Piper  <andy@xemacs.org>
7690
7691         * gui-x.c (popup_selection_callback): Only set action_occurred
7692         when we really have an image instance.
7693         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
7694
7695 2000-08-23  Andy Piper  <andy@xemacs.org>
7696
7697         * gui-msw.c (mswindows_handle_gui_wm_command): set
7698         action_occurred.
7699         * gui-x.c (popup_selection_callback): ditto.
7700
7701         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
7702         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
7703         (struct Lisp_Image_Instance): add action_occurred flag.
7704
7705         * glyphs.c (redisplay_subwindow): use action_occurred flag.
7706         (image_instance_changed): ditto.
7707         (reset_frame_subwindow_instance_cache): only unmap windows - do
7708         not remove them from the cache also.
7709
7710         * glyphs-widget.c (tab_control_update): better debug.
7711         (progress_gauge_update): ditto.
7712         (layout_update): ditto.
7713         (layout_instantiate): ditto.
7714         (tab_control_order_only_changed): cope with null pending items.
7715
7716         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
7717         debug. Force selection of an item when an action occurred. Cope
7718         with null pending_items.
7719         (mswindows_progress_gauge_redisplay): better debug.
7720         * glyphs-x.c (x_tab_control_redisplay): ditto.
7721
7722         * redisplay.c (redisplay_frame): reset the frame cache if the
7723         frame is garbaged.
7724
7725         * window.c (Fset_window_configuration): potentially re-enable
7726         frame cache reset.
7727         (window_unmap_subwindows): need to finalize instances here since
7728         it is only used in mark_window_as_deleted.
7729
7730 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
7731
7732         * nas.c (SndOpenDataForReading):
7733         nas.c (WaveOpenDataForReading):
7734         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
7735         Somehow escaped from the 2000-08-14 patch.
7736
7737 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7738
7739         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
7740         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
7741
7742 2000-08-21  Andy Piper  <andy@xemacs.org>
7743
7744         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
7745         window if it is not already displayed.
7746
7747         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
7748         it is not already displayed.
7749
7750         * window.c (Fset_window_configuration): don't reset the frame
7751         cache.
7752
7753         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
7754         instances from the frame cache if we are actually finalizing them.
7755         (reset_frame_subwindow_instance_cache): reset frame cache only
7756         after unmapping everything.
7757         (map_subwindow): set displayed flag after mapping.
7758
7759 2000-08-21  Martin Buchholz  <martin@xemacs.org>
7760
7761         * data.c (indirect_function):
7762         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
7763
7764         * eval.c (function_argcount):
7765         Use original function when signaling errors.
7766
7767 2000-08-18  Andy Piper  <andy@xemacs.org>
7768
7769         * frame.c (delete_frame_internal): use new
7770         free_frame_subwindow_instances name.
7771
7772         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
7773         (add_tab_item): make return type correct.
7774         (mswindows_tab_control_instantiate): assert index of tab.
7775         (mswindows_tab_control_redisplay): Re-code to use
7776         gui_item_equal_sans_selected and gui_item_list_find_selected.
7777
7778         * glyphs-widget.c (tab_control_update): Correct comment.
7779
7780         * window.c (window_unmap_subwindows): use new
7781         unmap_subwindow_instance_cache_mapper.
7782         (window_unmap_subwindows_cache_mapper): deleted.
7783         (Fset_window_configuration): comparisons should now be with
7784         EQ. Preserve the subwindow instance cache across configuration
7785         changes.
7786         (allocate_window): ditto.
7787         (make_dummy_parent): ditto.
7788
7789         * glyphs.c (free_frame_subwindow_instances): rename from
7790         free_frame_subwindow_instance_cache. finalize all instances rather
7791         than just those in the display cache.
7792         (finalize_all_subwindow_instances): walk windows unmapping and
7793         finalizing subwindows.
7794         (unmap_subwindow_instance_cache_mapper): moved from
7795         window.c. Allow finalization as well as unmapping.
7796
7797         * gui.c (gui_item_list_find_selected): new function.
7798
7799         * gui.h (gui_item_list_find_selected): declare.
7800
7801         * glyphs-x.c (x_tab_control_redisplay): pick tab
7802         explicitly. Re-code to use gui_item_equal_sans_selected and
7803         gui_item_list_find_selected.
7804
7805         * glyphs-x.h: add lwlib-utils.h
7806
7807         * buffer.c (Frecord_buffer): undo previous change.
7808
7809 2000-08-09  Vin Shelton  <acs@xemacs.org>
7810
7811         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
7812         possible.  Create temporary files more securely.  The patch was
7813         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
7814         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
7815         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
7816         for details.
7817
7818 2000-08-07  Ben Wing  <ben@xemacs.org>
7819
7820         * getloadavg.c: remove duplicate (and windows-breaking)
7821         includes of fcntl.h and sys/file.h.
7822
7823         * nt.c: remove duplicate getloadavg() definition.
7824
7825         * sysdll.h (Qdll_filename_encoding): add missing stand-in
7826         encodings.
7827
7828 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7829
7830         * eval.c (function_argcount): If function needs to be autoloaded
7831         actually use the loaded definition.
7832         GCPRO function.
7833
7834 2000-08-05  Ben Wing  <ben@xemacs.org>
7835
7836         * getloadavg.c: add prototype for getloadavg().  remove
7837         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
7838         of the code).  remove duplicate header includes.
7839
7840         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
7841
7842         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
7843         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
7844         useful load average.
7845
7846         * alloc.c (reinit_alloc_once_early): removed references to
7847         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
7848         the lisp vars are the only things referencing the malloc_sbrk_*
7849         vars, and they were already if 0'd out.  these vars only exist
7850         in the older malloc.c, which is basically unused, and they're
7851         only for informational purposes.
7852
7853         * m\*.h: removed useless VIRT_ADDR_VARIES.
7854
7855         * m\powerpc.h: removed stray NO_ARG_ARRAY.
7856
7857 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
7858
7859         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
7860         color if the image is a mono pixmap.
7861
7862 2000-07-30  Ben Wing  <ben@xemacs.org>
7863
7864         * Makefile.in.in (release):
7865         Remove stray @.
7866
7867         * buffer.c (directory_is_current_directory):
7868         * dired-msw.c (mswindows_get_files):
7869         * dired.c:
7870         * dired.c (Fdirectory_files):
7871         * dired.c (file_name_completion_stat):
7872         * dired.c (Ffile_attributes):
7873         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
7874         preprocessor tricks, to avoid problems on some machines
7875         (e.g. SCO).
7876
7877         * callproc.c (egetenv): GC docs.
7878
7879         * console-msw.h:
7880         * console-msw.h (struct mswindows_dialog_id):
7881         * lrecord.h (lrecord_type):
7882         New object for use with MSW dialogs.
7883
7884         * console.h (struct console_methods):
7885         New enable/disable frame methods, for proper modal dialogs.
7886
7887         * device-msw.c (msprinter_default_printer): Fix to follow
7888         proper Mule conventions.
7889
7890         * device-msw.c:
7891         * device-msw.c (signal_open_printer_error):
7892         * device-msw.c (msprinter_init_device):
7893         * device-msw.c (ensure_not_printing):
7894         * device-msw.c (plist_get_margin):
7895         * device-msw.c (Fmsprinter_select_settings):
7896         * device-msw.c (finalize_devmode):
7897         * device-msw.c (Fmsprinter_settings_despecialize):
7898         * device-msw.c (signal_enum_priner_error):
7899         * extents.c (decode_extent):
7900         * extents.c (decode_map_extents_flags):
7901         * extents.c (decode_extent_at_flag):
7902         * extents.c (Fextent_at):
7903         * extents.c (Fextents_at):
7904         * extents.c (symbol_to_glyph_layout):
7905         [[[[2]]]] Use structured errors.
7906
7907         * dialog-msw.c:
7908         * dialog-msw.c (mswindows_is_dialog_msg):
7909         * dialog-msw.c (mark_mswindows_dialog_id):
7910         * dialog-msw.c (dialog_proc):
7911         * dialog-msw.c (handle_question_dialog_box):
7912         * dialog-msw.c (syms_of_dialog_mswindows):
7913         Define new object to clean up marking; use it as a dialog identifier.
7914         Call new delete-dialog-box-hook.
7915
7916         * dialog-x.c (dbox_selection_callback):
7917         * dialog-x.c (dbox_descriptor_to_widget_value):
7918         * dialog-x.c (x_make_dialog_box_internal):
7919         Call new delete-dialog-box-hook.
7920         Return an id.
7921
7922         * dialog.c:
7923         * dialog.c (syms_of_dialog):
7924         * dialog.c (vars_of_dialog):
7925         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
7926
7927         * eval.c:
7928         * eval.c (signal_call_debugger):
7929         when noninteractive, output stack traces on the console instead
7930         of in a (never-seen) buffer.
7931
7932         * eval.c (signal_type_error):
7933         * eval.c (invalid_argument_2):
7934         * lisp.h:
7935         new funs for use w/structured errors.
7936
7937         * event-Xt.c:
7938         * event-Xt.c (x_to_emacs_keysym):
7939         * event-Xt.c (describe_event):
7940         * event-Xt.c (emacs_Xt_event_handler):
7941         * event-Xt.c (vars_of_event_Xt):
7942         * event-msw.c:
7943         * event-msw.c (mswindows_wnd_proc):
7944         * event-msw.c (vars_of_event_mswindows):
7945         rename {x,mswindows}-debug-events to debug-{}-events for
7946         consistency with other debug-foo variables.
7947
7948         * event-stream.c:
7949         document next-event more clearly.
7950
7951         * fileio.c (Ffile_name_directory):
7952         * fileio.c (Ffile_name_nondirectory):
7953         * fileio.c (Funhandled_file_name_directory):
7954         * fileio.c (file_name_as_directory):
7955         * fileio.c (Ffile_name_as_directory):
7956         * fileio.c (directory_file_name):
7957         * fileio.c (Fdirectory_file_name):
7958         * fileio.c (Fmake_temp_name):
7959         * fileio.c (Ffile_truename):
7960         * fileio.c (Fsubstitute_in_file_name):
7961         * fileio.c (expand_and_dir_to_file):
7962         * fileio.c (barf_or_query_if_file_exists):
7963         * fileio.c (check_executable):
7964         * fileio.c (Ffile_exists_p):
7965         * fileio.c (Ffile_writable_p):
7966         * fileio.c (Ffile_directory_p):
7967         * fileio.c (Ffile_regular_p):
7968         * fileio.c (Ffile_modes):
7969         * fileio.c (Ffile_newer_than_file_p):
7970         * fileio.c (Fverify_visited_file_modtime):
7971         * fileio.c (Fset_visited_file_modtime):
7972         * fileio.c (auto_save_1):
7973         (1). (2).
7974         fix up gcpro's.
7975
7976         * frame-msw.c:
7977         * frame-msw.c (mswindows_init_frame_1):
7978         * frame-msw.c (mswindows_enable_frame):
7979         * frame-msw.c (error_frame_unsizable):
7980         * frame-msw.c (msprinter_init_frame_1):
7981         * frame-msw.c (msprinter_init_frame_3):
7982         * frame-msw.c (console_type_create_frame_mswindows):
7983         (2).
7984         implement new enable/disable frame methods.
7985
7986         * frame-x.c:
7987         * frame-x.c (x_enable_frame):
7988         * frame-x.c (console_type_create_frame_x):
7989         implement new enable/disable frame methods.
7990
7991         * frame.c:
7992         * frame.c (Fdisable_frame):
7993         * frame.c (syms_of_frame):
7994         * frame.h (struct frame):
7995         implement new enable/disable frame methods/functions.
7996
7997         * general-slots.h:
7998         add initial-focus.
7999
8000         * glyphs-msw.c (mswindows_widget_instantiate):
8001         comment that initial-focus should be implemented.
8002
8003         * glyphs-widget.c:
8004         * glyphs-widget.c (check_valid_instantiator):
8005         * glyphs-widget.c (check_valid_orientation):
8006         * glyphs-widget.c (check_valid_tab_orientation):
8007         * glyphs-widget.c (check_valid_justification):
8008         * glyphs-widget.c (check_valid_border):
8009         * glyphs-widget.c (check_valid_callback):
8010         * glyphs-widget.c (check_valid_int_or_function):
8011         * glyphs-widget.c (check_valid_string_or_vector):
8012         * glyphs-widget.c (check_valid_item_list_1):
8013         * glyphs-widget.c (widget_validate):
8014         * glyphs-widget.c (combo_box_validate):
8015         * glyphs-widget.c (widget_instantiate):
8016         * glyphs-widget.c (syms_of_glyphs_widget):
8017         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
8018         * glyphs-widget.c (image_instantiator_combo_box):
8019         * glyphs-widget.c (image_instantiator_scrollbar):
8020         * glyphs-widget.c (image_instantiator_tab_control):
8021         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
8022         (2).
8023         support (unimplemented) keyword initial-focus.
8024         reindent long macros.
8025
8026         * glyphs-x.c (x_redisplay_widget):
8027         * glyphs-x.c (x_button_instantiate):
8028         * glyphs-x.c (x_button_redisplay):
8029         * glyphs-x.c (x_progress_gauge_instantiate):
8030         * glyphs-x.c (x_edit_field_instantiate):
8031         * glyphs-x.c (x_combo_box_instantiate):
8032         * glyphs-x.c (x_tab_control_instantiate):
8033         * glyphs-x.c (x_label_instantiate):
8034         * gui-x.c:
8035         * gui-x.c (button_item_to_widget_value):
8036         * gui-x.c (gui_items_to_widget_values_1):
8037         * gui-x.c (gui_item_children_to_widget_values):
8038         * gui-x.c (gui_items_to_widget_values):
8039         * gui-x.h:
8040         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8041         add new flag to gui-parsing routines to indicate whether
8042         accelerator specs should be supported.
8043
8044         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
8045
8046         * glyphs.h (struct Lisp_Image_Instance):
8047         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
8048         add initial-focus flag.
8049
8050         * gui.c:
8051         * gui.c (syms_of_gui):
8052         * gui.c (vars_of_gui):
8053         clean up menu-no-selection-hook.
8054
8055         * gui.h:
8056         support delete-dialog-box-hook.
8057
8058         * lread.c (Fload_internal):
8059         * lread.c (locate_file_in_directory_mapper):
8060         (1).
8061
8062         * lrecord.h:
8063         * lrecord.h (struct toolbar_button):
8064         * lrecord.h (syms_of_toolbar):
8065         document how to create a new object.
8066
8067         * menubar-msw.c (mswindows_char_is_accelerator):
8068         may be called on frames w/o menus.
8069
8070         * menubar.c (vars_of_menubar):
8071         clean up :filter docs.
8072
8073         * nt.c (readdir):
8074         * ntproc.c:
8075         (1).
8076
8077         * process-nt.c:
8078         * process-nt.c (validate_signal_number):
8079         * process-nt.c (signal_cannot_launch):
8080         * process-nt.c (nt_create_process):
8081         * process-nt.c (nt_send_process):
8082         * process-nt.c (nt_kill_child_process):
8083         * process-nt.c (nt_open_network_stream):
8084         * process-nt.c (syms_of_process_nt):
8085         (2).
8086         delete quote-handling.  call new lisp code that does it better.
8087
8088         * process-unix.c (connect_to_file_descriptor):
8089         * process-unix.c (allocate_pty):
8090         * process-unix.c (unix_send_process):
8091         * process-unix.c (unix_kill_child_process):
8092         * process-unix.c (unix_open_network_stream):
8093         * process-unix.c (unix_open_multicast_group):
8094         (1). (2).
8095
8096         * process.c:
8097         * process.c (Fstart_process_internal):
8098         (2).  need to canonicalize process path even if absolute.
8099
8100         * select-msw.c (symbol_to_ms_cf):
8101         * select-msw.c (ms_cf_to_symbol):
8102         * select-msw.c (cf_is_autofreed):
8103         * select-msw.c (mswindows_destroy_selection):
8104         * select.c:
8105         * select.c (syms_of_select):
8106         * select.h:
8107         support dibv5, fix bugs. (from Mike Alexander)
8108
8109         * select.c (Fget_selection_internal):
8110         * select.c (select_convert_out):
8111
8112         * sysdep.c:
8113         * sysdep.c (xemacs_stat):
8114         renamed.
8115
8116         * sysdep.c (mkdir):
8117         * sysdep.c (rmdir):
8118         but keep original stat() here because we provide encapsulation
8119         around these funs.
8120
8121         * sysfile.h:
8122         * sysfile.h (fstat):
8123         remove stat garbage.
8124
8125         * syswindows.h:
8126         fix X/MSW conflict.
8127         don't include tchar.h.  it's inappropriate because it makes
8128         compile-time distinctions when we want runtime distinctions.
8129         (we provide our own tchar replacements)
8130
8131         * toolbar.c:
8132         use default object printer for toolbar-button.
8133
8134         * unexcw.c:
8135         make sure we don't encapsulate.
8136
8137         * window.c (vars_of_window):
8138         emphasize that temp-buffer-show-hook is obsolete.
8139
8140 2000-08-05  Martin Buchholz  <martin@xemacs.org>
8141
8142         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
8143         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
8144
8145         * events.c (Fevent_timestamp_lessp):
8146         Not 64-bit clean.  Use EMACS_INT, not int.
8147
8148 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
8149
8150         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
8151         unsigned int and changed the last enum to
8152         lrecord_type_last_built_in_type.
8153         (lrecord_implementations_table): changed prototype to know how
8154         long the array is supposed to be.
8155         (lrecord_type_count): new unsigned int to keep track of the
8156         current number of lisp lrecord types.
8157         (DEFINE_EXTERNAL_LRECORD):
8158         (DECLARE_EXTERNAL_LRECORD): Added these two for external
8159         dynamic-modules to declare new lisp types. They are the same
8160         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
8161         int for each new type, and increment lrecord_type_count by 1.
8162
8163         * alloc.c (lrecord_implementations_table): Changed to reference
8164         lrecord_type_last_built_in_type for the size of the array.
8165         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
8166
8167 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8168
8169         * glyphs.h (check_valid_item_list): Renamed from
8170         check_valid_item_list_1.
8171
8172 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
8173
8174         * select.c (Qselect_coerce): New.
8175         * select.c (Vselection_coercion_alist): New.
8176         * select.c (syms_of_select): Declare.
8177         * select.c (get-selection-internal): Use it.
8178         Use the new select-coerce functionality.
8179
8180         * select.c (select_coerce): New.
8181         * select.h (select_coerce): Declare.
8182         New function to coerce one type of data into another.
8183
8184 2000-08-03  Martin Buchholz  <martin@xemacs.org>
8185
8186         * callproc.c (Fcall_process_internal):
8187         (Fcall_process_internal):
8188         * process-unix.c (unix_create_process):
8189         Save and restore the value of errno, so that error messages are accurate.
8190
8191 2000-08-01  Martin Buchholz  <martin@xemacs.org>
8192
8193         * elhash.c (print_hash_table):
8194         Fix printing of hash tables to also use `key-and-value' instead of `t'.
8195         Prettify docstrings and indentation.
8196
8197 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8198
8199         * window.c (Fwindow_pixel_edges): Subtract frame border and
8200         gutter size.
8201
8202 2000-07-31  Andy Piper  <andy@xemacs.org>
8203
8204         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
8205         will acknowledge the change.
8206
8207         * glyphs.h: declare tab_control_order_only_changed.
8208
8209         * glyphs-x.c (x_tab_control_redisplay): use
8210         tab_control_order_only_changed.
8211
8212         * glyphs-widget.c (tab_control_order_only_changed): new function.
8213
8214         * glyphs-msw.c (mswindows_tab_control_redisplay): use
8215         tab_control_order_only_changed.
8216
8217         * gui.c (gui_item_equal_sans_selected): new function.
8218         (gui_item_equal): use it.
8219
8220         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
8221         :properties in favor of :items..
8222
8223         * glyphs-widget.c (check_valid_item_list): rename from
8224         check_valid_item_list_1.
8225         (check_valid_item_list_1): renamed.
8226         (combo_box_validate): deprecate :properties in favor of :items.
8227         (widget_instantiate): ditto.
8228         (tab_control_update): ditto.
8229         (image_instantiator_combo_box): ditto.
8230         (image_instantiator_tree_view): ditto.
8231         (image_instantiator_tab_control): ditto.
8232         (layout_post_instantiate): remove dead code.
8233
8234         * print.c (debug_print_no_newline): only write to debugger if in
8235         WIN32_NATIVE.
8236
8237         * elhash.c (Fmake_hash_table): update doc string.
8238
8239         * event-msw.c (mswindows_wnd_proc): don't allow processing of
8240         messages whilst in GC. This at least stops XEmacs crashing but has
8241         the potential for wierd behaviour.
8242
8243 2000-07-31  Martin Buchholz  <martin@xemacs.org>
8244
8245         * config.h.in:
8246         Make existence of s&m files optional.
8247
8248         * s/bsd386.h: Remove HAVE_GETLOADAVG.
8249         * s/freebsd.h: Remove HAVE_GETLOADAVG.
8250         * s/gnu.h: Remove HAVE_GETLOADAVG.
8251         * s/netbsd.h: Remove HAVE_GETLOADAVG.
8252         * s/sol2.h: Remove HAVE_GETLOADAVG.
8253         * lisp.h: Remove getloadavg() declaration.
8254         * fns.c:
8255         Include <sys/loadavg.h> if available.
8256         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
8257         * config.h.in:  Group together getloadavg()-related macros.
8258         Use only configure-time tests to detect getloadavg().
8259
8260 2000-07-30  Martin Buchholz  <martin@xemacs.org>
8261
8262         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
8263
8264 2000-07-25  Andy Piper  <andy@xemacs.org>
8265
8266         * syswindows.h: add tchar.h for native builds.
8267
8268         * frame.c (syms_of_frame): remove set-glyph-image.
8269
8270         * general-slots.h: add Qset_glyph_image.
8271
8272         * glyphs-widget.c (layout_update): add domain arg to
8273         set-glyph-image.
8274         (syms_of_glyphs_widget): remove set-glyph-image.
8275
8276 2000-07-23  Ben Wing  <ben@xemacs.org>
8277
8278         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
8279         Vpopup_frame_list.
8280
8281 2000-07-22  Andy Piper  <andy@xemacs.org>
8282
8283         * symsinit.h: add syms_of_win32().
8284
8285         * gui-msw.c (syms_of_gui_mswindows): remove
8286         Fmswindows_shell_execute.
8287         (Fmswindows_shell_execute): moved to win32.c.
8288
8289         * emacs.c (main_1): add syms_of_win32 ().
8290
8291         * win32.c (init_potentially_nonexistent_functions): rewrite in
8292         compiler-friendly terms.
8293         (Fmswindows_shell_execute): move here from gui-msw.c.
8294         (syms_of_win32): new.
8295
8296         * device-msw.c (Fmswindows_printer_list): clean up args to
8297         EnumPrinters.
8298         Don't include tchar under cygwin or mingw.
8299         (msprinter_default_printer): make cygwin-friendly.
8300
8301 2000-07-21  Andy Piper  <andy@xemacs.org>
8302
8303         * glyphs-widget.c (image_instantiator_tree_view): use tab
8304         control's update function.
8305         (layout_property): new function. Retrieve items.
8306
8307         * glyphs-msw.c (mswindows_tree_view_redisplay): new
8308         function. Re-populate the tree view from the pending items.
8309
8310         * glyphs.c (instantiate_image_instantiator): Make sure the domain
8311         is designated the parent if the domain is an image instance. This
8312         is needed so that dirtiness can be cascade up the hierarchy and
8313         thus for layout children to be redisplayed correctly.
8314         (allocate_image_instance): rename glyph -> parent.
8315
8316         * redisplay.h: change redisplay_output_layout signature.
8317
8318         * redisplay-msw.c (mswindows_output_display_block): use domain
8319         arg.
8320
8321         * redisplay-x.c (x_output_display_block): use domain arg.
8322
8323 2000-07-10  Andy Piper  <andy@xemacs.org>
8324
8325         * window.c (Fset_window_configuration): add comment.
8326
8327         * redisplay-output.c (compare_runes):
8328         (redisplay_output_subwindow): redisplay rather than update subwindow.
8329         (redisplay_output_layout): ditto.
8330
8331         * redisplay-msw.c (mswindows_frame_output_end):
8332         (mswindows_frame_output_end): make defer window pos optional.
8333
8334         * lisp.h: add Flast.
8335
8336         * glyphs.h (struct image_instantiator_methods): add dest_mask top
8337         normalize method. Change update method to be for changed
8338         instantiators. Add redisplay method. Change signature of layout
8339         method.
8340         (struct Lisp_Image_Instance): add instantiator.
8341         (IMAGE_INSTANCE_INSTANTIATOR): new.
8342         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
8343         (XIMAGE_INSTANCE_INSTANTIATOR): new.
8344         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
8345
8346         * glyphs.c:
8347         (find_instantiator_differences): new function.
8348         (Fset_instantiator_property): new convenience function.
8349         (check_image_instance_structure): strictly check for vector
8350         instantiators.
8351         (normalize_image_instantiator): make non-static.
8352         (instantiate_image_instantiator): pass on dest_mask and use new
8353         signatures for image_instance_layout and friends.
8354         (mark_image_instance): mark the instantiator. Mark the subwindow
8355         face not the widget face.
8356         (image_instance_equal): add instantiator.
8357         (image_instance_hash): ditto.
8358         (allocate_image_instance): ditto.
8359         (Fset_image_instance_property): removed.
8360         (Fimage_instance_file_name): ditto.
8361         (Fcolorize_image_instance): ditto.
8362         (image_instance_layout): add offsets to be set.
8363         (update_image_instance): new function. update an image instance
8364         from its changed instantiator.
8365         (inherit_normalize): add dest_mask.
8366         (xbm_normalize): ditto.
8367         (xface_normalize): ditto.
8368         (xpm_normalize): ditto.
8369         (text_update): set_property -> update.
8370         (image_instantiate): use the glyph identity as a hash key, not the
8371         instantiator.
8372         (glyph_width): use new image_instance_layout signature.
8373         (glyph_ascent): ditto.
8374         (glyph_descent): ditto.
8375         (glyph_height): ditto.
8376         (glyph_query_geometry): ressurrect.
8377         (glyph_layout): ditto.
8378         (redisplay_subwindow): update -> redisplay.
8379         (syms_of_glyphs): add Fset_instantiator_property.
8380         (image_instantiator_format_create): set_property -> update.
8381
8382         * glyphs-x.c:
8383         (autodetect_normalize): add dest_maks to signature.
8384         (x_redisplay_subwindow): update -> redisplay.
8385         (x_redisplay_widget): ditto.
8386         (x_button_redisplay): ditto.
8387         (x_progress_gauge_redisplay): ditto.
8388         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
8389         stacking order.
8390         (console_type_create_glyphs_x): update -> redisplay.
8391         (image_instantiator_format_create_glyphs_x): ditto.
8392
8393         * glyphs-widget.c:
8394         (check_valid_instantiator): disallow glyphs in the instantiator,
8395         they must now be vectors.
8396         (check_valid_instantiator_list): ditto.
8397         (glyph_instantiator_to_glyph): use internal symbol rather than
8398         intern.
8399         (widget_update): renamed from widget_set_property. Call cascaded
8400         update methods.
8401         (redisplay_widget): renamed from update_widget.
8402         (widget_layout): image_instance_layout now takes position as well
8403         as size.
8404         (widget_normalize): ditto.
8405         (widget_instantiate): ditto.
8406         (tab_control_query_geometry) ditto.:
8407         (tab_control_update): renamed from tab_control_set_property.
8408         (progress_gauge_update): set_property -> update.
8409         (layout_normalize): rewrite so that child instantiators are
8410         normalized also.
8411         (layout_update): new function. Create glyphs from the normalized
8412         children and cope with any other layout keywords. We do not
8413         instantiate children here that will be take care of by
8414         redisplay_output_layout.
8415         (layout_instantiate): call layout_update and not much else.
8416         (layout_post_instantiate): not sure whether this is needed
8417         anymore.
8418         (layout_query_geometry): query glyph geometry rather than
8419         image_instance geometry.
8420         (layout_layout): set offsets from pass in parameters. Use glyph
8421         geometry and layout functions rather than image instance ones.
8422         (native_layout_layout): ditto.
8423         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
8424         (image_instantiator_widget): set_property -> update.
8425         (image_instantiator_buttons): ditto.
8426         (image_instantiator_progress_guage): ditto.
8427         (image_instantiator_tab_control): ditto.
8428         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
8429         (image_instantiator_layout): add update method.
8430
8431         * glyphs-msw.c (bmp_normalize):
8432         (mswindows_resource_normalize): add dest_mask so that it can be
8433         proprogated by layout_normalize.
8434         (begin_defer_window_pos): make optional because it may not be the
8435         right thing to do and it introduces differences with X.
8436         (mswindows_unmap_subwindow): ditto.
8437         (mswindows_map_subwindow): ditto.
8438         (mswindows_redisplay_subwindow): renamed from
8439         mswindows_update_subwindow.
8440         (mswindows_redisplay_widget): ditto.
8441         (mswindows_button_redisplay): renamed from
8442         mswindows_button_update. Update is now what the instantiation
8443         function does for a changed instantiator.
8444         (mswindows_progress_gauge_instantiate): set the progress value
8445         here if appropriate.
8446         (mswindows_tab_control_redisplay): cope with re-ordering of the
8447         members of the tab widget by simply selecting the new top
8448         widget. This makes things appear ok if you click on a tab.
8449         (mswindows_combo_box_instantiate): image_instance_layout now takes
8450         position as well as size.
8451         (mswindows_progress_gauge_redisplay): renamed from
8452         mswindows_progress_gauge_update.
8453         (console_type_create_glyphs_mswindows): fix update -> redisplay.
8454         (image_instantiator_format_create_glyphs_mswindows): ditto.
8455
8456         * glyphs-eimage.c (jpeg_normalize):
8457         (gif_normalize):
8458         (png_normalize):
8459         (tiff_normalize): add dest_mask so that it can be proprogated by
8460         layout_normalize.
8461
8462         * elhash.c:
8463         (print_hash_table):
8464         (hash_table_weakness_validate):
8465         (decode_hash_table_weakness):
8466         (Fhash_table_weakness):
8467         (Fhash_table_type):
8468         (syms_of_elhash): use Ben's naming scheme for hashtable types..
8469
8470         * console.h (struct console_methods): move update_* to
8471         redisplay_*.
8472
8473 2000-07-20  Ben Wing  <ben@xemacs.org>
8474
8475         * *.[ch] (XSETOBJ): remove unused middle argument.
8476         lisp-disunion.h: correct wrap_object() to one argument.
8477
8478 2000-07-15  Ben Wing  <ben@xemacs.org>
8479
8480         * s/cygwin32.h:
8481         * s/cygwin32.h (CYGWIN_CONV_PATH):
8482         Add missing logb prototype for v1.1.
8483         Use post-b20 names and alias to pre-b20 names when pre-b20.
8484
8485         * s/windowsnt.h: [5].
8486
8487 2000-07-15  Ben Wing  <ben@xemacs.org>
8488
8489         * Makefile.in.in (x_objs):
8490         * Makefile.in.in (sheap_objs):
8491         * Makefile.in.in (objs):
8492         added win32.o, cosmetic cleanups.
8493
8494         * alloc.c (Fmake_byte_code):
8495         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
8496         etc. macros which declare their own args now.
8497
8498         * alloc.c (syms_of_alloc):
8499         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
8500
8501         * buffer.c:
8502         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
8503
8504         * buffer.c (Fget_file_buffer):
8505         Fixed GCPRO problem.
8506
8507         * buffer.c (get_truename_buffer):
8508         Fixed comment about GC checking.
8509
8510         * buffer.c (syms_of_buffer):
8511         Undeclared those dedicated frame funs.
8512         [2].
8513
8514         * buffer.h:
8515         Define convenience macros for internal/external conversions.
8516         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
8517         and Qenvironment_variable_encoding for cleaner code.
8518
8519         * bufslots.h:
8520         Remove dedicated-frame; in lisp.
8521
8522         * bytecode.c (funcall_compiled_function):
8523         [1].
8524
8525         * bytecode.c (syms_of_bytecode):
8526         [2].
8527
8528         * console-msw.c:
8529         * console-msw.c (mswindows_show_console): Rewrote.
8530
8531         * console-msw.c (Fmswindows_debugging_output): New.
8532         Sends to OutputDebugString (special MSWin debugger interface).
8533
8534         * console-msw.c (Fmswindows_message_box):
8535         Fixed stupid bugs so it works when called from kill-emacs.
8536
8537         * console-msw.c (syms_of_console_mswindows):
8538         Declare Fmswindows_debugging_output.
8539
8540         * console-msw.h:
8541         New MSWin prototypes.
8542
8543         * console-msw.h (struct mswindows_frame):
8544         New entry last-click-mods for improved button-modifier support.
8545
8546         * console-msw.h (FRAME_MSWINDOWS_POPUP):
8547         New struct entry `popup' with corresponding accessor.
8548
8549         * console-x.c:
8550         * console-x.c (split_up_display_spec):
8551         * console-x.c (get_display_arg_connection):
8552         * console-x.c (x_semi_canonicalize_console_connection):
8553         * console-x.c (x_canonicalize_device_connection):
8554         [[[6]]]: Change char to more specific type.
8555         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
8556
8557         * console-x.c (x_semi_canonicalize_console_connection):
8558         * console-x.c (x_canonicalize_device_connection):
8559         [[[9]]]: Fix up error signalling to use new structured error system.
8560
8561         * console-x.h:
8562         [[[4]]]: Define codesys aliases:
8563         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
8564         Qx_color_name_encoding, Qx_display_name_encoding.
8565
8566         * console.h (struct console_methods):
8567         New method make_dialog_box_internal supersedes older
8568         popup_dialog_box method.
8569
8570         * data.c:
8571         Define many new errors, part of new structured errors.
8572
8573         * data.c (init_errors_once_early):
8574         * data.c (syms_of_data):
8575         [2].
8576
8577         * device-msw.c (mswindows_init_device):
8578         [[[5]]]: Cleanup to support NT 3.51.
8579
8580         * device-msw.c (decode_devmode): Cleanup.
8581
8582         * device-msw.c (mswindows_handle_print_setup_dialog_box):
8583         * device-msw.c (mswindows_handle_print_dialog_box):
8584         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8585         * device-msw.c (syms_of_device_mswindows):
8586         Delete the dialog box primitives recently introduced by Kirill and
8587         instead interface to general dialog box interface.
8588
8589         * device-x.c:
8590         * device-x.c (compute_x_app_name):
8591         * device-x.c (x_init_device):
8592         * device-x.c (Fx_valid_keysym_name_p):
8593         * device-x.c (Fx_set_font_path):
8594         [6].
8595         [7].
8596
8597         * device.h (wrap_device): New.
8598         First of its kind; meant to replace XSETDEVICE.
8599
8600         * dialog-msw.c: Many file-dialog symbols.
8601
8602         * dialog-msw.c (mswindows_register_popup_frame): New.
8603         * dialog-msw.c (mswindows_is_dialog_msg): New.
8604         For supporting kbd traversal in dialog boxes.
8605
8606         * dialog-msw.c (dialog_proc):
8607         Support hitting ESC in dialogs.
8608
8609         * dialog-msw.c (struct):
8610         Common dialog box errors.
8611
8612         * dialog-msw.c (handle_file_dialog_box): New.
8613         Add file dialog code.
8614
8615         * dialog-msw.c (handle_question_dialog_box):
8616         Redo existing code to support new question dialog syntax.
8617
8618         * dialog-msw.c (console_type_create_dialog_mswindows):
8619         We support new dialog console method.
8620
8621         * dialog-msw.c (syms_of_dialog_mswindows):
8622         * dialog-msw.c (vars_of_dialog_mswindows):
8623         New file dialog symbols, vars.
8624
8625         * dialog-x.c:
8626         * dialog-x.c (maybe_run_dbox_text_callback):
8627         * dialog-x.c (dbox_descriptor_to_widget_value):
8628         * dialog-x.c (x_make_dialog_box_internal):
8629         * dialog-x.c (console_type_create_dialog_x):
8630         Mule-ize entire file.
8631         Redo to support question dialog syntax.
8632         [6].
8633
8634         * dialog.c:
8635         * dialog.c (Fmake_dialog_box_internal):
8636         * dialog.c (syms_of_dialog):
8637         Kill old popup-dialog-box, replace with new primitive.
8638         Just call device method or signal error.
8639
8640         * eldap.c (Fldap_open):
8641         * eldap.c (Fldap_search_basic):
8642         * eldap.c (Fldap_add):
8643         * eldap.c (Fldap_modify):
8644         [1].
8645         [7].
8646
8647         * emacs.c:
8648         * emacs.c (make_arg_list_1):
8649         * emacs.c (make_arg_list):
8650         Mule-ize call to dll_init().
8651         [6].
8652         [8].
8653
8654         * emacs.c (make_argc_argv):
8655         * emacs.c (free_argc_argv):
8656         * emacs.c (init_cmdargs):
8657         * emacs.c (main_1):
8658         * emacs.c (Fkill_emacs):
8659         * emacs.c (Fdump_emacs):
8660         Update comments about what can be used in syms_* etc.
8661         Call init_win32() when necessary.
8662         Fix up MS Win dialog box in kill-buffer to actually work right.
8663         [7].
8664
8665         * eval.c:
8666         * eval.c (For):
8667         * eval.c (Fand):
8668         * eval.c (Fprogn):
8669         * eval.c (Fprog1):
8670         * eval.c (Fprog2):
8671         * eval.c (FletX):
8672         * eval.c (Flet):
8673         * eval.c (condition_case_3):
8674         * eval.c (Feval):
8675         * eval.c (function_argcount):
8676         * eval.c (funcall_lambda):
8677         [1].
8678
8679         * eval.c (type_error): New.
8680         * eval.c (maybe_type_error): New.
8681         * eval.c (continuable_type_error): New.
8682         * eval.c (maybe_continuable_type_error): New.
8683         * eval.c (type_error_with_frob): New.
8684         * eval.c (maybe_type_error_with_frob): New.
8685         * eval.c (continuable_type_error_with_frob): New.
8686         * eval.c (maybe_continuable_type_error_with_frob): New.
8687         New functions for use with structured errors.
8688
8689         * event-Xt.c:
8690         * event-Xt.c (x_event_to_emacs_event):
8691         Buttons are now modifiers too.
8692
8693         * event-Xt.c (emacs_Xt_current_event_timestamp):
8694         Implement new event method.
8695         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
8696
8697         * event-msw.c:
8698         * event-msw.c (ntpipe_shove_writer): [5].
8699         * event-msw.c (mswindows_enqueue_mouse_button_event):
8700         * event-msw.c (mswindows_drain_windows_queue):
8701         * event-msw.c (mswindows_wnd_proc): [7].
8702         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
8703         * event-msw.c (mswindows_modifier_state):
8704         Throughout: support new button modifiers.
8705
8706         * event-msw.c (emacs_mswindows_current_event_timestamp):
8707         Implement new event method.
8708         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
8709
8710         * event-stream.c:
8711         * event-stream.c (event_stream_current_event_timestamp): New.
8712         * event-stream.c (maybe_kbd_translate): New functionality.
8713         * event-stream.c (vars_of_event_stream):
8714         Document new kbd-translate-table functionality.
8715
8716         * event-stream.c (Fcurrent_event_timestamp): New.
8717         New primitive for use in fabricated events.
8718         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
8719
8720         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
8721
8722         * events.c:
8723         * events.c (Fmake_event):
8724         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
8725         [1].
8726         [9].
8727
8728         * events.c (format_event_object): fix gcc warnings.
8729
8730         * events.c (Fevent_timestamp): Document new primitives.
8731
8732         * events.c (TIMESTAMP_HALFSPACE): New.
8733
8734         * events.c (Fevent_timestamp_lessp): New.  New primitive for
8735         comparing timestamps correctly (half-space algorithm).
8736
8737         * events.c (Fevent_modifier_bits): Doc fix.
8738
8739         * events.c (Fevent_modifiers): Major doc addition.
8740         * events.c (event_x_y_pixel_internal): Typo fix.
8741         * events.c (syms_of_events): Declare new primitives.
8742
8743         * events.h:
8744         Update long comment for button modifiers, timestamps.
8745
8746         * events.h (struct event_stream):
8747         New current_event_timestamp method.
8748
8749         * extents.c:
8750         * extents.c (extent_in_region_p):
8751         * extents.c (decode_extent):
8752         * extents.c (Fset_extent_parent):
8753         * extents.c (decode_map_extents_flags):
8754         Fix gcc warnings.
8755         [9].
8756
8757         * extents.c (struct extent_at_arg):
8758         * extents.c (decode_extent_at_flag):
8759         * extents.c (extent_at_mapper):
8760         * extents.c (extent_at_bytind):
8761         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
8762         * extents.c (Fextents_at): New primitive. [9].
8763         * extents.c (symbol_to_glyph_layout): [9].
8764         Support new primitive `extents-at'.
8765
8766
8767         * extents.c (get_text_property_bytind):
8768         extent_at_bytind has another arg.
8769         [9].
8770
8771         * extents.c (syms_of_extents): New primitive.
8772
8773         * file-coding.c (Fmake_coding_system): [1].
8774         * file-coding.c (subsidiary_coding_system): fix gcc warning
8775         * file-coding.c (syms_of_file_coding): [2].
8776
8777         * fileio.c (Fexpand_file_name):
8778         * fileio.c (Fsysnetunam):
8779         * fileio.c (Ffile_exists_p):
8780         * fileio.c (Ffile_executable_p):
8781         * fileio.c (Fverify_visited_file_modtime):
8782         Clean up GCPROing.
8783
8784         * fileio.c (syms_of_fileio): [2].
8785
8786         * filelock.c (lock_file_1):
8787         * filelock.c (current_lock_owner):
8788         * filelock.c (lock_if_free):
8789         * filelock.c (lock_file):
8790         * filelock.c (unlock_file):
8791         Clean up GCPROing.
8792
8793         * fns.c (concat): Fix gcc warning.
8794
8795         * fns.c (Fmember):
8796         * fns.c (Fold_member):
8797         * fns.c (Fmemq):
8798         * fns.c (Fold_memq):
8799         * fns.c (memq_no_quit):
8800         * fns.c (Fassoc):
8801         * fns.c (Fold_assoc):
8802         * fns.c (Fassq):
8803         * fns.c (Fold_assq):
8804         * fns.c (assq_no_quit):
8805         * fns.c (Frassoc):
8806         * fns.c (Fold_rassoc):
8807         * fns.c (Frassq):
8808         * fns.c (Fold_rassq):
8809         * fns.c (rassq_no_quit):
8810         * fns.c (Fdelete):
8811         * fns.c (Fold_delete):
8812         * fns.c (Fdelq):
8813         * fns.c (Fold_delq):
8814         * fns.c (delq_no_quit):
8815         * fns.c (Fremassoc):
8816         * fns.c (Fremassq):
8817         * fns.c (remassq_no_quit):
8818         * fns.c (Fremrassoc):
8819         * fns.c (Fremrassq):
8820         * fns.c (remrassq_no_quit):
8821         * fns.c (Freverse):
8822         * fns.c (mapcar1):
8823         [1].
8824
8825         * frame-msw.c (mswindows_init_frame_1):
8826         * frame-msw.c (mswindows_delete_frame):
8827         Register popups with dialog code so keyboard traversing works.
8828
8829         * frame-tty.c (tty_raise_frame_no_select): [1].
8830
8831         * frame-x.c:
8832         * frame-x.c (x_set_frame_text_value):
8833         * frame-x.c (x_set_frame_properties):
8834         * frame-x.c (x_create_widgets):
8835         [7].
8836
8837         * frame.c:
8838         * frame.c (Fmouse_pixel_position): Minor doc fixes.
8839
8840         * frame.h (wrap_frame): New.
8841         Macro like wrap_device.
8842
8843         * general.c:
8844         * general.c (SYMBOL):
8845         * general.c (syms_of_general):
8846         Major reorg.  This is now just a wrapper and symbols themselves
8847         are listed in general-slots.h.
8848
8849         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
8850         * glyphs-msw.c (mswindows_resource_instantiate): [5].
8851
8852         * glyphs-msw.c (mswindows_native_layout_instantiate):
8853         Add DS_CONTROL so keyboard traversal will work.
8854
8855         * glyphs-widget.c:
8856         * glyphs-widget.c (syms_of_glyphs_widget):
8857         Move some symbols to general-slots.h.
8858
8859         * glyphs-x.c:
8860         * glyphs-x.c (xbm_instantiate_1):
8861         * glyphs-x.c (x_xbm_instantiate):
8862         * glyphs-x.c (x_xface_instantiate):
8863         * glyphs-x.c (autodetect_instantiate):
8864         * glyphs-x.c (cursor_font_instantiate):
8865         * glyphs-x.c (x_update_widget):
8866         * glyphs-x.c (x_widget_instantiate):
8867         * glyphs.c (bitmap_to_lisp_data):
8868         * glyphs.c (pixmap_to_lisp_data):
8869         [7].
8870
8871         * glyphs.c (syms_of_glyphs):
8872         [2].
8873
8874         * gui-x.c:
8875         * gui-x.c (print_widget_value):
8876         * gui-x.c (menu_separator_style_and_to_external):
8877         * gui-x.c (add_accel_and_to_external):
8878         * gui-x.c (button_item_to_widget_value):
8879         * gui-x.c (gui_items_to_widget_values_1):
8880         * gui-x.c (gui_items_to_widget_values):
8881         * gui-x.c (syms_of_gui_x):
8882         * gui-x.c (vars_of_gui_x):
8883         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
8884         [9].
8885
8886         * gui-x.h:
8887         Muleize, prototype changes matching gui-x.c.
8888
8889         * gui.c:
8890         * gui.c (separator_string_p):
8891         * gui.c (gui_item_add_keyval_pair):
8892         * gui.c (make_gui_item_from_keywords_internal):
8893         * gui.c (signal_too_long_error):
8894         * gui.c (parse_gui_item_tree_item):
8895         * gui.c (syms_of_gui):
8896         * gui.c (vars_of_gui):
8897         * gui.h:
8898         menu-no-selection-hook moved here (used by MSWin).
8899         Move some symbols to general-slots.h.
8900         [6].
8901         [9].
8902
8903         * insdel.c (get_buffer_pos_char):
8904         * insdel.c (get_buffer_range_char):
8905         Add GC comments.
8906
8907         * keymap.c (keymap_lookup_directly):
8908         * keymap.c (keymap_store):
8909         * keymap.c (ensure_meta_prefix_char_keymapp):
8910         * keymap.c (describe_map):
8911         * keymap.h:
8912         Support new button modifiers.
8913
8914         * lisp-disunion.h (wrap_object):
8915         * lisp-disunion.h (XSETOBJ):
8916         Rename make_obj to wrap_object.
8917
8918         * lisp-union.h:
8919         * lisp-union.h (make_int):
8920         * lisp-union.h (make_char):
8921         Support wrap_object.
8922
8923         * lisp.h:
8924         * lisp.h (LIST_LOOP):
8925         * lisp.h (EXTERNAL_LIST_LOOP):
8926         * lisp.h (LIST_LOOP_2):
8927         * lisp.h (EXTERNAL_LIST_LOOP_1):
8928         * lisp.h (EXTERNAL_LIST_LOOP_2):
8929         * lisp.h (EXTERNAL_LIST_LOOP_3):
8930         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
8931         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8932         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
8933         * lisp.h (EXTERNAL_ALIST_LOOP_5):
8934         * lisp.h (EXTERNAL_ALIST_LOOP_6):
8935         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
8936         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
8937         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
8938         * lisp.h (struct Lisp_Symbol):
8939         * lisp.h (maybe_continuable_error_with_frob):
8940         Fix up section comments.
8941         Add new types for char to indicate usage.
8942         Delete symbols auto-generated from general-slots.h.
8943         Add prototypes for structured error functions.
8944         Add long comments describing looping macros and change interface
8945         so that lvalues are automatically declared.
8946         Add NO_DECLARE macro in case callers want to declare lvalues
8947         themselves.
8948
8949         * lread.c (read_syntax_error):
8950         * lread.c (continuable_read_syntax_error):
8951         * lread.c (read_structure):
8952         * lread.c (sequence_reader):
8953         * lread.c (read_list_conser):
8954         * lread.c (read_compiled_function):
8955         Rename syntax_error and continuable_syntax_error to avoid clash
8956         with same-named structured error functions.
8957
8958         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8959         * menubar-msw.c (populate_menu_add_item):
8960         * menubar-msw.c (populate_or_checksum_helper):
8961         [5].
8962         [9].
8963
8964         * menubar-x.c:
8965         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8966         Mule-ize whole file.
8967
8968         * menubar.c (Fnormalize_menu_item_name): Add optimization.
8969
8970         * mule-charset.c (Fmake_charset):
8971         * mule-wnnfns.c (Fwnn_set_param):
8972         [1].
8973
8974         * ntproc.c (create_child):
8975         * ntproc.c (Fwin32_set_current_locale):
8976         Add comments portending doom.
8977
8978         * objects-msw.c:
8979         * objects-msw.c (old_font_enum_callback_2):
8980         * objects-msw.c (font_enum_callback_1):
8981         * objects-msw.c (mswindows_enumerate_fonts):
8982         [5].
8983
8984         * objects-x.c:
8985         * objects-x.c (allocate_nearest_color):
8986         * objects-x.c (x_parse_nearest_color):
8987         * objects-x.c (x_initialize_color_instance):
8988         * objects-x.c (x_print_color_instance):
8989         * objects-x.c (x_finalize_color_instance):
8990         * objects-x.c (x_valid_color_name_p):
8991         * objects-x.c (x_initialize_font_instance):
8992         * objects-x.c (x_print_font_instance):
8993         * objects-x.c (valid_x_font_name_p):
8994         * objects-x.c (truename_via_FONT_prop):
8995         * objects-x.c (truename_via_random_props):
8996         * objects-x.c (truename_via_XListFonts):
8997         * objects-x.c (x_font_truename):
8998         * objects-x.c (x_font_instance_truename):
8999         * objects-x.c (x_font_instance_properties):
9000         * objects-x.c (x_list_fonts):
9001         * objects-x.c (x_find_charset_font):
9002         Mule-ize entire file.
9003         [7].
9004
9005         * objects-x.h:
9006         Mule-verify.
9007
9008         * print.c:
9009         * print.c (std_handle_out_external):
9010         * print.c (debug_print_no_newline):
9011         * print.c (syms_of_print):
9012         Output to all debugger kinds in debug-print.
9013         Fix console-output code under MSWin to actually work.
9014
9015         * process-nt.c (send_signal):
9016         * process-nt.c (nt_create_process):
9017         Use newer Unicode macros.
9018
9019         * process-unix.c (unix_create_process):
9020         * process-unix.c (unix_canonicalize_host_name):
9021         * process-unix.c (unix_open_network_stream):
9022         [7].
9023
9024         * scrollbar-x.c:
9025         Mule-verify.
9026
9027         * search.c (syms_of_search):
9028         [2].
9029
9030         * select-msw.c (mswindows_destroy_selection):
9031         Use LIST_LOOP_2.
9032
9033         * select-x.c (symbol_to_x_atom):
9034         [7].
9035
9036         * select.c (syms_of_select):
9037         [2].
9038
9039         * sound.c (Fplay_sound_file):
9040         [7].
9041
9042         * specifier.c:
9043         * specifier.c (decode_specifier_type):
9044         * specifier.c (Fvalid_specifier_locale_type_p):
9045         * specifier.c (check_valid_locale_or_locale_type):
9046         * specifier.c (decode_locale):
9047         * specifier.c (decode_locale_type):
9048         * specifier.c (decode_locale_list):
9049         * specifier.c (check_valid_domain):
9050         * specifier.c (decode_specifier_tag_set):
9051         * specifier.c (Fcanonicalize_tag_set):
9052         * specifier.c (Fdefine_specifier_tag):
9053         * specifier.c (Fspecifier_tag_predicate):
9054         * specifier.c (check_valid_inst_list):
9055         * specifier.c (check_valid_spec_list):
9056         * specifier.c (decode_how_to_add_specification):
9057         * specifier.c (check_modifiable_specifier):
9058         * specifier.c (specifier_add_spec):
9059         * specifier.c (boolean_validate):
9060         * specifier.c (display_table_validate):
9061         [9].
9062
9063         * specifier.c (syms_of_specifier):
9064         Move some symbols to general-slots.h.
9065         [2].
9066
9067         * symbols.c:
9068         * symbols.c (Fmapatoms):
9069         * symbols.c (Fapropos_internal):
9070         Add GCPROs.
9071
9072         * symbols.c (set_default_buffer_slot_variable):
9073         * symbols.c (set_default_console_slot_variable):
9074         [1].
9075
9076         * symbols.c (defsymbol_massage_name_1):
9077         * symbols.c (defkeyword_massage_name):
9078         * symbols.c (deferror_1):
9079         * symbols.c (deferror):
9080         * symbols.c (deferror_massage_name_and_message):
9081         * symeval.h:
9082         * symeval.h (DEFSYMBOL):
9083         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
9084
9085         * symbols.c (syms_of_symbols):
9086         [2].
9087
9088         * symsinit.h:
9089         * symsinit.h (init_win32): New.
9090         Also new is syms_of_dialog_mswindows.
9091
9092         * syswindows.h:
9093         Add new Unicode macros, missing Cygwin wide-char functions,
9094         convenience conversion macros for Qmswindows_tstr, macros for
9095         encapsulating required MSWin <-> Cygwin filename conversions,
9096         prototype for dynamically-extracted (not in NT 3.51) functions.
9097
9098         * toolbar-x.c:
9099         Mule-verify.
9100
9101         * tooltalk.c (Fadd_tooltalk_message_arg):
9102         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
9103         * tooltalk.c (Fadd_tooltalk_pattern_arg):
9104         [7].
9105
9106         * tooltalk.c (syms_of_tooltalk):
9107         [2].
9108
9109         * unexnt.c:
9110         * unexnt.c (unexec):
9111         Fix up headers, declaration of unexec() to be more standard.
9112
9113 2000-07-20  Martin Buchholz  <martin@xemacs.org>
9114
9115         * offix.h: Revert change to guard macros - they're used in offix.c!
9116
9117 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9118
9119         * lisp.h: Defsubred Fdelete.
9120
9121         * console-msw.h:  (msprinter_default_printer): Added.
9122
9123         * console-msw.c (msprinter_canonicalize_console_connection):
9124         (msprinter_canonicalize_device_connection): Added.
9125
9126         * device-msw.c (msprinter_default_printer):
9127         (Fmswingows_get_default_printer):
9128         (signal_enum_priner_error):
9129         (Fmswingows_printer_list): Added.
9130
9131 2000-07-19  Martin Buchholz <martin@xemacs.org>
9132
9133         * XEmacs 21.2.35 is released.
9134
9135 2000-07-19  Martin Buchholz  <martin@xemacs.org>
9136
9137         * select-x.c (x_handle_selection_request):
9138         Text selected in xemacs and pasted into xterm failed to appear.
9139         Spelling fixes and cosmetic changes.
9140
9141 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9142
9143         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
9144         XEmacs frame (fix for doubling chars in dialog boxes).
9145
9146 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9147
9148         * select.c (select_convert_in, select_convert_out):
9149         Don't call intern() every time.
9150
9151         * select.c (Qselect_convert_in, Qselect_convert_out): New.
9152         * select.c (vars_of_select): Initialise them.
9153
9154 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9155
9156         * select.c (selection-coercible-types): New.
9157
9158         * select.c (own-selection-internal):
9159         * select.c (get-selection-internal):
9160         MULE bug fix - these should default to COMPOUND_TEXT and not
9161         STRING for MULE. I think.
9162
9163         * select.c (select_convert_out): Use selection-coercible-types
9164         to find types that we can attempt to perform coercions on.
9165
9166 2000-07-18  Martin Buchholz  <martin@xemacs.org>
9167
9168         * mule-wnnfns.c:
9169         * mule-canna.c:
9170         Add coding: cookie to identify encoding.
9171
9172         * mule-canna.c (CANNA_mode_keys): make static.
9173         Use proper prototypes, even for functions of no arguments.
9174         Remove external prototype for Fding().
9175
9176         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
9177
9178         * select.c (syms_of_select): Add missing DEFSUBR.
9179
9180 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9181
9182         * select.c (get_selection_internal, own_selection_internal):
9183         Make the type default to STRING, rather than placing a nil type
9184         into Vselection_alist.
9185
9186 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9187
9188         * gpmevent.c (tty_selection_exists_p):
9189         * gpmevent.c (tty_own_selection):
9190         Updated parameter lists.
9191
9192 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
9193
9194         * select.h (selection-alist): Removed declaration.
9195
9196         * select.h (get_local_selection):
9197         * select.c (get_local_selection):
9198         Made static.
9199
9200         * select.h (convert_selection): Removed declaration.
9201         * select.c (convert_selection): Removed.
9202         This function belongs in Lisp.
9203
9204         * select.h (select_convert_in): Declare.
9205         * select.h (select_convert_out): Declare.
9206         * select.c (select_convert_in): New.
9207         * select.c (select_convert_out): New.
9208         New conversion functions for other files to call.
9209
9210         * select.h (select_notify_buffer_kill): Declare.
9211         * select.c (select_notify_buffer_kill): New.
9212         New functions that get called from kill-buffer.
9213
9214         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
9215         X-specific lisp code.
9216
9217         * select.h: Declare some of the lisp-visible functions for
9218         external use.
9219
9220         * select.c (clean_local_selection_data): Removed. This was
9221         a disgusting function, and previously should have been in
9222         select-x.c in any case. The functionality is now provided
9223         in select-convert-from-integer (select.el).
9224
9225         * select.c (available-selection-types): Fixed stupidity where
9226         INTEGER and ATOM got added twice. Also add STRING when we see an
9227         extent.
9228
9229         * select.c (get-selection-internal): Removed symbol stripping. No
9230         longer causes conversion when data comes from the internal cache.
9231
9232         * select.c (syms_of_select): Added new functions.
9233
9234         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
9235         error checking - previously this called abort!
9236
9237         * select-x.c (x_own_selection): Changed comment.
9238
9239         * select-x.c (x_handle_selection_request): Use select_convert_out.
9240         Don't mess with selection-alist; it's an internal variable of select.c.
9241
9242         * select-x.c (x_get_foreign_selection): Use select_convert_in.
9243
9244         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
9245         rather than messing with selection-alist.
9246
9247         * select-msw.c (mswindows_get_foreign_selection):
9248         Use TO_INTERNAL_FORMAT rather than hacking.
9249
9250 2000-07-14  Martin Buchholz  <martin@xemacs.org>
9251
9252         * process-unix.c (unix_open_multicast_group):
9253         (unix_open_multicast_group): Remove useless casts.
9254
9255 2000-07-13  Martin Buchholz  <martin@xemacs.org>
9256
9257         * sound.c (Fplay_sound): Fix `unused variable' warning.
9258
9259         * emacs.c (main): Use correct type for _environ on SCO5.
9260
9261 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
9262
9263         * console.h (own_selection_method):
9264         * console.h (selection_exists_p_method):
9265         * console.h (available_selection_types_method): New.
9266         * console.h (register_selection_data_type_method): New.
9267         * console.h (selection_data_type_name): New.
9268
9269         * console-msw.h (mswindows_destroy_selection): Declare it.  New
9270         function & alist to track GlobalAlloc()'d handles that need
9271         releasing when the clipboard data gets replaced or emptied.
9272
9273         * event-msw.c (mswindows_wnd_proc): Call it.
9274
9275         * lisp.h, general.c (Qappend): New symbol representing a
9276         `how-to-add' mode.
9277
9278         * select.c (own-selection-internal):
9279         * select.c (selection-exists-p):
9280         * select.c (available-selection-types): New.
9281         * select.c (register-selection-data-type): New.
9282         * select.c (selection-data-type-name): New.  New functions to deal
9283         with device-specific selection data formats.
9284         * select.c (selection-converter-out-alist): Renamed.
9285         * select.c (selection-converter-in-alist): New.
9286         * select.c (selection-appender-alist): New.  Added new alists.
9287         * select.c (syms_of_select, vars_of_select): Added new symbols &
9288         variables.
9289         * select.c (get_local_selection): Split.
9290         * select.c: Removed spurious type checking - selections may now be
9291         of any type, not just strings.
9292         * select.c (own-selection-internal):
9293
9294         * select.h, select.c (convert_selection): New. Created
9295         convert_selection() function based on get_local_selection().
9296         * select.h, select.c (QCF_*): New symbols representing mswindows
9297         clipboard formats.
9298         * select.h, select.c (Qreplace_all, Qreplace_existing): New
9299         symbols representing `how-to-add' modes.
9300
9301         * select-msw.c (x_sym_p): New.
9302         * select-msw.c (symbol_to_ms_cf): New.
9303         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
9304         symbols & clipboard formats. Can also handle string names.
9305         * select-msw.c (mswindows_own_selection):
9306         * select-msw.c (mswindows_selection_exists_p):
9307         Added `data-type' parameter. Use it.
9308         * select-msw.c (mswindows_available_selection_types): New.
9309         * select-msw.c (mswindows_register_selection_data_type): New.
9310         * select-msw.c (mswindows_selection_data_type_name): New.
9311         * select-msw.c (mswindows_own_selection):
9312         * select-msw.c (mswindows_get_foreign_selection):
9313         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
9314         * select-msw.c (console_create_select_mswindows): Added new methods.
9315         * select-msw.c (mswindows_destroy_selection): New.
9316         * select-msw.c (Vhandle_alist): New list.
9317         * select-msw.c (mswindows_own_selection):
9318
9319         * select-x.c (x_own_selection):
9320         * select-x.c (x_selection_exists_p):
9321         * select-x.c: Added some comments about maybe using new
9322         functionality.
9323         * select-x.c (x_own_selection):
9324
9325         * specifier.c: Remove definition of Qappend (now in general.c)
9326         * specifier.c (syms_of_specifier): Remove Qappend.
9327
9328 2000-07-12  Martin Buchholz  <martin@xemacs.org>
9329
9330         * config.h.in: Add socklen_t.
9331
9332         * s/decosf4-0.h: No special compiler flags needed or desired.
9333         In particular, undefine _BSD for DEC OSF 4.0.
9334
9335 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9336
9337         * redisplay-msw.c (msprinter_frame_output_end): Added.
9338         (console_type_create_redisplay_mswindows): Referred the above.
9339
9340         * frame.c (setup_frame_without_minibuffer): Do not create a
9341         default minibuffer frame on a printer device.
9342
9343         * frame-msw.c (apply_dc_geometry): Added.
9344         (msprinter_start_page):
9345         (msprinter_init_frame_3):
9346         (msprinter_eject_page): Use it.
9347
9348         * console-msw.h (struct msprinter_frame): Added pix_left and top,
9349         and removed residual duplex and orientation properties.
9350
9351 2000-07-11  Martin Buchholz  <martin@xemacs.org>
9352
9353         * eval.c (function_argcount): Work around a DEC CC compiler bug.
9354
9355         * unexalpha.c: Remove system prototypes from C sources!
9356
9357 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
9358
9359         * eval.c: Remove references to M-x edit-options in DEFUNs for
9360         `defvar' and `defconst'.
9361
9362 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9363
9364         * config.h.in: Remove SMART_INCLUDE hackery.
9365
9366         PostgreSQL hacking:
9367         * config.h.in: Don't use SMART_INCLUDE.
9368
9369         * postgresql.h: Include libpq-fe.h here.  Fix typo.
9370         * inline.c: Simply #include "postgresql.h"
9371         * postgresql.c:
9372         - Don't use SMART_INCLUDE
9373         - Use simply "const".
9374         - Use standard doc string conventions.
9375         - Use correct type for result of PQstatus.
9376
9377 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9378
9379         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
9380
9381         C++ compilation changes.
9382         * config.h.in (EXTERN_C): Define.
9383         * config.h.in (not): This is also a C++ keyword.
9384         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
9385         * cm.c: Use EXTERN_C.
9386         * redisplay-tty.c: Use EXTERN_C.
9387         * sysdep.c: Use EXTERN_C.  Remove Gould support.
9388
9389 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9390
9391         * general.c: Remove duplicate definition for Qfunction.
9392
9393 2000-07-08  Ben Wing  <ben@xemacs.org>
9394
9395         * device-msw.c (msprinter_init_device):
9396         * device-msw.c (sync_printer_with_devmode):
9397         * device-msw.c (handle_devmode_changes):
9398         * device-msw.c (print_dialog_worker):
9399         * device-msw.c (Fmsprinter_apply_settings):
9400         * device-msw.c (hash_devmode):
9401         * device-msw.c (Fmsprinter_settings_despecialize):
9402         use Qmswindows_tstr, not Qctext.
9403
9404         * vm-limit.c (check_memory_limits):
9405         avoid infinite loop printing warning messages.
9406
9407 2000-07-05  Craig Lanning  <lanning@scra.org>
9408
9409         * Makefile.in.in: Add support for including the Windows resources
9410         when building with the cygwin and mingw targets.
9411
9412         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
9413         not set or not correct.
9414         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
9415         (init_initial_directory): Don't try to use $PWD on the
9416         WIN32_NATIVE target.
9417
9418         * s\cygwin32.h:
9419         [[Add -mwindows to eliminate console window.]] not required --ben
9420         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9421         (MAIL_USE_POP): removed; now handled by configure.
9422
9423         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
9424         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
9425         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9426         (MAIL_USE_POP): removed; now handled by configure.
9427         (ENCAPSULATE_STAT): from Dan Holmsand, added.
9428         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
9429         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
9430         constant string.
9431         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
9432         up from <winsock.h> via systime.h.
9433         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
9434         (getpagesize): from Dan Holmsand, added.
9435         Added #endif which was left dangling by Ben's mega patch; added
9436         comment to help prevent this in the future.
9437
9438         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
9439
9440 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9441
9442         * console-msw.h (struct mswindows_device): Removed unnecessary
9443         cached device geometry values.
9444         Added update_tick and an accessor macro.
9445         (Lisp_Devmode): Added lrecord declaration.
9446         (struct msprinter_device): Contain devmode as a Lisp object.
9447         Added mswindows_get_selected_frame_hwnd();
9448
9449         * console.h (struct console_methods): Indentation nitpicking.
9450
9451         * device-msw.c (mswindows_init_device): Do not initialize geometry
9452         cache. Initialize update tick.
9453         (mswindows_device_system_metrics): Ask the device for its geometry.
9454         (global_free_2_maybe):
9455         (devmode_to_hglobal):
9456         (handle_printer_changes):
9457         (ensure_not_printing):
9458         (print_dialog_worker):
9459         (Fmsprinter_print_setup_dialog):
9460         (Fmsprinter_print_dialog):
9461         (plist_get_margin):
9462         (plist_set_margin):
9463         (Fmsprinter_page_setup_dialog): Added functions.
9464         (sync_printer_with_devmode):
9465         (handle_devmode_changes):
9466         (Fmsprinter_get_settings):
9467         (Fmsprinter_select_settings):
9468         (Fmsprinter_apply_settings):
9469         (allocate_devmode):
9470         (Fmsprinter_settings_copy):
9471         (Fmsprinter_settings_despecialize):
9472         (print_devmode):
9473         (finalize_devmode):
9474         (equal_devmode):
9475         (hash_devmode): Added functions
9476         (syms_of_device_mswindows): Init devmode lrecord class.
9477
9478         * device.h: Added an exfun for find-device.
9479
9480         * event-msw.c (mswindows_wnd_proc): Do not update the cached
9481         geometry; although, recreate the device compatible DC.
9482
9483         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
9484         (msprinter_init_frame_3):
9485         (msprinter_frame_property):
9486         (msprinter_internal_frame_property_p):
9487         (msprinter_frame_properties):
9488         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
9489         print job properties (will move to device settings).
9490
9491         * lisp.h: Added symbols.
9492
9493         * general.c (syms_of_general): Declared them.
9494
9495         * hash.c (string_hash): Added.
9496
9497         * lrecord.h (lrecord_type): Added devmode lrecord type.
9498
9499 2000-07-02  Mike Sperber <mike@xemacs.org>
9500
9501         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
9502         FreeBSD 4.0.
9503
9504 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
9505
9506         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
9507         integer.
9508
9509 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
9510
9511         * data.c (Fstring_to_number): Don't recognize floating point if
9512         base is not 10.
9513
9514 2000-06-22  Martin Buchholz  <martin@xemacs.org>
9515
9516         * glyphs-widget.c (tab_control_query_geometry):
9517         (widget_query_geometry):
9518         (button_query_geometry):
9519         * glyphs.c (text_query_geometry):
9520         Enforce type correctness.
9521
9522 2000-06-18  Martin Buchholz  <martin@xemacs.org>
9523
9524         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
9525         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
9526
9527 2000-06-17  Martin Buchholz  <martin@xemacs.org>
9528
9529         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
9530         conflicts with gcc's fixincluded version of FOO.h.
9531
9532         * glyphs.h (image_instance_geometry): Remove trailing `,'
9533
9534 2000-06-08  Mike Alexander  <mta@arbortext.com>
9535
9536         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
9537         (shove_thread): Don't write the same output twice
9538         (make_ntpipe_output_stream): Increase priority of shove thread
9539         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
9540         chance to run
9541         (ntpipe_shove_closer): Don't delete the pipe until we're done with
9542         it.
9543
9544 2000-06-12  Ben Wing  <ben@xemacs.org>
9545
9546         * s\mingw32.h (sigset):
9547         * s\windowsnt.h (sigset):
9548         rename msw_ to mswindows_ for consistency with general convention.
9549
9550 2000-06-12  Ben Wing  <ben@xemacs.org>
9551
9552         * console-msw.c:
9553         * console-msw.c (mswindows_get_console_hwnd):
9554         * console-msw.c (mswindows_ensure_console_allocated):
9555         * console-msw.c (mswindows_hide_console):
9556         * console-msw.c (mswindows_show_console):
9557         * console-msw.c (mswindows_ensure_console_buffered):
9558         * console-msw.c (mswindows_output_console_string):
9559         * console-msw.c (mswindows_windows9x_p):
9560         * console-msw.h:
9561         * device-msw.c (mswindows_get_workspace_coords):
9562         * device-msw.c (mswindows_device_system_metrics):
9563         * dialog-msw.c (mswindows_popup_dialog_box):
9564         * event-msw.c (mswindows_wnd_proc):
9565         * frame-msw.c (mswindows_size_frame_internal):
9566         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9567         * menubar-msw.c (displayable_menu_item):
9568         * menubar-msw.c (mswindows_char_is_accelerator):
9569         * nt.c:
9570         * nt.c (mswindows_sigset):
9571         * nt.c (mswindows_sigrelse):
9572         * nt.c (mswindows_sigpause):
9573         * nt.c (mswindows_raise):
9574         * nt.c (timer_proc):
9575         * ntproc.c:
9576         * ntproc.c (find_child_console):
9577         * ntproc.c (sys_kill):
9578         * print.c:
9579         * print.c (std_handle_out_external):
9580         * process-nt.c (find_child_console):
9581         * process-nt.c (send_signal_the_95_way):
9582         * process-nt.c (ensure_console_window_exists):
9583         * process-nt.c (nt_create_process):
9584         * syssignal.h:
9585         rename msw_ to mswindows_ for consistency with general convention.
9586
9587         * emacs.c:
9588         * dumper.c:
9589         include nt.h, not syswindows.h.
9590
9591         * nt.c (mswindows_fstat):
9592         * nt.c (mswindows_stat):
9593         prefix mswindows_ instead of attempting to directly override the
9594         library functions.  fix declarations.
9595
9596         * nt.h:
9597         include syswindows.h.  move some sysdep.h stuff here.
9598
9599         * ntheap.h:
9600         include syswindows.h, not <windows.h>.
9601
9602         * ntplay.c:
9603         clean up headers.
9604
9605         * sysdep.c:
9606         clean up headers.
9607
9608         * sysdep.c (sys_fstat):
9609         * sysdep.c (sys_stat):
9610         call mswindows versions when appropriate.
9611
9612         * sysdep.h:
9613         move mswin decls to nt.h.
9614
9615         * syswindows.h:
9616         add long comment describing appropriate use of the various windows
9617         headers.
9618
9619 2000-06-11  Ben Wing  <ben@xemacs.org>
9620
9621         * device-x.c: Correct doc string for sixth arg of x-get-resource.
9622
9623 2000-06-10  Ben Wing  <ben@xemacs.org>
9624
9625         * Makefile.in.in (release):
9626         Correction to make sure xemacs.exe always dumped when correct.
9627
9628         * alloca.c:
9629         * balloon_help.c:
9630         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
9631
9632         * buffer.c (set_buffer_internal):
9633         [[[[2]]]]: Remove HAVE_FEP code.
9634
9635         * buffer.c (init_initial_directory):
9636         [3].
9637
9638         * bytecode.c:
9639         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
9640         individual files.
9641
9642         * callproc.c:
9643         * callproc.c (call_process_cleanup):
9644         * callproc.c (Fold_call_process_internal):
9645         * callproc.c (child_setup):
9646         * callproc.c (getenv_internal):
9647         * callproc.c (init_callproc):
9648         * callproc.c (vars_of_callproc):
9649         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
9650         __CYGWIN32__ -> CYGWIN.
9651         DOS_NT -> WIN32_NATIVE.
9652         Remove MSDOS support/references, converting to WIN32_NATIVE
9653           where correct.
9654         __MINGW32__ -> MINGW.
9655         Fix windows.h includes.
9656         Remove bogus HAVE_NTGUI.
9657
9658         * config.h.in:
9659         [2].
9660
9661         * console-msw.c:
9662         mswindows_message_outputted added for use in allowing startup
9663         errors on the console to be seen.
9664
9665         * console-msw.c (msw_ensure_console_allocated):
9666         * console-msw.c (msw_output_console_string):
9667         * console-msw.c (DHEADER):
9668         * console-msw.c (DOPAQUE_DATA):
9669         * console-msw.c (DEVENT):
9670         * console-msw.c (DCONS):
9671         * console-msw.c (DCONSCDR):
9672         * console-msw.c (DSTRING):
9673         * console-msw.c (DVECTOR):
9674         * console-msw.c (DSYMBOL):
9675         * console-msw.c (DSYMNAME):
9676         Fix warnings.
9677
9678         * console-stream.c (stream_init_console):
9679         Fix text/binary problems.
9680
9681         * device-msw.c:
9682         * device-msw.c (mswindows_finish_init_device):
9683         * device-msw.c (mswindows_delete_device):
9684         [1].
9685
9686         * device.c (handle_asynch_device_change):
9687         [3].
9688
9689         * dgif_lib.c:
9690         * dgif_lib.c (DGifOpenFileName):
9691         * dgif_lib.c (DGifOpenFileHandle):
9692         * dgif_lib.c (DGifGetLine):
9693         * dgif_lib.c (DGifGetPixel):
9694         Added config.h/lisp.h, fix up includes.
9695         [1].
9696
9697         * dired-msw.c:
9698         [4].
9699
9700         * dired.c:
9701         * dired.c (file_name_completion):
9702         * dired.c (Ffile_attributes):
9703         * dired.c (syms_of_dired):
9704         [1].
9705
9706         * dumper.c:
9707         * dumper.c (pdump_file_unmap):
9708         * dumper.c (pdump_load):
9709         [1].
9710
9711         * editfns.c:
9712         * editfns.c (Ftemp_directory):
9713         * editfns.c (user_login_name):
9714         * editfns.c (Fuser_real_login_name):
9715         * editfns.c (get_home_directory):
9716         [1].
9717
9718         * elhash.c (finish_marking_weak_hash_tables):
9719         [[[[5]]]]: Fix GCC warnings.
9720
9721         * emacs.c:
9722         * emacs.c (mswindows_handle_hardware_exceptions):
9723         * emacs.c (make_arg_list_1):
9724         * emacs.c (main_1):
9725         * emacs.c (Fkill_emacs):
9726         * emacs.c (Fdump_emacs):
9727         [1].
9728         Fix problems with nested crashes, add long comment.
9729
9730         * event-Xt.c (init_event_Xt_late):
9731         [1].
9732
9733         * event-msw.c:
9734         * event-msw.c (mswindows_dde_callback):
9735         * event-msw.c (mswindows_handle_sticky_modifiers):
9736         * event-msw.c (mswindows_wnd_proc):
9737         [1].
9738         [5].
9739
9740         * events.c (character_to_event):
9741         [1].
9742
9743         * fileio.c:
9744         * fileio.c (Ffile_name_directory):
9745         * fileio.c (Ffile_name_nondirectory):
9746         * fileio.c (directory_file_name):
9747         * fileio.c (Fexpand_file_name):
9748         * fileio.c (Fsubstitute_in_file_name):
9749         * fileio.c (Ffile_name_absolute_p):
9750         * fileio.c (check_executable):
9751         * fileio.c (Ffile_readable_p):
9752         * fileio.c (Ffile_accessible_directory_p):
9753         * fileio.c (Ffile_modes):
9754         * fileio.c (Funix_sync):
9755         * fileio.c (vars_of_fileio):
9756         [1]. [4].
9757
9758         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
9759
9760         Expand getdefdir defn.
9761         Fix bogus rename() comment.
9762
9763         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
9764         to use standard XEmacs include files, e.g. sysfile.h, rather
9765         than system-specific includes.
9766
9767         * fns.c:
9768         * fns.c (Fsubseq):
9769         [5]. [6].
9770
9771         * frame.c (vars_of_frame):
9772         [1].
9773
9774         * getloadavg.c:
9775         * getloadavg.c (getloadavg):
9776         [1]. [6].
9777         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
9778         (We don't use it elsewhere in the code; just add a comment.)
9779
9780         * gif_io.c:
9781         [6].
9782         Add config.h.
9783
9784         * glyphs-msw.c:
9785         * glyphs-msw.c (mswindows_resource_instantiate):
9786         [1].
9787
9788         * glyphs-x.c (x_native_layout_instantiate):
9789         [5].
9790
9791         * gui-msw.c (Fmswindows_shell_execute):
9792         [1].
9793
9794         * insdel.c:
9795         [4].
9796
9797         * lisp.h:
9798         [4]. [5].
9799
9800         * lread.c (locate_file_in_directory_mapper):
9801         [1].
9802
9803         * lstream.c:
9804         [4].
9805
9806         * mem-limits.h:
9807         * mem-limits.h (get_lim_data):
9808         [1].
9809
9810         * menubar-msw.c:
9811         [4].
9812
9813         * ndir.h:
9814         [1].
9815
9816         * nt.c:
9817         * nt.c (getwd):
9818         * nt.c (closedir):
9819         * nt.c (rva_to_section):
9820         * nt.c (mswindows_executable_type):
9821         [1]. [6].
9822         Fix closedir() defn.
9823
9824         * nt.h:
9825         [[[[8]]]]: *_OK defs moved to sysfile.h.
9826
9827         * ntproc.c:
9828         [6]. [7].
9829
9830         * objects-x.c:
9831         [4].
9832
9833         * print.c:
9834         * print.c (std_handle_out_external):
9835         [1]. [4].
9836
9837         * process-nt.c:
9838         * process-nt.c (nt_create_process):
9839         [6].
9840         try to fix process quoting somewhat.
9841
9842         * process-unix.c (unix_create_process):
9843         [1].
9844
9845         * process.c:
9846         * process.c (vars_of_process):
9847         Add Vnull_device.
9848
9849         * process.h:
9850         [1].
9851
9852         * realpath.c:
9853         * realpath.c (xrealpath):
9854         [1].
9855
9856         * redisplay-tty.c (init_tty_for_redisplay):
9857         [3].
9858
9859         * redisplay.c:
9860         [4]. [6].
9861
9862         * scrollbar-msw.c:
9863         [4].
9864
9865         * sheap.c:
9866         * sheap.c (more_static_core):
9867         * sheap.c (report_sheap_usage):
9868         [5]. [6].
9869
9870         * signal.c:
9871         * signal.c (alarm_signal):
9872         [1]. [6].
9873
9874         * sound.c:
9875         [6].
9876
9877         * strftime.c:
9878         * strftime.c (zone_name):
9879         [1]. [5].
9880
9881         * symsinit.h (init_sunpro):
9882         [1].
9883
9884         * syscommctrl.h:
9885         commctrl.h not in Cygwin b20.1.
9886
9887         * sysdep.c:
9888         * sysdep.c (endif):
9889         * sysdep.c (sys_subshell):
9890         * sysdep.c (init_baud_rate):
9891         * sysdep.c (emacs_get_tty):
9892         * sysdep.c (emacs_set_tty):
9893         * sysdep.c (tty_init_sys_modes_on_device):
9894         * sysdep.c (init_system_name):
9895         * sysdep.c (sys_open):
9896         * sysdep.c (interruptible_open):
9897         * sysdep.c (sys_fopen):
9898         * sysdep.c (sys_mkdir):
9899         * sysdep.c (sys_rename):
9900         * sysdep.c (get_process_times_1):
9901         [1]. [6].
9902
9903         * sysdep.h:
9904         [1].
9905
9906         * sysdir.h:
9907         * sysdir.h (DIRENTRY_NONEMPTY):
9908         [1]. [6].
9909
9910         * sysdll.c (dll_init):
9911         * sysdll.h:
9912         [1].
9913
9914         * sysfile.h:
9915         [1]. [6]. [8].
9916         added text/binary defs.
9917
9918         * sysfloat.h:
9919         [1].
9920
9921         * sysproc.h:
9922         * sysproc.h (EDESTADDRREQ):
9923         * sysproc.h (poll_fds_for_input):
9924         [1]. [6].
9925
9926         * syspwd.h:
9927         [6].
9928
9929         * syssignal.h:
9930         [1].
9931
9932         * systime.h:
9933         [1]. [6].
9934
9935         * systty.h:
9936         [1].
9937
9938         * syswindows.h:
9939         [1].
9940         Always define WIN32_LEAN_AND_MEAN.
9941
9942         * unexcw.c (unexec):
9943         [5].
9944
9945         * unexec.c:
9946         * unexec.c (copy_text_and_data):
9947         * unexec.c (adjust_lnnoptrs):
9948         [1].
9949
9950         * unexnt.c:
9951         * unexnt.c (_start):
9952         [1].
9953
9954 2000-06-07  Ben Wing  <ben@xemacs.org>
9955
9956         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
9957         was used only as a model.  We've long since extracted any useful
9958         logic or code out of this. (I just did an exhaustive search.)
9959
9960         * s\msdos.h: Removed.
9961
9962         * s\windows95.h: Removed.
9963
9964 2000-06-10  Ben Wing  <ben@xemacs.org>
9965
9966         * s\cygwin32.h:
9967         [1]. [5].
9968         Don't use extern with fun defs.
9969
9970         * s\mingw32.h:
9971         [1]. [7].
9972         Remove nt\inc include.
9973         Remove getdisk, getdefdir. (The former is unused, the latter
9974         expanded in fileio.h.)
9975
9976         * s\windowsnt.h:
9977         * s\windowsnt.h (WIN32_NATIVE):
9978         * s\windowsnt.h (HAVE_STRCASECMP):
9979         [1]. [7].
9980         Add long comment about preprocessor changes.
9981         Remove getdisk, getdefdir. (The former is unused, the latter
9982         expanded in fileio.h.)
9983
9984 2000-06-10  Ben Wing  <ben@xemacs.org>
9985
9986         * m\arm.h:
9987         * m\delta.h:
9988         * m\intel386.h:
9989         * m\sequent.h:
9990         * m\template.h:
9991         * m\windowsnt.h:
9992         [1].
9993         Remove bogus/unused NO_SOCK_SIGIO.
9994
9995 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
9996
9997         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
9998         not an Emchar.
9999
10000 2000-06-04  Mike Sperber <mike@xemacs.org>
10001
10002         * casetab.c (set_case_table): For `set-standard-case-table',
10003         actually deposit the new case tables where the rest of XEmacs can
10004         see them.
10005
10006 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
10007
10008         * data.c (Faset): Don't cast XCHAR() to unsigned char.
10009
10010 2000-06-05  Ben Wing  <ben@xemacs.org>
10011
10012         * callproc.c (child_setup): Don't do close_load_descs() under
10013         MS Windows.  Put in a comment explaining why.
10014
10015 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
10016
10017         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
10018         Toolkit shell" which breaks `kill-compilation' on Windows NT
10019         native, retaining STDERR handling improvements.
10020
10021 2000-06-01  Andreas Jaeger  <aj@suse.de>
10022
10023         * s/s390.h: Support for S390, based on a patch by Martin
10024         Schwidefsky <schwidefsky@de.ibm.com>.
10025
10026 2000-05-30  Andy Piper  <andy@xemacs.org>
10027
10028         * window.c (allocate_window):
10029         (make_dummy_parent):
10030         (Fset_window_configuration): use new hashtable type.
10031
10032         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
10033         (struct image_instantiator_methods):
10034         (struct Lisp_Image_Instance): make instance geometry signed.
10035
10036         * glyphs.c (instantiate_image_instantiator):
10037         (image_instance_query_geometry):
10038         (image_instance_layout):
10039         (image_instance_layout):
10040         (query_string_geometry):
10041         (text_query_geometry):
10042         (image_instantiate):
10043         (image_instantiate):
10044         (cache_subwindow_instance_in_frame_maybe):
10045         (subwindow_query_geometry): make instance geometry signed.
10046
10047         * glyphs-widget.c (widget_query_geometry):
10048         (widget_layout):
10049         (button_query_geometry):
10050         (tree_view_query_geometry):
10051         (tab_control_query_geometry):
10052         (layout_query_geometry):
10053         (layout_layout):
10054         (native_layout_layout): make instance geometry signed.
10055
10056 2000-05-29  Olivier Galibert  <galibert@pobox.com>
10057
10058         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
10059         constant.
10060
10061         * general.c (syms_of_general): Add Qfull_assoc symbol.
10062
10063         * data.c (finish_marking_weak_lists): Mark full-assoc lists
10064         correctly.
10065         (decode_weak_list_type): Decode full-assoc type.
10066         (encode_weak_list_type): Encode full-assoc type.
10067         (Fmake_weak_list): Update doc string.
10068
10069 2000-05-30  Andy Piper  <andy@xemacs.org>
10070
10071         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
10072
10073         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
10074         (decode_hash_table_weakness): ditto.
10075         (Fhash_table_weakness): ditto.
10076         (Fhash_table_type): ditto.
10077         (finish_marking_weak_hash_tables): ditto.
10078         (hash_table_weakness_validate): ditto.
10079         (syms_of_elhash): ditto.
10080
10081 2000-05-28  Martin Buchholz <martin@xemacs.org>
10082
10083         * XEmacs 21.2.34 is released.
10084
10085 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10086
10087         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
10088         start cache.
10089         (updating_line_start_cache): Gone.
10090         (regenerate_window): Replace resetting of VERTICAL_CLIP by
10091         generic code to force a minimum of 1 line laid out in the
10092         CMOTION_DISP case.
10093
10094 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10095
10096         * glyphs.c (instantiate_image_instantiator): Check for initialized
10097         height & width no longer special cases IMAGE_NOTHING.
10098         (nothing_instantiate): Set height and width of instance.
10099
10100 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10101
10102         * unexelf.c (unexec): Search for ".data" section.
10103         Initialize new_data2_offset from old_data_index.
10104         Remove redundant check for ElfW.
10105
10106 2000-05-23  Andy Piper  <andy@xemacs.org>
10107
10108         * glyphs.c (get_image_instantiator_governing_domain): allow more
10109         specific domains as the governing domain rather than expecting an
10110         exact match. This fixes problems with layouts.
10111
10112 2000-05-22  Andy Piper  <andy@xemacs.org>
10113
10114         * redisplay-output.c (compare_runes): check for non-images
10115
10116         * glyphs.c (set_glyph_dirty_p): ditto.
10117         (update_glyph_cachel_data): ditto.
10118
10119         * glyphs-widget.c (layout_post_instantiate): ditto.
10120         (layout_post_instantiate): ditto.
10121
10122         * event-msw.c (mswindows_wnd_proc): warning removal.
10123
10124 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
10125
10126         * s\mingw32.h: Added #undef for CLASH_DETECTION.
10127
10128         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
10129
10130         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
10131
10132         * nt.c (rva_to_section): mingw32 needs rva_to_section.
10133         (mswindows_executable_type): mingw32 now has enough headers for
10134         this to work.
10135
10136 2000-05-20  Andy Piper  <andy@xemacs.org>
10137
10138         * console-msw.c (mswindows_output_last_error): ; -> ,
10139
10140 2000-05-12  Andy Piper  <andy@xemacs.org>
10141
10142         * console-msw.c (FROB): compare ints with ints.
10143
10144 2000-05-11  Andy Piper  <andy@xemacs.org>
10145
10146         * glyphs-x.c (x_finalize_image_instance): make minimal build
10147         happy.
10148
10149 2000-05-20  Ben Wing  <ben@xemacs.org>
10150
10151         * event-Xt.c:
10152         * event-Xt.c (vars_of_event_Xt):
10153         move modifier-keys-are-sticky to event-stream.c.
10154
10155         * event-msw.c:
10156         * event-msw.c (mswindows_enqueue_mouse_button_event):
10157         * event-msw.c (key_needs_default_processing_p):
10158         * event-msw.c (XEMSW_LCONTROL):
10159         * event-msw.c (mswindows_handle_sticky_modifiers):
10160         * event-msw.c (FROB):
10161         * event-msw.c (clear_sticky_modifiers):
10162         * event-msw.c (output_modifier_keyboard_state):
10163         * event-msw.c (output_alt_keyboard_state):
10164         * event-msw.c (mswindows_wnd_proc):
10165         * event-msw.c (mswindows_modifier_state):
10166         * event-msw.c (emacs_mswindows_handle_magic_event):
10167         implement sticky modifiers.
10168
10169         * event-stream.c:
10170         * event-stream.c (vars_of_event_stream):
10171         move modifier-keys-are-sticky here.
10172
10173         * lisp.h:
10174         add CHECK_FUNCTION.
10175
10176         * rangetab.c:
10177         implement map-range-table.
10178
10179
10180 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
10181
10182         * redisplay-tty.c (reset_tty_modes):
10183         (tty_redisplay_shutdown): Adjust argument type to
10184         tty_frame_output_end.
10185
10186 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10187
10188         * eval.c (Fbacktrace): Don't output a line with only right
10189         parenthesis.
10190
10191 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
10192
10193         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
10194         (Fpq_reset_poll): Ditto.
10195
10196 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
10197
10198         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
10199
10200 2000-05-16  Ben Wing  <ben@xemacs.org>
10201
10202         * buffer.c:
10203         * buffer.c (dfc_convert_to/from_internal_format):
10204         * buffer.c (reinit_vars_of_buffer):
10205         Fix conversion functions to allow reentrancy.
10206
10207         * console-msw.c:
10208         * console-msw.c (mswindows_output_last_error):
10209         New fun, generally useful -- output a human-readable
10210         version of GetLastError() on the console.
10211
10212         * console-msw.h:
10213         * console-msw.h (struct mswindows_frame):
10214         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
10215
10216         * console-stream.c (stream_output_begin):
10217         * console-stream.c (stream_output_end):
10218         * console-stream.c (stream_output_vertical_divider):
10219         * console-stream.c (stream_clear_region):
10220         * console-stream.c (stream_flash):
10221         * console-stream.c (console_type_create_stream):
10222         Delete blank stream methods, not needed.
10223
10224         * console.h (struct console_methods):
10225         Split begin/end methods into window and frame.
10226
10227         * event-msw.c:
10228         * event-msw.c (mswindows_handle_paint):
10229         * event-msw.c (output_alt_keyboard_state):
10230         * event-msw.c (mswindows_wnd_proc):
10231         * event-msw.c (vars_of_event_mswindows):
10232         Comment about problems with ignored-expose.
10233         Define mswindows-debug-events; not really implemented.
10234
10235         * frame-msw.c (mswindows_init_frame_1):
10236         random cleanups.
10237
10238         * glyphs-msw.c:
10239         * glyphs-msw.c (begin_defer_window_pos):
10240         * glyphs-msw.c (mswindows_unmap_subwindow):
10241         * glyphs-msw.c (mswindows_map_subwindow):
10242         * glyphs-msw.c (mswindows_resize_subwindow):
10243         Use DeferWindowPos to reduce flashing when mapping/unmapping.
10244
10245         * glyphs.c (make_image_instance_1):
10246         Fix crash.
10247
10248         * gutter.c (Fredisplay_gutter_area):
10249         Use new begin/end methods.
10250
10251         * lisp.h (Dynarr_new2):
10252         New creation fun.
10253
10254         * redisplay-msw.c:
10255         * redisplay-msw.c (mswindows_frame_output_begin):
10256         * redisplay-msw.c (mswindows_frame_output_end):
10257         * redisplay-msw.c (console_type_create_redisplay_mswindows):
10258         New begin/end methods -- handle DeferWindowPos.
10259
10260         * redisplay-output.c (redisplay_move_cursor):
10261         * redisplay-output.c (redraw_cursor_in_window):
10262         * redisplay-output.c (redisplay_update_line):
10263         * redisplay-output.c (redisplay_output_window):
10264         New begin/end methods.
10265
10266         * redisplay-tty.c:
10267         * redisplay-tty.c (tty_frame_output_begin):
10268         * redisplay-tty.c (tty_frame_output_end):
10269         * redisplay-tty.c (console_type_create_redisplay_tty):
10270         New begin/end methods.
10271
10272         * redisplay-x.c:
10273         * redisplay-x.c (x_window_output_begin):
10274         * redisplay-x.c (x_window_output_end):
10275         * redisplay-x.c (console_type_create_redisplay_x):
10276         New begin/end methods.
10277
10278         * redisplay.c (redisplay_frame):
10279         * redisplay.c (Fredisplay_echo_area):
10280         New begin/end methods.
10281         use MAYBE_DEVMETH for clear_frame; it may not exist.
10282
10283         * window.h (WINDOW_XFRAME):
10284         WINDOW_XFOO macros -- get locale and decode struct pointer.
10285
10286
10287 2000-05-12  Ben Wing  <ben@xemacs.org>
10288
10289         * emacs.c:
10290         * emacs.c (ensure_no_quitting_from_now_on):
10291         * emacs.c (fatal_error_signal):
10292         * emacs.c (mswindows_handle_hardware_exceptions):
10293         * emacs.c (main):
10294         * emacs.c (Fkill_emacs):
10295         * emacs.c (shut_down_emacs):
10296         * emacs.c (assert_failed):
10297         various improvements in fatal error handling.
10298
10299         * eval.c:
10300         move preparing_for_armageddon to emacs.c.
10301
10302         * lisp.h:
10303         declare fatal_error_in_progress.
10304
10305         * print.c:
10306         * print.c (std_handle_out_external):
10307         * print.c (std_handle_out_va):
10308         * print.c (stderr_out):
10309         * print.c (stdout_out):
10310         use console under mswin when no standard output.
10311         don't do code conversion during fatal error.
10312
10313         * scrollbar.c (Fscrollbar_page_up):
10314         * scrollbar.c (Fscrollbar_page_down):
10315         fix missing else.  reindent.
10316
10317 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
10318
10319         Emergency fix.
10320
10321         * glyphs.h (GLYPH_CACHEL_DESCENT):
10322         (GLYPH_CACHEL_DESCENT):
10323         (GLYPH_CACHEL_DESCENT):
10324         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
10325         used in case these are inline functions.
10326         Use more absurd values to error check.
10327
10328         include window.h for error check functions.
10329
10330 2000-05-11  Ben Wing  <ben@xemacs.org>
10331
10332         * cmdloop.c (Freally_early_error_handler):
10333         Display message box under windows; otherwise, message will disappear
10334         before it can be viewed.
10335
10336         * console-msw.c:
10337         * console-msw.c (Fmswindows_message_box):
10338         * console-msw.c (FROB):
10339         * console-msw.c (syms_of_console_mswindows):
10340         Define new fun `mswindows-message-box'.
10341         #### I will merge this into `popup-dialog-box'; just give me
10342         a bit of time.
10343
10344         * general.c:
10345         * general.c (syms_of_general):
10346         Some new symbols used in `mswindows-message-box'.
10347
10348         * glyphs.c:
10349         * glyphs.c (Fset_image_instance_property):
10350         put warning in this fun.
10351
10352         * glyphs.h:
10353         * glyphs.h (GLYPH_CACHEL_WIDTH):
10354         * glyphs.h (GLYPH_CACHEL_ASCENT):
10355         * glyphs.h (GLYPH_CACHEL):
10356         * glyphs.h (GLYPH_CACHEL_GLYPH):
10357         define error-checking versions to try to catch a bug i've seen --
10358         redisplay gets in an infinite loop because the glyph width of the
10359         continuation glyph is 65535.
10360
10361         * lisp.h:
10362         Extern message-box stuff.
10363
10364         * window.c (allocate_window):
10365         * window.c (make_dummy_parent):
10366         * window.c (Fset_window_configuration):
10367         Use EQUAL not EQ for subwindow caches to make them work a bit
10368         better. (Something is still very broken.)
10369
10370
10371 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10372
10373         * glyphs.c (image_instantiate): Suppress gcc warnings.
10374         (Fmake_image_instance): Fix doc string.
10375         * specifier.c (Fmake_specifier): Ditto.
10376
10377 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
10378
10379         * paths.h.in (PATH_LOCK): Removed.
10380         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
10381         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
10382
10383 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10384
10385         * fns.c (Ffeaturep): Update e-mail address in doc-string.
10386         Document (featurep '(and xemacs 21.02)).
10387
10388 2000-05-09  Ben Wing  <ben@xemacs.org>
10389
10390         * buffer.c (complex_vars_of_buffer):
10391         update modeline-format doc.
10392
10393         * device.h:
10394         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
10395
10396         * emacs.c:
10397         timeline of all released versions of Emacs, for use in creating
10398         authorship comments and in synching up.
10399
10400         * glyphs-widget.c (image_instantiator_buttons):
10401         * glyphs-widget.c (image_instantiator_edit_fields):
10402         * glyphs-widget.c (image_instantiator_combo_box):
10403         * glyphs-widget.c (image_instantiator_scrollbar):
10404         * glyphs-widget.c (image_instantiator_progress_guage):
10405         * glyphs-widget.c (image_instantiator_tree_view):
10406         * glyphs-widget.c (image_instantiator_tab_control):
10407         * glyphs-widget.c (image_instantiator_labels):
10408         * glyphs-widget.c (image_instantiator_layout):
10409         * glyphs-widget.c (image_instantiator_native_layout):
10410         rename decode_domain method to governing_domain.
10411
10412         * glyphs.c:
10413         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
10414         * glyphs.c (add_entry_to_device_ii_format_list):
10415         make sure we don't put an entry more than once into the list.
10416         * glyphs.c (check_instance_cache_mapper):
10417         *************************************************************
10418         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
10419         HAVE BEEN GETTING.
10420         *************************************************************
10421         * glyphs.c (get_image_instantiator_governing_domain):
10422         clean up, expand on new concept of governing domain.
10423         * glyphs.c (instantiate_image_instantiator):
10424         * glyphs.c (allocate_image_instance):
10425         use governing_domain instead of cache_domain in naming.
10426         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
10427         * glyphs.c (make_image_instance_1):
10428         * glyphs.c (Fmake_image_instance):
10429         allow for any domain (not just device), and process the
10430         governing domain correctly.  very big doc fix.
10431         * glyphs.c (Fimage_instance_domain):
10432         new primitive, to retrieve the governing domain of an image instance.
10433         * glyphs.c (image_instantiate):
10434         use new governing_domain stuff.  this fixes a crash you could get
10435         by instantiating certain widget glyphs in frame locales. (should
10436         signal an error instead of crashing.)
10437         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
10438         * glyphs.c (Fglyphp): clean up doc.
10439         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
10440         * glyphs.c (syms_of_glyphs):
10441         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
10442         * glyphs.c (image_instantiator_format_create): add some comments about
10443         bogus code.
10444         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
10445         for current-display-table. (Apparently Hrjove implemented in 1998 a
10446         design I wrote up in 1996, but didn't update the doc string.)
10447
10448         * glyphs.h: clean up a doc string.
10449         * glyphs.h (governing_domain):
10450         * glyphs.h (struct image_instantiator_methods):
10451         changes for governing_domain stuff.
10452
10453         * gutter.c:
10454         * gutter.c (Fgutter_specifier_p):
10455         * gutter.c (Fgutter_size_specifier_p):
10456         * gutter.c (Fgutter_visible_specifier_p):
10457         * objects.c:
10458         * objects.c (Fcolor_specifier_p):
10459         * objects.c (Ffont_specifier_p):
10460         * objects.c (Fface_boolean_specifier_p):
10461         doc strings moved to make-*-specifier.
10462
10463         * redisplay.c (add_disp_table_entry_runes_1):
10464         * redisplay.c (generate_fstring_runes):
10465         * redisplay.c (screen):
10466         add random comments and doc strings.
10467
10468         * specifier.c:
10469         * specifier.c (Fmake_specifier):
10470         major overhaul of this doc string.
10471
10472         * specifier.c (Fvalid_specifier_domain_p):
10473         comment about the bogosity of image instances being domains.
10474         * specifier.c (decode_domain):
10475         now non-static, used in glyphs.c.
10476         * specifier.c (specifier_instance):
10477         comment about the bogosity of image instances being domains.
10478         * specifier.c (Fgeneric_specifier_p):
10479         move doc string to make-generic-specifier.
10480         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
10481         rebackslashify.
10482
10483         * specifier.h:
10484         * specifier.h (DOMAIN_FRAME):
10485         * specifier.h (DOMAIN_LIVE_P):
10486         * specifier.h (DOMAIN_XDEVICE):
10487         rebackslashify.
10488         add comments about problems with these macros.
10489         prototype for decode_domain.
10490
10491         * toolbar.c:
10492         * toolbar.c (Ftoolbar_specifier_p):
10493         move doc string to `make-toolbar-specifier'.
10494
10495         * window.c (window_unmap_subwindows_cache_mapper):
10496         *************************************************************
10497         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
10498         HAVE BEEN GETTING.
10499         *************************************************************
10500
10501 2000-05-09  Andy Piper  <andy@xemacs.org>
10502
10503         * glyphs.h: declare reset_frame_subwindow_instance_cache.
10504
10505         * window.c (Fset_window_configuration): reset the frame subwindow
10506         cache and re-initialize the window subwindow caches.
10507
10508         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
10509
10510 2000-05-09  Ben Wing  <ben@xemacs.org>
10511
10512         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
10513         DWORD.
10514
10515 2000-04-26  Mike Woolley  <mike@bulsara.com>
10516
10517         * ntheap.c: Changed recreate_heap to limit the amount reserved
10518         for the heap to that which is actually available. Also now
10519         displays a message box (with some dignostics) in the event that
10520         it still can't start.
10521
10522 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10523
10524         * callproc.c (Fold_call_process_internal): GCPRO path
10525
10526 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
10527
10528         Patch by Bill Perry.
10529
10530         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
10531         back data instead of #ifdef.
10532         (Fscrollbar_page_down): ditto.
10533
10534 2000-05-07  Ben Wing  <ben@xemacs.org>
10535
10536         * buffer.h:
10537         Kludge for defining Qmswindows_tstr.
10538
10539         * nt.c:
10540         * nt.c (open_input_file):
10541         * nt.c (open_output_file):
10542         * nt.c (rva_to_section):
10543         * nt.c (mswindows_executable_type):
10544         Move all memory-mapped-file routines here (some were in unexnt.c,
10545         which is bad because they are used by process-nt.c, and unexnt
10546         won't be around when portable dumping).  Synched the above routines
10547         with FSF 20.6.
10548
10549         * nt.h:
10550         Removed ifdef'd out bogus code.
10551         Fixed some prototypes.
10552
10553         * nt.h (file_data):
10554         * nt.h (OFFSET_TO_RVA):
10555         * nt.h (RVA_TO_OFFSET):
10556         * nt.h (RVA_TO_PTR):
10557         Moved the memory-mapped-file structures, macros and prototypes
10558         here, to parallel nt.c.  ntheap.h should really be removed
10559         entirely, and it's a non-portable-dumper specific file.
10560
10561         * ntheap.h (round_to_next):
10562         Moved the memory-mapped-file structures, macros and prototypes
10563         to nt.h.
10564
10565         * ntproc.c (compare_env):
10566         Moved rva_to_section and mswindows_executable_type to nt.c.
10567         Moved compare_env to process-nt.c.
10568         ntproc.c will die, one day.
10569
10570         * ntproc.c (sys_spawnve):
10571         Account for win32_ -> mswindows_.
10572
10573         * process-nt.c:
10574         * process-nt.c (struct nt_process_data):
10575         * process-nt.c (ensure_console_window_exists):
10576         * process-nt.c (compare_env):
10577         * process-nt.c (nt_create_process):
10578         * process-nt.c (nt_kill_process_by_pid):
10579         * process-nt.c (syms_of_process_nt):
10580         * process-nt.c (vars_of_process_nt):
10581         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
10582         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
10583         changes).  Eliminate our old `nt-quote-process-args' mechanism.
10584         Synch up nt_create_process with FSF 20.6 sys_spawnve.
10585         Move compare_env here from ntproc.c.
10586
10587         * process.c (Fprocess_send_region):
10588         Takes an optional fourth argument, BUFFER, which should fix some
10589         problems with call-process.
10590
10591         * syscommctrl.h:
10592         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
10593
10594         * syswindows.h:
10595         Move ICC_BAR_CLASSES to syscommctrl.h.
10596         Add preliminary macros for MSWindows/Mule.  More to come.
10597
10598         * unexnt.c:
10599         * unexnt.c (unexec):
10600         open_output_file moved to nt.c.
10601
10602
10603 2000-05-05  Andy Piper  <andy@xemacs.org>
10604
10605         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
10606         instance from the frame cache also since GC may catch up too late
10607         to make frame deletion sane.
10608
10609 2000-05-04  Andy Piper  <andy@xemacs.org>
10610
10611         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
10612         (x_finalize_image_instance): ungcpro on deletion.
10613
10614         * glyphs.c (image_instantiator_format_create): give pointers a
10615         query geometry method so that the geometry is at least set.
10616
10617         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
10618         initialize layouts if using widgets.
10619
10620 2000-05-03  Andy Piper  <andy@xemacs.org>
10621
10622         * nt.c: remove bogus reference to sysmmsystem.h
10623
10624         * gui-x.c (popup_selection_callback): fix no selection abort.
10625
10626 2000-05-02  Andy Piper  <andy@xemacs.org>
10627
10628         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
10629         (mswindows_widget_instantiate): ditto.
10630
10631         * glyphs-widget.c (initialize_widget_image_instance): initialize
10632         children correctly.
10633         (widget_instantiate): cope with children and items in the same
10634         instance.
10635
10636         * glyphs.c (mark_image_instance): cope with children as a first
10637         class member.
10638         (image_instance_equal): ditto.
10639         (image_instance_hash): ditto.
10640         (image_instance_changed): ditto.
10641
10642 2000-04-30  Andy Piper  <andy@xemacs.org>
10643
10644         * glyphs.c (subwindow_query_geometry): new function. Return some
10645         defaults.
10646         (subwindow_instantiate): don't assign dimensions if none have been
10647         given.
10648         (image_instantiator_format_create): add subwindow_query_geometry.
10649         (print_image_instance): cope with layouts as widgets.
10650
10651 2000-04-29  Andy Piper  <andy@xemacs.org>
10652
10653         * frame.c (delete_frame_internal): call
10654         free_frame_subwindow_instance_cache so that all subwindows are
10655         finalized before their parent.
10656         (mark_frame): remove subwindow_cachels.
10657         (Fmake_frame): remove subwindow_cachel manipulation.
10658         (allocate_frame_core): subwindow_instance_cache is a weak list.
10659         (delete_frame_internal): set subwindow_instance_cache to nil.
10660
10661         * glyphs-msw.c (mswindows_finalize_image_instance): make double
10662         finalization safe.
10663         (mswindows_finalize_image_instance): use the device
10664         not the domain as the domain may have died already.
10665
10666         * glyphs-x.c (x_finalize_image_instance): ditto.
10667         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
10668         HEIGHT.
10669
10670         * redisplay-output.c (redisplay_unmap_subwindows): update for
10671         subwindow instance cache as a weak list.
10672         (redisplay_unmap_subwindows_maybe): ditto.
10673         (redisplay_unmap_subwindows_except_us): ditto.
10674
10675         * glyphs.c (unmap_subwindow): error checking will check the domain
10676         so don't deal with it here. Don't use cachels anymore.
10677         (map_subwindow): ditto.
10678         (update_subwindow_cachel_data): remove old accessor names.
10679         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
10680         (Fresize_subwindow): don't update cachel.
10681         (mark_subwindow_cachels):
10682         (update_subwindow_cachel_data):
10683         (add_subwindow_cachel):
10684         (get_subwindow_cachel_index):
10685         (update_subwindow_cachel):
10686         (reset_subwindow_cachels):
10687         (mark_subwindow_cachels_as_not_updated): deleted.
10688         (cache_subwindow_instance_in_frame_maybe): new function. Add a
10689         subwindow instance to the frame cache.
10690         (find_matching_subwindow): update for subwindow instance cache as
10691         a weak list.
10692         (update_widget_instances): ditto.
10693         (image_instance_type_to_mask):inlined.
10694         (free_frame_subwindow_instance_cache): new function. finalize all
10695         subwindows that are instantiated.
10696
10697         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
10698         of cachel information.
10699         (IMAGE_INSTANCE_DISPLAY_X):
10700         (IMAGE_INSTANCE_DISPLAY_Y):
10701         (IMAGE_INSTANCE_DISPLAY_WIDTH):
10702         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
10703         (XIMAGE_INSTANCE_DISPLAY_X):
10704         (XIMAGE_INSTANCE_DISPLAY_Y):
10705         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
10706         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
10707         remove subwindow_cachel structure and function references.
10708         (image_instance_type_to_mask): inline from glyphs.c
10709
10710         * redisplay.c (redisplay_frame): remove subwindow_cachel
10711         references.
10712
10713         * frame.h (struct frame): remove subwindow_cachels.
10714         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
10715
10716         * frameslots.h: add subwindow_instance_cache.
10717
10718         * window.c (replace_window): check subwindow cache of replacement.
10719         (window_unmap_subwindows_cache_mapper):
10720         (window_unmap_subwindows): new functions. Unmap all subwindows
10721         cached on this window.
10722         (mark_window_as_deleted): unmap all subwindows.
10723
10724 2000-04-27  Andy Piper  <andy@xemacs.org>
10725
10726         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
10727
10728         * glyphs-widget.c (widget_layout): return something.
10729         (layout_layout): return something. Fail if not initialized.
10730         (layout_query_geometry): ditto.
10731         (image_instantiator_native_layout): new function. Initialized the
10732         native layout type.
10733         (widget_instantiate): don't do layout stuff here.
10734
10735         * glyphs.c (instantiate_image_instantiator): reorded calling or
10736         instantiate and post_instantiate with layout in between.
10737         (image_instance_layout): be more selective about deciding whether
10738         the layout has been done or not.
10739
10740         * glyphs.h (struct image_instantiator_methods): return a value
10741         from layout_method.
10742
10743 2000-04-26  Andy Piper  <andy@xemacs.org>
10744
10745         * glyphs.c (allocate_image_instance): make initial width and
10746         height unspecified. Set initialized to 0.
10747
10748         * syscommctrl.h new file. Encapsulates commctrl.h.
10749
10750         * syswindows.h new file. Encapsulates windows.h.
10751
10752         * ntplay.c: use new syswindows.h and syscommctrl.h header.
10753         * nt.c: ditto.
10754         * console-msw.h: ditto.
10755
10756         * redisplay-tty.c (tty_output_display_block): remove layout references.
10757
10758         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
10759         window handle rather than just the frame.
10760
10761         * glyphs.c (mark_image_instance): remove layout references.
10762         (print_image_instance): ditto.
10763         (image_instance_equal): ditto.
10764         (image_instance_hash): ditto.
10765         (decode_image_instance_type): ditto.
10766         (encode_image_instance_type): ditto.
10767         (image_instantiate): ditto.
10768         (allocate_glyph): ditto.
10769         (Fimage_instance_height): ditto.
10770         (Fimage_instance_width): ditto.
10771         (update_subwindow): ditto.
10772
10773         * redisplay-x.c (x_output_display_block): recode for layouts as
10774         widgets.
10775
10776         * redisplay-output.c (redisplay_output_layout): recode for layouts
10777         as widgets.
10778         (compare_runes): remove layout references.
10779
10780         * redisplay-msw.c (mswindows_output_display_block): recode for
10781         layouts as widgets.
10782
10783         * glyphs-widget.c (image_instantiator_layout): remove
10784         layout_possible_dest_types.
10785         (layout_possible_dest_types): deleted.
10786
10787         * glyphs.h (image_instance_type): remove layout references.
10788         (struct Lisp_Image_Instance): ditto. Add initialized flag.
10789         (IMAGE_INSTANCE_INITIALIZED): new accessor.
10790         (XIMAGE_INSTANCE_INITIALIZED): ditto.
10791
10792 2000-04-25  Andy Piper  <andy@xemacs.org>
10793
10794         * glyphs-widget.c (image_instantiator_buttons):
10795         (image_instantiator_edit_fields):
10796         (image_instantiator_combo_box):
10797         (image_instantiator_scrollbar):
10798         (image_instantiator_progress_guage):
10799         (image_instantiator_tree_view):
10800         (image_instantiator_tab_control):
10801         (image_instantiator_labels):
10802         (image_instantiator_layout): call default post_instantiate method.
10803         (widget_post_instantiate): new function. Simply lays out the
10804         widgets.
10805
10806         * glyphs.h (struct image_instantiator_methods): add
10807         post_instantiate method.
10808
10809         * glyphs.c (instantiate_image_instantiator): add post_instantiate
10810         method calls.
10811
10812 2000-04-23  Andy Piper  <andy@xemacs.org>
10813
10814         * glyphs.h (struct image_instantiator_methods): add
10815         decode_domain_method.
10816         (struct Lisp_Image_Instance): remove subwindow frame - it can be
10817         derived from the domain.
10818         (IMAGE_INSTANCE_FRAME): new accessor.
10819         (XIMAGE_INSTANCE_FRAME): ditto.
10820
10821         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
10822         instead of _SUBWINDOW_FRAME.
10823         (finalize_image_instance): ditto.
10824         (Fimage_instance_foreground): ditto.
10825         (Fimage_instance_background): ditto.
10826         (image_instantiate): ditto.
10827         (update_subwindow_cachel): ditto.
10828         (update_subwindow): ditto.
10829         (unmap_subwindow): ditto.
10830         (map_subwindow): ditto
10831         (subwindow_instantiate): ditto.
10832         * glyphs-msw.c (mswindows_update_widget): ditto.
10833         (mswindows_progress_gauge_instantiate): ditto.
10834         (mswindows_tab_control_update): ditto.
10835         * glyphs-x.c (x_update_widget): ditto.
10836         (x_widget_instantiate): ditto.
10837         (x_tab_control_instantiate): ditto.
10838         (x_tab_control_update): ditto.
10839         * event-msw.c (mswindows_wnd_proc): ditto
10840
10841         * glyphs-widget.c (image_instantiator_layout): use
10842         subwindow_decode_domain.
10843         (image_instantiator_buttons): ditto.
10844         (image_instantiator_edit_fields): ditto.
10845         (image_instantiator_combo_box): ditto.
10846         (image_instantiator_scrollbar): ditto.
10847         (image_instantiator_progress_guage): ditto.
10848         (image_instantiator_tree_view): ditto.
10849         (image_instantiator_tab_control): ditto.
10850         (image_instantiator_labels): ditto.
10851         (image_instantiator_layout): ditto.
10852
10853         * glyphs.c: add instance error checking to many functions.
10854         (instantiate_image_instantiator): decode device from cache_domain.
10855         (image_instantiate): partially rewrite by using
10856         decode_image_instantiator_domain to determine what domain the
10857         instance needs to be cached in.
10858         (decode_image_instantiator_domain): new function. Determine what
10859         domain the image needs to be cached in.
10860         (check_window_subwindow_cache): new error checking function.
10861         (check_instance_cache_mapper): ditto.
10862         (check_image_instance_structure): ditto.
10863         (subwindow_decode_domain): new function. Encodes a window as a
10864         subwindow's cache domain.
10865         (image_instantiator_format_create): use it for text and
10866         subwindows.
10867
10868 2000-04-21  Andy Piper  <andy@xemacs.org>
10869
10870         * glyphs.c (image_instance_device): new function.
10871         (image_instance_frame): new function.
10872         (image_instance_window): new function.
10873         (image_instance_live_p): new function.
10874
10875         * window.c (mark_window_as_deleted): reset the subwindow_instance_
10876         cache to nil.
10877
10878         * glyphs.h (struct Lisp_Image_Instance): device->domain.
10879         (IMAGE_INSTANCE_DOMAIN): new accessor.
10880         (XIMAGE_INSTANCE_DOMAIN): ditto.
10881
10882         * glyphs-x.c (x_finalize_image_instance): device->domain.
10883
10884         * glyphs-msw.c (init_image_instance_geometry): device->domain.
10885         (mswindows_finalize_image_instance): ditto.
10886
10887         * glyphs-eimage.c (jpeg_instantiate): device->domain.
10888         (gif_instantiate): ditto.
10889         (png_instantiate): ditto.
10890         (tiff_instantiate): ditto.
10891
10892         * glyphs.c (instantiate_image_instantiator): use domain rather
10893         than device.
10894         (mark_image_instance): device -> domain.
10895         (print_image_instance): ditto.
10896         (finalize_image_instance): ditto.
10897         (image_instance_equal): ditto.
10898         (allocate_image_instance): ditto.
10899         (Fcolorize_image_instance): ditto.
10900         (query_string_geometry): ditto.
10901         (image_instantiate): ditto
10902         (query_string_font): ditto.
10903         (image_instantiate): ditto.
10904         (update_subwindow): ditto.
10905         (unmap_subwindow): ditto.
10906         (map_subwindow): ditto.
10907         (subwindow_instantiate): ditto.
10908
10909         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
10910         (DOMAIN_FRAME): ditto.
10911         (DOMAIN_WINDOW): ditto.
10912         (DOMAIN_LIVE_P): ditto.
10913         (XDOMAIN_DEVICE): ditto.
10914         (XDOMAIN_FRAME): ditto.
10915         (XDOMAIN_WINDOW): ditto.
10916
10917         * specifier.c (Fvalid_specifier_domain_p): add image instances as
10918         a valid specifier domain.
10919
10920 2000-04-19  Andy Piper  <andy@xemacs.org>
10921
10922         * glyphs-widget.c (syms_of_glyphs_widget): remove
10923         widget-callback-current-channel.
10924         (vars_of_glyphs_widget): ditto.
10925         * glyphs.h: ditto
10926
10927         * gui.c (get_gui_callback): revert to previous behaviour.
10928
10929 2000-04-18  Andy Piper  <andy@xemacs.org>
10930
10931         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
10932         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
10933         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
10934
10935         * glyphs.c (image_instance_equal): add margin_width.
10936         (image_instance_hash): ditto.
10937
10938         * glyphs-widget.c (widget_instantiate): deal with margin-width.
10939         (layout_query_geometry): ditto.
10940         (layout_layout): ditto.
10941         (syms_of_glyphs_widget): add margin-width.
10942         (image_instantiator_layout): allow margin-width.
10943
10944         * glyphs.c (update_widget_instances): make a normal function.
10945         (syms_of_glyphs): remove Qupdate_widget_instances.
10946         * glyphs.h: ditto.
10947
10948         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
10949         so that we don't corrupt ideas about the last event or
10950         command. Remove widget-callback-current-channel fiddling.
10951         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10952
10953 2000-05-01  Martin Buchholz <martin@xemacs.org>
10954
10955         * XEmacs 21.2.33 is released.
10956
10957 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
10958
10959         * make-src-depend: Allow dots in header file name.
10960
10961 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
10962
10963         * mule-charset.h (struct charset_lookup): Add
10964         next_allocated_1_byte_leading_byte and
10965         next_allocated_2_byte_leading_byte.
10966         * mule-charset.c: Move above two variables so that those values
10967         will be dumped.
10968
10969 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
10970
10971         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
10972         when string length is zero.
10973         (find_charsets_in_emchar_string): Ditto.
10974
10975 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
10976
10977         * lisp.h: extern Qdialog and Qmenubar.
10978
10979         * gui-x.c: added events.h.
10980                 also fixed typo which made the file uncompilable.
10981
10982         * general.c: Added Qmenubar and Qdialog
10983
10984 2000-04-28  Ben Wing  <ben@xemacs.org>
10985
10986         * frame-msw.c (mswindows_init_frame_1):
10987         * frame-msw.c (mswindows_mark_frame):
10988         * event-msw.c (mswindows_enqueue_dispatch_event):
10989         * console-msw.h:
10990         * console-msw.h (struct mswindows_frame):
10991         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
10992         there are now three hash tables for callbacks.
10993         mswindows_enqueue_dispatch_event is no longer static.
10994
10995         * dialog-x.c (maybe_run_dbox_text_callback):
10996         * dialog-x.c (dbox_descriptor_to_widget_value):
10997         switch to new cons3 form for callbacks.
10998
10999         * glyphs-msw.c (mswindows_register_gui_item):
11000         * glyphs-msw.c (mswindows_widget_instantiate):
11001         * glyphs-msw.c (add_tree_item):
11002         * glyphs-msw.c (add_tab_item):
11003         new image instance parameter, so it can be passed to callback-ex.
11004         respect :callback-ex as well as :callback.
11005
11006         * glyphs-widget.c (VALID_GUI_KEYWORDS):
11007         add :callback-ex.
11008
11009         * glyphs.c (print_image_instance):
11010         prettify, e.g. now prints widget type.
11011
11012         * gui-x.h:
11013         certain funs have new image instance parameter.
11014
11015         * gui.c:
11016         * gui.c (get_gui_callback):
11017         * gui.c (gui_item_add_keyval_pair):
11018         * gui.c (gui_item_init):
11019         * gui.c (gui_add_item_keywords_to_plist):
11020         * gui.c (mark_gui_item):
11021         * gui.c (gui_item_hash):
11022         * gui.c (gui_item_equal):
11023         * gui.c (copy_gui_item):
11024         * gui.c (syms_of_gui):
11025         recognize callback-ex in a number of places.
11026         also, fix the annoying "can't get out of yes-no dialog" bug.
11027
11028         * gui.h:
11029         * gui.h (struct Lisp_Gui_Item):
11030         recognize callback-ex in a number of places.
11031
11032         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11033         new parameter in button_item_to_widget_value.
11034
11035         * glyphs-x.c (x_update_widget):
11036         * glyphs-x.c (x_button_instantiate):
11037         * glyphs-x.c (x_button_update):
11038         * glyphs-x.c (x_progress_gauge_instantiate):
11039         * glyphs-x.c (x_edit_field_instantiate):
11040         * glyphs-x.c (x_combo_box_instantiate):
11041         * glyphs-x.c (x_tab_control_instantiate):
11042         * glyphs-x.c (x_label_instantiate):
11043         new image instance parameter in various places.
11044
11045         * event-Xt.c:
11046         * event-Xt.c (enqueue_Xt_dispatch_event):
11047         this fun gets exported.
11048
11049         * gui-msw.c:
11050         * gui-msw.c (mswindows_handle_gui_wm_command):
11051         handle both :callback and :callback-ex, and generate our own
11052         event because it's one of the callback-ex arguments.
11053
11054         * gui-x.c:
11055         * gui-x.c (popup_selection_callback):
11056         handle both :callback and :callback-ex, and generate our own
11057         event because it's one of the callback-ex arguments.
11058         * gui-x.c (button_item_to_widget_value):
11059         * gui-x.c (gui_items_to_widget_values_1):
11060         * gui-x.c (gui_item_children_to_widget_values):
11061         * gui-x.c (gui_items_to_widget_values):
11062         new image instance parameter in various places.
11063
11064         * fns.c (Freplace_list):
11065         fix small typo in doc string.
11066
11067         * lisp.h:
11068         declare enqueue_Xt_dispatch_event.
11069
11070 2000-04-28  Ben Wing  <ben@xemacs.org>
11071
11072         * buffer.c:
11073         * buffer.c (Frecord_buffer):
11074         * buffer.c (syms_of_buffer):
11075         delete record-buffer-hook.
11076
11077         * fns.c:
11078         * fns.c (Freplace_list):
11079         * fns.c (syms_of_fns):
11080         new primitive replace-list.
11081
11082         * frameslots.h:
11083         slot for old buffer-alist.
11084
11085         * lisp.h:
11086         exfun replace-list.
11087
11088         * redisplay.c:
11089         * redisplay.c (redisplay_frame):
11090         * redisplay.c (syms_of_redisplay):
11091         * redisplay.c (vars_of_redisplay):
11092         new hook buffer-list-changed-hook.
11093         call it.
11094
11095 2000-04-27  Ben Wing  <ben@xemacs.org>
11096
11097         * extents.h: extern in_modeline_generation.
11098
11099         * redisplay.c (generate_formatted_string_db): set
11100         in_modeline_generation.
11101
11102         * extents.c (extent_changed_for_redisplay): don't mark redisplay
11103         flags if in modeline generation.  otherwise frame-modified-tick
11104         is ticked far too often.
11105         Declare in_modeline_generation.
11106
11107 2000-04-26  Ben Wing  <ben@xemacs.org>
11108
11109         * emacs.c (vars_of_emacs): document quick-build "error-checking"
11110         option.
11111         (vars_of_emacs): add quick-build as an error-checking option.
11112         A bit kludgy, but there doesn't seem much point in creating
11113         a real var for this.
11114
11115         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
11116
11117 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11118
11119         * redisplay.h (struct display_line): Add a new variable,
11120         line_continuation.
11121
11122         * redisplay.c (create_text_block): Set dl->line_continuation if
11123         the line continues.
11124         (create_string_text_block): Ditto.
11125         (regenerate_window_incrementally): Use line_continuation instead
11126         of searching continuation glyph.
11127         (add_margin_runes): Call add_glyph_rune.
11128         (add_glyph_rune): Handle margin glyph.
11129
11130 2000-04-20  Martin Buchholz  <martin@xemacs.org>
11131
11132         * filelock.c (fill_in_lock_file_name):
11133         ANSIfy.
11134         Check for IS_ANY_SEP instead of '/'.
11135         (lock_file_1):
11136         Avoid generating gratuitous garbage.  Call user_login_name() directly.
11137         Never check errno without first seeing that system call failed.
11138         (unlock_file): Add GCPRO.
11139         (Flock_buffer): Fix docstring.
11140         (Ffile_locked_p): Fix docstring.  Add GCPRO.
11141
11142 2000-04-19  Martin Buchholz  <martin@xemacs.org>
11143
11144         * sysdep.c (get_pty_max_bytes):
11145         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
11146         strings longer than 252 bytes.
11147
11148         * md5.c: Unconditionally include ANSI header <limits.h>
11149
11150         * glyphs-x.c (convert_EImage_to_XImage):
11151         * lisp-union.h (union Lisp_Object):
11152         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
11153
11154 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
11155
11156         * filelock.c (current_lock_owner): Remove unused variable o, p.
11157
11158 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
11159
11160         * callint.c: Remove multiply defined symbol Qlet
11161         (syms_of_callint): ditto.
11162
11163 2000-04-14  Andy Piper  <andy@xemacs.org>
11164
11165         * general.c (syms_of_general): add last-command, this-command, let
11166         and funcall.
11167
11168         * lisp.h: declare various symbols.
11169
11170         * glyphs.h: declare Qwidget_callback_current_channel;
11171
11172         * glyphs-widget.c (syms_of_glyphs_widget): add
11173         Qgui_callback_current_channel.
11174         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
11175
11176         * gui-msw.c (mswindows_handle_gui_wm_command): bind
11177         widget-callback-current-channel when invoking the interactive
11178         arg. Also bind last-command and next-command when invoking the
11179         widget updates.
11180         * gui-x.c (popup_selection_callback): ditto.
11181
11182         * gui.c (get_gui_callback): massage args so that we are always
11183         calling eval. This allows us to add our own variable bindings
11184         outside.
11185
11186         * glyphs-x.c (x_button_instantiate): use
11187         gui_items_to_widget_values since this is GC safe.
11188         (x_progress_gauge_instantiate): ditto.
11189         (x_edit_field_instantiate): ditto.
11190         (x_label_instantiate): ditto.
11191
11192         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
11193         (emacs_Xt_event_widget_focus_out): new function
11194         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
11195         focus.
11196         (emacs_Xt_event_add_widget_actions): new function. add focus
11197         functions as actions.
11198         (init_event_Xt_late): use it.
11199
11200 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
11201
11202         * event-stream.c (Fdispatch_event): Doc fix.
11203
11204 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
11205
11206         * postgresql.c: Remove all references to PQsetenv*.
11207
11208         * postgresql.h: Remove references to PGsetenvHandler object.
11209         * lrecord.h (lrecord_type): Ditto.
11210
11211 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11212
11213         * glyphs-msw.h (struct mswindows_image_instance_data): Added
11214         real_heigh and real_width members, and accessor macros for these.
11215
11216         * glyphs-msw.c (init_image_instance_geometry): New function.
11217         (init_image_instance_from_dibitmap): Use it.
11218         (mswindows_resource_instantiate): Use it.
11219         (init_image_instance_from_xbm_inline): Use it.
11220         (mswindows_initialize_image_instance_mask): Use real bitmap
11221         geometry.
11222         (mswindows_create_resized_bitmap): Ditto.
11223         (mswindows_create_resized_mask): Ditto.
11224
11225         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
11226         and bitmap to their surface size.
11227
11228 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
11229
11230         * process-unix.c (unix_send_process): Guard against process MIA
11231         after Faccept_process_output.
11232
11233 2000-04-11  Ben Wing  <ben@xemacs.org>
11234
11235         * eval.c (unbind_to_hairy): fix brokenness introduced by
11236         nanosecond speed improvements.
11237
11238 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
11239
11240         * sunplay.c (init_device): To play sounds correctly, the device
11241         apparently needs to be initialized at least once by XEmacs.  Make
11242         it so.
11243
11244 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11245
11246         * redisplay.c (add_margin_runes): Add text image glyph
11247           handling.
11248
11249 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
11250
11251         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
11252         gcc is newer than 2.5.
11253
11254 2000-04-06  Colin Rafferty  <colin@xemacs.org>
11255
11256         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
11257
11258         * fns.c (size_bit_vector):
11259         * alloc.c (size_vector):
11260         (make_vector_internal):
11261         (make_bit_vector_internal):
11262         (sweep_bit_vectors_1):
11263         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
11264
11265 2000-04-06  Andy Piper  <andy@xemacs.org>
11266
11267         * gmalloc.c (malloc): undo previous change.
11268         (malloc): ditto.
11269         (free): ditto.
11270         (realloc): ditto.
11271
11272 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
11273
11274         * line-number.c (buffer_line_number): Revert to former version.
11275
11276 2000-04-06  Andy Piper  <andy@xemacs.org>
11277
11278         * gmalloc.c (malloc): add error checking.
11279         (malloc): ditto.
11280         (free): ditto.
11281         (realloc): ditto.
11282
11283         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
11284         button_item_to_widget_value arg.
11285
11286         * glyphs-x.c (x_button_instantiate): add extra
11287         button_item_to_widget_value arg.
11288         (x_progress_gauge_instantiate): ditto.
11289         (x_edit_field_instantiate): ditto.
11290         (x_label_instantiate): ditto.
11291
11292         * gui-x.c (gui_items_to_widget_values_1): add extra
11293         button_item_to_widget_value arg.
11294         (button_item_to_widget_value): add extra menu_item_p arg.
11295
11296         * gui-x.h: change signature of button_item_to_widget_value.
11297
11298         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
11299         button_item_to_widget_value arg.
11300
11301 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11302
11303         * buffer.h (struct buffer): auto_save_modified should be long.
11304
11305 2000-04-05  Andy Piper  <andy@xemacs.org>
11306
11307         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
11308         type.
11309         (button_query_geometry): give a little more room so that athena
11310         buttons fit.
11311
11312 2000-04-05  Andy Piper  <andy@xemacs.org>
11313
11314         * faces.c (complex_vars_of_faces): The widget face should inherit
11315         the font of the gui-element face.
11316
11317 2000-04-04  Andy Piper  <andy@xemacs.org>
11318
11319         * glyphs-x.c (x_button_update): new function. unconditionally
11320         update a button's state when the instance is dirty.
11321         (image_instantiator_format_create_glyphs_x): add x_button_update.
11322         (x_widget_instantiate): remove old resize cruft.
11323
11324 2000-04-02  Andy Piper  <andy@xemacs.org>
11325
11326         * frame.c (change_frame_size_1): The introduction of gutters means
11327         that we need to allow 0 as a potential frame dimension.
11328
11329 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11330
11331         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
11332         image glyph if allow_cursor.
11333         (add_hscroll_rune): Don't allow cursor to border glyph.
11334         (create_text_block): Ditto.
11335
11336         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
11337         text not in buffer.
11338         (redisplay_output_layout): Call ensure_face_cachel_complete for
11339         text image glyph.
11340
11341
11342 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11343
11344         * redisplay.c (add_glyph_rune): Adding text image as text runes.
11345
11346         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
11347         not in buffer
11348
11349         * redisplay-tty.c (tty_output_display_block): Delete the routine
11350         for text image glyph
11351         * redisplay-x.c (x_output_display_block): ditto
11352         * redisplay-msw.c (mswindows_output_display_block): ditto
11353
11354 2000-02-02  Mike Alexander  <mta@arbortext.com>
11355
11356         Note: Some of these were committed by accident as part of other
11357         patches.
11358
11359         * regex.c (regex_compile): Avoid compiler warnings.
11360
11361         * ntproc.c (sys_spawnve): Avoid compiler warnings.
11362
11363         * nt.h: Declare term_ntproc correctly.
11364
11365         * nt.c: Remove incorrect declaration of get_home_directory which
11366         is declared correctly in lisp.h.
11367
11368         * keymap.c (get_keyelt): Avoid compiler warnings.
11369         (raw_lookup_key_mapper): Avoid compiler warnings.
11370
11371         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
11372
11373         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
11374
11375         * filemode.c (mode_string): Avoid compiler warnings.
11376
11377         * file-coding.c (Fcoding_system_aliasee): Add return statement to
11378         avoid warning.
11379
11380         * events-mod.h: Undef some things that winuser.h defines differently.
11381
11382         * data.c (Faset): Avoid compiler warnings.
11383
11384         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
11385
11386 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11387
11388         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
11389         Fall through to simple beep on error.
11390         Replace "extern" by real header file.
11391
11392         * linuxplay.c: Use nativesound.h
11393         (play_sound_data): Return error code. Be less verbose on error.
11394
11395         * sunplay.c: Use nativesound.h
11396         (play_sound_data): Return error code. Be less verbose on error.
11397
11398         * ntplay.c: Use nativesound.h
11399         (play_sound_data): Return fake error code
11400
11401         * sgiplay.c: Use nativesound.h
11402         (play_sound_data): Return error code
11403
11404         * hpplay.c: Use nativesound.h, partially implement
11405         new error code. Break compilation until finished.
11406         (play_sound_data): error code.
11407
11408         * nativesound.h (play_sound_file):
11409           (play_sound_data): Prototype in new header.
11410
11411 2000-03-31  Andy Piper  <andy@xemacs.org>
11412
11413         * glyphs-widget.c: (button_query_geometry): new function. Adjust
11414         for toggle and radio buttons.
11415         (image_instantiator_buttons): use it.
11416
11417 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11418
11419         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
11420         (x_update_horizontal_scrollbar_callback): Return if no mirror was
11421         found. Scrollbar event probably belonged to some old config.
11422
11423 2000-03-31  Andy Piper  <andy@xemacs.org>
11424
11425         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
11426         than 1.
11427         (initialize_widget_image_instance): default layout to
11428         LAYOUT_HORIZONTAL rather than 0.
11429         (widget_instantiate): reverse the item list at the end rather than
11430         every iteration.
11431         (layout_layout): re-code for the border text at the front of the
11432         item list rather than at the end.
11433         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
11434         provided by the user.
11435         (widget_query_geometry): comment.
11436
11437 2000-03-30  Andy Piper  <andy@xemacs.org>
11438
11439         * glyphs-widget.c (image_instantiator_layout): allow standard
11440         widget keywords in layouts.
11441
11442         * gutter.c (output_gutter): cope with nil gutter contents.
11443
11444         * frame.c (Fset_frame_properties): add gutter docs.
11445
11446 2000-03-29  Andy Piper  <andy@xemacs.org>
11447
11448         * toolbar-msw.c (TBSTYLE_FLAT): add.
11449         (mswindows_output_toolbar): minor fiddling.
11450
11451 2000-03-29  Andy Piper  <andy@xemacs.org>
11452
11453         * gutter.c (output_gutter): force gutter size recalculation if
11454         what we are trying to display won't fit.
11455         (update_gutter_geometry): new function. A per-gutter version of
11456         update_frame_gutter_geometry.
11457         (update_frame_gutter_geometry): use it.
11458         (redraw_exposed_gutter): add extra debugging output.
11459
11460 2000-03-28  Mike Alexander  <mta@arbortext.com>
11461
11462         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
11463         (pdump_file_unmap): Implement it on Windows
11464         (pdump_file_get): Save alocated handles for pdump_file_unmap
11465
11466 2000-03-28  Andy Piper  <andy@xemacs.org>
11467
11468         * gui.c (get_gui_callback): treat Quit specially.
11469
11470 2000-03-27  Andy Piper  <andy@xemacs.org>
11471
11472         * glyphs.c (image_instantiate): be careful to check in the same
11473         way we assigned.
11474
11475 2000-03-27  Didier Verna  <didier@xemacs.org>
11476
11477         * config.h.in: define the proper SMART_INCLUDE macro.
11478         handle renaming of `foo_h_path' to `foo_h_file'.
11479
11480         * database.c: ditto.
11481
11482         * emacs.c: ditto.
11483
11484         * linuxplay.c: ditto.
11485
11486         * terminfo.c: ditto.
11487
11488         * tooltalk.h: ditto.
11489
11490 2000-03-27  Andy Piper  <andy@xemacs.org>
11491
11492         * glyphs-msw.c (mswindows_update_widget): make sure the widget
11493         gets updated whenever the face might have changed.
11494
11495 2000-03-26  Mike Alexander  <mta@arbortext.com>
11496
11497         * dumper.c (pdump_resource_free): Fix the comment.
11498
11499 2000-03-21  Olivier Galibert  <galibert@pobox.com>
11500
11501         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
11502
11503 2000-03-22  Mike Alexander  <mta@arbortext.com>
11504
11505         * dumper.c: Include Windows headers on Windows
11506         (pdump_resource_free): Add a body to the function
11507         (pdump_load): exe_name -> exe_path and add some comments.
11508
11509 2000-03-25  Mike Alexander  <mta@arbortext.com>
11510
11511         * gui.c (copy_gui_item_tree): Return a value in all cases
11512
11513 2000-03-21  Didier Verna  <didier@xemacs.org>
11514
11515         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
11516         lwlib/config.h.in.
11517         (SMART_INCLUDE): new macro.
11518         (POSTGRES_INCLUDE): new macro to include postgresql headers from
11519         the proper location.
11520
11521         * postgresql.c: use it.
11522
11523         * inline.c: ditto.
11524
11525 2000-03-24  Andy Piper  <andy@xemacs.org>
11526
11527         * gutter.c (redraw_exposed_gutters): must be "in display" when we
11528         do this.
11529
11530 2000-03-24  Andy Piper  <andy@xemacs.org>
11531
11532         * redisplay-output.c (compare_runes): use image_instance_changed
11533         to detect changes. Do not depend on glyphs_changed, only depend on
11534         dirtiness.
11535          (redisplay_output_layout): add debug messages.
11536         (compare_runes): ditto.
11537
11538         * glyphs.h: declare new functions.
11539         (struct Lisp_Image_Instance): remove percent and associated
11540         accessors.
11541
11542         * gui.h: declare new copying functions.
11543
11544         * gui.c (copy_gui_item_tree): new function.
11545         (copy_gui_item): new function.
11546         (gui_item_id_hash): revert to standard hash.
11547         (gui_item_hash): ditto.
11548         (gui_item_hash_internal): deleted.
11549         (mark_gui_item): mark value.
11550         (gui_item_add_keyval_pair): add value.
11551         (gui_item_init): ditto.
11552         (gui_add_item_keywords_to_plist): ditto.
11553         (gui_item_equal): ditto.
11554         (syms_of_gui): add Q_value.
11555
11556         * glyphs-x.c (x_progress_gauge_update): use pending items and
11557         value for setting the state.
11558         (x_update_widget): don't set items from pending here.
11559
11560         * glyphs-widget.c (update_widget): update items here.
11561         (progress_gauge_set_property): use items for storing value. Put
11562         new value in pending items.
11563
11564         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
11565         items for new value. Convert percent -> value.
11566         (mswindows_tab_control_update): don't update items here.
11567
11568         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
11569         (update_subwindow): ditto.
11570         (image_instance_changed): new function. Compare hash values and
11571         past and present widget items.
11572         (image_instantiate): We more careful about where we instantiate
11573         things.
11574         (image_instantiate): add error checking.
11575
11576         * gutter.c (syms_of_gutter): use -hook.
11577
11578 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
11579
11580         * console-tty.c (Fset_console_tty_input_coding_system): Use
11581         Qkeyboard.
11582         (Fset_console_tty_output_coding_system): Use Qterminal.
11583         (tty_init_console): Use Qkeyboard and Qterminal.
11584
11585 2000-03-21  Ben Wing  <ben@xemacs.org>
11586
11587         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
11588         From Mike Alexander <mta@arbortext.com>.
11589
11590 2000-03-21  Ben Wing  <ben@xemacs.org>
11591
11592         * event-msw.c (mswindows_need_event): Horrible kludge to fix
11593         process brokenness.  Proper implementation to come.
11594         * callproc.c:
11595         Rename call-process-internal to old-call-process-internal.
11596         New impl. in process.el.
11597
11598 2000-03-21  Martin Buchholz  <martin@xemacs.org>
11599
11600         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
11601
11602 2000-03-20  Andy Piper  <andy@xemacs.org>
11603
11604         * glyphs.c (full_list_hash): make hashes of the same elements in
11605         different orders return different values.
11606
11607 2000-03-20  Martin Buchholz <martin@xemacs.org>
11608
11609         * XEmacs 21.2.32 is released.
11610
11611 2000-03-20  Martin Buchholz  <martin@xemacs.org>
11612
11613         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
11614         (DFC_MALLOC_USE_CONVERTED_DATA):
11615         Add aliasing-safe casts to allow use with char* or unsigned char*
11616         lvalues.
11617
11618         * eldap.c (Fldap_open):
11619         (Fldap_search_basic):
11620         (Fldap_add):
11621         (Fldap_modify):
11622         Make C++-compilable.
11623         Make sure GCPRO'ed variables are initialized.
11624         Use temp variables to avoid repeated calls to Flength.
11625
11626 2000-03-16  Martin Buchholz  <martin@xemacs.org>
11627
11628         * sysfile.h:
11629         Make sure PATH_MAX is always defined.
11630         Include limits.h for PATH_MAX.
11631         Deprecate use of MAXPATHLEN.
11632
11633 2000-03-10  Martin Buchholz  <martin@xemacs.org>
11634
11635         * emacs.c: Add reinit_vars_of_fileio.
11636         * symsinit.h: Add reinit_vars_of_fileio.
11637         * fileio.c (reinit_vars_of_fileio): New.
11638         * fileio.c (Fmake_temp_name):
11639         Initialize temp_name random number from microseconds to make
11640         collisions even less likely.  Initialize always at process startup
11641         time.  (make-temp-name) used to return the same file name twice in
11642         a row when PDUMP.
11643         Random stylistic fiddling.
11644         Comment fixes.
11645
11646 2000-03-20  Andy Piper  <andy@xemacs.org>
11647
11648         * glyphs.c (image_instantiate): allow text glyphs to be
11649         instantiated in the minibuffer window.
11650
11651 2000-03-19  Andy Piper  <andy@xemacs.org>
11652
11653         * glyphs.c (image_instance_hash): be careful about which items we
11654         hash on.
11655
11656         * glyphs-widget.c (tab_control_set_property): record into pending
11657         items rather than the actual items.
11658
11659         * glyphs-x.c (x_update_widget): use pending items to update with.
11660
11661         * glyphs-msw.c (mswindows_tab_control_update): use pending items
11662         to update with.
11663
11664         * glyphs.c (mark_image_instance): mark pending items.
11665
11666         * window.c (Fset_window_configuration): record the buffer.
11667         (Fselect_window): totally revert previous change which breaks many
11668         things.
11669
11670 2000-03-18  Andy Piper  <andy@xemacs.org>
11671
11672         * glyphs-msw.c (mswindows_tab_control_update): force selected
11673         item.
11674
11675         * glyphs.c (image_instantiate): don't allow the minibuffer as a
11676         window domain cache, otherwise we get inconsistencies at
11677         startup. There is something fishy at startup which can lead to the
11678         minibuffer being the selected window when the gutter content is
11679         instantiated.
11680
11681         * gui.c (parse_gui_item_tree_list): add probably unnecessary
11682         gcpros.
11683         (parse_gui_item_tree_children): ditto.
11684         (parse_gui_item_tree_item): ditto.
11685
11686         * glyphs.c (Fupdate_widget_instances): return something.
11687
11688 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
11689
11690         * window.c (Fselect_window): Undo 2000-03-17 change.
11691
11692 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
11693
11694         * postgresql.c (Fpq_setenv): Remove this turkey when linking
11695         against v7.0 libraries.  Insta-coredump city until the postgres
11696         folks fix it.
11697
11698 2000-03-17  Andy Piper  <andy@xemacs.org>
11699
11700         * faces.c (complex_vars_of_faces): don't give the widget face an
11701         inherited background pixmap.
11702
11703         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
11704         selected item.
11705
11706         * event-stream.c (Fdispatch_non_command_events): return something.
11707
11708         * gutter.c (output_gutter): use widget face.
11709         (clear_gutter): ditto.
11710
11711         * NEWS: adjust again.
11712
11713         * window.c (Fselect_window): make sure this runs to completion to
11714         avoid oddities with Fset_window_configuration.
11715         (Fcurrent_window_configuration): in general do not save the
11716         minibuffer as the selected window.
11717
11718         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
11719
11720 2000-03-16  Olivier Galibert  <galibert@pobox.com>
11721
11722         * emacs.c (Frunning_temacs_p): Revert previous patch.
11723         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
11724
11725 2000-03-16  Andy Piper  <andy@xemacs.org>
11726
11727         * glyphs-x.c (x_tab_control_update): if no widget values then
11728         return.
11729
11730         * NEWS: update for new features.
11731
11732         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
11733         synthetic event to the native system.
11734         (reinit_vars_of_event_Xt): set force_event_pending to
11735         emacs_Xt_force_event_pending.
11736
11737         * events.h (struct event_stream): add force_event_pending.
11738
11739         * specifier.c (recompute_one_cached_specifier_in_window): add
11740         comment.
11741
11742         * redisplay.c (redisplay_frame): don't call
11743         update_frame_subwindows. Reset subwindow cachels when
11744         subwindows_changed, removing this was an optimization too far.
11745
11746         * redisplay-output.c (compare_runes): reorganize so that we catch
11747         glyph changes when we want them. Set optimize_output when this
11748         would help layouts.
11749         (redisplay_output_layout): remove frame_really_changed, use
11750         optimize_output instead.
11751
11752         * redisplay-msw.c (mswindows_output_display_block): reset
11753         optimize_output after outputting a glyph.
11754         * redisplay-x.c (x_output_display_block): ditto.
11755         * redisplay-tty.c (tty_output_display_block): ditto.
11756
11757         * gutter.c: (specifier_vars_of_gutter): use new spec changed
11758         functions.
11759         (gutter_specs_changed): do specific gutter positions.
11760         (top_gutter_specs_changed): new function. Only update the
11761         specified gutter specs.
11762         (bottom_gutter_specs_changed): ditto.
11763         (left_gutter_specs_changed): ditto.
11764         (right_gutter_specs_changed): ditto.
11765
11766         * gui.c (gui_item_hash_internal): new function, does a real hash.
11767         (gui_item_id_hash): use it.
11768         (gui_item_hash): hash the eval'ed gui_item.
11769
11770         * gui-x.c (popup_selection_callback): send an eval event to call
11771         Fupdate_widget_instances.
11772
11773         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
11774         to call Fupdate_widget_instances.
11775
11776         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
11777         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
11778
11779         * glyphs.c: (update_frame_subwindows): deleted.
11780         (Fupdate_widget_instances): new function for updating the dirty
11781         state of widgets that might have changed.
11782         (syms_of_glyphs): add Qupdate_widget_instances.
11783         (full_list_hash): hash a list completely.
11784         (image_instance_hash): use it for items and properties.
11785
11786         * frame-msw.c (mswindows_size_frame_internal): remove unused
11787         variable.
11788
11789         * faces.h (struct face_cachel): fix comment.
11790
11791         * event-stream.c (Fdispatch_non_command_events): new
11792         function. Process non-command events, forcing an event cycle
11793         beforehand.
11794         (syms_of_event_stream): declare.
11795         (event_stream_force_event_pending): new function. Force an event
11796         on the native event queue so that an event cycle will occur next
11797         time we check.
11798
11799         * event-msw.c:
11800         (struct ntpipe_shove_stream):
11801         (mswindows_enqueue_dispatch_event):
11802         (mswindows_dequeue_dispatch_event):
11803         (mswindows_cancel_dispatch_event):
11804         (mswindows_pump_outstanding_events):
11805         (mswindows_drain_windows_queue):
11806         (mswindows_handle_paint):
11807         (mswindows_wnd_proc):
11808         (mswindows_key_to_emacs_keysym):
11809         (get_process_input_waitable):
11810         (emacs_mswindows_delete_stream_pair): re-indent file.
11811         (mswindows_need_event): do not process further fds if the windows
11812         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
11813         fixes the 100% cpu problem.
11814         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
11815
11816 2000-03-15  Olivier Galibert  <galibert@pobox.com>
11817
11818         * alloc.h: New.
11819         * dumper.h: New.
11820         * dumper.c: New.
11821
11822         * emacs.c: Moved dump file searching to dumper.c.
11823         (Frunning_temacs_p): Fixed.
11824
11825         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
11826         last_lrecord_type_index_assigned.
11827
11828 2000-02-20  Olivier Galibert  <galibert@pobox.com>
11829
11830         * symsinit.h: Added reinit parameter to init_console_stream
11831         declaration.
11832
11833         * lisp.h: Added file parameter to pdump_load declaration.
11834
11835         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
11836         support.  Added dump file searching.
11837
11838         * config.h.in: Added EMACS_PROGNAME.
11839
11840         * console-stream.c (init_console_stream): Fix reinitialisation
11841         when running from temacs.
11842
11843         * alloc.c (pdump): Add id support.
11844         (pdump_load): Add file parameter and signature/id support.
11845
11846         * Makefile.in.in: Add full pdump support.
11847
11848 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
11849
11850         * postgresql.c: Update documentation to reflect latest code
11851         status.
11852         (print_result): Show tuple counts in printed representation when
11853         appropriate.
11854         (Fpq_put_nbytes): MULE-ize.
11855         (Fpq_get_line_async): Ditto.
11856
11857 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
11858
11859         * postgresql.c (Fpq_lo_import): Fix return value.
11860         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
11861
11862 2000-03-13  Ben Wing  <ben@xemacs.org>
11863
11864         * alloc.c (pdump_load):
11865         Fix compile warning under mswin.
11866
11867 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
11868
11869         * postgresql.c: Mule-ization, bug fixes.
11870         Use PG_CODING to encapsulate coding system name changes.
11871         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
11872         (pg-coding-system): Create.
11873
11874         (Fpq_conn_defaults): Mule-ize.
11875         (Fpq_connectdb): Mule-ize & bug fix.
11876         (Fpq_connect_start): Mule-ize.
11877         (Fpq_set_client_encoding): Mule-ize.
11878         (Fpq_finish): Document `DEAD' connection status.
11879         (Fpq_clear): Ditto.
11880         (Fpq_pgconn): Mule-ize.
11881         (Fpq_exec): Mule-ize & bug fix.
11882         (Fpq_send_query): Ditto.
11883         (Fpq_get_result): Ditto.
11884         (Fpq_res_status): Mule-ize.
11885         (Fpq_result_error_message): Mule-ize.
11886         (Fpq_ntuples): fix comments.
11887         (Fpq_fname): Mule-ize.
11888         (Fpq_fnumber): Mule-ize.
11889         (Fpq_ftype): fix comments.
11890         (Fpq_get_value): Mule-ize.
11891         (Fpq_cmd_status): Ditto.
11892         (Fpq_cmd_tuples): Ditto.
11893         (Fpq_oid_value): Ditto.
11894         (Fpq_notifies): Ditto.
11895         (Fpq_lo_import): Ditto.
11896         (Fpq_lo_export): Ditto.
11897         (Fpq_get_line): Ditto.
11898         (Fpq_put_line): Mule-ize and bug fix.
11899         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
11900
11901 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
11902
11903         * postgresql.c (vars_of_postgresql): Mule-ize.
11904         (Fpq_conn_defaults): Ditto.
11905
11906 2000-03-12  Ben Wing  <ben@xemacs.org>
11907
11908         * alloc.c (Fmake_byte_code):
11909         * alloc.c (debug_string_purity_print):
11910         * alloc.c (pdump_backtrace):
11911         * alloc.c (pdump_get_indirect_count):
11912         * alloc.c (pdump_register_sub):
11913         * alloc.c (pdump_register_object):
11914         * alloc.c (pdump_register_struct):
11915         * alloc.c (pdump_dump_data):
11916         * alloc.c (pdump_reloc_one):
11917         Minor cleanups.
11918
11919         * console-msw.c:
11920         * console-msw.c (GetConsoleHwnd):
11921         * console-msw.c (msw_hide_console):
11922         * console-msw.c (msw_show_console):
11923         * console-msw.c (msw_ensure_console_buffered):
11924         * console-msw.c (msw_output_console_string):
11925         * console-msw.c (console_type_create_mswindows):
11926
11927         a) Added functions to manipulate the console window for use with
11928         shell support.
11929
11930         b) Added support for writing text to the console, which is now
11931         used under Windows when xemacs is not being run non-interactively,
11932         to write text that would otherwise be destined for stdout because
11933         under these circumstances, text written to stdout tends to
11934         disappear and not be seen.
11935
11936         * console-msw.h:
11937         * event-Xt.c:
11938         * event-Xt.c (x_event_to_emacs_event):
11939         * event-Xt.c (describe_event_window):
11940         * events-mod.h (XEMACS_MOD_CONTROL):
11941         * events.c:
11942         * events.c (Fmake_event):
11943         * events.c (character_to_event):
11944         * events.c (event_to_character):
11945         * events.c (format_event_object):
11946         * events.c (Fevent_modifiers):
11947         * events.h:
11948         * events.h (struct key_data):
11949         * events.h (struct button_data):
11950         * events.h (struct misc_user_data):
11951         * frame-x.c (Fcde_start_drag_internal):
11952         * frame-x.c (Foffix_start_drag_internal):
11953         * gpmevent.c (Freceive_gpm_event):
11954         * keymap.c:
11955         * keymap.c (bucky_sym_to_bucky_bit):
11956         * keymap.c (control_meta_superify):
11957         * keymap.c (make_key_description):
11958         * keymap.c (keymap_lookup_directly):
11959         * keymap.c (create_bucky_submap):
11960         * keymap.c (keymap_store):
11961         * keymap.c (define_key_check_and_coerce_keysym):
11962         * keymap.c (define_key_parser):
11963         * keymap.c (define_key_alternate_name):
11964         * keymap.c (Fdefine_key):
11965         * keymap.c (raw_lookup_key_mapper):
11966         * keymap.c (struct map_keymap_unsorted_closure):
11967         * keymap.c (map_keymap_unsorted_mapper):
11968         * keymap.c (map_keymap_sort_predicate):
11969         * keymap.c (map_keymap_sorted):
11970         * keymap.c (accessible_keymaps_mapper_1):
11971         * keymap.c (where_is_recursive_mapper):
11972         * keymap.c (describe_map_mapper):
11973         * keymap.c (describe_map_sort_predicate):
11974         * keymap.c (describe_map):
11975         * keymap.c (complex_vars_of_keymap):
11976         And a number of other files, the key modifier preprocessor
11977         constants that xemacs uses have names that conflict with constants
11978         defined under MS Windows for other purposes, so they were renamed
11979         to begin with the prefix XEMACS_. The variables that hold such
11980         modifiers were changed to consistently be of type int to fix
11981         various compile warnings.
11982
11983         * console.c (complex_vars_of_console):
11984         * device.c:
11985         * device-msw.c:
11986         * device-msw.c (mswindows_finish_init_device):
11987         * device-msw.c (msw_get_workspace_coords):
11988         * device-msw.c (mswindows_device_system_metrics):
11989         and various other files, added support for a new
11990         device property called offset-workspace which returns the position
11991         of the upper left corner of the workspace area and goes along with
11992         the existing size-workspace property.
11993
11994         * dialog-msw.c:
11995         * dialog-msw.c (push_bufbyte_string_as_unicode):
11996         * dialog-msw.c (mswindows_popup_dialog_box):
11997         Added support for XEmacs-style accelerator specifications in
11998         button text.  Note: I didn't add support for this under X Windows,
11999         and somebody needs to do this.
12000
12001         * dialog.c:
12002         * dialog.c (Fpopup_dialog_box):
12003         Documented the support for accelerators that was just mentioned.
12004
12005         editfns.c (get_home_directory): Changed behavior under Windows
12006         when HOME not defined; former behavior was irretrievably broken.
12007
12008         * emacs.c:
12009         * emacs.c (main_1):
12010         * emacs.c (main):
12011         * minibuf.c (clear_echo_area_internal):
12012         * minibuf.c (echo_area_append):
12013         * print.c:
12014         * print.c (std_handle_out_external):
12015         * print.c (std_handle_out_va):
12016         * print.c (fatal):
12017         * print.c (write_string_to_stdio_stream):
12018         * print.c (output_string):
12019         * print.c (debug_print):
12020         * print.c (debug_backtrace):
12021         * print.c (debug_short_backtrace):
12022         Cleaned up the code that prints text to stdout so that this can be
12023         changed to output into a console window instead under MS Windows,
12024         as described above.
12025
12026         * eval.c:
12027         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
12028         * eval.c (internal_catch):
12029         * eval.c (unwind_to_catch):
12030         * eval.c (throw_or_bomb_out):
12031         * eval.c (condition_case_1):
12032         * eval.c (signal_1):
12033         * eval.c (check_error_state_sanity):
12034         * eval.c (call_with_suspended_errors_1):
12035         * eval.c (call_with_suspended_errors):
12036         * eval.c (reinit_vars_of_eval):
12037         Added code to catch throw loops and check for a pesky bug that may
12038         be gone now.
12039
12040         * event-msw.c:
12041         * event-msw.c (key_needs_default_processing_p):
12042         * event-msw.c (mswindows_wnd_proc):
12043         * event-msw.c (mswindows_modifier_state):
12044         * event-msw.c (emacs_mswindows_quit_p):
12045         * event-msw.c (vars_of_event_mswindows):
12046         a) Added support for using the alt key to select menu items as is
12047         standard under MS Windows.  This is controlled using the variable
12048         menu-accelerator-enabled, just like under X Windows.  There is an
12049         option on the options menu to turn this support on.  I really
12050         think that it should be on by default under Windows, but I'm not
12051         going to make this change yet.
12052
12053         b)  Added support for dynamic display size changes under Windows.
12054
12055         * event-stream.c:
12056         * event-stream.c (maybe_echo_keys):
12057         * event-stream.c (Fnext_event):
12058         * event-stream.c (command_builder_find_leaf):
12059         * event-stream.c (lookup_command_event):
12060         * event-stream.c (execute_command_event):
12061         * event-stream.c (pre_command_hook):
12062         * event-stream.c (post_command_hook):
12063         * event-stream.c (syms_of_event_stream):
12064         * event-stream.c (vars_of_event_stream):
12065         * event-stream.c (complex_vars_of_event_stream):
12066         * events.h (struct command_builder):
12067
12068         a) Tried to clean up a little bit the horribly written x-specific
12069         accelerator code that crept into this file.  I moved this code
12070         into menubar-x.c where it belongs. I also needed to move the
12071         command builder structure into the file events.h because it is
12072         accessed directly by this accelerator code.  What I didn't do, but
12073         which should be done at some point, is to properly abstract this
12074         code using device methods instead of the kludgy way that it
12075         currently hooks into the event code.
12076
12077         b) Added the lisp variables this-command-properties and
12078         last-command- properties, which should be used to synchronize two
12079         adjacent commands in preference to playing games with the variable
12080         this-command, which is typically what happens.
12081
12082         c) Added some slightly nasty code to hook into the lisp support
12083         for shifted- motion-key selection.  This is actually necessary for
12084         somewhat complicated reasons, which are described in
12085         simple.el. (NB: I think the proper thing would be to have the code
12086         that calls the pre and post command hooks also call out to generic
12087         lisp functions in simple.el, where all built-in stuff could be
12088         added.  I will think about this more.)
12089
12090         * event-unixoid.c (poll_fds_for_input):
12091         * lread.c (readchar):
12092         * redisplay-tty.c (tty_clear_frame):
12093         * redisplay-x.c (x_get_gc):
12094         * signal.c (interrupt_signal):
12095         And a whole bunch of other files: fixed up places that printed
12096         directly to stderr to instead call the function stderr_out so that
12097         the changes I made under Windows work correctly.
12098
12099         * filemode.c (mode_string):
12100         Warning fixes.
12101
12102         * frame-msw.c:
12103         * frame-msw.c (mswindows_size_frame_internal):
12104         Fixed the computation of frame size and position to keep the frame
12105         within the workspace area, rather than within the physical
12106         dimensions of the screen, so that the frame doesn't overlap window
12107         manager decorations, such as the start menu and toolbar, typically
12108         at the bottom of the screen.
12109
12110         * frame.c (vars_of_frame):
12111         Changed the default frame title format under MS Windows to consist
12112         of buffername-XEmacs, which is standard under MS Windows.  I think
12113         it might be a good idea to change this everywhere because I think
12114         it is superior to the current frame title format, but this is the
12115         kind of change that is likely to cause some people to get annoyed,
12116         so I'm not making it.
12117
12118         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
12119
12120         * gui-msw.c (mswindows_handle_gui_wm_command):
12121         Fixed compile warnings.
12122
12123         * gui-x.c:
12124         * gui-x.c (strdup_and_add_accel):
12125         * gui-x.c (button_item_to_widget_value):
12126         * gui-x.h:
12127         Added code to automatically put an accelerator onto the beginning
12128         of menu items that don't have one as is now the standard, and is
12129         described more later.  Also fixed things so that the menu item
12130         name can be an evaluated expression, again a new standard.
12131
12132         * gui.c:
12133         * gui.c (gui_item_add_keyval_pair):
12134         * gui.c (make_gui_item_from_keywords_internal):
12135         * gui.c (gui_add_item_keywords_to_plist):
12136         * gui.c (gui_item_accelerator):
12137         * gui.c (gui_name_accelerator):
12138         * gui.c (gui_item_included_p):
12139         * gui.c (gui_item_display_flush_left):
12140         * gui.c (gui_item_display_flush_right):
12141         * gui.c (parse_gui_item_tree_item):
12142         * gui.c (parse_gui_item_tree_children):
12143         * gui.c (parse_gui_item_tree_list):
12144         Mule-ized.  Cleanup.  GCPRO addition.
12145
12146         * line-number.c (buffer_line_number):
12147         * lisp.h:
12148         * lisp.h (EMACS_INT_MAX):
12149         Added the manifest constant EMACS_INT_MIN corresponding to the
12150         existing constant EMACS_INT_MAX.  This is partially to fix compile
12151         warnings under Windows, and partly for cleanliness.
12152
12153         * menubar-msw.c:
12154         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
12155         * menubar-msw.c (msw_translate_menu_or_dialog_item):
12156         * menubar-msw.c (displayable_menu_item):
12157         * menubar-msw.c (populate_menu_add_item):
12158         * menubar-msw.c (populate_or_checksum_helper):
12159         * menubar-msw.c (populate_menu):
12160         * menubar-msw.c (update_frame_menubar_maybe):
12161         * menubar-msw.c (prune_menubar):
12162         * menubar-msw.c (msw_char_is_accelerator):
12163         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
12164         * menubar-msw.c (mswindows_handle_wm_command):
12165         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
12166         * menubar-msw.c (mswindows_handle_wm_initmenu):
12167         * menubar-msw.c (mswindows_update_frame_menubars):
12168         * menubar-msw.c (mswindows_free_frame_menubars):
12169         * menubar-msw.c (mswindows_popup_menu):
12170         Fixed a bug in handling accelerators where an extra character
12171         would be displayed in the menu item.  Also generalized the
12172         function displayable_menu_item because it is now used by the
12173         dialog box code as well.  And finally, added code in the functions
12174         that create the menubar to extract a list of accelerators for the
12175         top level menubar, which is used in the event code to determine
12176         whether a particular alt-key combination should be used to invoke
12177         a menu item, or should be passed through to access the standard
12178         XEmacs keymap binding for this key combination.
12179
12180         Much needed GCPROing.
12181
12182         * menubar-x.c:
12183         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12184         * menubar-x.c (menu_item_descriptor_to_widget_value):
12185         * menubar-x.c (restore_in_menu_callback):
12186         * menubar-x.c (x_popup_menu):
12187         * menubar-x.c (menu_move_up):
12188         * menubar-x.c (menu_move_down):
12189         * menubar-x.c (menu_move_left):
12190         * menubar-x.c (menu_move_right):
12191         * menubar-x.c (menu_select_item):
12192         * menubar-x.c (command_builder_operate_menu_accelerator):
12193         * menubar-x.c (menu_accelerator_junk_on_error):
12194         * menubar-x.c (command_builder_find_menu_accelerator):
12195         * menubar-x.c (Faccelerate_menu):
12196         * menubar.h:
12197         Moved a whole bunch of code here that was previously in
12198         event-stream.c as described above.  There is also code connected
12199         to the new standard of adding an accelerator to the beginning of
12200         menu items that don't have one as described above and below.
12201
12202         * menubar.c:
12203         * menubar.c (menu_parse_submenu_keywords):
12204         * menubar.c (Fmenu_find_real_submenu):
12205         * menubar.c (Fnormalize_menu_item_name):
12206         * menubar.c (syms_of_menubar):
12207         * menubar.c (vars_of_menubar):
12208         * menubar.c (complex_vars_of_menubar):
12209
12210         a) Cleaned up a bunch of documentation and improved it.
12211
12212         b) XEmacs now automatically adds an accelerator onto the beginning
12213         of any menu items that don't have one.  I did this because there
12214         will inevitably be some menu items on the main menubar that don't
12215         have accelerators on them because the package that adds that
12216         particular menu item hasn't yet been fixed up to have accelerators
12217         in them and it looked rather strange to have some items with and
12218         some items without accelerators, especially since even in items
12219         without accelerators, you can, at least under windows, still
12220         access the item through an accelerator corresponding to the first
12221         character in the item's name.  If people don't like this behavior,
12222         I can add a variable to turn it off optionally, but I'm not sure
12223         this is a good idea because we really do need to have accelerators
12224         on all of the menu items, and if a package doesn't like the
12225         accelerators being put on the first character, then it should put
12226         the accelerators where they belong.
12227
12228         c) I made a behavior change, which is that the descriptor that
12229         specifies the text of the menu item, which formerly was just a
12230         string, can now also be an evaluated expression.  This makes this
12231         descriptor parallel with all of the others, which could also be
12232         evaluated expressions.  This also obviates the need for the
12233         keyword :label, which was previously listed in the documentation
12234         as unimplemented, and which was for the same purpose.
12235
12236         d) GCPROing.
12237
12238         * ntproc.c:
12239         * ntproc.c (new_child):
12240         * ntproc.c (sys_spawnve):
12241         * ntproc.c (find_child_console):
12242         * ntproc.c (sys_kill):
12243         Fixed compile warnings.  By the way, this file should really go
12244         away entirely, and this will happen as soon as Kirill makes his
12245         final round of process cleanups, which affect the function
12246         call-process.
12247
12248         * process-nt.c:
12249         * process-nt.c (struct nt_process_data):
12250         * process-nt.c (find_process_from_pid):
12251         * process-nt.c (send_signal_the_nt_way):
12252         * process-nt.c (enable_child_signals):
12253         * process-nt.c (find_child_console):
12254         * process-nt.c (send_signal_the_95_way):
12255         * process-nt.c (nt_finalize_process_data):
12256         * process-nt.c (ensure_console_window_exists):
12257         * process-nt.c (nt_create_process):
12258         * process-nt.c (nt_kill_child_process):
12259         * process-nt.c (nt_kill_process_by_pid):
12260         * process-nt.c (nt_open_network_stream):
12261         * process-nt.c (vars_of_process_nt):
12262         Copied over code from Emacs 20.5 to correctly send signals to sub-
12263         processes under Windows 95.  Also added code to automatically
12264         create and hide console window when a sub-process is created under
12265         Windows 95, which obviates the need for the separate runemacs.exe
12266         executable, and finally implemented some variables that were
12267         implemented in Emacs 20.5, but previously not in XEmacs.  These
12268         include mswindows- start-process-share-console and
12269         mswindows-start-process-inherit-error-mode. (Both of these only
12270         apply to Windows 95.)
12271
12272         * regex.c (regex_compile): Fixed a compile warning.
12273
12274         * select-msw.c:
12275         * select-msw.c (mswindows_own_selection):
12276         * select-msw.c (mswindows_get_foreign_selection):
12277         * select-msw.c (mswindows_disown_selection):
12278         * select-msw.c (console_type_create_select_mswindows):
12279         * select-msw.c (syms_of_select_mswindows):
12280         Cleaned up the file and implemented the device method
12281         selection_exists_p, which had accidentally been left out.  Also
12282         removed four lisp functions that were remnants from before the
12283         time when the selection code was properly device abstracted.
12284         These functions are no longer needed because there are generic
12285         equivalents, and because they were added recently and don't exist
12286         in FSF Emacs, I don't think there's any problem with just deleting
12287         them.
12288
12289         * sysdep.c:
12290         * sysdep.c (sys_subshell):
12291         Fixed a compile warning, although in this case there's probably
12292         something wrong with this code, and it ought to be looked into
12293         more thoroughly by somebody who understands it.
12294
12295         * window.c:
12296         * window.c (Fwindow_text_area_height):
12297         * window.c (Fwindow_width):
12298         * window.c (Fwindow_full_width):
12299         * window.c (Fwindow_pixel_width):
12300         * window.c (debug_print_window):
12301         * window.c (syms_of_window):
12302         Added functions window-text-area-height and window-full-width,
12303         which are functions for returning various width and height
12304         characteristics of a window. (One of these functions is necessary
12305         for making the file dialog box work correctly, and the other one
12306         was added for completeness.)  Also added a table to the
12307         documentation for window-height which describes the entire scheme
12308         for accessing width and height characteristics of a window.
12309
12310 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12311
12312         * nt.c (fstat): Added a comment for another problem with
12313         non-encapsulated [f]stat(), reported by Adrian Aichner
12314         <aichner@ecf.teradyne.com>.
12315
12316 2000-03-11  Andy Piper  <andy@xemacs.org>
12317
12318         * window.c (make_dummy_parent): initialize subwindow instance
12319         cache.
12320         (Fset_window_configuration): zero extent_modiff.
12321
12322 2000-03-10  Andy Piper  <andy@xemacs.org>
12323
12324         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
12325         more changes can be triggered.
12326         (Fredisplay_frame): ditto.
12327         (Fredraw_device): ditto.
12328         (Fredisplay_device): ditto.
12329         (redisplay_frame): make non-static.
12330         (redisplay_frame): call update_frame_gutter_geometry outside of
12331         display proper.
12332
12333         * gutter.h: declare update_frame_gutter_geometry.
12334
12335         * redisplay.h: declare redisplay_frame.
12336
12337         * gutter.c (update_frame_gutter_geometry): move geometry changes
12338         in update_frame_gutters here. Geometry changes can only occur
12339         outside of redisplay.
12340         (update_frame_gutters): remove geometry change code.
12341         (Fredisplay_gutter_area): make sure that we are in display when we
12342         update and that we have flushed any size changes.
12343
12344 2000-03-11  Andy Piper  <andy@xemacs.org>
12345
12346         * alloc.c (pdump_dump_data): remove i & count shadows.
12347
12348 2000-02-27  Mike Alexander  <mta@arbortext.com>
12349
12350         * sysdep.h: Declare pdump_read_file
12351
12352         * sysdep.c (pdump_read_file): New function
12353
12354         * alloc.c (pdump_load): Call pdump_read_file to get the portable
12355         dump data
12356
12357 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12358
12359         * lrecord.h: add `lrecord_type_pgsetenv'.
12360
12361 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
12362
12363         * symsinit.h: declare (vars|syms)_of* functions.
12364         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
12365
12366 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
12367
12368         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
12369
12370         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
12371         GCCs.
12372
12373         * emacs.c (main_1): Call postgres initialization code.
12374
12375         * postgresql.h: New file.  PostgreSQL RDBMS support.
12376         * postgresql.c: New file.
12377
12378 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12379
12380         * redisplay-output.c (redisplay_output_display_block): Disable
12381         redundant code.
12382
12383 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12384
12385         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
12386         (Fcanna_henkan_next): Ditto.
12387         (Fcanna_bunsetu_henkou): Ditto.
12388         (Fcanna_henkan_kakutei): Ditto.
12389         (Fcanna_henkan_end): Ditto.
12390         (Fcanna_henkan_quit): Ditto.
12391         (Fcanna_henkan_next): Set retun value correctly.
12392         (c2mu): Use unsigned char instead of signed char.
12393
12394 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12395
12396         * emacs.c (main_1): Always call syms_of_gui.
12397         * inline.c: include gui.h
12398
12399 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12400
12401         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
12402         converted to Lisp_Object.
12403         (Qtop_bottom): New variable.
12404         (syms_of_redisplay): Initialize it.
12405         * redisplay.h (Vvisible_bell): Ditto.
12406         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
12407         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
12408         only flash top and bottom.
12409
12410 2000-03-08  Andy Piper  <andy@xemacs.org>
12411
12412         * buffer.c (Frename_buffer): record new buffer name the right way.
12413
12414 2000-03-08  Andy Piper  <andy@xemacs.org>
12415
12416         * glyphs.c (update_subwindow): increase hash depth so that widget
12417         items get picked up properly.
12418
12419         * redisplay-output.c (compare_runes): increase hash depth so that
12420         widget items get picked up properly.
12421
12422 2000-03-08  Andy Piper  <andy@xemacs.org>
12423
12424         * gutter.c (output_gutter): add some debug.
12425
12426         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
12427         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
12428         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
12429
12430         * redisplay-output.c (compare_runes): use display_hash to
12431         determine if glyphs really are not the same.
12432
12433         * glyphs.c (update_subwindow): check display_hash to see if
12434         anything really needs to be updated. If not then do
12435         nothing. Record the display_hash after updating.
12436         (image_instance_equal): compare the image_instance face also.
12437
12438 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
12439
12440         * redisplay.h: Fix comment style.
12441
12442 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12443
12444         * consle-msw.h (struct mswindows_frame):
12445         Added new member paint_pending to indicate whether a WM_PAINT
12446         magic event has been queued for this frame.
12447
12448         * event-msw.c (mswindows_drain_windows_queue):
12449         Don't queue a WM_PAINT magic event if one is already queued.
12450         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
12451
12452         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
12453
12454 2000-03-07  Didier Verna  <didier@xemacs.org>
12455
12456         * dired.c: #include `regex.h' after `sysfile.h'.
12457
12458 2000-03-06  Martin Buchholz  <martin@xemacs.org>
12459
12460         * sound.c (init_nas_sound): Fix compiler warning.
12461
12462         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
12463         (FREE_STRUCT_P):
12464         (MARK_STRUCT_AS_FREE):
12465         (MARK_STRUCT_AS_NOT_FREE):
12466         Make `gcc -fstrict-aliasing' work properly.
12467
12468 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12469
12470         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
12471         (mswindows_delete_device): Call CoUnnitialize().
12472
12473         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
12474
12475 2000-02-25    <CraigL@DyCon.com>
12476
12477         * process-nt.c: MinGW now has <shellapi.h>, but still needs
12478         <errno.h>.
12479
12480         * sysdep.c: This extern declaration for environ prevents MinGW
12481         from finding the variable in CRTDLL.DLL.
12482
12483         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
12484         windows headers.
12485         (SHGFI_EXETYPE): ..
12486         (WM_MOUSEWHEEL): ..
12487         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
12488         definitions.
12489         (MMRESULT): Removed, now defined in cygwin's windows headers.
12490         (TIMECAPS): ..
12491         (uid_t,gid_t,pid_t,ssize_t): ..
12492         (_timeb): Removed, MinGW defines both _timeb and timeb.
12493         (HAVE_H_ERRNO): Added.
12494         (HAVE_TZNAME): Added, configure is not detecting this.
12495
12496 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
12497
12498         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
12499         * syntax.c (syntax_match): Use it.
12500
12501         * cmds.c: Import auto-fill-chars from FSF Emacs.
12502         (Vauto_fill_chars): New variables.
12503         (internal_self_insert): Check Vauto_fill_chars.
12504         (vars_of_cmds):
12505         Declare auto-fill-chars as a Lisp variable and initialize it.
12506
12507 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12508
12509         * fileio.c (Fmake_symbolic_link):
12510         (Ffile_symlink_p):
12511         Run handlers even if local machine doesn't have symlinks.
12512
12513 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12514
12515         * event-msw.c (mswindows_drain_windows_queue):
12516         Don't generate paint magic events for non-XEmacs frames.
12517
12518 2000-03-05  Andy Piper  <andy@xemacs.org>
12519
12520         * redisplay.c (redisplay_frame): generate_displayable_area and
12521         friends assumes that we are not in GC, we therefore have to make
12522         sure that this doesn't happen.
12523
12524         * gutter.c (calculate_gutter_size): generate_displayable_area
12525         assumes that we are not in GC, we therefore have to make sure that
12526         this doesn't happen.
12527
12528 2000-03-05  Martin Buchholz  <martin@xemacs.org>
12529
12530         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
12531
12532 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12533
12534         * redisplay.c (regenerate_window): Make sure we set a sane value
12535         for end_pos even if we jump out of the loop.
12536         (regenerate_window): Answer Ben's question :-).
12537         (start_end_of_last_line): Add may_error argument.
12538         (start_of_last_line):
12539         (end_of_last_line): Pass may_error = 0.
12540         (end_of_last_line_may_error): New function.
12541         (pixel_to_glyph_translation): Use it, so we don't crash in
12542         event_to_glyph.
12543
12544 2000-03-04  Andy Piper  <andy@xemacs.org>
12545
12546         * window.h (struct window): add gutter_extent_modiff.
12547
12548         * window.c (allocate_window): zero out gutter_extent_modiff.
12549
12550         * redisplay.h: declare sync_display_line_structs.
12551
12552         * redisplay.c (add_glyph_rune): add a better comment.
12553
12554         * redisplay-output.c (sync_display_line_structs): made non-static.
12555         (compare_runes): remove unneccesary glyph cachel access.
12556
12557         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
12558
12559         * gutter.c (output_gutter): don't output the gutter if extent
12560         changes only involve extents in buffers. use 4 sets of display
12561         lines.
12562         (gutter_extent_signal_changed_region_maybe): new function. Mark
12563         extents in gutters as changed.
12564         (update_frame_gutters): use 4 sets of display lines.
12565         (reset_gutter_display_lines): ditto.
12566         (free_frame_gutters): ditto.
12567         (redraw_exposed_gutter): force output of gutters.
12568
12569         * frame.h (struct frame): add 4 sets of gutter display lines.
12570
12571         * extents.c: (extent_changed_for_redisplay): signal changes to
12572         extents in strings in the gutter as well as extents in buffers.
12573
12574 2000-03-02  Andy Piper  <andy@xemacs.org>
12575
12576         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
12577
12578         * frame.c (Fmake_frame): make sure the gutters get initialized
12579         after the frame is visible.
12580         (set_frame_selected_window): re-arrange compilation macros a
12581         little.
12582         (change_frame_size_1): mark gutters changed.
12583
12584         * device.c (Fset_device_class): mark gutters changed.
12585
12586 2000-03-01  Andy Piper  <andy@xemacs.org>
12587
12588         * window.c (window_top_frame_gutter_height): deleted.
12589         (window_bottom_frame_gutter_height): ditto.
12590         (window_left_frame_gutter_height): ditto.
12591         (window_right_frame_gutter_height): ditto.
12592         (window_top_gutter_height): don't use them.
12593         (window_bottom_gutter_height): ditto.
12594         (window_left_gutter_width): ditto.
12595         (window_right_gutter_width): ditto.
12596         (Fsplit_window): ditto.
12597         (Fwindow_pixel_edges): don't use border dimensions here.
12598
12599         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
12600         (update_scrollbar_instance): ditto.
12601
12602         * redisplay.c (generate_modeline): don't take gutters into account.
12603         (generate_modeline): ditto.
12604         (redisplay_frame): small gutter display optimization.
12605
12606         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
12607
12608         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
12609         gutters into account.
12610
12611         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
12612         for window position and type.
12613
12614         * gutter.c (get_gutter_coords): fix for frame gutters.
12615         (update_frame_gutters): update frame geometry if the gutters have
12616         changed.
12617         (init_frame_gutters): record current gutter geometries.
12618
12619         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
12620         var.
12621         (mswindows_widget_instantiate): ditto.
12622
12623         * frame.h (struct frame): add current_gutter_bounds.
12624
12625         * frame.c (change_frame_size_1): position window and minibuffer
12626         appropriately taking into account the frame gutters.
12627
12628         * frame-x.c: (x_initialize_frame_size): take into account the
12629         frame gutters.
12630
12631 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
12632
12633         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
12634
12635 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
12636
12637         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
12638
12639 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12640
12641         * file-coding.c (reset_decoding_stream): Clear previous
12642         detection state when autodetect.
12643
12644 2000-02-29  Didier Verna  <didier@xemacs.org>
12645
12646         * extents.c (set_extent_glyph_1): don't require extents to be
12647         attached.
12648
12649 2000-02-27  Andy Piper  <andy@xemacs.org>
12650
12651         * gutter.c (Fset_default_gutter_position): don't default left and
12652         right gutter visibility to t.
12653         (Fset_default_gutter_position): run
12654         default-gutter-position-changed-hook.
12655         (syms_of_gutter): add default-gutter-position-changed-hook.
12656
12657 2000-02-26  Andy Piper  <andy@xemacs.org>
12658
12659         * specifier.c (Fmake_specifier): add gutter references.
12660
12661         * gutter.h (RAW_WINDOW_GUTTER): new macro.
12662
12663         * lisp.h: declare Fvalid_plist_p.
12664
12665         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
12666         as changed.
12667         (default_gutter_visible_p_changed_in_window): invalidate gutter as
12668         well as its visibility so that it gets reconstructed.
12669         (construct_window_gutter_spec): new function. Construct a string
12670         to be displayed in the gutter from a plist of strings. Take care
12671         to only use elements that are declared as visible.
12672         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
12673         WINDOW_GUTTER.
12674         (gutter_validate): allow plists of strings in the specifier.
12675         (gutter_specs_changed): construct the real_gutter from the gutter
12676         specs using construct_window_gutter_spec.
12677         (gutter_visible_validate): gutter-visible is a new specifier type.
12678         (Fgutter_visible_specifier_p): new function for the new specifier.
12679         (syms_of_gutter): declare gutter-visible and
12680         Fgutter_visible_specifier_p.
12681         (specifier_type_create_gutter): intitalize new gutter-visible
12682         specifier.
12683         (reinit_specifier_type_create_gutter): ditto.
12684         (specifier_vars_of_gutter): use new specifier type for gutter
12685         visibility.
12686         (init_frame_gutters): construct real_gutter correctly.
12687         (Fgutter_specifier_p): beef up documentation.
12688         (Fgutter_size_specifier_p): ditto.
12689
12690         * winslots.h: add real_gutter slots.
12691
12692 2000-02-25  Andy Piper  <andy@xemacs.org>
12693
12694         * device-msw.c: Be kind to older cygwin versions. From Raymond
12695         Toy <toy@rtp.ericsson.se>.
12696
12697         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
12698         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
12699
12700 2000-02-25  Martin Buchholz  <martin@xemacs.org>
12701
12702         * elhash.c (MARK_OBJ): Practice macro hygiene.
12703
12704 2000-02-24  Martin Buchholz  <martin@xemacs.org>
12705
12706         * miscplay.c: s/__inline__/inline/g;
12707         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
12708         (get_device_compdc): INLINE ==> static inline
12709         * *.[ch]: Change INLINE to INLINE_HEADER globally.
12710         find -name '*.h' | \
12711         xargs global-replace \
12712         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
12713
12714 2000-02-25  Andy Piper  <andy@xemacs.org>
12715
12716         * window.c (window_top_frame_gutter_height): new function.
12717         (window_top_window_gutter_height): ditto.
12718         (window_top_gutter_height): use them.
12719         (window_bottom_frame_gutter_height): new function.
12720         (window_bottom_window_gutter_height): ditto.
12721         (window_bottom_gutter_height): use them.
12722         (window_left_window_gutter_width): new function.
12723         (window_left_frame_gutter_width): ditto.
12724         (window_left_gutter_width): use them.
12725         (window_right_window_gutter_width): new function.
12726         (window_right_frame_gutter_width): ditto.
12727         (window_right_gutter_width): use them.
12728         (window_pixel_height): new function. calulate window pixel height
12729         with frame gutter involvement.
12730         (Fsplit_window): calculate new sizes taking frame gutters into
12731         account.
12732         (window_char_height_to_pixel_height): don't include frame gutters.
12733         (window_char_height): use window_pixel_height.
12734         (window_pixheight): rename from window_pixel_height.
12735         (change_window_height): use it.
12736         (window_pixel_height_to_char_height): don't include frame gutters.
12737         (window_char_width_to_pixel_width): ditto.
12738
12739 2000-02-25  Andy Piper  <andy@xemacs.org>
12740
12741         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
12742         if it is.
12743
12744 2000-02-24  Martin Buchholz  <martin@xemacs.org>
12745
12746         * alloc.c (staticpro):
12747         (staticpro_nodump):
12748         (dumpstruct):
12749         (dumpopaque):
12750         (pdump_wire):
12751         (pdump_wire_list):
12752         (compact_string_chars):
12753         (pdump_dump_wired):
12754         Convert:  if (foo) abort();  ==>  assert (! foo);
12755
12756         * eldap.c (Fldap_search_basic):
12757         (Fldap_add):
12758         (Fldap_modify):
12759         (Fldap_delete):
12760         Fix compiler warnings, and possible crashes if (random) return
12761         value were to be used.
12762
12763 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12764
12765         * device-msw.c: Workaround ResetDC failure.
12766
12767         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
12768         applying a devmode.
12769
12770         * redisplay-msw.c (get_frame_dc): Added start_page_p.
12771         (mswindows_text_width): Do not start printer page.
12772
12773         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
12774
12775         * glyphs-msw.c: Added image methods to msprinter console and
12776         msprinter-specific image instantiation.
12777
12778 2000-02-20  Mike Alexander  <mta@arbortext.com>
12779
12780         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
12781         to avoid crashes when selection-sets-clipboard is on
12782         (mswindows_own_selection): ditto
12783
12784 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12785
12786         * glyphs-msw.c:
12787         * redisplay-msw.c (get_frame_dc):
12788         (get_frame_compdc):
12789         * console-msw.h:
12790         * device-msw.c (mswindows_init_device):
12791         (mswindows_delete_device):
12792         (msprinter_init_device):
12793         (msprinter_delete_device):
12794         * frame-msw.c (mswindows_init_frame_1):
12795         (mswindows_delete_frame):
12796         (msprinter_init_frame_3):
12797         (msprinter_delete_frame): Move compatible DC to device object from
12798         frame object, for both mswindows and msprinter. Only one at a time
12799         is needed, it is a real waste to have one per frame!
12800
12801 2000-02-23  Andy Piper  <andy@xemacs.org>
12802
12803         * glyphs.c: add dynamic width and height elements.
12804         (image_instance_equal): ditto.
12805
12806         * glyphs-widget.c (widget_query_geometry): calculate width and
12807         height dynamically if required.
12808         (initialize_widget_image_instance): initialize dynamic dimensions.
12809         (widget_instantiate): pick-up dynamic dimensions.
12810
12811         * glyphs.h (struct Lisp_Image_Instance): add width and height for
12812         dynamic determination. Add appropriate macros.
12813
12814         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
12815         dimensions safe.
12816         (WINDOW_GUTTER_SIZE): ditto.
12817         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
12818
12819         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
12820         inline.
12821         (get_frame_dc): ditto.
12822
12823         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
12824         here.
12825
12826 2000-02-23  Martin Buchholz <martin@xemacs.org>
12827
12828         * XEmacs 21.2.31 is released.
12829
12830 2000-02-22  Ben Wing <ben@xemacs.org>
12831
12832         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
12833
12834 2000-02-22  Andy Piper  <andy@xemacs.org>
12835
12836         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
12837
12838 2000-02-21  Mike Sperber <mike@xemacs.org>
12839
12840         * .dbxrc:
12841         * .gdbinit:
12842         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
12843         variables.
12844
12845 2000-02-21  Mike Sperber <mike@xemacs.org>
12846
12847         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
12848
12849 2000-02-21  Martin Buchholz <martin@xemacs.org>
12850
12851         * XEmacs 21.2.30 is released.
12852
12853 2000-02-20  Martin Buchholz  <martin@xemacs.org>
12854
12855         Performance hacking.
12856         * *.c (syms_of_*):
12857         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
12858         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
12859         * emacs.c (main_1):
12860         * lisp.h (DEFUN):
12861         * console.c (DEFVAR_CONSOLE_LOCAL_1):
12862         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
12863         * symeval.h (DEFVAR_SYMVAL_FWD):
12864         * symbols.c (guts_of_unbound_marker):
12865         Make all c_readonly objects also lisp_readonly and marked for life.
12866         * lrecord.h (struct lrecord_implementation):
12867         Document flags better.
12868         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
12869         * lrecord.h (DECLARE_LRECORD):
12870         * lrecord.h (XSETRECORD):
12871         * lrecord.h (RECORDP):
12872         * lrecord.h (RECORD_TYPEP):
12873         * lrecord.h (RECORD_MARKER): New.
12874         * lrecord.h (error_check_*):
12875         * lrecord.h (CONCHECK_NONRECORD):
12876         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
12877         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
12878         * lrecord.h (set_lheader_implementation):
12879         * lrecord.h (enum lrecord_type): New.
12880         * symeval.h (SYMBOL_VALUE_MAGIC_P):
12881         * alloc.c (disksave_object_finalization_1):
12882         * alloc.c (mark_object):
12883         * alloc.c (lrecord_type_index):
12884         * alloc.c (tick_lcrecord_stats):
12885         * alloc.c (Fgarbage_collect):
12886         * alloc.c (init_alloc_once_early):
12887         * alloc.c (pdump_load):
12888         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
12889         * alloc.c (lrecord_type_index): Delete.
12890         Make lisp object type indexes be constant.
12891           Makes (byte-compile) 5% faster.
12892         Put all marker functions into their own array.
12893           Makes (garbage-collect) 5% faster.
12894         Optimize SYMBOL_VALUE_MAGIC_P.
12895           Makes (byte-compile) 2-3% faster.
12896         * config.h.in (gc_checking_assert): New.
12897         * alloc.c: Use gc_checking_assert().
12898         * .dbxrc: Make compatible with new object type implementation.
12899         * .gdbinit: Make compatible with new object type implementation.
12900         * alloc.c: Delete all symbols defined only for debugging, such as
12901         Lisp_Type_Vector and lrecord_charset.
12902
12903 2000-02-21  Andy Piper  <andy@xemacs.org>
12904
12905         * gui-msw.c (Fmswindows_shell_execute): fix file location
12906         problems.
12907
12908         * buffer.c (Fkill_buffer): remove buffer from alist buffer
12909         unshowing so that set_window_buffer doesn't undo
12910         kill_buffer_hook's hard work.
12911
12912         * glyphs-widget.c (tab_control_query_geometry): don't count the
12913         first item when calculating geometry.
12914
12915         * glyphs.c (map_subwindow): remove redundant code.
12916         (update_frame_subwindows): be more circumspect about when to
12917         update subwindows.
12918
12919         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
12920         when items haven't changed. Update faces if faces have changed as
12921         well as just the widget face.
12922         (x_tab_control_update): Update faces if faces have changed as well
12923         as just the widget face.
12924
12925 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12926
12927         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
12928         registration.
12929         (build_syscolor_string): Use mswindows_color_to_string to try to
12930         get a named color.
12931         (mswindows_device_system_metrics): Reverse the foreground and
12932         background colors so that they match the documentation.
12933
12934         * objects-msw.c: (mswindows_X_color_map): tweak some values so
12935         they match the default Windows palette.
12936         (mswindows_color_to_string): New function.
12937
12938 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12939
12940         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
12941
12942 2000-02-18  Olivier Galibert  <galibert@pobox.com>
12943
12944         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
12945         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
12946
12947         * symbols.c (init_symbols_once_early): Removed obsolete
12948         DATA_SEG_BITS related kludge.
12949         (defvar_magic): Ditto.
12950
12951         * malloc.c: Removed obsolete DATA_SEG_BITS
12952         * ralloc.c: Ditto.
12953         * mem-limits.h: Ditto.
12954
12955         * Makefile.in.in: Removed obsolete HAVE_SHM
12956         * emacs.c: Ditto.
12957
12958 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12959
12960         *  device-msw.c (mswindows_delete_device): Free DDE string
12961         handles.
12962
12963 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12964
12965         * keymap.c (get_keyelt):
12966         * unexnt.c (unexec):
12967         * vm-limit.c (memory_warnings):
12968         * ntheap.c (recreate_heap):
12969         * ntheap.h (UNINIT_PTR):
12970         * select-msw.c (Fmswindows_get_clipboard):
12971         (Fmswindows_set_clipboard):
12972         * objects-msw.h (MSWINDOWS_BAD_HFONT):
12973         * objects-msw.c:
12974         * menubar-msw.c (displayable_menu_item):
12975         * glyphs-msw.c:
12976         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
12977         * sysdep.c (sys_subshell):
12978         * process-nt.c (nt_create_process):
12979         * nt.c (normalize_filename):
12980         (dostounix_filename):
12981         (unixtodos_filename):
12982         * ntproc.c (win32_executable_type):
12983         * ntplay.c (play_sound_data_1):
12984         (play_sound_file):
12985         * editfns.c (get_home_directory):
12986         * event-msw.c (struct winsock_stream):
12987         (mswindows_dde_callback):
12988         * device-msw.c (msprinter_init_device):
12989         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
12990
12991         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
12992         mswindows_clear_toolbar were swapped!
12993
12994         * objects-msw.c:(colormap_t):
12995         (fontmap_t):
12996         * emacs.c (struct standard_args): Fixed const jumble.
12997
12998         * glyphs-widget.c (update_widget): Fixed comparison notation.
12999
13000         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
13001
13002         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
13003         __declspec(noreturn) syntax.
13004
13005 2000-02-19  Martin Buchholz  <martin@xemacs.org>
13006
13007         * eldap.c (Fldap_open):
13008         (Fldap_search_basic):
13009         (Fldap_add):
13010         (Fldap_modify):
13011         Use new coding system conversion macros.
13012
13013 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13014
13015         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
13016
13017 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
13018
13019         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
13020         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13021
13022         * eldap.c (Qadd, Qreplace): New constant symbols
13023         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
13024         interruptions by XEmacs signals
13025         Remove unnecessary calls to slow_down_interrupts and
13026         speed_up_interrupts
13027         (Fldap_search_basic): Renamed from Fldap_search_internal
13028         Added new optional parameter VERBOSE that triggers the
13029         display of progress messages
13030         Remove unnecessary calls to slow_down_interrupts and
13031         speed_up_interrupts
13032         LDAP result code analysis rewritten
13033         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13034         (syms_of_eldap): Define the new symbols and functions
13035
13036
13037 2000-02-17  Martin Buchholz  <martin@xemacs.org>
13038
13039         * realpath.c: Determine PATH_MAX maximally portably.
13040
13041         * insdel.c (bytecount_to_charcount): Optimize.
13042         The function used to be optimized for entirely ASCII sequences.
13043         Now it is optimized for successive characters from the same
13044         charset.  This also wins big for _mostly_ ASCII sequences.
13045
13046         * fileio.c (Ffile_truename): convert return from realpath() using
13047         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
13048         - Rewrite GCPROing slightly.
13049
13050         * sysdep.c (sys_open): Do filename conversion, like all other
13051         sys_* functions.  Fixes bug:
13052         (let ((file-name-coding-system 'iso-8859-2))
13053            (write-region x y latin2-name))
13054         ==> writes filename using internal encoding.
13055
13056 2000-02-18  Martin Buchholz  <martin@xemacs.org>
13057
13058         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
13059         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
13060         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
13061         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
13062         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
13063         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
13064         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
13065         (CONST_IF_NOT_DEBUG): Delete.
13066         * alloc.c (this_one_is_unmarkable): Delete.
13067         (mark_object): Don't check for this_one_is_unmarkable. Use the
13068         c_readonly flag instead.
13069         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
13070
13071 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13072
13073         * event-msw.c (mswindows_drain_windows_queue):
13074         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
13075         away redundant repaint events.
13076
13077 2000-02-17  Andy Piper  <andy@xemacs.org>
13078
13079         * redisplay.h: declare mark_redisplay_structs.
13080
13081         * redisplay.c (redisplay_window):
13082         (redisplay_frame): don't check subwindows_state_changed.
13083         (mark_redisplay): mark gutters here.
13084
13085         * glyphs.c: (instantiate_image_instantiator): always layout if we
13086         haven't done so already.
13087         (allocate_image_instance): don't mark as dirty.
13088         (update_subwindow): bind inhibit_quit.
13089
13090         * gutter.c (mark_gutters): new function.
13091
13092         * glyphs-x.c (x_update_widget): Always resize to get round a
13093         widget bug.
13094
13095         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
13096         breaking absolutely everything.
13097
13098         * gutter.h: declare mark_gutters.
13099
13100 2000-02-16  Martin Buchholz <martin@xemacs.org>
13101
13102         * XEmacs 21.2.29 is released.
13103
13104 2000-02-15  Olivier Galibert  <galibert@pobox.com>
13105
13106         * fns.c (size_bit_vector): Fix computation of the size.
13107
13108 2000-02-15  Martin Buchholz  <martin@xemacs.org>
13109
13110         * *.[ch]: Change CONST to const globally.
13111         find -name '*.[ch]' | \
13112         xargs global-replace \
13113         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
13114         - Remove vestigial references to CONST_IS_LOSING
13115
13116 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13117
13118         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
13119         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
13120         events instead of dispatching them directly.
13121         (mswindows_handle_paint): New function to do repainting.
13122         (mswindows_wnd_proc):
13123         (emacs_mswindows_handle_magic_event): Call above function.
13124
13125 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13126
13127         * objects-msw.c (mswindows_create_font_variant): Return the new
13128         font handle.
13129         (initialize_font_instance): Get font metrics from the underlined
13130         variant of the font to cope with the case where the underlined
13131         font has a bigger descent.
13132
13133 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
13134
13135         * gui.c (gui_item_accelerator): Return the first underlined
13136         character in item name.
13137
13138 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13139
13140         * lisp.h: Added Qprinter.
13141
13142         * general.c (syms_of_general): Initialized it.
13143
13144         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
13145         (get_frame_dc):
13146         (get_frame_compdc): Made inline.
13147
13148         * console.h (struct console_methods): Added eject_page method.
13149
13150         * frame.h: Added FRAME_DISPLAY_P and friends.
13151         Aligned backslahes in many macros in more readable fashion.
13152         Added page_number to struct frame, and an accessor macro
13153         for it.
13154
13155         * defice.h: Added DEVICE_DISPLAY_P and friends.
13156
13157         * device.c (Fdevice_printer_p): Used these.
13158
13159         * frame.c (allocate_frame_core): Initialize page number.
13160         (Fprint_job_page_number):
13161         (Fprint_job_eject_page): Implemented.
13162
13163         * frame-msw.c (msprinter_eject_page): Added method.
13164         (msprinter_start_page): Added.
13165
13166         * window.c (Fwindow_truncated_p): Fixed docstring.
13167         (Fwindow_last_line_visible_height): Implemented.
13168
13169 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13170
13171         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
13172
13173 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13174
13175         * syntax.c (scan_words): Always advance at least one character.
13176
13177 2000-02-13  Andy Piper  <andy@xemacs.org>
13178
13179         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
13180         to make sure the glyph is in the cachels.
13181
13182         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
13183         global image instance flag.
13184         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
13185         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
13186
13187         * glyphs.c (allocate_image_instance): set dirty bits correctly.
13188         (Fset_image_instance_property): mark layout as changed.
13189         (invalidate_glyph_geometry_maybe): mark layout as changed.
13190         (glyph_width): use new NEEDS_LAYOUT macro.
13191         (glyph_ascent): ditto.
13192         (glyph_descent): ditto.
13193         (glyph_height): ditto.
13194         (image_instance_layout): mark layout as clean after laying out.
13195         (update_subwindow): don't mark layout as clean here.
13196
13197         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
13198         should no longer be needed.
13199
13200         * glyphs-x.c (x_update_widget): sanitize asserts.
13201         (x_finalize_image_instance): sanitize assignment to widgets.
13202
13203         * glyphs-widget.c (widget_instantiate): don't need to clear the
13204         layout flag here.
13205
13206 2000-02-13  Martin Buchholz  <martin@xemacs.org>
13207
13208         * sysdep.c (getcwd): Use standard prototype.
13209         * sysdep.h (getcwd): Use standard prototype.
13210
13211         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
13212         (sequence, start, end).
13213         Remove redundant type checking.
13214         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
13215         view of `caller-protects') to avoid a crash where the real fix was
13216         found elsewhere.
13217
13218 2000-02-12  Martin Buchholz  <martin@xemacs.org>
13219
13220         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
13221
13222         * s/sol2.h: Remove feature macro initialization.
13223
13224         * alloc.c (alloc_lcrecord): Add more type checking assertions.
13225         (vector_hash): New.  Code from internal_hash.
13226         * lrecord.h:
13227         Fix up allocation subsystem comments.
13228
13229         * config.h.in: Add __EXTENSIONS__ for Solaris.
13230
13231         * systime.h (EMACS_GETTIMEOFDAY): New.
13232         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
13233         Remove Solaris-specific code.
13234         Use void* for the (ignored) second arg for gettimeofday().
13235
13236         * elhash.c (hash_table_hash): Implement it, finally.
13237         * elhash.c:  Use hashcode_t.
13238
13239         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
13240         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
13241
13242         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
13243         * fns.c (size_bit_vector):
13244         * alloc.c (size_vector):
13245         (make_vector_internal):
13246         (make_bit_vector_internal):
13247         (sweep_bit_vectors_1):
13248         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
13249
13250 2000-02-10  Martin Buchholz  <martin@xemacs.org>
13251
13252         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
13253         Include strings.h to avoid warnings for bzero and strcasecmp.
13254
13255 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13256
13257         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
13258         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
13259
13260         * fns.c (size_bit_vector): New.  Declare bit vectors as a
13261         sequence.
13262
13263 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13264
13265         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
13266         use a value field instead.
13267         (symbol_value_forward_forward): Use value field.
13268         (DEFVAR_SYMVAL_FWD): Use value field.
13269         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
13270         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
13271         (DEFVAR_CONST_INT): Ditto.
13272         (DEFVAR_BOOL): Ditto.
13273         (DEFVAR_CONST_BOOL): Ditto.
13274         (DEFVAR_INT_MAGIC): Ditto.
13275         (DEFVAR_BOOL_MAGIC): Ditto.
13276
13277         * symbols.c (guts_of_unbound_marker): Use value field.
13278         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
13279         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
13280
13281         * lisp.h: Declare dumpopaque and noninteractive1.
13282
13283         * alloc.c (dumpopaque): Added.
13284         (pdump_dump_opaquevec): Added.
13285         (pdump): Call pdump_dump_opaquevec to dump opaque data.
13286         (pdump_load): Reload opaque data.  Sync noninteractive1 with
13287         noninteractive.
13288
13289 2000-02-10  Andy Piper  <andy@xemacs.org>
13290
13291         * glyphs.c (image_instance_layout): if the size changes, mark it
13292         as such.
13293
13294         * redisplay-output.c (redisplay_output_layout): Update the
13295         subwindow here.
13296         (redisplay_output_subwindow): ditto.
13297
13298         * glyphs.c (update_subwindow): make sure we reset flags for
13299         layouts as well as everything else.
13300
13301         * glyphs-widget.c (layout_layout): don't need to set the instances
13302         dimensions here.
13303
13304 2000-02-09  Martin Buchholz  <martin@xemacs.org>
13305
13306         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
13307         not HAVE_DLOPEN, which is a lower-level thing.
13308
13309         * .cvsignore: Ignore gmon.out
13310
13311 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
13312
13313         * .cvsignore: Ignore portable dumper xemacs.dmp file
13314
13315 2000-02-09  Andy Piper  <andy@xemacs.org>
13316
13317         * redisplay-output.c (redisplay_output_layout): be more clever
13318         about when we output based on the changed flags.
13319
13320         * glyphs.h (struct image_instantiator_methods): add update_method.
13321         (struct Lisp_Image_Instance): add changed flags. Declare new
13322         macros for manipulating them.
13323
13324         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
13325         (image_instance_parent_glyph): find an image_instance's parent
13326         glyph or image_instance.
13327         (image_instance_layout): mark the size as changed.
13328         (set_image_instance_dirty_p): new function. mark an image
13329         instance, plus all of its parents, as dirty.
13330         (Fset_image_instance_property): use it.
13331         (Fglyph_animated_timeout_handler): use it.
13332         (update_subwindow): call update_widget and device methods for
13333         update_subwindow. Mark all changed flags as clean.
13334         (Fresize_subwindow): mark size as changed.
13335
13336         * glyphs-x.c (x_finalize_image_instance): try and detect gc
13337         failures.
13338         (x_update_subwindow): only resize subwindows here.
13339         (x_update_widget): new function. Update all changed properties of
13340         a widget.
13341         (x_resize_subwindow): deleted.
13342         (x_widget_set_property): deleted.
13343         (x_progress_gauge_set_property): deleted.
13344         (x_progress_gauge_update): new function. Implement recorded
13345         changes.
13346         (x_tab_control_update): ditto.
13347         (x_tab_control_set_property): deleted.
13348         (console_type_create_glyphs_x): declare new functions.
13349         (image_instantiator_format_create_glyphs_x): ditto.
13350
13351         * glyphs-widget.c (widget_set_property): mark text changed.
13352         (update_widget): new function. Update properties of a widget.
13353         (widget_instantiate): for layouts make sure we set their
13354         children's parent correctly.
13355         (tab_control_set_property): new function. Record changes that will
13356         take place under redisplay's control.
13357         (progress_gauge_set_property): ditto.
13358         (image_instantiator_progress_guage): declare new functions.
13359         (image_instantiator_tab_control): ditto.
13360
13361         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
13362         now.
13363         (mswindows_update_widget): new function. Update all properties on
13364         a widget that have changed.
13365         (mswindows_button_update): new function. Update a button's set
13366         state.
13367         (mswindows_tab_control_update): new function. Update the items in
13368         a tab.
13369         (mswindows_tab_control_set_property): deleted.
13370         (mswindows_progress_gauge_update): new function. Update the
13371         progress gauge's progress.
13372         (mswindows_widget_set_property): deleted. This is all done
13373         asynchronously now.
13374         (mswindows_progress_gauge_set_property): ditto.
13375         (console_type_create_glyphs_mswindows): declare new methods.
13376         (image_instantiator_format_create_glyphs_mswindows): ditto.
13377
13378         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
13379         (msprinter_set_frame_properties): ditto.
13380
13381         * console.h (struct console_methods): Add update_widget_method.
13382
13383 2000-02-09  Andy Piper  <andy@xemacs.org>
13384
13385         * gui-msw.c (Fmswindows_shell_execute): Make
13386         mswindows-shell-execute industrial strength.
13387
13388 2000-02-08  Martin Buchholz  <martin@xemacs.org>
13389
13390         * lrecord.h: Make macro argument `props' match member function `plist'.
13391         * fns.c (Fget):
13392         * fns.c (Fput):
13393         * fns.c (Fremprop):
13394         * fns.c (Fobject_plist):
13395         * alloc.c:
13396         * symbols.c:
13397         Object property list frobbing cleanup.
13398         - Allow any lisp object (compared with `eq'), not just symbols, as
13399           keys in object plists.
13400         - Move symbol plist frobbing into symbols.c, where it belongs.
13401         - Move string plist frobbing into alloc.c, where it belongs.
13402         - Everything's an lrecord now, so no need to test for symbolp, etc.
13403         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
13404
13405         * extents.c: Reorder code to remove declarations.
13406
13407         * frame.h (store_in_alist): Remove useless declaration.
13408
13409 2000-02-07  Martin Buchholz  <martin@xemacs.org>
13410
13411         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
13412         * config.h.in: Add HAVE_XCONVERTCASE.
13413
13414 2000-02-07  Andy Piper  <andy@xemacs.org>
13415
13416         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
13417         it breaks many things.
13418
13419 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13420
13421         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
13422         actually can start a common comment type.
13423         * src/syntax.h (SYNTAX_END_P): ditto for end.
13424
13425 2000-02-07  Martin Buchholz <martin@xemacs.org>
13426
13427         * XEmacs 21.2.28 is released.
13428
13429 2000-02-06  Martin Buchholz  <martin@xemacs.org>
13430
13431         * event-Xt.c (x_keysym_to_character): New.
13432         (maybe_define_x_key_as_self_inserting_character): New.
13433         (x_has_keysym): New.
13434         Auto-define all keys on the keyboard as self-insert-key.
13435
13436 2000-02-02  Martin Buchholz  <martin@xemacs.org>
13437
13438         * menubar.c (vars_of_menubar): A small code simplification.
13439
13440         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
13441
13442         * ExternalShell.c:
13443         * ExternalClient.c:
13444         * EmacsShell-sub.c:
13445         * EmacsManager.c:
13446         * EmacsFrame.c:
13447         Use consistent style for specifying X resources.
13448
13449         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
13450         This makes (dontusethis-set-symbol-value-handler) actually usable.
13451
13452         * lrecord.h (lrecord_decription_type):
13453         * alloc.c (pdump_register_sub):
13454         (pdump_dump_data):
13455         (pdump_reloc_one):
13456         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
13457         Comply with XEmacs coding style.
13458         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
13459         args, and XD_LISP_OBJECT_ARRAY with 3 args.
13460
13461         * keymap.c (Faccessible_keymaps):
13462         Make (accessible-keymaps map "\C-h") do the Right Thing.
13463         Make (accessible-keymaps map []) do the Right Thing.
13464         Make (accessible-keymaps map "") do the Right Thing.
13465         (check_keymap_definition_loop): New function.
13466         (keymap_store_internal): Keep luser from shooting self in foot,
13467           via (define-key ctl-x-4-map "p" global-map).
13468         Remove fullness slot from struct Lisp_Keymap, since hash tables
13469         are now reliable.
13470         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
13471
13472 2000-01-30  Martin Buchholz  <martin@xemacs.org>
13473
13474         * redisplay.c (init_redisplay): Fix small memory leak.
13475         * elhash.h:
13476         * elhash.c (pdump_reorganize_hash_table):
13477         Rename from reorganize_hash_table. Change prototype.
13478         Reuse the original memory for hentries.  Save 100k.
13479         * alloc.c (PDUMP_READ): new macro.
13480         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
13481         * alloc.c: No need to #ifndef before #undef.
13482
13483         * print.c: Allow debug_print() to print readably by modifying
13484         debug_print_readably.  Use consistent variable names.
13485
13486         * .dbxrc: Try to get things to work even if stopped in a function
13487         without source available by explicitly specifying source files.
13488 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13489
13490         * unexnt.c (_start): Removed bogus code which caused loading heap
13491         from differrent executable file.
13492         Removed bogus assignment to _fmode, which caused inconsistencies.
13493
13494 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13495
13496         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
13497         Have spawnve encapsulation regard DONT_ENCAPSULATE.
13498         Do not preliminary `#define signal sigset'.
13499
13500         * systime.h: Do not prototype environ on windows nt and cygwin,
13501         this conflicts with system header.
13502
13503         * syssignal.h: Use correct define for WINDOWSNT
13504
13505         * sysdep.h: Do not prototype environ on windows nt, this conflicts
13506         with system header.
13507
13508         * sysdep.c (near start of file): Fixed commentary and rearranged
13509         ifdefs in readable order.
13510         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
13511         (start_of_text):
13512         (end_of_text):
13513         (end_of_data): Do not compile in if using PDUMP.
13514
13515         * symsinit.h: Prototyped vars_of_nt().
13516
13517         * ntproc.c (windows9x_p): Added, instead of os_subtype.
13518         (find_child_console): Use it.
13519         (sys_kill): Use it.
13520
13521         * ntheap.h: Do not extern os_subtype.
13522
13523         * ntheap.c (cache_system_info): Do not cache unneeded:
13524         nt_major_version, nt_minor_version and os_subtype.
13525         (recreate_heap): Do not compile in when PDUMPing.
13526
13527         * nt.c (geteuid and friends): Use the new varibale
13528         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
13529         (init_user_info): Removed the above mentioned hackery.
13530         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
13531         stat has been fixed in the C runtime.
13532         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
13533
13534         * file-coding.c (struct file_coding_dump): Do not define
13535         ucs_to_mule_table in the struct if not MULE.
13536         (struct struct lrecord_description fcd_description_1): Do not dump
13537         the above.
13538
13539         * emacs.c (main_1): Call vars_of_nt().
13540         (right before Fdump_emacs_data): Don't need lastfile if using both
13541         portabe dumper and system malloc.
13542
13543         * alloc.c (Fmemory_limit): Conditionalized out.
13544         (pdump): Use OPEN_BINARY for the portable dump file.
13545         (pdump_load): Ditto.
13546
13547 2000-02-02  Mike Alexander  <mta@arbortext.com>
13548
13549         * nt.c (convert_time): Set tm_isdst before calling mktime and
13550         avoid calling it at all if the compiler supports 64 bit integers.
13551         Also initialize utc_base_ft before using it.
13552
13553 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
13554
13555         * frame.c (change_frame_size_1): Take f->internal_border_width
13556         into consideration when calculating the width of the frame.
13557
13558 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13559
13560         * window.c (frame_min_height):
13561         (frame_size_valid_p):
13562         (frame_pixsize_valid_p): Added.
13563         (check_frame_size): Generalized.
13564
13565         * window.h: Prototyped the above.
13566
13567         * lisp.h:
13568         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
13569         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
13570         Deleted Vwin32_* and Vbinary_process_* unused variables.
13571
13572         * device-msw.c (msprinter_init_device): Do not get printer font
13573         list; Added DEVMODE functions.
13574
13575         * frame-msw.c: Added lots of printer code.
13576
13577         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
13578         general.c.
13579
13580         * console-msw.h: Added more msprinter device private slots.
13581
13582 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13583
13584         * event-msw.c (key_needs_default_processing_p): Added.
13585         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
13586
13587 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13588
13589         * glyphs.c (image_instance_layout): Mark image instance as clean
13590         after layout.
13591         (glyph_dirty_p): Removed redundant function.
13592         (invalidate_glyph_geometry_maybe): Added.
13593         (update_glyph_cachel_data): Call it.
13594
13595         * glyphs.h: Prototyped it.
13596
13597         * redisplay.c (add_glyph_rune): Call it.
13598         (redisplay_window): Reset glyphs cachels when frame faces have
13599         changed, thus forcing recomputation of built-in border glyphs.
13600
13601 2000-01-30  Martin Buchholz  <martin@xemacs.org>
13602
13603         * Makefile.in.in: Make portable dumper and purify play well together.
13604         Add imperfect, but better than nothing, support for pdump.
13605         Remove xemacs.dmp when temacs is re-generated.
13606         Don't ignore errors when dumping xemacs.
13607
13608         * symbols.c (maybe_call_magic_handler): Remove one magic number.
13609
13610 2000-01-28  Andy Piper  <andy@xemacs.org>
13611
13612         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
13613         (setup_normal_frame): ditto.
13614         (setup_frame_without_minibuffer): ditto.
13615         (setup_minibuffer_frame): ditto.
13616         (delete_frame_internal): ditto.
13617         (Fmake_frame_invisible): ditto.
13618         (Ficonify_frame): ditto.
13619
13620         * window.h: change Fset_window_buffer signature.
13621
13622         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
13623         (Fset_window_buffer): allow recording of buffer if the window is
13624         the selected window.
13625         (window_loop): Use new Fset_window signature.
13626
13627 2000-01-23  Daniel Pittman  <daniel@danann.net>
13628
13629         * config.h.in: Added template for `HAVE_ATHENA_3D'
13630
13631 2000-01-29  Andy Piper  <andy@xemacs.org>
13632
13633         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
13634
13635         * gutter.c (output_gutter): Don't output if the window isn't live.
13636
13637 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13638
13639         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
13640         of 01/12/00: Moved SetFocus back here where it belongs.
13641
13642 2000-01-23  Andy Piper  <andy@xemacs.org>
13643
13644         * s/cygwin32.h: declare printer things.
13645
13646 2000-01-26  Andy Piper  <andy@xemacs.org>
13647
13648         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
13649         Alexander.
13650
13651 2000-01-24  Andy Piper  <andy@xemacs.org>
13652
13653         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
13654         (mswindows_button_instantiate): Make sure glyph is a pixmap.
13655
13656         * glyphs-widget.c (widget_instantiate): Avoid shadows.
13657
13658         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
13659
13660         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
13661
13662         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
13663         (mswindows_output_display_block): Avoid local shadows.
13664
13665         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
13666         (mswindows_enqueue_mouse_button_event): ditto.
13667         (mswindows_handle_gui_wm_command): remove declaration.
13668
13669         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
13670         warnings.
13671
13672         * console-msw.h: Avoid shadows.
13673         (mswindows_get_toolbar_button_text):
13674         (emacs_mswindows_create_stream_pair):
13675         (emacs_mswindows_delete_stream_pair):
13676         (mswindows_handle_toolbar_wm_command): declare.
13677
13678         * device-msw.c (build_syscolor_string): Avoid shadows.
13679
13680 2000-01-23  Andy Piper  <andy@xemacs.org>
13681
13682         * glyphs-widget.c (widget_instantiate): reverse the items for
13683         layouts so that children are in the expected order.
13684
13685 2000-01-28  Martin Buchholz  <martin@xemacs.org>
13686
13687         * ralloc.c: safe_bcopy ==> memmove
13688         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
13689         * s/msdos.h: Remove BCOPY macros.
13690         * insdel.c (gap_right): Remove BCOPY conditional code.
13691         * insdel.c (gap_left): Remove BCOPY conditional code.
13692         XEmacs demands a working ANSI C compiler - hence memmove.
13693
13694         * regex.c (regex_compile): Remove accidental use of trigraphs.
13695
13696 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13697
13698         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
13699         event timestamp.
13700
13701 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13702
13703         * event-msw.c (mswindows_drain_windows_queue): Added the
13704         parameter.
13705         (mswindows_need_event): Commented the call to
13706         mswindows_drain_windows_queue().
13707         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
13708         only.
13709
13710         * console-msw.h: Moved a few function prototypes here from
13711         event-msw.c.
13712
13713         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
13714         parameter from unsigned short to unsigned long.
13715         (Fmswindows_shell_execute): Added return value.
13716
13717 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
13718
13719         * sysdep.c (init_system_name):
13720           process-unix.c (unix_canonicalized_host_name):
13721         Don't call freeaddrinfo() if getaddrinfo() fails.
13722
13723         * process-unix.c (unix_open_unix_network_stream):
13724         Moved the code to get a port # into address loop.
13725
13726 2000-01-27  Martin Buchholz  <martin@xemacs.org>
13727
13728         * buffer.c (reinit_vars_of_buffer):
13729         The right place to initialize conversion_in_dynarr and
13730         conversion_out_dynarr.
13731
13732         * alloc.c (pdump): Use the real open() till sys_open() is functional.
13733
13734         * process-unix.c (unix_canonicalize_host_name): Muleize.
13735         (unix_open_network_stream): Muleize.
13736
13737         * buffer.h: Fix up prototypes for ralloc.c functions.
13738
13739 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
13740         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
13741         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
13742                 instead of gethostbyname()
13743         * process-unix.c: In unix_canonicalize_host_name() and
13744                 unix_open_network_stream(), add code to use getaddrinfo()
13745                 instead of gethostbyname().
13746
13747 2000-01-27  Daniel Pittman <daniel@danann.net>
13748
13749         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
13750         libs when built with flat Athena.
13751
13752 2000-01-27  Martin Buchholz  <martin@xemacs.org>
13753
13754         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
13755         Use coding standards for function prototypes.
13756
13757 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13758
13759         * dialog-msw.c (push_lisp_string_as_unicode):
13760         * doc.c (unparesseuxify_doc_string):
13761         * dired.c (Fuser_name_completion_1):
13762         * dired.c (Fuser_name_all_completions):
13763         * dired.c (free_user_cache):
13764         * dired.c (user_name_completion):
13765         * console-x.c (get_display_arg_connection):
13766         * minibuf.c (clear_echo_area_internal):
13767         * minibuf.c (echo_area_append):
13768         * eldap.c (Fldap_open):
13769         * eldap.c (Fldap_search_internal):
13770         * frame-x.c (x_set_frame_text_value):
13771         * frame-x.c (x_set_frame_properties):
13772         * frame-x.c (x_create_widgets):
13773         * redisplay-tty.c (term_get_fkeys_1):
13774         * objects-x.c (x_parse_nearest_color):
13775         * objects-x.c (x_valid_color_name_p):
13776         * objects-x.c (x_initialize_font_instance):
13777         * objects-x.c (x_list_fonts):
13778         * objects-x.c (x_find_charset_font):
13779         * tooltalk.c (Fadd_tooltalk_message_arg):
13780         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
13781         * tooltalk.c (Fadd_tooltalk_pattern_arg):
13782         * process-unix.c (unix_create_process):
13783         * ntproc.c (sys_spawnve):
13784         * sound.c (Fplay_sound_file):
13785         * sound.c (Fplay_sound):
13786         * buffer.c (init_initial_directory):
13787         * buffer.c (init_buffer):
13788         * editfns.c (init_editfns):
13789         * editfns.c (Ftemp_directory):
13790         * editfns.c (Fuser_full_name):
13791         * editfns.c (uncache_home_directory):
13792         * editfns.c (get_home_directory):
13793         * editfns.c (Fuser_home_directory):
13794         * editfns.c (Fformat_time_string):
13795         * editfns.c (Fcurrent_time_string):
13796         * gui-x.c (button_item_to_widget_value):
13797         * database.c (Fopen_database):
13798         * event-Xt.c (x_to_emacs_keysym):
13799         * event-Xt.c (x_event_to_emacs_event):
13800         * event-Xt.c (describe_event_window):
13801         * event-msw.c (mswindows_wnd_proc):
13802         * glyphs-eimage.c (jpeg_instantiate):
13803         * glyphs-eimage.c (gif_instantiate):
13804         * glyphs-eimage.c (png_instantiate):
13805         * glyphs-eimage.c (tiff_instantiate):
13806         * glyphs-x.c (xbm_instantiate_1):
13807         * glyphs-x.c (x_xbm_instantiate):
13808         * glyphs-x.c (x_xface_instantiate):
13809         * glyphs-x.c (autodetect_instantiate):
13810         * glyphs-x.c (cursor_font_instantiate):
13811         * glyphs-x.c (x_widget_instantiate):
13812         * glyphs-x.c (x_widget_set_property):
13813         * glyphs-x.c (x_widget_property):
13814         * glyphs-x.c (BUILD_GLYPH_INST):
13815         * print.c (write_string_to_stdio_stream):
13816         * print.c (output_string):
13817         * print.c (Falternate_debugging_output):
13818         * print.c (Fexternal_debugging_output):
13819         * glyphs-msw.c (extract_xpm_color_names):
13820         * glyphs-msw.c (mswindows_xpm_instantiate):
13821         * glyphs-msw.c (bmp_instantiate):
13822         * glyphs-msw.c (resource_name_to_resource):
13823         * glyphs-msw.c (mswindows_resource_instantiate):
13824         * glyphs-msw.c (xbm_instantiate_1):
13825         * glyphs-msw.c (mswindows_xbm_instantiate):
13826         * glyphs-msw.c (mswindows_xface_instantiate):
13827         * glyphs-msw.c (mswindows_widget_instantiate):
13828         * glyphs-msw.c (add_tree_item):
13829         * glyphs-msw.c (add_tab_item):
13830         * glyphs-msw.c (mswindows_combo_box_instantiate):
13831         * glyphs-msw.c (mswindows_widget_property):
13832         * glyphs-msw.c (mswindows_combo_box_property):
13833         * glyphs-msw.c (mswindows_widget_set_property):
13834         * console.c (stuff_buffered_input):
13835         * objects-msw.c (mswindows_initialize_color_instance):
13836         * objects-msw.c (mswindows_valid_color_name_p):
13837         * objects-msw.c (mswindows_list_fonts):
13838         * objects-msw.c (mswindows_font_instance_truename):
13839         * bytecode.c (optimize_compiled_function):
13840         * select-x.c (symbol_to_x_atom):
13841         * select-x.c (x_atom_to_symbol):
13842         * select-x.c (hack_motif_clipboard_selection):
13843         * select-x.c (selection_data_to_lisp_data):
13844         * select-x.c (lisp_data_to_selection_data):
13845         * select-x.c (Fx_get_cutbuffer_internal):
13846         * select-x.c (Fx_store_cutbuffer_internal):
13847         * buffer.h (TO_EXTERNAL_FORMAT): New function.
13848         * buffer.h (TO_INTERNAL_FORMAT): New function.
13849         * emacs.c (make_arg_list_1):
13850         * emacs.c (make_argc_argv):
13851         * emacs.c (main_1):
13852         * emacs.c (Fdump_emacs):
13853         * emacs.c (split_string_by_emchar_1):
13854         * file-coding.h:
13855         * lisp.h:
13856         * lstream.h:
13857         * symsinit.h:
13858         * device-x.c (x_init_device):
13859         * device-x.c (Fx_valid_keysym_name_p):
13860         * device-x.c (Fx_get_font_path):
13861         * device-x.c (Fx_set_font_path):
13862         * glyphs.c (bitmap_to_lisp_data):
13863         * glyphs.c (pixmap_to_lisp_data):
13864         * alloc.c (make_ext_string): Use coding system arguments.  Update
13865         all callers.
13866         * alloc.c (build_string):
13867         * callproc.c (child_setup):
13868         * callproc.c (init_callproc):
13869         * fileio.c (lisp_strerror):
13870         * fileio.c (directory_file_name):
13871         * fileio.c (Fexpand_file_name):
13872         * fileio.c (Ffile_truename):
13873         * fileio.c (Fsysnetunam):
13874         * fileio.c (Fdo_auto_save):
13875         * sysdep.c (sys_readdir):
13876         * tests.c: New file.  Allow adding C tests.
13877         Replace GET_* macros with a more comprehensible and flexible
13878         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
13879         Modify all calls.
13880         Any coding system can be used to do format conversion.
13881         Eliminate enum external_data_format.
13882         Eliminate convert_to_external_format.
13883         Eliminate convert_to_internal_format.
13884         Make sure file-name, keyboard, terminal, and ctext are always
13885         defined as coding systems or aliases.  Make
13886         file-name-coding-system, terminal-coding-system, and
13887         keyboard-coding-system magical variables that are equivalent to
13888         defining the corresponding coding system aliases.
13889
13890         * file-coding.c (Fcoding_system_canonical_name_p): New function.
13891         * file-coding.c (Fcoding_system_alias_p): New function.
13892         * file-coding.c (Fcoding_system_aliasee): New function.
13893         * file-coding.c (append_suffix_to_symbol): New function.
13894         * file-coding.c (dangling_coding_system_alias_p): New function.
13895         * file-coding.c (Ffind_coding_system):
13896         * file-coding.c (Fcopy_coding_system):
13897         * file-coding.c (encode_coding_no_conversion):
13898         * file-coding.c (syms_of_file_coding):
13899         * file-coding.c (vars_of_file_coding):
13900         Rewrite coding system alias code.
13901         Allow nested aliases, like symbolic links.
13902         Allow redefinition of coding system aliases.
13903         Prevent existence of dangling coding system aliases.
13904
13905         * dired.c (Fuser_name_completion_1):
13906         * dired.c (Fuser_name_all_completions):
13907         A crash would happen if user did QUIT in the middle of building
13908         user_name_cache.  Remove redundant code in mainline and unwind_protect.
13909
13910         * lisp.h:
13911         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
13912
13913         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
13914         an unsigned char *.  Update all callers.
13915
13916 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13917
13918         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
13919
13920 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13921
13922         * elhash.c (hentry_description): Use more portable definition.
13923         (resize_hash_table): Initialize new hentries using
13924         xnew_array_and_zero, thereby simplifying the code.
13925
13926         * mule-charset.c (make_charset): Make sure entire object is
13927         initialized, to avoid Purify warnings.
13928
13929         * alloc.c (resize_string): Fix unlikely crash with big strings.
13930
13931 2000-01-24  Martin Buchholz  <martin@xemacs.org>
13932
13933         * realpath.c (xrealpath):
13934         Don't call getwd().
13935
13936 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13937
13938         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
13939
13940 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
13941
13942         * unexelfsgi.c (unexec): Change the way we decide which segment
13943         should be extended.
13944
13945         Assumption that .bss section should be outside the PT_LOADable
13946         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
13947         it's present) is inside the 'data' segment. This would fail the
13948         test which was used to find a segment to grow and cover new
13949         heap. Instead of this assumption, I created another one - on IRIX
13950         the segment to grow should start below .bss and it's address
13951         should extent above the end of .bss. Once this segment is
13952         identified, it's grown to accommodate the new heap and new
13953         zero-length .bss section is added at the end of .data2.
13954
13955 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13956
13957         * eval.c (Feval): Wrong number of arguments should use original
13958         function, not the indirect_function version of it.
13959
13960 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13961
13962         * glyphs-x.c (x_button_instantiate): Don't add image if
13963         it is not a pixmap.
13964         (x_locate_pixmap_file): Call Fexpand_file_name when file name
13965         is relative.
13966
13967 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
13968
13969         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
13970         declaration.
13971         (DEFVAR_INT_MAGIC): Ditto.
13972         (DEFVAR_BOOL_MAGIC): Ditto.
13973         * glyphs.h: Reindent backslash.
13974
13975 2000-01-24  Martin Buchholz  <martin@xemacs.org>
13976
13977         * glyphs-widget.c (layout_query_geometry):
13978         (layout_layout): Use correct types for gheight, gwidth.
13979
13980 2000-01-24  Martin Buchholz  <martin@xemacs.org>
13981
13982         * EmacsManager.c (QueryGeometry): Purified.
13983
13984 2000-01-23  Martin Buchholz  <martin@xemacs.org>
13985
13986         * alloc.c (make_float): Make sure entire object is initialized, to
13987         avoid Purify warnings.
13988         (pdump_register_sub): Remove useless assignment.
13989         (pdump): Use xmalloc, not malloc.
13990         (pdump_load): Use xmalloc, not malloc.
13991
13992 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13993
13994         * callproc.c:
13995         * dired-msw.c:
13996         * fileio.c:
13997         * process-nt.c:
13998         * redisplay-msw.c:
13999         * sysdep.c: Removed redundant #include <windows.h>
14000
14001 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14002
14003         * frame.c (delete_frame_internal): Do not delete device when its
14004         implementation so declares.
14005         (delete_frame_internal): Set device selected frame to nil when
14006         last frame goes away.
14007
14008         * device-msw.c (msprinter_device_system_metrics): Implemented.
14009         (mswindows_device_system_metrics): Added 'device-dpi property.
14010
14011         * device.c: (Fdevice_printer_p): Added.
14012         Added 'offset-workspace device metric.
14013
14014         * console.h (device_metrics): Declared DM_offset_workspace.
14015
14016 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14017
14018         * fileio.c (Ffile_truename): Remove pointless and confusing
14019         initialization of elen.
14020
14021         * glyphs-widget.c: Compiler warning fixes.
14022
14023 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
14024
14025         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
14026         instead of a Lisp_Object as argument to make it consistent with
14027         the other LIVE_P macros.
14028         (CHECK_LIVE_PROCESS): New macro.
14029
14030         * process.c: Declare Qprocess_live_p.
14031         (Fprocess_live_p): New function.
14032         (create_process): Use PROCESS_LIVE_P.
14033         (read_process_output): Ditto.
14034         (set_process_filter): Ditto.
14035         (Fdelete_process): Ditto.
14036         (kill_buffer_processes): Ditto
14037         (process_send_signal): Use CHECK_LIVE_PROCESS.
14038         (Fprocess_input_coding_system): Check whether process is still
14039         alive (fix PR#1061).
14040         (Fprocess_output_coding_system): Ditto.
14041         (Fprocess_coding_system): Ditto.
14042         (Fset_process_input_coding_system): Ditto.
14043         (Fset_process_output_coding_system): Ditto.
14044
14045 2000-01-23  Andy Piper  <andy@xemacs.org>
14046
14047         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
14048         layout and widget.
14049
14050         * glyphs.c (mark_image_instance): take into account changed
14051         image_instance format.
14052         (image_instance_equal): ditto.
14053         (image_instance_hash): ditto.
14054
14055         * glyphs-widget.c (widget_instantiate): Incorporate layout
14056         instantiation here. Delay layout of the layout until later.
14057         (layout_instantiate): deleted.
14058         (layout_query_geometry): new function. get the geometry of a
14059         layout.
14060         (layout_layout): layout a layout dynamically.
14061         (image_instantiator_widget): New function - splitting up
14062         image_instantiator_format_create_glyphs_widget for netwinder
14063         compilation.
14064         (image_instantiator_buttons):
14065         (image_instantiator_edit_fields):
14066         (image_instantiator_combo_box):
14067         (image_instantiator_scrollbar):
14068         (image_instantiator_progress_guage):
14069         (image_instantiator_tree_view):
14070         (image_instantiator_tab_control):
14071         (image_instantiator_labels):
14072         (image_instantiator_layout): ditto.
14073         (image_instantiator_format_create_glyphs_widget): Call preceding
14074         functions.
14075
14076 2000-01-22  Martin Buchholz  <martin@xemacs.org>
14077
14078         * process.c (Fset_process_coding_system):
14079         * device-x.c (Fx_keysym_hash_table):
14080         Docstring fixes.
14081
14082         * lstream.c (Lstream_write): Return documented value, not 0.
14083
14084         * fileio.c (directory_file_name):
14085         (Fsubstitute_in_file_name):
14086         (Fsubstitute_insert_file_contents_internal):
14087         (Fwrite_region_internal):
14088         * emacs.c:
14089         * sysdep.c:
14090         * getloadavg.c:
14091         * systty.h:
14092         Remove vestigial APOLLO-conditional code.
14093
14094 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14095
14096         * getpagesize.h: Add guard macros.
14097         * libsst.h: Add guard macros.
14098         * libst.h: Add guard macros.
14099         * line-number.h: Add guard macros.
14100         * ndir.h: Add guard macros.
14101         * sysfloat.h: Add guard macros.
14102         * sysfile.h: Add guard macros.
14103         * sysproc.h: Add guard macros.
14104         * syswait.h: Add guard macros.
14105         * xintrinsic.h: Add guard macros.
14106         * xintrinsicp.h: Add guard macros.
14107         * xmmanager.h: Add guard macros.
14108         * xmmanagerp.h: Add guard macros.
14109         * xmprimitive.h: Add guard macros.
14110         * xmu.h: Add guard macros.
14111         * gpmevent.h: Add copyright statement. Add guard macros.
14112         * miscplay.h: Add guard macros.
14113         * *.h: Use consistent C-standards-approved guard macro names.
14114
14115         * opaque.c (make_opaque): Switch parameter order.
14116         * opaque.h (make_opaque): Switch parameter order.
14117         Update all callers.
14118         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
14119
14120         * config.h.in (type_checking_assert): Added.
14121         (bufpos_checking_assert): Added.
14122
14123 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14124
14125         * alloc.c: Harmless pdump changes.
14126         - Use countof().
14127         - spell alignment correctly.
14128         * sysdep.c: Use countof()
14129
14130 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14131
14132         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
14133         initially_selected_for_input() console method, default to 0.
14134         (semi_canonicalize_console_connection): Try to delegate to
14135         canonicalize_console_connection if no such console method.
14136         (canonicalize_console_connection): Vice versa.
14137         (print_console): Do not print nil connection.
14138
14139         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
14140         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
14141         (XDEVIMPF_FRAMELESS_OK): Added.
14142         (CONSOLE_INHERITS_METHOD): Added.
14143
14144         * console-msw.c (mswindows_canonicalize_console_connection):
14145         Added.
14146         (mswindows_canonicalize_device_connection): Added.
14147
14148         * console-msw.h (struct msprinter_device): Added this struct and
14149         accessor macros.
14150         (mswindows_device): Made fontlist a lisp object.
14151
14152         * device.c (semi_canonicalize_device_connection):  Try to delegate
14153         to canonicalize_device_connection if no such console method.
14154         (canonicalize_device_connection): Vice versa.
14155         (print_device): Do not print nil connection.
14156
14157         * device-msw.c (mswindows_init_device): Call InitCommonControls
14158         when have widgets.
14159         (mswindows_delete_device): Removed fontlist deallocation.
14160         (mswindows_mark_device): Added.
14161
14162         * events.c (event_equal): Added abort() at unreached code.
14163         (event_hash): Ditto.
14164
14165         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
14166         fallback tags of Windows devices.
14167
14168         * general.c (syms_of_general): Initialized Qmsprinter.
14169
14170         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
14171         of fallback tags of Windows devices.
14172
14173         * lisp.h: Declared Qmsprinter.
14174
14175         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
14176         of strings.
14177         (mswindows_list_fonts): Ditto.
14178         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
14179         that it can be used by both mswindows and msprinter devices.
14180         (initialize_font_instance): Added.
14181         (mswindows_initialize_font_instance): Use it.
14182         (msprinter_initialize_font_instance): Added.
14183
14184         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
14185         and implementation flags check.
14186         (redisplay_without_hooks): Changed the call to the above.
14187         (Fredraw_device): Ditto.
14188         (Fredisplay_device): Ditto.
14189
14190         * redisplay-msw.c (get_frame_dc): Implemented.
14191         (get_frame_compdc): Implemented.
14192         (many functions): Use the two functions above to get device
14193         contexts, ether for a window or a printer.
14194
14195 2000-01-21  Olivier Galibert  <galibert@pobox.com>
14196
14197         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
14198         initialization here.
14199         (init_symbols_once_early): Call it.
14200         * emacs.c (main_1): Call it.
14201         * symsinit.h: Declare it.
14202
14203 2000-01-19  Olivier Galibert  <galibert@pobox.com>
14204
14205         * alloc.c: Use a lrecord_header * in the backtrace instead of a
14206         Lisp_Object.
14207         (pdump_backtrace): Ditto.
14208         (pdump_register_object): Ditto.  Cleanup use of the pointers.
14209         (pdump_get_entry): Abort if trying to register a null pointer.
14210         (pdump_dump_data): Cleanup types when relocating.
14211         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
14212         (pdump_dump_rtables): Remove bad casts.
14213         (pdump_load): Cleanup relocation w.r.t union type.  Use a
14214         Lisp_Object instead of a EMACS_INT for the hashtable
14215         reorganization.
14216
14217 2000-01-20  Martin Buchholz  <martin@xemacs.org>
14218
14219         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
14220
14221         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
14222
14223         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
14224
14225         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
14226
14227 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14228
14229         * faces.h (FACE_STRIKETHRU_P): Added.
14230
14231         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
14232         of font variants.
14233
14234         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
14235         (mswindows_set_dc_font): New function, aware of font variants,
14236         separated from mswindows_update_dc.
14237
14238         * objects-msw.h (struct mswindows_font_instance_data): Added
14239         definition.
14240
14241         * objects-msw.c (mswindows_finalize_font_instance): Delete all
14242         cached fonts and the data structure.
14243         (mswindows_initialize_font_instance): Added creation of font data
14244         structure.
14245         (mswindows_print_font_instance): Print at least something.
14246         (mswindows_create_font_variant): Implemented.
14247         (mswindows_get_hfont): Implemented.
14248
14249 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
14250
14251         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
14252         prototyping problem with msvc.
14253
14254         * emacs.c (main_1): added syms_of_gui_mswindows() call
14255
14256         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
14257         syms_of_gui_mswindows() function
14258
14259         * symsinit.h: added the prototype for syms_of_gui_mswindows()
14260
14261 2000-01-18  Martin Buchholz <martin@xemacs.org>
14262
14263         * XEmacs 21.2.27 is released.
14264
14265 2000-01-18  Martin Buchholz  <martin@xemacs.org>
14266
14267         * glyphs-eimage.c (struct tiff_error_struct):
14268         (tiff_error_func):
14269         (tiff_warning_func):
14270         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
14271
14272         * unexmips.c:
14273         * unexhp9k3.c:
14274         * unexfreebsd.c:
14275         * unexec.c: Remove vestigial Lucid C code.
14276         * unexalpha.c:
14277         * unexaix.c:
14278         * termcap.c:
14279         * libsst.c: Ansify.
14280         Remove declarations of errno and strerror().
14281
14282         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
14283
14284         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
14285
14286 2000-01-16  Martin Buchholz  <martin@xemacs.org>
14287
14288         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
14289         Optimize.
14290
14291 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14292
14293         * md5.c:
14294         * file-coding.c:
14295         * file-coding.h:
14296         Change enum eol_type to eol_type_t.
14297
14298 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14299
14300         * gui.c (get_gui_callback): Check cons before accessing car.
14301
14302 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14303
14304         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
14305         (XSETSPECIFIER_TYPE): Ditto.
14306
14307 2000-01-17  Didier Verna  <didier@xemacs.org>
14308
14309         * redisplay.c (generate_fstring_runes): compute string size in
14310         characters, not bytes.
14311
14312 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14313
14314         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
14315
14316 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
14317
14318         * print.c (print_error_message): Call print_prepare().
14319
14320 2000-01-14  Martin Buchholz  <martin@xemacs.org>
14321
14322         * .dbxrc: Renamed from dbxrc.
14323
14324         * events.c (event_to_character):
14325         Use `assert (foo)' instead of `if (!foo) abort()'
14326
14327         * .gdbinit (xtype): Add documentation.
14328         * .gdbinit (check-temacs): New function.
14329         * .gdbinit (check-xemacs): New function.
14330         * dbxrc (check-xemacs): New function.
14331         * dbxrc (check-xemacs): New function.
14332
14333 2000-01-14  Andy Piper  <andy@xemacs.org>
14334
14335         * glyphs-widget.c (widget_query_geometry): Make sure that we
14336         calculate default dimensions correctly.
14337
14338 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14339
14340         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
14341
14342         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
14343         pdump_wire'd variable.
14344
14345         * emacs.c: (main_1): Conditionalized calls to
14346         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
14347
14348 2000-01-13  Martin Buchholz  <martin@xemacs.org>
14349
14350         * window.c (Fset_window_configuration):
14351         * sysdep.c (_start):
14352         * input-method-motif.c (res):
14353         * event-Xt.c (Xt_process_to_emacs_event):
14354         Simple compiler warning fixes.
14355
14356         * bytecode.c (funcall_compiled_function): Use the original
14357         function symbol on the backtrace list in preference to the
14358         compiled_function object in error messages.
14359
14360 2000-01-13  Andy Piper  <andy@xemacs.org>
14361
14362         * glyphs-x.c (update_widget_face): Make sure we update the widget
14363         background as well as foreground.
14364
14365 2000-01-13  Andy Piper  <andy@xemacs.org>
14366
14367         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
14368         fields to subwindow.
14369         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
14370         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
14371         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14372         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14373
14374         * glyphs-widget.c (check_valid_tab_orientation): new function.
14375         (initialize_widget_image_instance): zero orientation and
14376         justification.
14377         (widget_instantiate): pick up orientation.
14378         (tab_control_query_geometry): return appropriate values for
14379         vertical tabs.
14380
14381         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
14382         appropriate creation flags for left, right and bottom tabs.
14383
14384         * s/cygwin32.h: add tab definitions.
14385
14386 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14387
14388         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
14389         frame upon hiding a subwindow.
14390         (mswindows_button_instantiate): Changed the push button style to
14391         BS_PUSHBUTTON.
14392         (mswindows_button_instantiate): Removed button BS_NOTIFY
14393         style.
14394         (mswindows_button_instantiate): Removed redundant check for
14395         a disabled gui item.
14396         (mswindows_button_instantiate): Made use of WS_TABSTOP
14397         consistent: "operable" controls (edit, button, tree, scroll) have
14398         this style, "display-only" ones (static, progress gauge) do
14399         not. This style is currently ignored by XEmacs though. Also,
14400         removed the WS_EX_CONTROLPARENT style - it is not for children,
14401         it is for their parents!
14402         (mswindows_edit_field_instantiate): Ditto.
14403         (mswindows_progress_gauge_instantiate): Ditto.
14404         (mswindows_tree_view_instantiate): Ditto.
14405         (mswindows_tab_control_instantiate): Ditto.
14406         (mswindows_scrollbar_instantiate): Ditto.
14407         (mswindows_combo_box_instantiate): Ditto.
14408         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
14409         style to the "clip" window.
14410         (mswindows_button_instantiate): Removed compilation warning by
14411         equally typing terms of the ?: operator.
14412
14413 2000-01-12  Didier Verna  <didier@xemacs.org>
14414
14415         * redisplay.c (generate_fstring_runes): new parameter holding the
14416         last modeline-format extent.
14417         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
14418         extent, fill the glyph block with it.
14419         (generate_fstring_runes): handle these parameters.
14420         (generate_formatted_string_db): ditto.
14421
14422         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
14423         glyphs'extents in the modeline.
14424
14425 1999-01-11  Mike Woolley  <mike@bulsara.com>
14426
14427         * ntheap.c: Reduced the reserved heap space from 1Gb down to
14428         256Mb, as a workaround for the non-starting problem many people
14429         have experienced.
14430
14431 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14432
14433         * console-tty.c (Fset_console_tty_output_coding_system):
14434         Force redrawing tty frame.
14435
14436 2000-01-10  Didier Verna  <didier@xemacs.org>
14437
14438         * redisplay.c (generate_fstring_runes): fix size computation bug.
14439
14440 2000-01-09  William M. Perry <wmperry@aventail.com>
14441
14442         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
14443
14444 2000-01-09  Andy Piper  <andy@xemacs.org>
14445
14446         * glyphs-msw.c: index -> i to avoid shadows.
14447         (xbm_create_bitmap_from_data): make static.
14448         (check_valid_string_or_int): deleted.
14449         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
14450
14451         * glyphs-x.c (x_update_subwindow): remove unused args.
14452
14453         * glyphs.c (glyph_image_instance): return the thing. Don't set the
14454         back pointer - this is done in allocate_image_instance.
14455         (query_string_font): return Qnil to make the compiler happy.
14456         (unmap_subwindow): set to ~0 to make the compiler happy.
14457         (glyph_query_geometry): comment out until used.
14458         (glyph_layout): ditto.
14459
14460 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14461
14462         * insdel.c (signal_after_change): Remove extraneous unbind_to().