Sync up with r21-4-6-utf-2000-0_19-new-case-jc3-3.
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
4         Q_lowercase, Q_uppercase in UTF-2000.
5
6         * chartab.c (get_char_table): Add special code for the standard
7         case table to use character attribute `->downcase' and
8         `->uppercase' for case operations in UTF-2000.
9
10         * casetab.c (Qflippedcase): New variable in UTF-2000.
11         (Q_lowercase): Likewise.
12         (Q_uppercase): Likewise.
13         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
14         and `->uppercase' in UTF-2000.
15         (complex_vars_of_casetab): Assign attribute name `downcase' to
16         downcase and CANON table of Vstandard_case_table in UTF-2000;
17         assign attribute name `flippedcase' to upcase and EQV table of
18         Vstandard_case_table in UTF-2000.
19
20 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
21
22         * text-coding.c (decode_add_er_char): Support isolated-chars.
23         (char_encode_as_entity_reference): Likewise.
24
25 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
26
27         * emacs.c (Vutf_2000_lisp_directory): New variable.
28         (Vconfigure_utf_2000_lisp_directory): Likewise.
29         (complex_vars_of_emacs): Add new variable
30         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
31
32 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
33
34         * char-ucs.h (DECODE_CHAR): Delete special code for
35         `chinese-big5-1' and `chinese-big5-2'.
36
37         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
38         (Qbig5_2): Likewise.
39         (decode_defined_char): Support CONVERSION_BIG5_1 and
40         CONVERSION_BIG5_2.
41         (decode_builtin_char): Likewise.
42         (charset_code_point): Likewise.
43         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
44         'conversion in UTF-2000.
45         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
46         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
47         `chinese-big5-2' as children of `chinese-big5'.
48
49         * char-ucs.h (CONVERSION_BIG5_1): New macro.
50         (CONVERSION_BIG5_2): New macro.
51
52 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
53
54         * text-coding.c (char_encode_big5): Support entity-reference.
55
56 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
57
58         * text-coding.c (char_encode_as_entity_reference): New function.
59         (char_encode_utf8): Use `char_encode_as_entity_reference'.
60
61 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
62
63         * text-coding.c (decode_coding_big5): Support entity-reference
64         decoding feature.
65
66 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
67
68         * text-coding.c (allocate_coding_system): Initialize initial
69         charsets for CODESYS_UTF8.
70         (Fmake_coding_system): Accept charset-g0, charset-g1 and
71         charset-g2 for CODESYS_UTF8.
72         (decode_coding_utf8): Use charset-g0.
73         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
74         to force variants to map to UCS.
75
76 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
77
78         * text-coding.c (Qutf_8_mcs): New variable.
79         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
80         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
81         instead of `utf-8' in UTF-2000.
82
83 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
84
85         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
86         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
87         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
88         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
89         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
90         CONVERSION_96x96x96x96 are introduced.
91         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
92         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
93         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
94
95         * char-ucs.h (CONVERSION_94): New macro.
96         (CONVERSION_96): New macro.
97         (CONVERSION_94x94): New macro.
98         (CONVERSION_96x96): New macro.
99         (CONVERSION_94x94x94): New macro.
100         (CONVERSION_96x96x96): New macro.
101         (CONVERSION_94x94x94x60): New macro.
102         (CONVERSION_94x94x94x94): New macro.
103         (CONVERSION_96x96x96x96): New macro.
104
105 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
106
107         * chartab.c (Vcharacter_variant_table): Deleted.
108         (Fchar_variants): Use character-attribute `->ucs-variants' instead
109         of `Vcharacter_variant_table'.
110         (Fput_char_attribute): Likewise.
111         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
112         (complex_vars_of_chartab): Likewise.
113
114 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
115
116         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
117
118         * fns.c (Qideographic_structure): New variable.
119         (Qkeyword_char): New variable.
120         (ids_format_unit): New function.
121         (Fideographic_structure_to_ids): New function.
122         (syms_of_fns): Add new symbols `ideographic-structure' and
123         `:char'; add new builtin function `ideographic-structure-to-ids'.
124
125         * data.c (Fchar_ref_p): New function.
126         (syms_of_data): Add new builtin function `char-ref-p'.
127
128         * chartab.h: Add an EXFUN for `Ffind_char'.
129
130 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
131
132         * text-coding.c (Vcharacter_composition_table): Deleted.
133         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
134         in every UTF-2000.
135
136         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
137         UTF-2000.
138         (Vcharacter_composition_table): Deleted.
139         (Fget_composite_char): Use the implementation for external-DB
140         support in every UTF-2000.
141         (Fput_char_attribute): Likewise.
142         (char_attribute_system_db_file): Don't define if external-DB
143         feature is not available.
144         (Fsave_char_attribute_table): Likewise.
145         (Fmount_char_attribute_table): Likewise.
146         (Fclose_char_attribute_table): Likewise.
147         (Freset_char_attribute_table): Likewise.
148         (Fload_char_attribute_table): Likewise.
149         (syms_of_chartab): Don't define `save-char-attribute-table',
150         `mount-char-attribute-table', `reset-char-attribute-table',
151         `close-char-attribute-table' and `load-char-attribute-table' if
152         external-DB feature is not available.
153         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
154
155 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
156
157         * text-coding.c (Qcomposition): Add extern if external-DB feature
158         is supported.
159         (Vcharacter_composition_table): Don't add extern if external-DB
160         feature is supported.
161         (COMPOSE_ADD_CHAR): Modify for new data-representation of
162         character composition rule if external-DB feature is supported.
163
164         * chartab.c (Vcharacter_composition_table): Don't define if
165         external-DB feature is supported.
166         (Qcomposition): New variable.
167         (Fget_composite_char): New implementation for external-DB support.
168         (Fput_char_attribute): Use `composition' property of each
169         character instead of `Vcharacter_composition_table' to store
170         character-composition rules if external-DB feature is supported.
171         (syms_of_chartab): Add new symbol `composition'.
172         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
173         external-DB feature is supported.
174
175 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
176
177         * chartab.c (Vchar_db_stingy_mode): New variable.
178         (load_char_attribute_maybe): Close database if
179         Vchar_db_stingy_mode is not NIL.
180         (Fload_char_attribute_table_map_function): Use
181         `get_char_id_table_0' instead of `get_char_id_table'.
182         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
183
184         * chartab.h (get_char_id_table_0): New inline function.
185         (get_char_id_table): Use `get_char_id_table_0'.
186
187 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
188
189         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
190         and `COMPOSE_ADD_CHAR'.
191         (decode_coding_iso2022): Use `decode_flush_er_chars'.
192
193 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
194
195         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
196         instead of `DECODE_ADD_UCS_CHAR'.
197         (COMPOSE_ADD_CHAR): Likewise.
198
199 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
200
201         * text-coding.c (decode_flush_er_chars): New inline function.
202         (decode_add_er_char): New function.
203         (decode_coding_utf8): Use `decode_flush_er_chars' and
204         `decode_add_er_char'.
205
206 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
207
208         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
209         done before `decode_output_utf8_partial_char'.
210
211         * mule-charset.c (complex_vars_of_mule_charset): Specify
212         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
213         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
214
215 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
216
217         * mule-charset.c (decode_defined_char): New function; search
218         mother.
219         (decode_builtin_char): Don't search mother if
220         XCHARSET_MAX_CODE(charset) == 0.
221         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
222         == 0 even if code >= XCHARSET_MAX_CODE(charset).
223         (Fdecode_char): Use `decode_defined_char' instead of
224         `DECODE_DEFINED_CHAR'.
225         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
226         mother of `Vcharset_ucs_jis'.
227
228         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
229         instead of `DECODE_DEFINED_CHAR'.
230
231         * char-ucs.h (decode_defined_char): Renamed from
232         `DECODE_DEFINED_CHAR'; changed to normal function.
233         (DECODE_CHAR): Use `decode_defined_char' instead of
234         `DECODE_DEFINED_CHAR'.
235
236         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
237
238 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
239
240         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
241
242         * text-coding.c (Vcoded_charset_entity_reference_alist): New
243         variable.
244         (Quse_entity_reference): New variable.
245         (Qd): New variable.
246         (Qx): New variable.
247         (QX): New variable.
248         (coding_system_description): Add description for
249         `ccs_priority_list'.
250         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
251         (allocate_coding_system): Initialize `ccs_priority_list' in
252         UTF-2000.
253         (Fmake_coding_system): Add description about
254         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
255         (codesys).
256         (Fcoding_system_property): Accept `disable-composition' and
257         `use-entity-reference' in UTF-2000.
258         (struct decoding_stream): Add new member `er_counter' and `er_buf'
259         in UTF-2000.
260         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
261         (decode_coding_utf8): Decode entity-reference if
262         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
263         (char_encode_utf8): Encode non-Unicode characters as
264         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
265         (str->codesys).
266         (syms_of_file_coding): Add new symbols `use-entity-reference',
267         `d', `x', `X'.
268         (vars_of_file_coding): Add new variable
269         `coded-charset-entity-reference-alist'.
270         (complex_vars_of_file_coding): Declare `disable-composition' and
271         `use-entity-reference' to be coding-system-properties in UTF-2000.
272
273         * file-coding.h (struct Lisp_Coding_System): Add new member
274         `use_entity_reference' and `ccs_priority_list'.
275         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
276         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
277         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
278
279 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
280
281         * chartab.c (save_uint8_byte_table): Don't clear the table.
282         (save_uint16_byte_table): Likewise.
283         (save_byte_table): Likewise.
284         (Fmount_char_attribute_table): New function.
285         (syms_of_chartab): Add new builtin function
286         `mount-char-attribute-table'.
287
288 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
289
290         * mule-charset.c (Fsave_charset_mapping_table): Open database as
291         "w+" mode.
292         (load_char_decoding_entry_maybe): Open database as read-only mode.
293
294         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
295         open database as "w+" mode.
296         (load_char_attribute_maybe): Open database as read-only mode.
297         (Fload_char_attribute_table): Likewise.
298
299 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
300
301         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
302         (char_table_description): Delete member `db_file'.
303         (Fmake_char_table): Don't refer `ct->db_file'.
304         (Fcopy_char_table): Likewise.
305         (Fsave_char_attribute_table): Likewise.
306         (Fclose_char_attribute_table): Likewise.
307         (Freset_char_attribute_table): Likewise.
308         (load_char_attribute_maybe): Likewise.
309         (Fload_char_attribute_table): Likewise.
310
311         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
312
313 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
314
315         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
316         (Fsave_char_attribute_table): Don't check `ct->db_file' if
317         `ct->db' is living.
318         (load_char_attribute_maybe): Likewise.
319         (Fload_char_attribute_table): Likewise.
320
321 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
322
323         * chartab.c (Fclose_char_attribute_table): Set Qnil on
324         `ct->db_file' unconditionally.
325
326 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
327
328         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
329         UTF-2000.
330         (char_table_description): Add description for `db_file' and `db'
331         in UTF-2000.
332         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
333         UTF-2000.
334         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
335         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
336         (Fclose_char_attribute_table): New function.
337         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
338         (load_char_attribute_maybe): Change interface; use `cit->db_file'
339         and `cit->db'.
340         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
341         (syms_of_chartab): Add new builtin function
342         `Fclose_char_attribute_table'.
343
344 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
345
346         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
347         `db' in UTF-2000.
348         (load_char_attribute_maybe): Change interface.
349         (get_char_id_table): Modify for `load_char_attribute_maybe'.
350
351 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
352
353         * database.h: Add an EXFUN for `Fdatabase_live_p'.
354
355 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
356
357         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
358         instead of `DECODE_CHAR' for mother; don't use special code for
359         chinese-big5 to use code space of chinese-big5-1 and
360         chinese-big5-2.
361         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
362         `MAX_CHAR_BIG5_CDP' for chinese-big5.
363
364         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
365         (MAX_CHAR_BIG5_CDP): Revival.
366
367 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
368
369         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
370         the XLFD registry-encoding name of `chinese-big5'.
371
372 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
373
374         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
375         (Qchinese_big5_cdp): Deleted.
376         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
377         (complex_vars_of_mule_charset): Delete coded-charset
378         `chinese-big5-cdp'.
379
380         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
381         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
382         `CHARSET_ID_OFFSET - n' for private CCS.
383         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
384         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
385         of `MIN_LEADING_BYTE'.
386         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
387         `(CHARSET_ID_OFFSET - 97)'.
388         (MIN_CHAR_BIG5_CDP): Deleted.
389         (MAX_CHAR_BIG5_CDP): Deleted.
390
391 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
394
395 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
396
397         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
398         (vars_of_mule): Add new variable `utf-2000-version' [moved from
399         chartab.c].
400
401         * chartab.c (Vutf_2000_version): Moved to mule.c.
402         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
403
404 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
405
406         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
407         when HAVE_CHISE_CLIENT is not defined.
408
409         * mule.c (vars_of_mule): Provide feature `chise' when
410         HAVE_CHISE_CLIENT is defined.
411
412 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
413
414         * config.h.in (UTF2000): Add comment.
415         (HAVE_CHISE_CLIENT): New macro.
416
417 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
418
419         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
420         CONSP.
421         (Fput_char_attribute): Likewise.
422         (char_attribute_system_db_file): Encode file-name of attribute.
423         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
424         the initial value.
425
426 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
427
428         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
429         (Fsave_charset_mapping_table): Use
430         `char_attribute_system_db_file'.
431         (load_char_decoding_entry_maybe): Likewise.
432
433         * chartab.h (Qsystem_char_id): New external variable.
434         (char_attribute_system_db_file): New prototype.
435
436         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
437         (char_attribute_system_db_file): New function.
438         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
439         (Freset_char_attribute_table): Likewise.
440         (load_char_attribute_maybe): Likewise.
441         (Fload_char_attribute_table): Likewise.
442         (syms_of_chartab): Add new symbol `system-char-id'.
443
444 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
445
446         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
447         `XCHARSET_GRAPHIC(ccs)'.
448
449 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
450
451         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
452
453 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
454
455         * chartab.c (Q_ucs_variants): New variable.
456         (syms_of_chartab): Add new symbol `->ucs-variants'.
457         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
458         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
459         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
460
461         * mule-charset.c (load_char_decoding_entry_maybe): New function.
462
463         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
464         `HAVE_DATABASE' is defined.
465         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
466         `HAVE_DATABASE' is defined.
467
468 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
469
470         * chartab.c (Fsave_char_attribute_table): Don't clear internal
471         attribute-table.
472         (Freset_char_attribute_table): New function.
473         (syms_of_chartab): Add new builtin function
474         `reset-char-attribute-table'.
475
476 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
477
478         * chartab.c (load_char_attribute_maybe): Don't make directories.
479
480 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
481
482         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
483
484         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
485         for decoding-table.
486
487 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
488
489         * mule-charset.c (Fsave_charset_mapping_table): Use
490         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
491
492         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
493         instead of `XCHARSET_CHARS'.
494
495 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
496
497         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
498         (XCHARSET_BYTE_SIZE): Likewise.
499
500         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
501         mule-charset.c].
502         (XCHARSET_BYTE_SIZE): Likewise.
503
504 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
505
506         * chartab.c (Fput_char_attribute): Use exec-directory instead of
507         data-directory to store database.
508         (Fsave_char_attribute_table): Likewise.
509         (load_char_attribute_maybe): Likewise.
510         (Fload_char_attribute_table): Likewise.
511
512 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
513
514         * mule-charset.c (Fsave_charset_mapping_table): New function.
515         (syms_of_mule_charset): Add new builtin function
516         `save-charset-mapping-table'.
517
518 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
519
520         * char-ucs.h (decoding_table_check_elements): Delete prototype.
521         (get_ccs_octet_table): New inline function.
522         (put_ccs_octet_table): Likewise.
523         (decoding_table_put_char): Use `get_ccs_octet_table' and
524         `put_ccs_octet_table'.
525         (decoding_table_remove_char): Use `decoding_table_put_char'.
526         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
527
528         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
529         into encoding_table.
530         (make_charset): Use Qunbound instead Qnil as initial value of
531         decoding_table.
532
533 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
534
535         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
536         element is Qunloaded.
537         (map_over_uint16_byte_table): Likewise.
538         (map_over_byte_table): Likewise.
539         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
540         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
541         database support, load encoding-table of the specified
542         coded-charset if it is not loaded yet.
543         (save_uint8_byte_table): New function of UTF-2000 with external
544         database support.
545         (save_uint16_byte_table): Likewise.
546         (save_byte_table): Likewise.
547         (Fput_char_attribute): Don't store value into external database
548         even if the external database feature is supported in UTF-2000;
549         set `attribute' as name of char-table if the external database
550         feature is supported.
551         (Fsave_char_attribute_table): New function in UTF-2000.
552         (syms_of_chartab): Add new builtin function
553         `save-char-attribute-table' in UTF-2000.
554
555 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
556
557         * chartab.c (char_attribute_table_to_put): New variable in
558         UTF-2000.
559         (Qput_char_table_map_function): Likewise.
560         (value_to_put): Likewise.
561         (Fput_char_table_map_function): New function in UTF-2000.
562         (put_char_table): Use `Fmap_char_attribute' for
563         CHARTAB_RANGE_CHARSET in UTF-2000.
564         (Fput_char_attribute): Store symbol instead of string in
565         `XCHAR_TABLE_NAME (table)'.
566         (load_char_attribute_maybe): Likewise.
567         (syms_of_chartab): Add new symbol/function
568         `put-char-table-map-function'.
569
570 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
571
572         * database.h: Add new EXFUN for `Fmap_database'.
573
574         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
575         (syms_of_database): Likewise.
576
577         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
578         UTF-2000.
579         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
580         (XCHAR_TABLE_UNLOADED): Likewise.
581
582         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
583         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
584         HAVE_DATABASE is defined.
585         (char_attribute_table_to_load): New variable of UTF-2000 with
586         external database support.
587         (Qload_char_attribute_table_map_function): Likewise.
588         (Fload_char_attribute_table_map_function): New function of
589         UTF-2000 with external database support.
590         (Fload_char_attribute_table): New function of UTF-2000.
591         (Fmap_char_attribute): Call Fload_char_attribute_table if
592         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
593         (syms_of_chartab): Add new symbol and function
594         `load-char-attribute-table-map-function' in UTF-2000 with external
595         database support; add new function `load-char-attribute-table' in
596         UTF-2000.
597
598 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
599
600         * chartab.h (load_char_attribute_maybe): New prototype for
601         UTF-2000 with DATABASE support.
602         (get_char_id_table): Use `load_char_attribute_maybe' if
603         HAVE_DATABASE is defined.
604
605         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
606         with DATABASE support.
607
608 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
609
610         * chartab.c (Fput_char_attribute): Use S-expression as key of
611         external database.
612
613         * chartab.h (get_char_id_table): Use S-expression as key of
614         external database.
615
616 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
617
618         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
619         if an element is not loaded, load the corresponding attributes
620         from an external database.
621         (map_over_uint16_byte_table): Likewise.
622         (map_over_byte_table): Likewise.
623         (map_char_table): Modify for `map_over_uint8_byte_table',
624         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
625         element is not loaded, load the corresponding attributes from an
626         external database.
627         (Fput_char_attribute): Change initial values to Qunloaded.
628
629         * chartab.h (get_char_id_table): If a character attribute is not
630         loaded and the attribute value is not found in an external
631         database, store Qunbound as the attribute value.
632
633 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
634
635         * chartab.c (BT_UINT8_unloaded): New macro.
636         (UINT8_VALUE_P): Accept Qunloaded.
637         (UINT8_ENCODE): Likewise.
638         (UINT8_DECODE): Likewise.
639         (BT_UINT16_unloaded): New macro.
640         (UINT16_VALUE_P): Accept Qunloaded.
641         (UINT16_ENCODE): Likewise.
642         (UINT16_DECODE): Likewise.
643         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
644         BT_UINT16_unloaded.
645         (mark_char_table): Mark `ct->name' in UTF-2000.
646         (char_table_description): Add `name' in UTF-2000.
647         (Fmake_char_table): Initialize `ct->name'.
648         (Fcopy_char_table): Copy `ct->name'.
649         (Fput_char_attribute): Store value into an external database if
650         HAVE_DATABASE is defined.
651
652         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
653         UTF-2000.
654         (CHAR_TABLE_NAME): New macro in UTF-2000.
655         (XCHAR_TABLE_NAME): New macro in UTF-2000.
656         (get_char_id_table): Try to read an external database if Qunloaded
657         is stored in a table.
658
659         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
660         Qunloaded.
661
662 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
663
664         * database.h: Add EXFUN definitions for Fopen_database,
665         Fput_database, Fget_database and Fclose_database.
666
667         * data.c (Qunloaded): New variable in UTF-2000.
668
669         * lisp.h (Qunloaded): New variable in UTF-2000.
670
671 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
672
673         * mule-charset.c (put_char_ccs_code_point): Modify for
674         `decoding_table_remove_char' and `decoding_table_put_char'.
675         (remove_char_ccs): Modify for `decoding_table_remove_char'.
676
677         * char-ucs.h (decoding_table_remove_char): Change arguments to
678         hide decoding_table vector.
679         (decoding_table_put_char): Likewise.
680
681 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
682
683         * mule-charset.c (decoding_table_remove_char): Moved to
684         char-ucs.h.
685         (decoding_table_put_char): Likewise.
686
687         * char-ucs.h (decoding_table_check_elements): New prototype [moved
688         from mule-charset.c].
689         (decoding_table_remove_char): New inline function [moved from
690         mule-charset.c].
691         (decoding_table_put_char): Likewise.
692
693 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
694
695         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
696         extension.
697
698 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
699
700         * mule-charset.c (decode_builtin_char): Support mother charsets.
701
702 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
703
704         * mule-charset.c (Q94x94x60): New variable.
705         (charset_code_point): Support conversion `94x94x60'.
706         (Fmake_charset): Likewise.
707         (syms_of_mule_charset): Add new symbol `94x94x60'.
708
709         * char-ucs.h (CONVERSION_94x94x60): New macro.
710
711 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
712
713         * mule-charset.c (charset_code_point): Unify code about
714         `code-offset'.
715
716 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
717
718         * mule-charset.c (charset_code_point): Merge code about builtin
719         characters into code about mother charsets; don't use
720         `range_charset_code_point'.
721         (range_charset_code_point): Deleted.
722
723 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
724
725         * mule-charset.c (Qcode_offset): New variable.
726         (Fmake_charset): Use `XUINT' to get value of `min-code' and
727         `max-code'; accept new property `code-offset'.
728         (syms_of_mule_charset): Add new symbol `code-offset'.
729
730 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
731
732         * mule-charset.c (range_charset_code_point): Fixed.
733
734 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
735
736         * mule-charset.c (decode_builtin_char): Change semantics of
737         code-offset of coded-charset.
738         (charset_code_point): Likewise.
739         (range_charset_code_point): Likewise.
740         (complex_vars_of_mule_charset): Modify for the change.
741
742 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
743
744         * mule-charset.c (Fencode_char): Reverse arguments.
745
746         * mule-charset.c (charset_code_point): Fixed.
747
748 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
749
750         * mule-charset.c (Vcharset_mojikyo): Deleted.
751         (Vcharset_mojikyo_2022_1): Deleted.
752         (Vcharset_mojikyo_pj_{1..21}): Deleted.
753         (Qmin_code): New variable in UTF-2000.
754         (Qmax_code): Likewise.
755         (Qmother): Likewise.
756         (Qconversion): Likewise.
757         (Q94x60): Likewise.
758         (Qmojikyo): Deleted.
759         (Qmojikyo_2022_1): Deleted.
760         (Qmojikyo_pj_{1..22}): Deleted.
761         (mark_charset): Mark `cs->mother'.
762         (charset_description): Add description for `mother'.
763         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
764         new arguments `mother' and `conversion'; use
765         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
766         (charset_code_point): Moved from char-ucs.h; support `mother'
767         charset feature.
768         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
769         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
770         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
771         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
772         allow 2 as the value of `graphic' in UTF-2000; add new properties
773         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
774         require `final' in UTF-2000; modify for `make_charset'.
775         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
776         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
777         (Fcharset_property): Support `mother', `min-code' and `max-code'.
778         (Fencode_char): New function.
779         (syms_of_mule_charset): Add new builtin function `encode-char' in
780         UTF-2000; add new symbols `min-code', `max-code', `mother',
781         `conversion' and `94x60'; delete symbols `mojikyo',
782         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
783         (complex_vars_of_mule_charset): Modify for `make_charset' change;
784         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
785         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
786
787         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
788         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
789
790         * char-ucs.h (Vcharset_mojikyo): Deleted.
791         (Vcharset_mojikyo_2022_1): Deleted.
792         (LEADING_BYTE_MOJIKYO): Deleted.
793         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
794         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
795         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
796         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
797         add new member `mother'; add new member `conversion'.
798         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
799         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
800         (CHARSET_MOTHER): New macro.
801         (CHARSET_CONVERSION): New macro.
802         (CONVERSION_IDENTICAL): New macro.
803         (CONVERSION_94x60): New macro.
804         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
805         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
806         (XCHARSET_MOTHER): New macro.
807         (XCHARSET_CONVERSION): New macro.
808         (MIN_CHAR_MOJIKYO): Deleted.
809         (MAX_CHAR_MOJIKYO): Deleted.
810         (DECODE_MOJIKYO_2022): Deleted.
811         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
812         (charset_code_point): Changed to non-inline function.
813         (encode_char_1): Use `charset_code_point'.
814         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
815
816 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
817
818         * lread.c (read_compiled_function): Fix prototype.
819         (read_vector): Likewise.
820
821 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
822
823         * lrecord.h (struct lrecord_header): Delete `older'.
824         (set_lheader_implementation): Delete code for `older'.
825         (set_lheader_older_implementation): Deleted.
826         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
827         (OLDER_RECORD_P): Deleted.
828         (OLDER_RECORD_HEADER_P): Deleted.
829         (alloc_older_lcrecord): Deleted.
830         (alloc_older_lcrecord_type): Deleted.
831
832         * alloc.c (all_older_lcrecords): Deleted.
833         (alloc_older_lcrecord): Deleted.
834         (disksave_object_finalization_1): Delete code for older objects.
835         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
836         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
837
838 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * mule-charset.c (decoding_table_put_char): Use `make_vector'
841         instead of `make_older_vector'.
842         (put_char_ccs_code_point): Likewise.
843         (mark_charset): Mark `cs->decoding_table'.
844         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
845
846         * lisp.h (make_older_vector): Deleted.
847         (make_vector_newer): Deleted.
848
849         * config.h.in (HAVE_GGC): Deleted.
850
851         * alloc.c (make_older_vector): Deleted.
852         (make_vector_newer_1): Deleted.
853         (make_vector_newer): Deleted.
854
855 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
858         (Qideograph_daikanwa_2): New variable.
859         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
860         (complex_vars_of_mule_charset): Add new coded-charset
861         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
862         `LEADING_BYTE_DAIKANWA'.
863
864         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
865         (LEADING_BYTE_DAIKANWA_1): New macro.
866         (LEADING_BYTE_DAIKANWA_2): New macro.
867         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
868
869 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
870
871         * mule-charset.c (complex_vars_of_mule_charset): Change
872         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
873         the second revised version.
874
875 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
876
877         * mule-charset.c (Vcharset_ucs_smp): New variable.
878         (Vcharset_ucs_sip): New variable.
879         (Qucs_smp): New variable.
880         (Qucs_sip): New variable.
881         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
882         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
883         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
884         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
885         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
886         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
887
888         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
889         (LEADING_BYTE_UCS_SIP): New macro.
890         (MIN_CHAR_SMP): New macro.
891         (MAX_CHAR_SMP): New macro.
892         (MIN_CHAR_SIP): New macro.
893         (MAX_CHAR_SIP): New macro.
894
895 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
896
897         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
898         utf-2000.
899
900 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
901
902         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
903         value; don't store value into `encoding_table' of `Lisp_Charset'.
904         (mark_charset): `encoding_table' was deleted.
905         (charset_description): Likewise.
906         (make_charset): Likewise.
907         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
908         `put_char_ccs_code_point'.
909
910         * chartab.h (Fput_char_attribute): New EXFUN.
911
912         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
913         is unified with normal symbol space.
914         (Fget_char_attribute): Likewise.
915         (Fput_char_attribute): Likewise; behavior of
916         `put_char_ccs_code_point' is changed.
917
918         * char-ucs.h: Include "elhash.h".
919         (Vchar_attribute_hash_table): New external variable.
920         (struct Lisp_Charset): Delete `encoding_table'.
921         (CHARSET_ENCODING_TABLE): New implementation; refer
922         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
923         `Lisp_Charset'.
924
925 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
926
927         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
928         (cs) == 0.
929
930 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
931
932         * text-coding.c (char_encode_big5): Prefer charset-g1 than
933         `chinese-big5'.
934
935 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
936
937         * chartab.c (uint8_byte_table_description): New constant.
938         (uint8-byte-table): Use `uint8_byte_table_description'.
939         (uint16_byte_table_description): New constant.
940         (uint16-byte-table): Use `uint16_byte_table_description'.
941
942 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
943
944         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
945         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
946
947 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
948
949         * mule-charset.c (Vcharset_ucs_ks): New variable.
950         (Qucs_ks): New variable.
951         (syms_of_mule_charset): Add new symbol `ucs-ks'.
952         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
953
954         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
955
956 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
957
958         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
959         (Fdecode_char): Likewise.
960
961         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
962         chartab.h.
963         (Fdefine_char): Modify for Fdecode_char.
964         (Ffind_char): Likewise.
965
966         * mule-charset.c (Fdecode_char): Add new optional argument
967         `defined-only'.
968         (Fdecode_builtin_char): Modify for `Fdecode_char'.
969
970 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
971
972         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
973         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
974         (allocate_coding_system): Initialize initial-charsets of
975         CODESYS_BIG5 in XEmacs UTF-2000.
976         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
977         CODESYS_BIG5 in XEmacs UTF-2000.
978         (decode_coding_big5): Use initial-charset-g0 and -g1 of
979         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
980
981         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
982         variables.
983         (Qideograph_hanziku_{1 .. 12}): Likewise.
984         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
985         .. 12}'.
986         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
987         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
988         `ideograph-hanziku-{1 .. 12}'.
989
990         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
991         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
992         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
993         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
994         (DECODE_DEFINED_CHAR): New inline function.
995         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
996
997 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
998
999         * mule-charset.c (Vcharset_china3_jef): Renamed from
1000         `Vcharset_japanese_jef_china3'.
1001         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1002         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1003         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1004         (syms_of_mule_charset): Rename `china3-jef' from
1005         `japanese-jef-china3'.
1006         (complex_vars_of_mule_charset): Likewise; rename
1007         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1008
1009         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1010         `LEADING_BYTE_JEF_CHINA3'.
1011         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1012         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1013
1014 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1015
1016         * mule-charset.c (encode_builtin_char_1): Comment out special code
1017         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1018
1019         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1020         (MAX_CHAR_MOJIKYO_0): Comment out.
1021         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1022         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1023         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1024         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1025
1026 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1027
1028         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1029         (Qideograph_cbeta): New variable.
1030         (encode_builtin_char_1): Comment out special code for
1031         coded-charset `mojikyo' and `japanese-jef-china3'.
1032         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1033         (complex_vars_of_mule_charset): Add new coded-charset
1034         `ideograph-cbeta'.
1035
1036         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1037         (MIN_CHAR_CBETA): New macro.
1038         (MAX_CHAR_CBETA): New macro.
1039
1040 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1041
1042         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1043         (LEADING_BYTE_JEF_CHINA3): New macro.
1044         (MIN_CHAR_JEF_CHINA3): New macro.
1045         (MAX_CHAR_JEF_CHINA3): Likewise.
1046         (DECODE_CHAR): Fixed.
1047
1048 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1049
1050         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1051         (Qjapanese_jef_china3): New variable.
1052         (encode_builtin_char_1): Support `japanese-jef-china3'.
1053         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1054         (complex_vars_of_mule_charset): Add new coded-charset
1055         `japanese-jef-china3'.
1056
1057 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1058
1059         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1060         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1061         94^4, 96^3, 96^4, 128^n and 256^n set.
1062         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1063         (map_char_table): Likewise.
1064
1065 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1066
1067         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1068         UTF-2000.
1069
1070 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1071
1072         * chartab.h (get_char_id_table): New inline function.
1073
1074         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1075         function.
1076
1077 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1078
1079         * chartab.h (decode_char_table_range): New prototype in XEmacs
1080         UTF-2000.
1081         (put_char_id_table): New inline function in XEmacs UTF-2000.
1082
1083         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1084         function.
1085         (decode_char_table_range): Delete static declaration in XEmacs
1086         UTF-2000.
1087
1088 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1089
1090         * chartab.c (put_char_id_table): Use `put_char_table'.
1091
1092 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1093
1094         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1095         (map_over_uint16_byte_table): Likewise.
1096         (map_over_byte_table): Likewise.
1097         (map_char_table): Modify for `map_over_uint8_byte_table',
1098         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1099         UTF-2000.
1100
1101 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1102
1103         * chartab.c (struct map_char_table_for_charset_arg): New
1104         structure.
1105         (map_char_table_for_charset_fun): New function.
1106         (map_char_table): Use `map_char_table' for encoding_table of
1107         `range->charset'.
1108
1109 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1110
1111         * chartab.c (map_char_table): Check a character is found in
1112         range->charset instead of non default value is defined in
1113         char-table when range is CHARTAB_RANGE_ROW.
1114
1115 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1116
1117         * chartab.c (map_char_id_table): Deleted.
1118         (Fmap_char_attribute): Use `map_char_table' instead of
1119         `map_char_id_table'.
1120
1121 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1122
1123         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1124         UTF-2000.
1125         (update_syntax_table): Deleted in XEmacs UTF-2000.
1126
1127         * syntax.c (find_defun_start): Use `syntax_table' instead of
1128         `mirror_syntax_table' in XEmacs UTF-2000.
1129         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1130         UTF-2000.
1131         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1132         XEmacs UTF-2000.
1133         (Fmatching_paren): Likewise.
1134         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1135         in XEmacs UTF-2000.
1136         (find_start_of_comment): Likewise.
1137         (find_end_of_comment): Likewise.
1138         (Fforward_comment): Likewise.
1139         (scan_lists): Likewise.
1140         (char_quoted): Likewise.
1141         (Fbackward_prefix_chars): Likewise.
1142         (scan_sexps_forward): Likewise.
1143         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1144         (update_syntax_table): Likewise.
1145
1146         * search.c (skip_chars): Use `syntax_table' instead of
1147         `mirror_syntax_table' in XEmacs UTF-2000.
1148         (wordify): Likewise.
1149         (Freplace_match): Likewise.
1150
1151         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1152         `mirror_syntax_table' in XEmacs UTF-2000.
1153         (WORDCHAR_P_UNSAFE): Likewise.
1154         (re_match_2_internal): Likewise.
1155
1156         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1157         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1158
1159         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1160         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1161
1162         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1163         XEmacs UTF-2000.
1164
1165         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1166         UTF-2000.
1167         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1168         (char_table_description): Delete `mirror_table' in XEmacs
1169         UTF-2000.
1170         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1171         UTF-2000.
1172         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1173         (Fcopy_char_table): Likewise.
1174         (put_char_table): Don't call `update_syntax_table' in XEmacs
1175         UTF-2000.
1176
1177         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1178         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1179         (casify_region_internal): Likewise.
1180
1181         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1182
1183         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1184         `mirror_syntax_table' in XEmacs UTF-2000.
1185
1186         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1187         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1188         (Fexpand_abbrev): Likewise.
1189
1190 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1191
1192         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1193
1194 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1195
1196         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1197         (map_over_uint16_byte_table): Likewise.
1198         (map_over_byte_table): Likewise.
1199         (get_char_id_table): Refer `cit->default_value'.
1200         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1201         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1202         of character-id ranges.
1203         (mark_char_table): Mark `ct->default_value'.
1204         (char_table_description): Add `default_value'.
1205         (fill_char_table): Use `default_value'.
1206         (decode_char_table_range): Decode `nil' as
1207         `CHARTAB_RANGE_DEFAULT'.
1208         (get_char_id_table): Refer `cit->default_value'.
1209         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1210         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1211         temporary hack; check value of char-table is bound or not.
1212         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1213
1214         * chartab.h (struct Lisp_Char_Table): Add new member
1215         `default_value' in XEmacs UTF-2000.
1216         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1217         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1218         UTF-2000.
1219
1220 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1221
1222         * chartab.h (Lisp_Char_ID_Table): Deleted.
1223
1224         * chartab.c (char_table_description): Fix typo.
1225         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1226         `Lisp_Char_ID_Table'.
1227
1228 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1229
1230         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1231         `CHAR_ID_TABLE_P'.
1232
1233         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1234         `CHAR_ID_TABLE_P'.
1235
1236         * chartab.h (XCHAR_ID_TABLE): Deleted.
1237         (XSETCHAR_ID_TABLE): Deleted.
1238         (CHAR_ID_TABLE_P): Deleted.
1239
1240         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1241         `CHAR_ID_TABLE_P'.
1242         (Fget_composite_char): Likewise.
1243         (put_char_table): Likewise.
1244         (add_char_attribute_alist_mapper): Fixed.
1245         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1246         `CHAR_ID_TABLE_P'.
1247         (Fget_char_attribute): Likewise.
1248         (Fget_char_attribute): Likewise.
1249         (Fmap_char_attribute): Likewise.
1250
1251         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1252         `CHAR_ID_TABLE_P'.
1253         (encode_char_1): Likewise.
1254
1255 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1256
1257         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1258         `XCHAR_ID_TABLE'.
1259
1260         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1261         instead of `XCHAR_ID_TABLE'.
1262         (remove_char_ccs): Likewise.
1263
1264         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1265         `XCHAR_ID_TABLE'.
1266         (Fget_composite_char): Likewise.
1267         (Fchar_variants): Likewise.
1268         (put_char_table): Likewise.
1269         (add_char_attribute_alist_mapper): Likewise.
1270         (Fchar_attribute_alist): Likewise.
1271         (Fget_char_attribute): Likewise.
1272         (Fput_char_attribute): Likewise.
1273         (Fmap_char_attribute): Likewise.
1274         (Fmap_char_attribute): Likewise.
1275
1276         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1277         `XCHAR_ID_TABLE'.
1278         (encode_char_1): Likewise.
1279
1280 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1281
1282         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1283         `Lisp_Char_ID_Table'.
1284         (mark_char_id_table): Deleted.
1285         (print_char_id_table): Likewise.
1286         (char_id_table_equal): Likewise.
1287         (char_id_table_hash): Likewise.
1288         (char_id_table_description): Likewise.
1289         (char_id_table): Likewise.
1290         (make_char_id_table): Use `Fmake_char_table' and
1291         `fill_char_table'.
1292         (get_char_id_table): Use `Lisp_Char_Table' instead of
1293         `Lisp_Char_ID_Table'.
1294         (put_char_id_table): Likewise.
1295         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1296         `XCHAR_ID_TABLE'.
1297         (Fremove_char_attribute): Likewise.
1298         (syms_of_chartab): Don't define type `char-id-table'.
1299
1300         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1301         (char_id_table): Likewise.
1302         (GC_CHAR_ID_TABLE_P): Likewise.
1303         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1304         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1305         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1306         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1307         (get_char_id_table): Use `Lisp_Char_Table' instead of
1308         `Lisp_Char_ID_Table'.
1309         (put_char_id_table_0): Likewise.
1310         (put_char_id_table): Likewise.
1311
1312 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1313
1314         * chartab.h: Lisp_Byte_Table related codes are moved from
1315         chartab.h.
1316
1317         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1318
1319 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1320
1321         * chartab.h: Don't include "chartab.h".
1322         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1323         (Lisp_Char_ID_Table): Likewise.
1324         (char_id_table): Likewise.
1325         (XCHAR_ID_TABLE): Likewise.
1326         (XSETCHAR_ID_TABLE): Likewise.
1327         (CHAR_ID_TABLE_P): Likewise.
1328         (GC_CHAR_ID_TABLE_P): Likewise.
1329         (get_char_id_table): Likewise.
1330
1331         * char-ucs.h: Include "chartab.h".
1332         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1333         (Lisp_Char_ID_Table): Likewise.
1334         (char_id_table): Likewise.
1335         (XCHAR_ID_TABLE): Likewise.
1336         (XSETCHAR_ID_TABLE): Likewise.
1337         (CHAR_ID_TABLE_P): Likewise.
1338         (GC_CHAR_ID_TABLE_P): Likewise.
1339         (get_char_id_table): Likewise.
1340
1341 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1342
1343         * chartab.c (copy_uint8_byte_table): New function.
1344         (copy_uint16_byte_table): New function.
1345         (copy_byte_table): New function.
1346         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1347         characters to call.
1348         (map_over_uint16_byte_table): Likewise.
1349         (map_over_byte_table): Likewise.
1350         (get_byte_table): Move prototype to chartab.h.
1351         (put_byte_table): Likewise.
1352         (put_char_id_table_0): Moved to chartab.h.
1353         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1354         (char_table_entry_equal): Likewise.
1355         (char_table_entry_hash): Likewise.
1356         (char_table_entry_description): Likewise.
1357         (char_table_entry): Likewise.
1358         (make_char_table_entry): Likewise.
1359         (copy_char_table_entry): Likewise.
1360         (get_non_ascii_char_table_value): Likewise.
1361         (map_over_charset_ascii): Likewise.
1362         (map_over_charset_control_1): Likewise.
1363         (map_over_charset_row): Likewise.
1364         (map_over_other_charset): Likewise.
1365         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1366         (print_char_table): Likewise.
1367         (char_table_equal): Likewise.
1368         (char_table_hash): Likewise.
1369         (char_table_description): Likewise.
1370         (fill_char_table): Likewise.
1371         (Fcopy_char_table): Likewise.
1372         (get_char_table): Likewise.
1373         (Fget_range_char_table): Likewise.
1374         (put_char_table): Likewise.
1375         (map_char_table): Likewise.
1376         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1377         UTF-2000.
1378
1379 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1380
1381         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1382         `Vauto_fill_chars' in XEmacs UTF-2000.
1383
1384         * chartab.h (get_byte_table): New prototype [moved from
1385         chartab.c].
1386         (put_byte_table): Likewise [moved from chartab.c].
1387         (put_char_id_table_0): New inline function [moved from chartab.c].
1388         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1389         (Lisp_Char_Table_Entry): Likewise.
1390         (char_table_entry): Likewise.
1391         (XCHAR_TABLE_ENTRY): Likewise.
1392         (XSETCHAR_TABLE_ENTRY): Likewise.
1393         (CHAR_TABLE_ENTRYP): Likewise.
1394         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1395         (NUM_ASCII_CHARS): Likewise.
1396         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1397         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1398
1399 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1400
1401         * chartab.c (get_char_id_table): Change interface.
1402         (put_char_id_table_0): New function.
1403         (put_char_id_table): Change interface; new implementation.
1404         (Fget_composite_char): Modify for interface change of
1405         `get_char_id_table'.
1406         (Fchar_variants): Likewise.
1407         (add_char_attribute_alist_mapper): Likewise.
1408         (Fchar_attribute_alist): Likewise.
1409         (Fget_char_attribute): Likewise.
1410         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1411         as same as character as the first argument like `put-char-table';
1412         modify for interface change of `put_char_id_table'.
1413         (Fremove_char_attribute): Modify for interface change of
1414         `put_char_id_table'.
1415
1416 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1417
1418         * text-coding.c: Sync up with XEmacs 21.2.41.
1419         (COMPOSE_ADD_CHAR): Modify for interface change of
1420         `get_char_id_table'.
1421
1422         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1423         change of `put_char_id_table'.
1424         (remove_char_ccs): Likewise.
1425
1426         * chartab.h (put_char_id_table): Change interface.
1427
1428         * char-ucs.h (get_char_id_table): Change interface.
1429         (charset_code_point): Modify for interface change of
1430         `get_char_id_table'.
1431         (encode_char_1): Likewise.
1432
1433 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1434
1435         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1436         argument `ccs'.
1437         (map_over_uint16_byte_table): Likewise.
1438         (map_over_byte_table): Likewise.
1439         (map_char_id_table): Add new argument `range' like
1440         `map_char_table'.
1441         (Fmap_char_attribute): Add new argument `range' like
1442         `Fmap_char_table'.
1443
1444 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1445
1446         * chartab.c (map_over_uint8_byte_table): Change interface of
1447         mapping function to use struct chartab_range instead of Emchar.
1448         (map_over_uint16_byte_table): Likewise.
1449         (map_over_byte_table): Likewise.
1450         (map_char_id_table): Likewise.
1451         (struct slow_map_char_id_table_arg): Deleted.
1452         (slow_map_char_id_table_fun): Deleted.
1453         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1454         function `slow_map_char_table_fun' instead of struct
1455         `slow_map_char_id_table_arg' and function
1456         `slow_map_char_id_table_fun'.
1457
1458 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1459
1460         * mule-charset.c: Move char-it-table related codes to chartab.c.
1461         (Vutf_2000_version): Moved to chartab.c.
1462         (Fdefine_char): Likewise.
1463         (Ffind_char): Likewise.
1464         (syms_of_mule_charset): Move types `uint8-byte-table',
1465         `uint16-byte-table', `byte-table' and `char-id-table' to
1466         chartab.c; move functions `char_attribute_list,
1467         `find_char_attribute_table, `char_attribute_alist,
1468         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1469         `map_char_attribute, `define_char, `find_char, `char_variants and
1470         `get_composite_char to chartab.c; move symbols `=>ucs',
1471         `->decomposition', `compat', `isolated', `initial', `medial',
1472         `final', `vertical', `noBreak', `fraction', `super', `sub',
1473         `circle', `square', `wide', `narrow', `small' and `font' to
1474         chartab.c.
1475         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1476         setting codes for `Vcharacter_composition_table' and
1477         `Vcharacter_variant_table' to chartab.c.
1478         (complex_vars_of_mule_charset): Move setting code for
1479         `Vchar_attribute_hash_table' to chartab.c.
1480
1481         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1482         (make_char_id_table): New prototype.
1483         (put_char_id_table): Likewise.
1484         (Fget_char_attribute): Likewise.
1485
1486         * chartab.c: Move char-id-table related code from mule-charset.c.
1487         (Vutf_2000_version): Moved from mule-charset.c.
1488
1489         * char-ucs.h (Qucs): New external variable.
1490         (put_char_ccs_code_point): New prototype.
1491         (remove_char_ccs): Likewise.
1492
1493 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1494
1495         * mule-charset.c (Vcharset_ucs_jis): New variable.
1496         (Qucs_jis): Likewise.
1497         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1498         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1499
1500         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1501
1502 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1503
1504         * mule-charset.c (map_over_uint8_byte_table): New function.
1505         (map_over_uint16_byte_table): Likewise.
1506         (map_over_byte_table): Likewise.
1507         (map_char_id_table): Likewise.
1508         (slow_map_char_id_table_fun): Likewise.
1509         (Fmap_char_attribute): Likewise.
1510         (syms_of_mule_charset): Add new function `map-char-attribute'.
1511
1512 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1513
1514         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1515         (syms_of_mule_charset): Add new function `find-char'.
1516
1517 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1518
1519         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1520         XEmacs UTF-2000.
1521         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1522         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1523         XEmacs UTF-2000.
1524         (complex_vars_of_mule_charset): Add new coded-charset
1525         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1526         `ideograph-gt-pj-*'.
1527
1528         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1529
1530 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1531
1532         * mule-charset.c (encode_builtin_char_1): Purge codes about
1533         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1534         {MIN|MAX}_CHAR_HEBREW.
1535         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1536         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1537
1538         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1539         (MAX_CHAR_GREEK): Purged.
1540         (MIN_CHAR_CYRILLIC): Purged.
1541         (MAX_CHAR_CYRILLIC): Purged.
1542         (MIN_CHAR_HEBREW): Commented out.
1543         (MAX_CHAR_HEBREW): Likewise.
1544
1545 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1546
1547         * mule-charset.c (Qto_ucs): New variable.
1548         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1549         (Fdefine_char): Likewise.
1550         (syms_of_mule_charset): Add new symbol `=>ucs'.
1551
1552 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1553
1554         * mule-charset.c (Fdecode_char): Fixed.
1555
1556 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1557
1558         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1559         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1560         "tcvn5712-1".
1561
1562 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1563
1564         * mule-charset.c (Vcharset_ucs_big5): New variable.
1565         (Qucs_big5): Likewise.
1566         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1567         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1568
1569         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1570
1571 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1572
1573         * mule-charset.c (decode_builtin_char): Check Big5 code range
1574         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1575
1576 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1577
1578         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1579         (Qchinese_gb12345): Likewise.
1580         (Fdecode_builtin_char): Fixed.
1581         (syms_of_mule_charset): Add `chinese-gb12345'.
1582         (complex_vars_of_mule_charset): Add coded-charset
1583         `chinese-gb12345'.
1584
1585         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1586         (LEADING_BYTE_CHINESE_GB12345): New macro.
1587
1588 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1589
1590         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1591         and `latin-viscii-upper' for `latin-viscii'.
1592
1593 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1594
1595         * mule-charset.c (Fdecode_builtin_char): Comment out
1596         regularization code for ISO-IR GR representation.
1597
1598 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1599
1600         * mule-charset.c (decode_builtin_char): New function; renamed from
1601         `make_builtin_char'; return -1 instead of signal.
1602         (Fdecode_builtin_char): Use `decode_builtin_char'.
1603
1604         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1605         `make_builtin_char'.
1606         (DECODE_CHAR): Use `decode_builtin_char' instead of
1607         `make_builtin_char'; use mapping table of `chinese-big5' for
1608         `chinese-big5-{1,2}'.
1609
1610 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1611
1612         * text-coding.c (char_encode_big5): New function.
1613         (char_finish_big5): Likewise.
1614         (reset_encoding_stream): Use `char_encode_big5' and
1615         `char_finish_big5' for CODESYS_BIG5.
1616         (mule_encode): Don't use `encode_coding_big5'.
1617         (encode_coding_big5): Deleted.
1618
1619 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1620
1621         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1622         0x81- in XEmacs UTF-2000.
1623         (detect_coding_big5): Likewise.
1624
1625 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1626
1627         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1628         generate character-id if the CCS property does not have
1629         corresponding predefined character.
1630         (make_builtin_char): Return -1 if corresponding predefined
1631         character is not found.
1632         (Fdecode_char): Return nil if corresponding character is not
1633         found.
1634         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1635         don't map to builtin ucs space.
1636
1637 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1638
1639         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1640         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1641
1642 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1643
1644         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1645         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1646         (Qideograph_gt): Likewise.
1647         (Qideograph_gt_pj_{1..11}): Likewise.
1648         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1649         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1650         `ideograph-gt-pj-11'.
1651         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1652         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1653         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1654
1655         * char-ucs.h (LEADING_BYTE_GT): New macro.
1656         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1657         (MIN_CHAR_GT): Likewise.
1658         (MAX_CHAR_GT): Likewise.
1659
1660 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1661
1662         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1663         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1664
1665         * doprnt.c (unsigned_int_converters): Add `c'.
1666         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1667
1668         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1669         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1670         `MIN_CHAR_MOJIKYO'.
1671         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1672         (MAX_CHAR_MOJIKYO_0): New macro.
1673         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1674
1675 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1676
1677         * mule-charset.c (Fdefine_char): Delete cemented out code.
1678         (encode_builtin_char_1): Modify for new allocation of builtin
1679         Mojikyo characters.
1680
1681         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1682
1683 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1684
1685         * mule-charset.c (Vcharset_ucs_cns): New variable.
1686         (Qucs_cns): New variable.
1687         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1688         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1689
1690 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1691
1692         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1693
1694 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1695
1696         * search.c (search_buffer): Make `charset_base_code' as
1697         character-id >> 6 to eliminate the corresponding last byte in
1698         UTF-8 representation [I'm not sure it is right thing].
1699         (boyer_moore): Likewise.
1700
1701 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1702
1703         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1704         representation in MULE.
1705
1706 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1707
1708         * text-coding.c (Fmake_coding_system): Use
1709         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1710         `EXTERNAL_PROPERTY_LIST_LOOP'.
1711
1712 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1713
1714         * text-coding.c (decode_output_utf8_partial_char): New function.
1715         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1716
1717 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1718
1719         * text-coding.c (decode_coding_utf8): Output original byte
1720         sequence if it is broken; change order of conditions.
1721
1722         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1723         of conditions.
1724
1725         * mb-multibyte.h (BYTE_ASCII_P):
1726         Use bit ops for char-signedness safety.
1727         (BYTE_C0_P): Use bit ops for char-signedness safety.
1728         (BYTE_C1_P): Use bit ops for char-signedness safety.
1729
1730         * character.h: (XCHAR_OR_CHAR_INT):
1731         Always use inline function.
1732         Remove redundant type checking assert() - XINT will abort quite
1733         nicely.
1734
1735 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1736
1737         * text-coding.c: (Fencode_shift_jis_char):
1738         (Fencode_big5_char):
1739         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1740         Replace 0 with '\0' when working with bytes.
1741         Replace initial "(" with "\(" in docstrings.
1742
1743         (Fmake_coding_system):
1744         When type is ccl and value is vector, register it with a proper
1745         symbol.  And checks whether the given ccl program is valid.
1746         (mule_decode): When calling ccl_driver, if src indicates
1747         NULL pointer, set an empty string instead.
1748         (mule_encode): Likewise.
1749
1750         (detect_eol_type):
1751         (detect_coding_sjis):
1752         (decode_coding_sjis):
1753         (detect_coding_big5):
1754         (decode_coding_big5):
1755         (detect_coding_ucs4):
1756         (decode_coding_ucs4):
1757         (detect_coding_utf8):
1758         (decode_coding_utf8):
1759         (detect_coding_iso2022):
1760         (decode_coding_iso2022):
1761         (decode_coding_no_conversion):
1762         (mule_decode):
1763         Make all detecting and decoding functions take an Extbyte * arg.
1764         (text_encode_generic):
1765         (encode_coding_big5):
1766         (encode_coding_no_conversion):
1767         (mule_encode):
1768         Make all encoding functions take a Bufbyte * arg.
1769         Use size_t instead of unsigned int for memory sizes.
1770         Only cast to unsigned char whenever dereferencing Extbyte *.
1771
1772         (struct lrecord_description fcd_description_1): Use countof.
1773         (complex_vars_of_file_coding):
1774         Use countof instead of sizeof.
1775         Use CHECK_NATNUM instead of CHECK_INT.
1776
1777 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1778
1779         * mule-charset.c (Fget_char_attribute): Add new optional argument
1780         `default-value'.
1781         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1782         (remove_char_ccs): Likewise.
1783
1784 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1785
1786         * text-coding.c (char_encode_shift_jis): New implementation in
1787         UTF-2000.
1788         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1789         ...)'.
1790
1791         * mule-charset.c (Vcharset_chinese_big5): New variable in
1792         UTF-2000.
1793         (Qchinese_big5): New variable in UTF-2000.
1794         (BIG5_SAME_ROW): New macro in UTF-2000.
1795         (make_builtin_char): Use builtin characters of
1796         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1797         characters of `Vcharset_chinese_big5'.
1798         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1799         (complex_vars_of_mule_charset): Add new coded-charset
1800         `chinese-big5' in UTF-2000.
1801
1802         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1803         (Vcharset_chinese_big5): New external variable declaration.
1804         (Vcharset_japanese_jisx0208_1990): Likewise.
1805
1806 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1807
1808         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1809         function.
1810         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1811
1812 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1813
1814         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1815         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1816         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1817         `mojikyo-pj-*'.
1818
1819 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1820
1821         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1822
1823 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1824
1825         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1826         to 0.17.
1827
1828 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1829
1830         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1831         for `CHARSET_BY_ATTRIBUTES'.
1832         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1833         `CHARSET_BY_ATTRIBUTES'.
1834
1835         * text-coding.c (struct decoding_stream): Rename member `CH' to
1836         `CPOS'.
1837         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1838         (decode_coding_sjis): Likewise.
1839         (decode_coding_big5): Likewise.
1840         (decode_coding_ucs4): Likewise.
1841         (decode_coding_utf8): Likewise.
1842         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1843         `CHARSET_BY_ATTRIBUTES'.
1844         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1845         `str->counter'; decode 3, 4 bytes sets.
1846         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1847         sets.
1848         (decode_coding_no_conversion): Use `str->cpos' instead of
1849         `str->ch'.
1850
1851         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1852         (Qmojikyo_2022_1): New variable.
1853         (make_charset): Don't use `CHARSET_TYPE_*'.
1854         (range_charset_code_point): Support coded-charset
1855         `mojikyo-2022-1'.
1856         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1857         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1858         `CHARSET_BY_ATTRIBUTES'.
1859         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1860         `CHARSET_BY_ATTRIBUTES'.
1861         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1862         (complex_vars_of_mule_charset): Add new coded-charset
1863         `mojikyo-2022-1'.
1864
1865         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1866         interface; changed to inline function.
1867
1868         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1869         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1870         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1871         (CHARSET_TYPE_94): Deleted.
1872         (CHARSET_TYPE_94X94): Deleted.
1873         (CHARSET_TYPE_96): Deleted.
1874         (CHARSET_TYPE_96X96): Deleted.
1875         (CHARSET_TYPE_128): Deleted.
1876         (CHARSET_TYPE_128X128): Deleted.
1877         (CHARSET_TYPE_256): Deleted.
1878         (CHARSET_TYPE_256X256): Deleted.
1879         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1880         to inline function.
1881         (DECODE_MOJIKYO_2022): New inline function.
1882         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1883         `Vcharset_mojikyo_2022_1'.
1884
1885 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1886
1887         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1888         instead of `EQ'.
1889         (put_byte_table): Likewise.
1890         (char_id_table_equal): Use `get_byte_table' [new implementation].
1891
1892 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1893
1894         * mule-charset.c: Include <limits.h> in UTF-2000.
1895         (BT_UINT8_MIN): New macro in UTF-2000.
1896         (BT_UINT8_MAX): New macro in UTF-2000.
1897         (BT_UINT8_t): New macro in UTF-2000.
1898         (BT_UINT8_nil): New macro in UTF-2000.
1899         (BT_UINT8_unbound): New macro in UTF-2000.
1900         (INT_UINT8_P): New inline function in UTF-2000.
1901         (UINT8_VALUE_P): New inline function in UTF-2000.
1902         (UINT8_ENCODE): New inline function in UTF-2000.
1903         (UINT8_DECODE): New inline function in UTF-2000.
1904         (mark_uint8_byte_table): New function in UTF-2000.
1905         (print_uint8_byte_table): New function in UTF-2000.
1906         (uint8_byte_table_equal): New function in UTF-2000.
1907         (uint8_byte_table_hash): New function in UTF-2000.
1908         (make_uint8_byte_table): New function in UTF-2000.
1909         (uint8_byte_table_same_value_p): New function in UTF-2000.
1910         (BT_UINT16_MIN): New macro in UTF-2000.
1911         (BT_UINT16_MAX): New macro in UTF-2000.
1912         (BT_UINT16_t): New macro in UTF-2000.
1913         (BT_UINT16_nil): New macro in UTF-2000.
1914         (BT_UINT16_unbound): New macro in UTF-2000.
1915         (INT_UINT16_P): New inline function in UTF-2000.
1916         (UINT16_VALUE_P): New inline function in UTF-2000.
1917         (UINT16_ENCODE): New inline function in UTF-2000.
1918         (UINT16_DECODE): New inline function in UTF-2000.
1919         (UINT8_TO_UINT16): New inline function in UTF-2000.
1920         (mark_uint16_byte_table): New function in UTF-2000.
1921         (print_uint16_byte_table): New function in UTF-2000.
1922         (uint16_byte_table_equal): New function in UTF-2000.
1923         (uint16_byte_table_hash): New function in UTF-2000.
1924         (make_uint16_byte_table): New function in UTF-2000.
1925         (uint16_byte_table_same_value_p): New function in UTF-2000.
1926         (print_byte_table): New function in UTF-2000.
1927         (byte-table): Use `print_byte_table' as printer.
1928         (make_byte_table): Delete second argument `older'.
1929         (byte_table_same_value_p): New function in UTF-2000.
1930         (copy_byte_table): Deleted.
1931         (get_byte_table): New function in UTF-2000.
1932         (put_byte_table): New function in UTF-2000.
1933         (print_char_id_table): New function in UTF-2000.
1934         (char-id-table): Use `print_char_id_table' as printer.
1935         (make_char_id_table): Delete second argument `older'.
1936         (get_char_id_table): Use `get_byte_table [new implementation].
1937         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1938         implementation].
1939         (Ffind_char_attribute_table): New function in UTF-2000.
1940         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1941         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1942         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1943         (syms_of_mule_charset): Add new function
1944         `find-char-attribute-table' in UTF-2000.
1945
1946         * lrecord.h (enum lrecord_type): Add
1947         `lrecord_type_uint16_byte_table' and
1948         `lrecord_type_uint8_byte_table'.
1949
1950         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1951         (Lisp_Uint8_Byte_Table): New type.
1952         (XUINT8_BYTE_TABLE): New macro.
1953         (XSETUINT8_BYTE_TABLE): New macro.
1954         (UINT8_BYTE_TABLE_P): New macro.
1955         (GC_UINT8_BYTE_TABLE_P): New macro.
1956         (struct Lisp_Uint16_Byte_Table): New structure.
1957         (Lisp_Uint16_Byte_Table): New type.
1958         (XUINT16_BYTE_TABLE): New macro.
1959         (XSETUINT16_BYTE_TABLE): New macro.
1960         (UINT16_BYTE_TABLE_P): New macro.
1961         (GC_UINT16_BYTE_TABLE_P): New macro.
1962
1963 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1964
1965         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1966         (Vcharacter_ideographic_strokes_table): Deleted.
1967         (Vcharacter_total_strokes_table): Deleted.
1968         (Vcharacter_morohashi_daikanwa_table): Deleted.
1969         (Vcharacter_decomposition_table): Deleted.
1970         (Qname): Deleted because it is duplicated.
1971         (Qideographic_radical): Deleted.
1972         (Qideographic_strokes): Deleted.
1973         (Qtotal_strokes): Deleted.
1974         (Qmorohashi_daikanwa): Deleted.
1975         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1976         `ideographic-radical', `ideographic-strokes', `total-strokes',
1977         `morohashi-daikanwa' and `->decomposition'.
1978         (Fget_char_attribute): Likewise.
1979         (Fput_char_attribute): Likewise; use `make-vector' instead of
1980         `make_older_vector' for `->decomposition' value.
1981         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1982         `ideograph-daikanwa'.
1983         (syms_of_mule_charset): Delete builtin symbols `name',
1984         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1985         `morohashi-daikanwa'.
1986         (vars_of_mule_charset): Don't setup
1987         `Vcharacter_ideographic_radical_table',
1988         `Vcharacter_ideographic_strokes_table',
1989         `Vcharacter_total_strokes_table',
1990         `Vcharacter_morohashi_daikanwa_table' and
1991         `Vcharacter_decomposition_table'.
1992
1993 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1994
1995         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1996         `make_older_vector', `make_vector_newer_1' and
1997         `make_vector_newer'.
1998
1999         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2000         `make_older_vector' and `make_vector_newer'.
2001
2002         * config.h.in (HAVE_GGC): New macro.
2003
2004 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2005
2006         * mule-charset.c (struct char_attribute_list_closure): New
2007         structure in UTF-2000.
2008         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2009         (Fchar_attribute_list): Likewise.
2010         (Fset_charset_mapping_table): Use `make_vector_newer'.
2011         (Fdecode_builtin_char): New function in UTF-2000.
2012         (syms_of_mule_charset): Add new function `char-attribute-list' and
2013         `decode-builtin-char' in UTF-2000.
2014
2015         * lisp.h (make_vector_newer): New prototype.
2016
2017         * alloc.c (make_vector_newer_1): New function.
2018         (make_vector_newer): New function.
2019
2020 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2021
2022         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2023         50100)'.
2024
2025 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2026
2027         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2028         (Vcharacter_attribute_table): Deleted.
2029         (Vcharacter_name_table): Deleted.
2030         (put_char_attribute): Deleted.
2031         (remove_char_attribute): Deleted.
2032         (struct char_attribute_alist_closure): New structure.
2033         (add_char_attribute_alist_mapper): New function.
2034         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2035         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2036         (Fget_char_attribute): Likewise.
2037         (Fput_char_attribute): Likewise.
2038         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2039         of `remove_char_attribute'.
2040         (Fdefine_char): Return character.
2041         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2042         and `Vcharacter_name_table'.
2043         (complex_vars_of_mule_charset): Likewise
2044         `Vchar_attribute_hash_table'.
2045
2046 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2047
2048         * character.h (CHARC_CHARSET): New macro.
2049         (CHARC_CHARSET_ID): New macro.
2050         (CHARC_CODE_POINT): New macro.
2051         (CHARC_COLUMNS): New macro.
2052         (CHARC_TO_CHAR): New inline function.
2053         (CHARC_EQ): New inline function.
2054         (CHARC_ASCII_EQ): New inline function.
2055         (CHARC_IS_SPACE): New inline function.
2056         (ASCII_TO_CHARC): New inline function.
2057
2058         * char-ucs.h (encode_char_2): Deleted.
2059         (ENCODE_CHAR): Use `encode_char_1' again.
2060         (breakup_char_1): Likewise.
2061         (CHAR_TO_CHARC): New inline function.
2062
2063         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2064
2065 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2066
2067         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2068         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2069         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2070         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2071         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2072         `CHARC_IS_SPACE'.
2073         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2074
2075         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2076         `CHARC_CODE_POINT'.
2077         (x_output_display_block): Use `CHARC_CHARSET' and
2078         `CHARC_ASCII_EQ'.
2079
2080         * redisplay-tty.c (tty_output_display_block): Use
2081         `CHARC_ASCII_EQ'.
2082         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2083
2084         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2085
2086         * insdel.c (find_charsets_in_charc_string): Use
2087         `CHARC_CHARSET_ID'.
2088         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2089         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2090         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2091         (convert_charc_string_into_malloced_string): Likewise.
2092
2093 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2094
2095         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2096         instead of <Emchar_dynarr *> for buf; use
2097         `convert_bufbyte_string_into_charc_dynarr' instead of
2098         `convert_bufbyte_string_into_emchar_dynarr'; use
2099         `find_charsets_in_charc_string' instead of
2100         `find_charsets_in_emchar_string'.
2101
2102         * redisplay.h:
2103         - Include "character.h".
2104         (struct rune): New member `cglyph'; delete member `chr'.
2105
2106         * redisplay.c (redisplay_text_width_charc_string): New function;
2107         delete `redisplay_text_width_emchar_string'.
2108         (rtw_charc_dynarr): New variable; renamed from
2109         `rtw_emchar_dynarr'.
2110         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2111         `rtw_emchar_dynarr'; use
2112         `convert_bufbyte_string_into_charc_dynarr' instead of
2113         `convert_bufbyte_string_into_emchar_dynarr'; use
2114         `redisplay_text_width_charc_string' instead of
2115         `redisplay_text_width_emchar_string'.
2116         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2117         instead of `rtw_emchar_dynarr'; use
2118         `convert_bufbyte_string_into_charc_dynarr' instead of
2119         `convert_bufbyte_string_into_emchar_dynarr'.
2120         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2121         `redisplay_text_width_charc_string' instead of
2122         `redisplay_text_width_emchar_string'.
2123         (create_text_block): Modify for <struct rune> change.
2124         (generate_formatted_string_db): Likewise.
2125         (create_string_text_block): Likewise.
2126         (pixel_to_glyph_translation): Likewise.
2127
2128         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2129         instead of <const Emchar *>.
2130         (x_text_width): Likewise.
2131         (x_output_display_block): Use <Charc_dynarr *> instead
2132         <Emchar_dynarr *>; modify for <structure rune> change.
2133         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2134         *>.
2135
2136         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2137         <const Emchar *>; use `charc_string_displayed_columns' instead of
2138         `emchar_string_displayed_columns'.
2139         (tty_output_display_block): Use <Charc_dynarr *> instead of
2140         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2141         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2142         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2143         `tty_output_emchar_dynarr_dynarr'.
2144         (tty_output_charc_dynarr): New function; delete
2145         `tty_output_charc_dynarr'.
2146
2147         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2148         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2149         <Emchar_dynarr *> for buf; use
2150         `convert_bufbyte_string_into_charc_dynarr' instead of
2151         `convert_bufbyte_string_into_emchar_dynarr'.
2152
2153         * frame.c (title_string_charc_dynarr): New variable; renamed from
2154         `title_string_emchar_dynarr'.
2155         (generate_title_string): Use `title_string_charc_dynarr' instead
2156         of `title_string_emchar_dynarr'; use
2157         `convert_charc_string_into_malloced_string' instead of
2158         `convert_emchar_string_into_malloced_string'.
2159         (init_frame): Use `title_string_charc_dynarr' instead of
2160         `title_string_emchar_dynarr'.
2161
2162         * console.h:
2163         - Include "character.h".
2164         (struct console_methods): Use <const Charc *> instead of <const
2165         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2166         <Emchar_dynarr *> in output_string_method.
2167
2168         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2169         <Emchar_dynarr *>.
2170
2171         * console-stream.c (stream_text_width): Use <const Charc *>
2172         instead of <const Emchar *>.
2173
2174         * character.h (Charc_dynarr): New type.
2175
2176         * char-ucs.h (structure Charc): New structure; define new type
2177         `Charc'.
2178
2179         * char-lb.h (DECODE_CHAR): New inline function.
2180         (encode_char_1): New inline function.
2181         (ENCODE_CHAR): New macro.
2182         (structure Charc): New structure; define new type `Charc'.
2183
2184         * char-1byte.h (Vcharset_control_1): New macro.
2185         (Vcharset_latin_iso8859_1): New macro.
2186         (DECODE_CHAR): New inline function.
2187         (encode_char_1): New inline function.
2188         (ENCODE_CHAR): New macro.
2189         (structure Charc): New structure; define new type `Charc'.
2190
2191         * insdel.c (find_charsets_in_charc_string): New function; delete
2192         `find_charsets_in_emchar_string'.
2193         (charc_string_displayed_columns): New function; delete
2194         `emchar_string_displayed_columns'.
2195         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2196         `convert_bufbyte_string_into_emchar_dynarr'.
2197         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2198         `convert_charc_string_into_bufbyte_dynarr'.
2199         (convert_charc_string_into_malloced_string): New function; delete
2200         `convert_charc_string_into_malloced_string'.
2201
2202         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2203         `find_charsets_in_emchar_string'.
2204         (charc_string_displayed_columns): New prototype; delete
2205         `emchar_string_displayed_columns'.
2206         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2207         `convert_charc_string_into_bufbyte_dynarr'.
2208         (convert_charc_string_into_malloced_string): New prototype; delete
2209         `convert_charc_string_into_malloced_string'.
2210
2211 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2212
2213         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2214
2215 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2216
2217         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2218
2219         * char-ucs.h: Use <short> for <Charset_ID>.
2220
2221         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2222         <Charset_ID>.
2223
2224 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2225
2226         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2227         to 0.16.
2228
2229 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2230
2231         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2232         variable.
2233         (Qmorohashi_daikanwa): New variable.
2234         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2235         for `morohashi-daikanwa' attribute.
2236         (Fget_char_attribute): Likewise.
2237         (Fput_char_attribute): Likewise.
2238         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2239         has the same value of `ideograph-daikanwa'.
2240         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2241         (vars_of_mule_charset): Setup
2242         `Vcharacter_morohashi_daikanwa_table'.
2243
2244 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2245
2246         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2247         attributes.
2248         (add_charset_to_list_mapper): Add `key' instead of
2249         `XCHARSET_NAME (value)' to return aliases.
2250
2251 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2252
2253         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2254         variable.
2255         (Vcharacter_ideographic_strokes_table): New variable.
2256         (Qideographic_radical): New variable.
2257         (Qideographic_strokes): New variable.
2258         (Fchar_attribute_alist): Use
2259         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2260         attribute; use `Vcharacter_ideographic_strokes_table' for
2261         `ideographic-strokes' attribute.
2262         (Fget_char_attribute): Likewise.
2263         (Fput_char_attribute): Likewise.
2264         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2265         `ideographic-strokes'.
2266         (vars_of_mule_charset): Setup
2267         `Vcharacter_ideographic_radical_table' and
2268         `Vcharacter_ideographic_strokes_table'.
2269
2270 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2271
2272         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2273         (Qtotal_strokes): New variable.
2274         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2275         `total-strokes' attribute.
2276         (Fget_char_attribute): Likewise.
2277         (Fput_char_attribute): Likewise.
2278         (syms_of_mule_charset): Add new symbol `total-strokes'.
2279         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2280
2281 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2282
2283         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2284         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2285         are found.
2286         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2287         `->decomposition' attribute.
2288         (Fput_char_attribute): Likewise.
2289         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2290
2291 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2292
2293         * mule-charset.c (decoding_table_check_elements): New function.
2294         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2295
2296 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2297
2298         * mule-charset.c (Fset_charset_mapping_table): Use
2299         `put_char_ccs_code_point'.
2300
2301 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2302
2303         * mule-charset.c (decoding_table_put_char): New inline function.
2304         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2305
2306 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2307
2308         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2309         (XCHARSET_BYTE_SIZE): New macro.
2310         (decoding_table_remove_char): New inline function.
2311         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2312         `decoding_table_remove_char'.
2313         (remove_char_ccs): Use `decoding_table_remove_char'.
2314         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2315
2316 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2317
2318         * mule-charset.c (Vcharacter_name_table): New variable.
2319         (Qname): New variable.
2320         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2321         attribute.
2322         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2323         `Vcharacter_name_table' for `name' attribute.
2324         (Fremove_char_attribute): Use function `remove_char_ccs'.
2325         (put_char_ccs_code_point): New function.
2326         (remove_char_ccs): New function.
2327         (syms_of_mule_charset): Add new symbol `name'.
2328         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2329
2330 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2331
2332         * mule-charset.c (make_byte_table): Add new argument `older'.
2333         (make_char_id_table): Likewise.
2334         (copy_char_id_table): Comment out because it is not used.
2335         (put_char_id_table): Modify for `make_byte_table'.
2336         (Fput_char_attribute): Make encoding_table as older object;
2337         inherit older bit of `Vcharacter_composition_table'.
2338         (mark_charset): Don't mark `cs->encoding_table'.
2339         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2340         normal object; make `Vcharacter_composition_table' as an older
2341         object; delete staticpro for `Vcharacter_composition_table'; make
2342         `Vcharacter_variant_table' as a normal object.
2343
2344         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2345         (mark_object): Don't check older object in UTF-2000.
2346
2347         * lrecord.h (struct lrecord_header): Add new member `older' in
2348         UTF-2000.
2349         (set_lheader_implementation): Setup `SLI_header->older' in
2350         UTF-2000.
2351         (set_lheader_older_implementation): New macro in UTF-2000.
2352         (OLDER_RECORD_P): New macro in UTF-2000.
2353         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2354         (alloc_older_lcrecord): New prototype in UTF-2000.
2355         (alloc_older_lcrecord_type): New macro in UTF-2000.
2356
2357 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2358
2359         * mule-charset.c (byte_table_description): Use
2360         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2361         (char_id_table_description): Delete bogus `, 1'.
2362         (Fget_char_attribute): Refer encoding_table of each coded-charset
2363         to get value of coded-charset attribute of a character.
2364         (Fput_char_attribute): Use `make_older_vector' instead of
2365         `make_vector'; use encoding_table of each coded-charset to store
2366         value of coded-charset attribute of a character.
2367         (Fremove_char_attribute): Use encoding_table of each coded-charset
2368         to store value of coded-charset attribute of a character.
2369         (mark_charset): Mark `cs->encoding_table'; don't mark
2370         `cs->decoding_table'.
2371         (charset_description): Add description of new member
2372         `encoding_table'.
2373         (make_charset): Initialize `encoding_table'.
2374
2375         * char-ucs.h (struct Lisp_Charset): Add new member
2376         `encoding_table'.
2377         (CHARSET_ENCODING_TABLE): New macro.
2378         (XCHARSET_ENCODING_TABLE): New macro.
2379         (charset_code_point): New implementation.
2380         (encode_char_1): Likewise.
2381
2382         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2383         (disksave_object_finalization_1): Call finalizers of
2384         `all_older_lcrecords' in UTF-2000.
2385         (make_older_vector): New function in UTF-2000.
2386         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2387         UTF-2000.
2388
2389         * lisp.h (make_older_vector): New prototype in UTF-2000.
2390
2391 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2392
2393         * lrecord.h (enum lrecord_type): Rename
2394         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2395
2396         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2397         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2398         `get_char_code_table'.
2399
2400         * mule-charset.c (mark_char_id_table): Renamed from
2401         `mark_char_code_table'.
2402         (char_id_table_equal): Renamed from `char_code_table_equal'.
2403         (char_id_table_hash): Renamed from `char_code_table_hash'.
2404         (make_char_id_table): Renamed from `make_char_code_table'.
2405         (copy_char_id_table): Renamed from `copy_char_code_table'.
2406         (get_char_id_table): Renamed from `get_char_code_table'.
2407         (put_char_id_table): Renamed from `put_char_code_table'.
2408         (to_char_id): Renamed from `to_char_code'.
2409
2410         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2411         `Lisp_Char_Code_Table'.
2412         (char_id_table): Renamed from `char_code_table'.
2413         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2414         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2415         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2416         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2417         (get_char_id_table): Renamed from `get_char_code_table'.
2418
2419 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2420
2421         * lrecord.h (enum lrecord_type): Rename
2422         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2423
2424         * mule-charset.c (mark_byte_table): Renamed from
2425         `mark_char_byte_table'.
2426         (byte_table_equal): Renamed from `char_byte_table_equal'.
2427         (byte_table_hash): Renamed from `byte_table_hash'.
2428         (make_byte_table): Renamed from `make_byte_table'.
2429         (copy_byte_table): Renamed from `copy_char_byte_table'.
2430
2431         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2432         `Lisp_Char_Byte_Table'.
2433         (byte_table): Renamed from `char_byte_table'.
2434         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2435         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2436         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2437         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2438
2439 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2440
2441         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2442         (dfc_convert_to_internal_format): Likewise.
2443         
2444         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2445         * text-coding.c (Fcoding_system_alias_p): New function.
2446         * text-coding.c (Fcoding_system_aliasee): New function.
2447         * text-coding.c (append_suffix_to_symbol): New function.
2448         * text-coding.c (dangling_coding_system_alias_p): New function.
2449         * text-coding.c (Ffind_coding_system):
2450         * text-coding.c (Fcopy_coding_system):
2451         * text-coding.c (encode_coding_no_conversion):
2452         * text-coding.c (syms_of_file_coding):
2453         * text-coding.c (vars_of_file_coding):
2454         Rewrite coding system alias code.
2455         Allow nested aliases, like symbolic links.
2456         Allow redefinition of coding system aliases.
2457         Prevent existence of dangling coding system aliases.
2458         Eliminate convert_to_external_format.
2459         Eliminate convert_to_internal_format.
2460         
2461         * text-coding.c: Change enum eol_type to eol_type_t.
2462
2463 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2464
2465         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2466         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2467
2468         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2469         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2470
2471 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2472
2473         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2474         `ideograph-daikanwa'.
2475
2476         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2477         (Vcharset_ucs_bmp): Likewise.
2478         (Vcharset_mojikyo): Add new extern variable definition.
2479         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2480         (Vcharset_latin_iso8859_3): Likewise.
2481         (Vcharset_latin_iso8859_4): Likewise.
2482         (Vcharset_latin_iso8859_9): Likewise.
2483         (Vcharset_latin_viscii_lower): Likewise.
2484         (Vcharset_latin_viscii_upper): Likewise.
2485         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2486         `mojikyo' code-point is used to decode.
2487         (encode_char_2): New function [to convert `mojikyo' code-point to
2488         Mojikyo font encoding].
2489         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2490         (breakup_char_1): Likewise.
2491         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2492
2493 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2494
2495         * text-coding.c (Fmake_coding_system): Add document about
2496         `disable-composition' property.
2497
2498 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2499
2500         * text-coding.c (Qdisable_composition): New variable; delete
2501         `Qcomposite'.
2502         (Fmake_coding_system): Add new property `disable-composite';
2503         delete property `composite'.
2504         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2505         instead of `!CODING_SYSTEM_COMPOSITE'.
2506         (syms_of_file_coding): Add new symbol `disable-composition';
2507         delete symbol `composite'.
2508
2509         * file-coding.h (struct Lisp_Coding_System): Add
2510         `disable_composition'; delete `enable_composition'.
2511         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2512         `CODING_SYSTEM_COMPOSITE'.
2513         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2514         `XCODING_SYSTEM_COMPOSITE'.
2515
2516 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2517
2518         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2519         to 0.15.
2520
2521 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2522
2523         * text-coding.c (Qcomposite): New variable.
2524         (Fmake_coding_system): Add new property `composite'.
2525         (struct decoding_stream): Add `combined_char_count',
2526         `combined_chars' and `combining_table' in UTF-2000.
2527         (COMPOSE_FLUSH_CHARS): New macro.
2528         (COMPOSE_ADD_CHAR): New macro.
2529         (reset_decoding_stream): Reset `str->combined_char_count' and
2530         `str->combining_table' in UTF-2000.
2531         (decode_coding_iso2022): Modify for character-decomposition.
2532         (syms_of_file_coding): Add new symbol `composite'.
2533
2534 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2535
2536         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2537         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2538         of `Vcharacter_composition_table' if `->decomposition' property
2539         has only 1 element.
2540         (Qlatin_tcvn5712): New variable.
2541         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2542         (complex_vars_of_mule_charset): Add new coded-charset
2543         `latin-tcvn5712'.
2544
2545         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2546
2547 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2548
2549         * file-coding.h (struct Lisp_Coding_System): Add
2550         `enable_composition'.
2551         (CODING_SYSTEM_COMPOSITE): New macro.
2552         (XCODING_SYSTEM_COMPOSITE): New macro.
2553
2554 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2555
2556         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2557
2558 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2559
2560         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2561         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2562
2563 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2564
2565         * mule-charset.c (Vcharset_mojikyo): New variable.
2566         (Fdefine_char): Don't use coded-charset which does not have
2567         non-builtin character range to allocate character-id.
2568         (Qmojikyo): New variable.
2569         (syms_of_mule_charset): Add new symbol `mojikyo'.
2570         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2571
2572         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2573         (LEADING_BYTE_MOJIKYO): New macro.
2574         (MIN_CHAR_MOJIKYO): New macro.
2575         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2576         (MAX_CHAR_MOJIKYO): New macro.
2577
2578 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2579
2580         * mule-charset.c (remove_char_attribute): Fixed.
2581
2582 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2583
2584         * mule-charset.c (remove_char_attribute): New function.
2585         (Fremove_char_attribute): New function.
2586         (encode_builtin_char_1): Comment out builtin-support for
2587         greek-iso8859-7 and cyrillic-iso8859-5.
2588         (Fdecode_char): Check `code' is an integer.
2589         (syms_of_mule_charset): Add `remove-char-attribute'.
2590         (MIN_CHAR_GREEK): Deleted.
2591         (MAX_CHAR_GREEK): Likewise.
2592         (MIN_CHAR_CYRILLIC): Likewise.
2593         (MAX_CHAR_CYRILLIC): Likewise.
2594         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2595         MAX_CHAR_GREEK for `greek-iso8859-7'.
2596
2597         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2598         (MAX_CHAR_GREEK): Likewise.
2599         (MIN_CHAR_CYRILLIC): Likewise.
2600         (MAX_CHAR_CYRILLIC): Likewise.
2601
2602 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2603
2604         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2605         format is used without `ucs' property.
2606         (Fdecode_char): Fix problem with GR representation.
2607         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2608         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2609
2610 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2611
2612         * mule-charset.c (make_builtin_char): New function.
2613         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2614         (Fset_charset_mapping_table): Modify for new representation of
2615         code-point.
2616         (Fdecode_char): New function.
2617         (syms_of_mule_charset): Add new builtin function `decode-char' in
2618         UTF-2000.
2619
2620         * char-ucs.h (make_builtin_char): New prototype.
2621         (DECODE_CHAR): New inline function.
2622         (MAKE_CHAR): Use `DECODE_CHAR'.
2623
2624 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2625
2626         * text-coding.c (parse_charset_conversion_specs): Use
2627         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2628         `XCHARSET_TYPE'.
2629         (iso2022_designate): Likewise.
2630
2631         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2632         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2633
2634         * mule-charset.c (Vcharset_ucs): New variable.
2635         (print_charset): Change design; use `CHARSET_CHARS' and
2636         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2637         (make_charset): Change signature to specify `chars' and
2638         `dimension' instead of `type'.
2639         (range_charset_code_point): Modify for 256^n-set.
2640         (encode_builtin_char_1): Encode as `ucs' in default.
2641         (Fmake_charset): Modify for `make_charset'.
2642         (Fmake_reverse_direction_charset): Likewise.
2643         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2644         UTF-2000.
2645         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2646         for `make_charset'.
2647
2648         * char-ucs.h (Vcharset_ucs): New variable.
2649         (LEADING_BYTE_UCS): New macro.
2650         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2651         and `chars' to `unsigned short' from `unsigned int'.
2652         (CHARSET_TYPE): Deleted.
2653         (XCHARSET_TYPE): Deleted.
2654
2655 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2656
2657         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2658
2659         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2660         (ENCODE_CHAR): New macro.
2661
2662 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2663
2664         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2665         to 0.14 (Kawachi-Katakami).
2666
2667 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2668
2669         * text-coding.c (char_encode_shift_jis): Modify for
2670         `charset_code_point'.
2671         (char_encode_iso2022): Likewise.
2672
2673         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2674         (integer) instead of list of <Lisp_Object>s (integers) as the
2675         format of code-point of a coded-charset.
2676         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2677         (encode_builtin_char_1): New function; delete
2678         `split_builtin_char'.
2679         (charset_code_point): Return <int> instead of <Lisp_Object>.
2680         (Fsplit_char): Don't use `SPLIT_CHAR'.
2681
2682         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2683         prototype for `split_builtin_char'.
2684         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2685         (charset_code_point): Likewise.
2686         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2687         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2688
2689 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2690
2691         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2692         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2693
2694 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2695
2696         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2697
2698         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2699         (MAX_CHAR_OBS_94x94): Deleted.
2700
2701 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2702
2703         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2704
2705         * char-ucs.h (MAX_CHAR_BMP): New macro.
2706
2707 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2708
2709         * text-coding.c: Sync with r21-2-24.
2710
2711 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2712
2713         * file-coding.c: Modify for UTF-2000.
2714
2715 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2716
2717         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2718         to 0.13 (Takaida).
2719
2720 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2721
2722         * mule-charset.c (split_builtin_char): Delete builtin support for
2723         `katakana-jisx0201'.
2724         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2725         BMP area in builtin representation.
2726
2727         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2728         `Vcharset_katakana_jisx0201'.
2729
2730 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2731
2732         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2733         (Qisolated): New variable.
2734         (Qinitial): New variable.
2735         (Qmedial): New variable.
2736         (Qfinal): New variable.
2737         (Qvertical): New variable.
2738         (Qsmall): New variable.
2739         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2740         `Qvertical' and `Qsmall'.
2741         (Qmojikyo_pj_[1 .. 21]): New variable.
2742         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2743         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2744         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2745         .. 21]'.
2746
2747 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2748
2749         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2750         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2751         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2752
2753 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2754
2755         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2756         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2757         BMP.
2758         (Qjapanese_jisx0208_1990): New variable.
2759         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2760         (complex_vars_of_mule_charset): Add new coded-charset
2761         `japanese-jisx0208-1990'.
2762
2763         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2764         (MIN_CHAR_JIS_X0208_1990): New macro.
2765         (MAX_CHAR_JIS_X0208_1990): New macro.
2766
2767 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2768
2769         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2770         coded-charset is not found.
2771
2772 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2773
2774         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2775         (Fdefine_char): Use `Fmake_char'.
2776
2777 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2778
2779         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2780         (Vcharset_hiragana_jisx0208): Deleted.
2781         (Vcharset_katakana_jisx0208): Deleted.
2782         (Qideograph_daikanwa): New variable.
2783         (Qhiragana_jisx0208): Deleted.
2784         (Qkatakana_jisx0208): Deleted.
2785         (split_builtin_char): Split `ideograph-daikanwa'.
2786         (Fsplit_char): New implementation for UTF-2000.
2787         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2788         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2789         (complex_vars_of_mule_charset): Add new coded-charset
2790         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2791         `katakana-jisx0208'.
2792
2793         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2794         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2795         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2796         (MIN_CHAR_DAIKANWA): New macro.
2797         (MAX_CHAR_DAIKANWA): New macro.
2798
2799 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2800
2801         * data.c (Fstring_to_number): Don't recognize floating point if
2802         base is not 10.
2803
2804 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2805
2806         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2807
2808 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2809
2810         * mule-charset.c (Qsquare): New variable.
2811         (to_char_code): Add `Qsquare'.
2812         (syms_of_mule_charset): Add new symbol `square'.
2813
2814 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2815
2816         * mule-charset.c (Qcircle): New variable.
2817         (to_char_code): Add `Qcircle'.
2818         (syms_of_mule_charset): Add new symbol `circle'.
2819
2820 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2821
2822         * mule-charset.c (Qfont): New variable.
2823         (to_char_code): Add `Qfont'.
2824         (syms_of_mule_charset): Add new symbol `font'.
2825
2826 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2827
2828         * mule-charset.c (Qsub): New variable.
2829         (to_char_code): Add `Qsub'.
2830         (syms_of_mule_charset): Add new symbol `sub'.
2831
2832 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2833
2834         * mule-charset.c (Fput_char_attribute): Convert each element of
2835         VALUE to GL position if ATTRIBUTE is a GR-set,
2836
2837 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2838
2839         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2840         coded-charset is a GR-set.
2841
2842 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2843
2844         * mule-charset.c (Fput_char_attribute): Check each element of
2845         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2846
2847 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2848
2849         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2850         UTF-2000.
2851         (Qethiopic_ucs): New variable in UTF-2000.
2852         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2853         (complex_vars_of_mule_charset): Add new coded-charset
2854         `ethiopic-ucs' in UTF-2000.
2855
2856         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2857         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2858         9)'.
2859         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2860         10)'.
2861         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2862
2863 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2864
2865         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2866         `ascii'.
2867
2868 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2869
2870         * mule-charset.c (Vcharacter_variant_table): New variable.
2871         (Q_ucs): New variable.
2872         (Fchar_variants): New function.
2873         (Fput_char_attribute): Register `->ucs' value to
2874         `Vcharacter_variant_table'.
2875         (syms_of_mule_charset): Add new function `char-variants' and new
2876         symbol `->ucs'.
2877         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2878
2879 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2880
2881         * mule-charset.c (get_char_code_table): Allow negative character
2882         code.
2883         (put_char_code_table): Likewise.
2884         (Vcharacter_composition_table): New variable.
2885         (Q_decomposition): New variable.
2886         (Qwide): New variable.
2887         (Qnarrow): New variable.
2888         (Qcompat): New variable.
2889         (QnoBreak): New variable.
2890         (Qsuper): New variable.
2891         (Qfraction): New variable.
2892         (to_char_code): New function.
2893         (Fget_composite_char): New function.
2894         (Fput_char_attribute): Register `->decomposition' value to
2895         `Vcharacter_composition_table'.
2896         (syms_of_mule_charset): Add new function `get-composite-char', new
2897         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2898         `super' and `fraction'.
2899         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2900
2901 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2902
2903         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2904         character; copy the return value.
2905
2906 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2907
2908         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2909
2910         * mule-charset.c (range_charset_code_point): Must use make_int.
2911         (split_builtin_char): New function.
2912
2913 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2914
2915         * mule-charset.c (char_byte_table): Change name from
2916         "char-code-table" to "char-byte-table".
2917         (mark_char_code_table): New function.
2918         (char_code_table_equal): New function.
2919         (char_code_table_hash): New function.
2920         (char_code_table_description): New constant.
2921         (char_code_table): New type.
2922         (make_char_code_table): New function.
2923         (copy_char_code_table): New function.
2924         (get_char_code_table): Modify for `char_code_table' type.
2925         (put_char_code_table): Likewise.
2926         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2927         (Kashiwara).
2928
2929         * char-ucs.h (char_code_table): New type.
2930         (XCHAR_CODE_TABLE): New macro.
2931         (XSETCHAR_CODE_TABLE): New macro.
2932         (CHAR_CODE_TABLE_P): New macro.
2933         (GC_CHAR_CODE_TABLE_P): New macro.
2934         (struct Lisp_Char_Code_Table): New structure.
2935
2936 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2937
2938         * mule-charset.c (Fmake_charset): Setup byte_offset for
2939         {94|96}^n-set.
2940
2941 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2942
2943         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2944         character.
2945
2946 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2947
2948         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2949         is found.
2950
2951 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2952
2953         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2954         charset, it is regarded as a charset.
2955         (put_char_attribute): New function in UTF-2000.
2956         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2957         charset, mapping-table of the charset is modified.
2958         (Fdefine_char): New function in UTF-2000.
2959         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2960         `Fput_char_attribute'.
2961         (syms_of_mule_charset): Add new function `define-char' and new
2962         symbol `ucs' in UTF-2000.
2963         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2964
2965 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2966
2967         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2968         non-UTF-2000 configuration.
2969
2970 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2971
2972         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2973         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2974
2975         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2976         deleted.
2977         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2978         (Fset_charset_mapping_table): Likewise.
2979
2980         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2981         (CHARSET_ENCODING_TABLE): Delete.
2982         (XCHARSET_ENCODING_TABLE): Delete.
2983         (charset_code_point): New interface.
2984
2985 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2986
2987         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2988         instead of `charset_get_byte1' and `charset_get_byte2'.
2989
2990         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2991         (charset_get_byte2): Deleted.
2992
2993 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2994
2995         * char-ucs.h (SPLIT_CHAR): New inline function.
2996         (breakup_char_1): Use `SPLIT_CHAR'.
2997
2998         * mule-charset.c (range_charset_code_point): New function.
2999         (charset_code_point): New function.
3000
3001         * char-ucs.h (range_charset_code_point): New interface.
3002         (breakup_char_1): Use `range_charset_code_point'.
3003
3004 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3005
3006         * mule-charset.c (Fmake_charset): Delete unused local variable
3007         `code_offset'.
3008
3009         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3010         (breakup_char_1): Find a charset and code-point in
3011         `Vcharacter_attribute_table'.
3012
3013 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3014
3015         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3016         to 0.10 (Yao).
3017
3018 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3019
3020         * mule-charset.c (Vcharacter_attribute_table): New variable.
3021         (Fchar_attribute_alist): New function.
3022         (Fget_char_attribute): New function.
3023         (Fput_char_attribute): New function.
3024         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3025         too.
3026         (syms_of_mule_charset): Add new function `char-attribute-alist',
3027         `get-char-attribute' and `put-char-attribute'.
3028         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3029
3030 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3031
3032         * mule-charset.c (Fmake_charset): Just use
3033         `get_unallocated_leading_byte'.
3034
3035         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3036         sets; don't use final-byte based number for private sets.
3037
3038 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3039
3040         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3041         integer.
3042
3043 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3044
3045         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3046         to 0.9.
3047
3048 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3049
3050         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3051         of `CHAR_LEADING_BYTE' in UTF-2000.
3052
3053         * insdel.c (find_charsets_in_bufbyte_string): Use
3054         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3055         (find_charsets_in_emchar_string): Likewise.
3056
3057         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3058         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3059
3060         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3061         (CHAR_CHARSET_ID): New macro.
3062
3063 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3064
3065         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3066         charset-id - MIN_LEADING_BYTE.
3067         (put_char_table): Likewise.
3068
3069 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3070
3071         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3072         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3073         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3074         (CHARSET_ID_OFFSET): New macro.
3075         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3076         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3077         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3078         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3079         4).
3080         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3081         5).
3082         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3083         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3084         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3085         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3086         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3087
3088 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3089
3090         * mule-charset.c (next_allocated_leading_byte): New variable in
3091         UTF-2000.
3092         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3093         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3094         (get_unallocated_leading_byte): Simply use
3095         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3096         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3097         UTF-2000.
3098
3099         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3100         (MAX_LEADING_BYTE_PRIVATE): New macro.
3101         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3102         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3103
3104 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3105
3106         * mule-charset.c (Fmake_charset): Allocate final-byte based
3107         charset-id for 94-set, 96-set and 94x94-set.
3108
3109 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3110
3111         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3112         ambiguous `else'.
3113         (Fmake_charset): Likewise.
3114         (complex_vars_of_mule_charset): Modify the font registry of
3115         `ucs-bmp' not to match `Ethiopic-Unicode'.
3116
3117 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3118
3119         * mule-charset.c (complex_vars_of_mule_charset): Add font
3120         registory of `ucs-bmp'.
3121
3122 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3123
3124         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3125         coded-charsets in `default-coded-charset-priority-list' when
3126         breaking up a character.
3127
3128         * mule-charset.c (Vcharset_latin_viscii): New variable.
3129         (Qlatin_viscii): New variable.
3130         (make_charset): Don't use `decoding_table'.
3131         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3132         byte_offset.
3133         (Fset_charset_mapping_table): New implementation.
3134         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3135         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3136         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3137         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3138         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3139         charset `latin_viscii'.
3140
3141         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3142         (CHARSET_TYPE_94X94): Change to 1 from 2.
3143         (CHARSET_TYPE_96): Change to 2 from 1.
3144         (CHARSET_TYPE_128): New macro.
3145         (CHARSET_TYPE_128X128): Change to 5 from 4.
3146         (CHARSET_TYPE_256): New macro.
3147         (CHARSET_TYPE_256X256): Change to 7 from 5.
3148         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3149
3150 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3151
3152         * text-coding.c (char_encode_shift_jis): Refer
3153         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3154         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3155
3156         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3157         (char_byte_table_equal): New function in UTF-2000.
3158         (char_byte_table_hash): New function in UTF-2000.
3159         (char_byte_table_description): New constant in UTF-2000.
3160         (char_byte_table): New type in UTF-2000.
3161         (make_char_byte_table): New function in UTF-2000.
3162         (copy_char_byte_table): New function in UTF-2000.
3163         (make_char_code_table): New macro in UTF-2000.
3164         (get_char_code_table): New function in UTF-2000.
3165         (put_char_code_table): New function in UTF-2000.
3166         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3167         (charset_description): Add setting in UTF-2000.
3168         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3169         `CHARSET_TO_BYTE1_TABLE(cs)'.
3170         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3171         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3172         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3173         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3174         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3175         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3176         `CHARSET_TO_BYTE2_TABLE(cs)'.
3177
3178         * char-ucs.h (char_byte_table): New type.
3179         (XCHAR_BYTE_TABLE): New macro.
3180         (XSETCHAR_BYTE_TABLE): New macro.
3181         (CHAR_BYTE_TABLE_P): New macro.
3182         (GC_CHAR_BYTE_TABLE_P): New macro.
3183         (struct Lisp_Char_Byte_Table): New structure.
3184         (get_char_code_table): New interface.
3185         (Emchar_to_byte_table): Deleted.
3186         (get_byte_from_character_table): Deleted.
3187         (struct Lisp_Charset): Add `encoding_table'; delete
3188         `to_byte1_table' and `to_byte2_table'.
3189         (CHARSET_ENCODING_TABLE): New macro.
3190         (CHARSET_TO_BYTE1_TABLE): Deleted.
3191         (CHARSET_TO_BYTE2_TABLE): Deleted.
3192         (XCHARSET_ENCODING_TABLE): New macro.
3193         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3194         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3195
3196 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3197
3198         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3199         `vietnamese-viscii-*'.
3200
3201 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3202
3203         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3204         (Qvietnamese_viscii_upper): New variable.
3205         (Fdefine_charset_alias): New function.
3206         (syms_of_mule_charset): Add new function `define-charset-alias'.
3207         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3208         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3209         `latin-viscii-*'.
3210
3211 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3212
3213         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3214         (MAX_CHAR_OBS_94x94): New macro.
3215         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3216         for 94x94 sets.
3217
3218         * mule-charset.c (put_byte_from_character_table): Change unit size
3219         from 128 to 256.
3220         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3221         not defined.
3222         (Fmake_reverse_direction_charset): Modify dummy argument of
3223         `make_charset' for non-UTF-2000 environment.
3224
3225 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3226
3227         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3228
3229         * mule-charset.c (destroy_byte_from_character_table): New macro.
3230         (latin_jisx0201_to_ucs): Deleted.
3231         (latin_iso8859_2_to_ucs): Deleted.
3232         (latin_iso8859_3_to_ucs): Deleted.
3233         (latin_iso8859_4_to_ucs): Deleted.
3234         (latin_iso8859_9_to_ucs): Deleted.
3235         (latin_viscii_lower_to_ucs): Deleted.
3236         (latin_viscii_upper_to_ucs): Deleted.
3237         (mark_charset): Mark `cs->decoding_table'.
3238         (Fcharset_mapping_table): Fix DOC-string.
3239         (Fset_charset_mapping_table): New function.
3240         (syms_of_mule_charset): Add nwe function
3241         `set-charset-mapping-table'.
3242         (complex_vars_of_mule_charset): Don't setup and use
3243         `latin_*_to_ucs'.
3244
3245 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3246
3247         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3248         charset.
3249
3250 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3251
3252         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3253         (Vcharset_katakana_jisx0208): New variable.
3254         (Qhiragana_jisx0208): New variable.
3255         (Qkatakana_jisx0208): New variable.
3256         (make_charset): Add new argument `byte_offset'.
3257         (charset_get_byte1): Modify for new coded-charset definition; use
3258         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3259         `XCHARSET_BYTE_OFFSET'.
3260         (Fmake_charset): Modify for `make_charset'.
3261         (Fmake_reverse_direction_charset): Likewise.
3262         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3263         `katakana-jisx0208'.
3264         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3265         `.'  in font registry of charset `katakana-jisx0201',
3266         `latin-jisx0201', `vietnamese-viscii-lower' and
3267         `vietnamese-viscii-upper'; modify DOC-string of charset
3268         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3269         registry of charset `japanese-jisx0208' not to use font for JIS
3270         X0208:1990; add new charset `hiragana-jisx0208' and
3271         `katakana-jisx0208'.
3272
3273         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3274         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3275         (struct Lisp_Charset): Add `byte_offset'.
3276         (CHARSET_BYTE_OFFSET): New macro.
3277         (XCHARSET_UCS_MIN): New macro.
3278         (XCHARSET_UCS_MAX): New macro.
3279         (XCHARSET_CODE_OFFSET): New macro.
3280         (XCHARSET_BYTE_OFFSET): New macro.
3281         (MIN_CHAR_HIRAGANA): New macro.
3282         (MAX_CHAR_HIRAGANA): New macro.
3283         (MIN_CHAR_KATAKANA): New macro.
3284         (MAX_CHAR_KATAKANA): New macro.
3285         (MAKE_CHAR): Modify for new coded-charset definition; use
3286         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3287         `XCHARSET_BYTE_OFFSET'.
3288
3289 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3290
3291         * mule-charset.c (CHAR96): Deleted.
3292         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3293         <Lisp_Object>.
3294         (latin_iso8859_2_to_ucs): Likewise.
3295         (latin_iso8859_3_to_ucs): Likewise.
3296         (latin_iso8859_4_to_ucs): Likewise.
3297         (latin_iso8859_9_to_ucs): Likewise.
3298         (latin_viscii_lower_to_ucs): Likewise.
3299         (latin_viscii_upper_to_ucs): Likewise.
3300         (latin_tcvn5712_to_ucs): Commented out.
3301         (make_charset): Change type of argument `decoding_table' from
3302         <Emchar*> to <Lisp_Object> [vector of characters].
3303         (Fmake_charset): Modify for `make_charset'.
3304         (Fmake_reverse_direction_charset): Likewise.
3305         (Fcharset_mapping_table): New function in UTF-2000.
3306         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3307         UTF-2000.
3308         (complex_vars_of_mule_charset): Modify for type change of
3309         `*_to_ucs'; modify for `make_charset'.
3310
3311         * char-ucs.h (struct Lisp_Charset): Change type of
3312         `decoding_table' from <Emchar*> to <Lisp_Object>.
3313         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3314
3315 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3316
3317         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3318         error with non-UTF-2000-Mule.
3319
3320 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3321
3322         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3323         in lisp again].
3324         (Vcharset_chinese_cns11643_4): Likewise.
3325         (Vcharset_chinese_cns11643_5): Likewise.
3326         (Vcharset_chinese_cns11643_6): Likewise.
3327         (Vcharset_chinese_cns11643_7): Likewise.
3328         (Qchinese_cns11643_3): Likewise.
3329         (Qchinese_cns11643_4): Likewise.
3330         (Qchinese_cns11643_5): Likewise.
3331         (Qchinese_cns11643_6): Likewise.
3332         (Qchinese_cns11643_7): Likewise.
3333         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3334         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3335         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3336         (complex_vars_of_mule_charset): Likewise.
3337
3338 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3339
3340         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3341         96-set.
3342         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3343         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3344
3345 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3346
3347         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3348         0xFF60.
3349         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3350         (breakup_char_1): Likewise.
3351
3352         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3353         one of them includes the specified character.
3354
3355 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3356
3357         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3358
3359 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3360
3361         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3362
3363 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3364
3365         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3366         definition for non-UTF-2000 Mule.
3367         (latin_iso8859_3_to_ucs): Likewise.
3368         (latin_iso8859_4_to_ucs): Likewise.
3369         (latin_iso8859_9_to_ucs): Likewise.
3370         (latin_jisx0201_to_ucs): Likewise.
3371         (MIN_CHAR_THAI): Likewise.
3372         (MAX_CHAR_THAI): Likewise.
3373         (MIN_CHAR_GREEK): Likewise.
3374         (MAX_CHAR_GREEK): Likewise.
3375         (MIN_CHAR_HEBREW): Likewise.
3376         (MAX_CHAR_HEBREW): Likewise.
3377         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3378         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3379         (MIN_CHAR_CYRILLIC): Likewise.
3380         (MAX_CHAR_CYRILLIC): Likewise.
3381
3382 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3383
3384         * char-ucs.h (breakup_char_1): Use
3385         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3386         thai-tis620 and katakana-jisx0201 area.
3387
3388 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3389
3390         * char-ucs.h (breakup_char_1): Use
3391         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3392         area.
3393
3394         * text-coding.c (reset_encoding_stream): Fixed.
3395         (char_encode_ucs4): Delete `& 255'.
3396
3397         * char-ucs.h (breakup_char_1): Use
3398         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3399
3400 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3401
3402         * file-coding.c (Fmake_coding_system): Don't set up
3403         `codesys->fixed.size'.
3404         (encode_coding_no_conversion): Don't refer
3405         `str->codesys->fixed.size'.
3406
3407 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3408
3409         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3410         (latin_a_char_to_byte1): Deleted.
3411         (latin_a_char_to_byte2): Deleted.
3412
3413 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3414
3415         * mule-charset.c (make_charset): Add new argument `ucs_min',
3416         `ucs_max' and `code_offset'.
3417         (charset_get_byte1): New implementation [delete specific charset
3418         depended implementations].
3419         (Fmake_charset): Modify for `make_charset'.
3420         (Fmake_reverse_direction_charset): Likewise.
3421         (complex_vars_of_mule_charset): Likewise.
3422
3423         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3424         `code_offset'.
3425         (CHARSET_UCS_MIN): New macro.
3426         (CHARSET_UCS_MAX): New macro.
3427         (CHARSET_CODE_OFFSET): New macro.
3428         (MAKE_CHAR): Delete charset depended definitions [except
3429         katakana-jisx0201].
3430
3431 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3432
3433         * char-ucs.h (breakup_char_1): Use
3434         `Vdefault_coded_charset_priority_list' for C0-Controls,
3435         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3436
3437 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3438
3439         * char-ucs.h (charset_get_byte1): New function.
3440         (XCHARSET_GET_BYTE1): Deleted.
3441         (charset_get_byte2): New function.
3442         (XCHARSET_GET_BYTE2): Deleted.
3443         (Vdefault_coded_charset_priority_list): New external variable.
3444         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3445         `Vdefault_preferred_coded_charset_list'.
3446
3447         * mule-charset.c (charset_get_byte1): New function.
3448         (charset_get_byte2): New function.
3449         (Vdefault_coded_charset_priority_list): New variable.
3450         (vars_of_mule_charset): Add new variable
3451         `default-coded-charset-priority-list'.
3452
3453 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3454
3455         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3456         (XCHARSET_GET_BYTE2): New inline function.
3457         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3458         `XCHARSET_GET_BYTE2'.
3459
3460 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3461
3462         * mule-charset.c (make_charset): Initialize
3463         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3464         NULL if table is not defined.
3465
3466 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3467
3468         * text-coding.c (char_encode_shift_jis): Use
3469         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3470         `ucs_to_latin_jisx0201'.
3471
3472         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3473         (ucs_to_latin_iso8859_2): Deleted.
3474         (ucs_to_latin_iso8859_3): Deleted.
3475         (ucs_to_latin_iso8859_4): Deleted.
3476         (ucs_to_latin_iso8859_9): Deleted.
3477         (ucs_to_latin_viscii_lower): Deleted.
3478         (ucs_to_latin_viscii_upper): Deleted.
3479         (ucs_to_latin_tcvn5712): Deleted.
3480         (make_charset): Add new argument `decoding_table'; set up
3481         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3482         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3483         `decoding_table' is defined in UTF-2000.
3484         (Fmake_charset): Modify for `make_charset'.
3485         (Fmake_reverse_direction_charset): Likewise.
3486         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3487         and `GENERATE_96_SET'.
3488
3489         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3490         (ucs_to_latin_jisx0201): Deleted.
3491         (latin_iso8859_2_to_ucs): Deleted.
3492         (ucs_to_latin_iso8859_2): Deleted.
3493         (latin_iso8859_3_to_ucs): Deleted.
3494         (ucs_to_latin_iso8859_3): Deleted.
3495         (latin_iso8859_4_to_ucs): Deleted.
3496         (ucs_to_latin_iso8859_4): Deleted.
3497         (latin_iso8859_9_to_ucs): Deleted.
3498         (ucs_to_latin_iso8859_9): Deleted.
3499         (latin_viscii_lower_to_ucs): Deleted.
3500         (ucs_to_latin_viscii_lower): Deleted.
3501         (latin_viscii_upper_to_ucs): Deleted.
3502         (ucs_to_latin_viscii_upper): Deleted.
3503         (struct Lisp_Charset): Renamed `encoding_table' to
3504         `to_byte1_table'; add `to_byte2_table'.
3505         (CHARSET_DECODING_TABLE): New macro.
3506         (CHARSET_TO_BYTE1_TABLE): New macro.
3507         (CHARSET_TO_BYTE2_TABLE): New macro.
3508         (XCHARSET_DECODING_TABLE): New macro.
3509         (XCHARSET_TO_BYTE1_TABLE): New macro.
3510         (XCHARSET_TO_BYTE2_TABLE): New macro.
3511         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3512         tables.
3513         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3514         don't use `ucs_to_*' tables.
3515
3516 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3517
3518         * text-coding.c (Fmake_coding_system): Don't set up
3519         `codesys->fixed.size'.
3520         (encode_coding_no_conversion): Use `if' instead of `switch'.
3521
3522         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3523
3524 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3525
3526         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3527         (Fmake_charset): Modify for `make_charset'.
3528         (Fmake_reverse_direction_charset): Likewise.
3529         (complex_vars_of_mule_charset): Likewise.
3530
3531 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3532
3533         * text-coding.c (char_encode_shift_jis): Use table
3534         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3535
3536 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3537
3538         * text-coding.c (text_encode_generic): Use `if' instead of
3539         `switch'.
3540         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3541         decode JIS-Latin.
3542
3543 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3544
3545         * text-coding.c (encode_coding_sjis): Deleted.
3546         (char_encode_shift_jis): New function.
3547         (char_finish_shift_jis): New function.
3548         (reset_encoding_stream): Set up `encode_char' and `finish' for
3549         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3550         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3551         (char_encode_utf8): Treat `eol_type'.
3552
3553 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3554
3555         * file-coding.c (decode_coding_iso2022): Use
3556         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3557
3558 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3559
3560         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3561         to 0.7 (Hirano).
3562
3563 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3564
3565         * char-lb.h (CHAR_COLUMNS): New macro.
3566
3567 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3568
3569         * text-coding.c (char_encode_ucs4): New function.
3570         (char_finish_ucs4): New function.
3571         (encode_coding_ucs4): Deleted.
3572         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3573         (text_encode_generic): Delete local variable `charset' and `half'.
3574         (ucs_to_mule_table): Deleted.
3575         (mule_to_ucs_table): Deleted.
3576         (Fset_ucs_char): Deleted.
3577         (ucs_to_char): Deleted.
3578         (Fucs_char): Deleted.
3579         (Fset_char_ucs): Deleted.
3580         (Fchar_ucs): Deleted.
3581         (decode_ucs4): Deleted.
3582         (mule_char_to_ucs4): Deleted.
3583         (encode_ucs4): Deleted.
3584         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3585         (decode_coding_utf8): Likewise.
3586         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3587         (char_encode_iso2022): Fixed.
3588         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3589         `Fset_char_ucs' and `Fchar_ucs'.
3590         (complex_vars_of_file_coding): Don't initialize
3591         `ucs_to_mule_table'.
3592
3593         * objects-tty.c (tty_initialize_font_instance): Don't use
3594         `XCHARSET_COLUMNS'.
3595
3596         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3597         UTF-2000.
3598
3599         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3600         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3601
3602         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3603         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3604         (emchar_string_displayed_columns): Likewise.
3605
3606         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3607         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3608         (string_column_at_point): Likewise.
3609         (Fmove_to_column): Likewise.
3610
3611         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3612         `encoding_table' and `decoding_table'.
3613         (CHARSET_REP_BYTES): Deleted.
3614         (XCHARSET_REP_BYTES): Deleted.
3615         (XCHARSET_COLUMNS): Deleted.
3616         (CHAR_COLUMNS): New macro.
3617         (lookup_composite_char): Deleted unconditionally.
3618         (composite_char_string): Likewise.
3619
3620 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3621
3622         * char-ucs.h (Emchar_to_byte_table): New type.
3623         (get_byte_from_character_table): New function interface.
3624         (Vcharset_latin_jisx0201): New variable.
3625         (latin_jisx0201_to_ucs): New variable.
3626         (ucs_to_latin_jisx0201): New variable.
3627         (Vcharset_latin_iso8859_2): New variable.
3628         (latin_iso8859_2_to_ucs): New variable.
3629         (ucs_to_latin_iso8859_2): New variable.
3630         (Vcharset_latin_iso8859_3): New variable.
3631         (latin_iso8859_3_to_ucs): New variable.
3632         (ucs_to_latin_iso8859_3): New variable.
3633         (Vcharset_latin_iso8859_4): New variable.
3634         (latin_iso8859_4_to_ucs): New variable.
3635         (ucs_to_latin_iso8859_4): New variable.
3636         (Vcharset_latin_iso8859_9): New variable.
3637         (latin_iso8859_9_to_ucs): New variable.
3638         (ucs_to_latin_iso8859_9): New variable.
3639         (Vcharset_latin_viscii_lower): New variable.
3640         (latin_viscii_lower_to_ucs): New variable.
3641         (ucs_to_latin_viscii_lower): New variable.
3642         (Vcharset_latin_viscii_upper): New variable.
3643         (latin_viscii_upper_to_ucs): New variable.
3644         (ucs_to_latin_viscii_upper): New variable.
3645         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3646         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3647         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3648         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3649         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3650         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3651         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3652         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3653         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3654         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3655
3656         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3657         (Vcharset_latin_viscii_upper): New variable.
3658         (make_byte_from_character_table): New function.
3659         (put_byte_from_character_table): New function.
3660         (get_byte_from_character_table): New function.
3661         (CHAR96): New macro.
3662         (ucs_to_latin_jisx0201): New variable.
3663         (latin_jisx0201_to_ucs): New variable.
3664         (ucs_to_latin_iso8859_2): New variable.
3665         (latin_iso8859_2_to_ucs): New variable.
3666         (ucs_to_latin_iso8859_3): New variable.
3667         (latin_iso8859_3_to_ucs): New variable.
3668         (ucs_to_latin_iso8859_4): New variable.
3669         (latin_iso8859_4_to_ucs): New variable.
3670         (ucs_to_latin_iso8859_9): New variable.
3671         (latin_iso8859_9_to_ucs): New variable.
3672         (ucs_to_latin_viscii_lower): New variable.
3673         (latin_viscii_lower_to_ucs): New variable.
3674         (ucs_to_latin_viscii_upper): New variable.
3675         (latin_viscii_upper_to_ucs): New variable.
3676         (ucs_to_latin_tcvn5712): New variable.
3677         (latin_tcvn5712_to_ucs): New variable.
3678         (Qlatin_viscii_lower): New variable.
3679         (Qlatin_viscii_upper): New variable.
3680         (syms_of_mule_charset): Set up new symbol
3681         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3682         (complex_vars_of_mule_charset): Set up new charset
3683         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3684         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3685         `ucs_to_<CHARSET>' tables.
3686
3687 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3688
3689         * text-coding.c: New file.
3690
3691 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3692
3693         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3694
3695         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3696         (MAKE_CHAR): Modify for `ucs-bmp'.
3697         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3698         non-MULE characters of BMP.
3699
3700 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3701
3702         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3703         to 0.6.
3704
3705 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3706
3707         * lstream.h:
3708         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3709         - Include character.h for `CHAR_ASCII_P'.
3710
3711         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3712
3713         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3714         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3715
3716         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3717         (BYTE_C0_P): Likewise.
3718         (BYTE_C1_P): Likewise.
3719         (Lstream_get_emchar_1): Likewise.
3720         (Lstream_fput_emchar): Likewise.
3721         (Lstream_funget_emchar): Likewise.
3722         (copy_internal_to_external): Likewise.
3723         (copy_external_to_internal): Likewise.
3724
3725         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3726         (BYTE_C0_P): Likewise.
3727         (BYTE_C1_P): Likewise.
3728         (Lstream_get_emchar_1): Likewise.
3729         (Lstream_fput_emchar): Likewise.
3730         (Lstream_funget_emchar): Likewise.
3731         (copy_internal_to_external): Likewise.
3732         (copy_external_to_internal): Likewise.
3733
3734         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3735         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3736
3737         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3738         (BYTE_ASCII_P): Moved to mb-1byte.h.
3739
3740 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3741
3742         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3743
3744         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3745         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3746         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3747         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3748         (VALIDATE_CHARPTR_FORWARD): Likewise.
3749         (simple_charptr_emchar): Moved to mb-multibyte.h.
3750         (simple_set_charptr_emchar): Likewise.
3751         (simple_charptr_copy_char): Likewise.
3752         (non_ascii_charptr_emchar): Likewise.
3753         (non_ascii_set_charptr_emchar): Likewise.
3754         (non_ascii_charptr_copy_char): Likewise.
3755         (charptr_emchar): Moved to mb-*byte.h.
3756         (set_charptr_emchar): Likewise.
3757         (charptr_copy_char): Likewise.
3758
3759         * mb-1byte.h, mb-multibyte.h: New files.
3760
3761 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3762
3763         * mb-utf-8.h (MULTIBYTE): New macro.
3764         (MAX_EMCHAR_LEN): Moved from buffer.h.
3765         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3766
3767         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3768
3769         * mb-lb.h, multibyte.h: New files.
3770
3771         * char-1byte.h (Charset_ID): Moved from buffer.h.
3772         (MIN_LEADING_BYTE): Likewise.
3773         (LEADING_BYTE_ASCII): Likewise.
3774         (NUM_LEADING_BYTES): Likewise.
3775         (CHARSETP): Likewise.
3776         (CHARSET_BY_LEADING_BYTE): Likewise.
3777         (XCHARSET_LEADING_BYTE): Likewise.
3778         (XCHARSET_GRAPHIC): Likewise.
3779         (XCHARSET_COLUMNS): Likewise.
3780         (XCHARSET_DIMENSION): Likewise.
3781         (CHAR_CHARSET): Likewise.
3782         (CHAR_LEADING_BYTE): Likewise.
3783         (BREAKUP_CHAR): Likewise.
3784         (Vcharset_ascii): Likewise.
3785
3786         * buffer.h: Include multibyte.h unconditionally.
3787         (VALID_CHARPTR_P): Moved to multibyte.h.
3788         (ASSERT_VALID_CHARPTR): Likewise.
3789         (REAL_INC_CHARPTR): Likewise.
3790         (REAL_INC_CHARBYTIND): Likewise.
3791         (REAL_DEC_CHARPTR): Likewise.
3792         (INC_CHARPTR): Likewise.
3793         (INC_CHARBYTIND): Likewise.
3794         (DEC_CHARPTR): Likewise.
3795         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3796         (VALIDATE_CHARPTR_FORWARD): Likewise.
3797         (charptr_n_addr): Likewise.
3798         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3799         (simple_charptr_emchar): Moved to multibyte.h.
3800         (simple_set_charptr_emchar): Likewise.
3801         (simple_charptr_copy_char): Likewise.
3802         (non_ascii_charptr_emchar): Likewise.
3803         (non_ascii_set_charptr_emchar): Likewise.
3804         (non_ascii_charptr_copy_char): Likewise.
3805         (charptr_emchar): Likewise.
3806         (set_charptr_emchar): Likewise.
3807         (charptr_copy_char): Likewise.
3808         (charptr_emchar_n): Likewise.
3809         (Charset_ID): Moved to char-1byte.h.
3810         (Vcharset_ascii): Likewise.
3811         (CHAR_CHARSET): Likewise.
3812         (CHAR_LEADING_BYTE): Likewise.
3813         (LEADING_BYTE_ASCII): Likewise.
3814         (NUM_LEADING_BYTES): Likewise.
3815         (MIN_LEADING_BYTE): Likewise.
3816         (CHARSETP): Likewise.
3817         (CHARSET_BY_LEADING_BYTE): Likewise.
3818         (XCHARSET_LEADING_BYTE): Likewise.
3819         (XCHARSET_GRAPHIC): Likewise.
3820         (XCHARSET_COLUMNS): Likewise.
3821         (XCHARSET_DIMENSION): Likewise.
3822         (BREAKUP_CHAR): Likewise.
3823
3824 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3825
3826         * character.h: Add document about interface for characters.
3827
3828         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3829         (MAKE_CHAR): Delete comment about
3830         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3831         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3832         (BREAKUP_CHAR): Modify name of arguments.
3833         (CHAR_CHARSET): Modify name of argument.
3834
3835         * buffer.h: Delete document about Emchar accessors.
3836
3837 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3838
3839         * character.h (CHAR_INTP): Moved from buffer.h
3840         (CHAR_OR_CHAR_INTP): Likewise.
3841         (XCHAR_OR_CHAR_INT): Likewise.
3842         (CHECK_CHAR_COERCE_INT): Likewise.
3843
3844         * buffer.h (CHAR_INTP): Moved to character.h
3845         (CHAR_OR_CHAR_INTP): Likewise.
3846         (XCHAR_OR_CHAR_INT): Likewise.
3847         (CHECK_CHAR_COERCE_INT): Likewise.
3848
3849 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3850
3851         * character.h:
3852         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3853         - Include char-1byte.h, char-lb.h or char-ucs.h.
3854
3855         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3856
3857         * buffer.h: Include character unconditionally.
3858         (valid_char_p): Moved to char-*.h.
3859         (non_ascii_valid_char_p): Moved to char-lb.h.
3860
3861         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3862
3863 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3864
3865         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3866         in UTF-2000 because it is not ported yet and not to use
3867         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3868         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3869         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3870
3871         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3872         (CHAR_ASCII_P): Moved from character.h.
3873
3874         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3875         (CHAR_ASCII_P): Likewise.
3876         (CHAR_FIELD1_MASK): Deleted.
3877         (CHAR_FIELD2_MASK): Deleted.
3878         (CHAR_FIELD3_MASK): Deleted.
3879         (MAX_CHAR_BASIC_LATIN): New macro.
3880         (CHAR_FIELD1): Deleted.
3881         (CHAR_FIELD2_INTERNAL): Deleted.
3882         (CHAR_FIELD3_INTERNAL): Deleted.
3883         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3884         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3885         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3886         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3887         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3888         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3889         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3890         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3891         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3892         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3893         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3894         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3895         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3896         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3897         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3898         (MIN_CHAR_COMPOSITION): Deleted.
3899         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3900         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3901
3902 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3903
3904         * buffer.h: Include mb-utf-8.h in UTF-2000.
3905
3906         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3907
3908         * mb-utf-8.h: New file.
3909
3910 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3911
3912         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3913         instead of `int'.
3914
3915         * mule-charset.h, buffer.h (Charset_ID): New type.
3916
3917 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3918
3919         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3920         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3921         instead of `MULE_CHAR_PRIVATE_OFFSET',
3922         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3923         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3924         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3925
3926         * character.h (Vcharset_japanese_jisx0212): New variable
3927         definition.
3928
3929 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3930
3931         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3932         (charset_by_attributes): Delete array about direction.
3933         (latin_a_char_to_charset): New variable in UTF-2000.
3934         (latin_a_char_to_byte1): New variable in UTF-2000.
3935         (latin_a_char_to_byte2): New variable in UTF-2000.
3936         (Qucs_bmp): New variable.
3937         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3938         `Bufbyte'.
3939         (next_allocated_2_byte_leading_byte): Likewise.
3940         (non_ascii_set_charptr_emchar): Likewise.
3941         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3942         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3943         `charset_by_attributes'.
3944         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3945         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3946         and `CHARSET_BY_LEADING_BYTE'.
3947         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3948         `utf-2000-version' to `vars_of_mule_charset'.
3949         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3950         define `leading-code-private-11' in UTF-2000; move setting of
3951         `utf-2000-version' from `syms_of_mule_charset'.
3952         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3953         UTF-2000.
3954
3955         * character.h (Charset_ID): New type.
3956         (LEADING_BYTE_UCS_BMP): New macro.
3957         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3958         (CHARSET_ID_OFFSET_94): New macro.
3959         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3960         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3961         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3962         final-byte.
3963         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3964         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3965         (CHARSET_ID_OFFSET_96): New macro.
3966         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3967         CHARSET_ID_OFFSET_96 and final-byte.
3968         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3969         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3970         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3971         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3972         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3973         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3974         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3975         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3976         (LEADING_BYTE_THAI_TIS620): Likewise.
3977         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3978         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3979         (CHARSET_ID_OFFSET_94x94): New macro.
3980         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3981         CHARSET_ID_OFFSET_94x94 and final-byte.
3982         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3983         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3984         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3985         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3986         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3987         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3988         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3989         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3990         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3991         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3992         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3993         (CHARSET_TYPE_128X128): New macro.
3994         (CHARSET_TYPE_256X256): New macro.
3995         (XCHARSET_PRIVATE_P): Delete unconditionally.
3996         (charset_by_attributes): Delete array about direction.
3997         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3998         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3999         (MIN_CHAR_94): New macro.
4000         (MAX_CHAR_94): New macro.
4001         (MIN_CHAR_96): New macro.
4002         (MAX_CHAR_96): New macro.
4003         (MIN_CHAR_94x94): New macro.
4004         (MAX_CHAR_94x94): New macro.
4005         (MIN_CHAR_96x96): New macro.
4006         (MAX_CHAR_96x96): New macro.
4007         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4008         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4009         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4010         - 32)'.
4011         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4012         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4013         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4014         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4015         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4016         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4017         `XCHARSET_LEADING_BYTE' to make code-point.
4018         (latin_a_char_to_charset): New variable.
4019         (latin_a_char_to_byte1): New variable.
4020         (latin_a_char_to_byte2): New variable.
4021         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4022         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4023         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4024
4025         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4026         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4027         (find_charsets_in_emchar_string): Likewise.
4028         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4029
4030         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4031         `int'.
4032         (decode_coding_iso2022): Likewise.
4033
4034         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4035         of `unsigned char'.
4036
4037         * redisplay.c (redisplay_text_width_emchar_string): Use
4038         `Charset_ID' instead of `unsigned char'.
4039         (redisplay_frame_text_width_string): Likewise.
4040
4041         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4042         `unsigned char'.
4043
4044         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4045         instead of `unsigned char'.
4046         (face_cachel_charset_font_metric_info): Likewise.
4047
4048         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4049         (get_non_ascii_char_table_value): Likewise.
4050         (get_char_table): Likewise.
4051         (put_char_table): Likewise.
4052         (map_over_other_charset): Likewise.
4053         (map_char_table): Likewise.
4054
4055         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4056         instead of `unsigned char'.
4057
4058 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4059
4060         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4061         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4062
4063         * mule-charset.c (leading_code_private_11): Don't define in
4064         UTF-2000.
4065
4066         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4067         in UTF-2000 because it is not ported yet and not to use
4068         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4069
4070 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4071
4072         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4073
4074 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4075
4076         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4077         in UTF-2000.
4078
4079         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4080         of unsigned char to store leading-byte.
4081
4082         * chartab.c (get_non_ascii_char_table_value): Don't use
4083         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4084
4085         * file-coding.c (encode_coding_big5): Delete bogus implementation
4086         in UTF2000.
4087
4088         * character.h (LEADING_BYTE_*): Delete definition for
4089         non-UTF-2000.
4090         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4091         (LEADING_BYTE_PREFIX_P): Deleted.
4092         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4093         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4094         (BUFBYTE_LEADING_BYTE_P): Deleted.
4095         (CHARSET_PRIVATE_P): Deleted unconditionally.
4096         (rep_bytes_by_first_byte): Deleted unconditionally.
4097         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4098         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4099         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4100         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4101         (CHAR_FIELD2): Deleted.
4102         (CHAR_FIELD3): Deleted.
4103         (MAKE_CHAR): Delete definition for non-UTF-2000.
4104         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4105         (breakup_char_1): New implementation.
4106         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4107         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4108
4109 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4110
4111         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4112         condition.
4113
4114 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4115
4116         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4117         (CHARSET_PRIVATE_P): Likewise.
4118         (XCHARSET_PRIVATE_P): Likewise.
4119         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4120
4121         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4122         UTF2000.
4123         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4124
4125 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4126
4127         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4128         (NUM_LEADING_BYTES): Changed from 128 to 256.
4129         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4130         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4131         UTF2000.
4132         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4133
4134         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4135         UTF2000.
4136         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4137         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4138         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4139         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4140         (Qchinese_cns11643_3): New variable in UTF2000.
4141         (Qchinese_cns11643_4): New variable in UTF2000.
4142         (Qchinese_cns11643_5): New variable in UTF2000.
4143         (Qchinese_cns11643_6): New variable in UTF2000.
4144         (Qchinese_cns11643_7): New variable in UTF2000.
4145         (syms_of_mule_charset): Define `chinese-cns11643-3',
4146         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4147         and `chinese-cns11643-7' in UTF2000.
4148         (vars_of_mule_charset): Initialize
4149         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4150         + 1 in UTF2000.
4151         (complex_vars_of_mule_charset): Setup charset
4152         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4153         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4154
4155 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4156
4157         * mule-charset.c: Move setting for `leading-code-private-11' from
4158         `syms_of_mule_charset' to `vars_of_mule_charset'.
4159
4160 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4161
4162         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4163         and `NUM_LEADING_BYTES' in assert.
4164
4165 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4166
4167         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4168         instead of 128.
4169         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4170         `NUM_LEADING_BYTES' instead of 128.
4171
4172 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4173
4174         * mule-charset.h (charset_by_leading_byte): Use
4175         `NUM_LEADING_BYTES' instead of 128.
4176         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4177
4178         * mule-charset.c (charset_by_leading_byte): Use
4179         `NUM_LEADING_BYTES' instead of 128.
4180         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4181
4182         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4183         128.
4184
4185 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4186
4187         * mule-charset.c (syms_of_mule_charset): Update to
4188         0.4 (Shin-Imamiya).
4189
4190 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4191
4192         * file-coding.c (encode_coding_sjis): New implementation for
4193         UTF2000.  (decode_coding_sjis): Ditto.
4194
4195 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4196
4197         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4198         Don't define in UTF2000.
4199
4200         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4201         defined.
4202
4203         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4204         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4205         MULE.
4206
4207 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4208
4209         * config.h.in (CHAR_IS_UCS4): New macro.
4210
4211         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4212         conventional MULE representation.
4213         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4214
4215         * mule-charset.h: Reverted to original.
4216
4217         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4218         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4219         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4220
4221         * character.h: New file.
4222
4223         * file-coding.c (Fmake_coding_system): Set 1 to
4224         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4225         defined.
4226         (encode_coding_no_conversion): New implementation for UTF2000.
4227
4228         * file-coding.h (struct Lisp_Coding_System): Add new member
4229         `fixed.size'.
4230
4231 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4232
4233         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4234         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4235         (encode_coding_iso2022): New implementation for UTF2000.
4236
4237 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4238
4239         * mule-canna.c (c2mu): New implementation for UTF2000.
4240         (m2c): Likewise.
4241
4242 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4243
4244         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4245
4246 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4247
4248         * file-coding.c (reset_encoding_stream): Set 0 to
4249         `str->iso2022.current_char_boundary' in UTF2000.
4250         (encode_utf8): Don't define in UTF2000.
4251         (encode_coding_utf8): New implementation for UTF-8 representation
4252         of UTF2000.
4253         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4254
4255 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4256
4257         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4258
4259         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4260         UTF2000.
4261         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4262
4263         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4264
4265         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4266         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4267         as UTF-8 in UTF2000.
4268         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4269         (non_ascii_valid_char_p): Don't define in UTF2000.
4270         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4271         (Lstream_get_emchar_1): Likewise.
4272         (utf-2000-version): New variable in UTF2000.
4273
4274         * lread.c (read_escape): Add new reader `u'.
4275
4276         * insdel.c (three_to_one_table): Don't define in UTF2000.
4277         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4278         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4279         UTF2000.
4280         (bytind_to_bufpos_func): Likewise.
4281         (buffer_mule_signal_inserted_region): Likewise.
4282         (vars_of_insdel): Don't initialize `three_to_one_table'.
4283         (init_buffer_text): Use `buf->text->mule_size' instead of
4284         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4285         UTF2000.
4286
4287         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4288         UTF-8 representation in UTF2000.
4289         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4290         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4291         (decode_coding_iso2022): Don't define local variable `lb' in
4292         UTF2000; don't use LEADING_BYTE in UTF2000; use
4293         `DECODE_ADD_UCS_CHAR' in UTF2000.
4294         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4295
4296         * config.h.in (UTF2000): New macro.
4297
4298         * buffer.h (struct buffer_text): Add new member `mule_size' and
4299         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4300         (valid_char_p): Return always 1 in UTF2000.
4301         (MAX_EMCHAR_LEN): 6 in UTF2000.
4302         (three_to_one_table): Don't define in UTF2000.
4303         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4304         UTF2000.
4305         (real_bytind_to_bufpos): Likewise.
4306
4307         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4308
4309 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4310
4311         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4312         representation change.
4313         (Vutf_2000_version): New variable.
4314         (leading_code_private_11): New variable.
4315         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4316         `leading-code-private-11'.
4317
4318         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4319         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4320         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4321         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4322         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4323         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4324         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4325         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4326         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4327         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4328         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4329         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4330         (MIN_CHAR_GREEK): New macro.
4331         (MAX_CHAR_GREEK): New macro.
4332         (MIN_CHAR_CYRILLIC): New macro.
4333         (MAX_CHAR_CYRILLIC): New macro.
4334         (MIN_CHAR_HEBREW): New macro.
4335         (MAX_CHAR_HEBREW): New macro.
4336         (MIN_CHAR_THAI): New macro.
4337         (MAX_CHAR_THAI): New macro.
4338         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4339         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4340         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4341         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4342         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4343         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4344         (CHAR_FIELD2): New inline function.
4345         (CHAR_FIELD3): New inline function.
4346         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4347         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4348         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4349         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4350         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4351         (MIN_CHAR_COMPOSITION): Likewise.
4352         (CHAR_LEADING_BYTE): Modified for character representation change.
4353         (MAKE_CHAR): Likewise.
4354
4355         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4356         (Vcharset_greek_iso8859_7): Likewise.
4357         (Vcharset_cyrillic_iso8859_5): Likewise.
4358         (Vcharset_hebrew_iso8859_8): Likewise.
4359         (Vcharset_thai_tis620): Likewise.
4360         (Vcharset_katakana_jisx0201): Likewise.
4361
4362 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
4363
4364         * XEmacs 21.4.6 "Common Lisp" is released.
4365
4366 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
4367
4368         * XEmacs 21.4.6 "Common Lisp" is released.
4369
4370 2001-12-16  Torsten Duwe  <duwe@caldera.de>
4371
4372         * search.c (Freplace_match): Add missing sub-expression functionality.
4373
4374         * buffer.c (decode_buffer): Add a check for pointer type to
4375         decode_buffer, before gcc's CSE optimization reorders a
4376         dereference in front of the allow_string test.
4377
4378 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
4379
4380         * window.c (window_loop): Fix bug that sometimes prevented
4381         window_loop() from iterating across multiple devices.  Also, at
4382         Ben's request, changed infloop-detecting code to abort() instead
4383         of silently terminating window_loop().
4384
4385 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
4386
4387         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
4388         * editfns.c (make_time): New function.
4389         (Fencode_time): Use it instead of wasteful_word_to_lisp.
4390         * lisp.h (make_time): Prototype and comment it.
4391         * dired.c (wasteful_word_to_lisp): Deprecate.
4392         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
4393
4394 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
4395
4396         * fileio.c (auto_save_1): Use current coding system, not
4397         escape-quoted.
4398
4399 2001-11-13  Ben Wing  <ben@xemacs.org>
4400
4401         * window.c:
4402         * window.c (window_truncation_on):
4403         * window.c (syms_of_window):
4404         truncate-partial-width-windows should respect the buffer being
4405         displayed, like other redisplay vars.
4406
4407 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
4408
4409         * event-stream.c (Fread_key_sequence): save current buffer.
4410
4411 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
4412
4413         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
4414
4415 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
4416
4417         * alloc.c (lcrecord_stats): Add space for types defined in modules.
4418
4419 2001-10-26  Mike Alexander  <mta@arbortext.com>
4420
4421         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
4422
4423 2001-10-25  Andy Piper  <andy@xemacs.org>
4424
4425         * ChangeLog:
4426         * dialog-msw.c (handle_directory_proc): new function.
4427          (handle_directory_dialog_box): new fucntion.
4428          (handle_file_dialog_box): use new directory dialog support.
4429          (mswindows_make_dialog_box_internal): ditto.
4430         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
4431         handling.
4432         (mswindows_find_frame): make global.
4433         * fileio.c (Fexpand_file_name): build fix.
4434         * general-slots.h: add Qdirectory.
4435         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
4436         handling.
4437         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
4438         cygwin not leaving win32 paths unchanged.
4439         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
4440         cygwin runtime to do path conversion.
4441         (Fmswindows_shell_execute): fix cygwin handling of URLs.
4442         (syms_of_win32): add new function.
4443         * window.c (window_loop): build fix.
4444
4445 2001-10-15  Andy Piper  <andy@xemacs.org>
4446
4447         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
4448
4449 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
4450
4451         * XEmacs 21.4.5 "Civil Service" is released.
4452
4453 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
4454
4455         * glyphs-x.c: Force buffer-tab highlight update when moving the
4456         buffer, avoiding an ugly black border, used for keyboard focus
4457         indication, on a widget that can never have keyboard focus, the
4458         buffer tab.
4459
4460 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
4461
4462         * process-unix.c (unix_open_multicast_group): Remove too much
4463         conversion between host and network byte order.
4464
4465 2001-09-10  Nix  <nix@esperi.demon.co.uk>
4466
4467         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
4468         before replacing them.
4469
4470         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
4471         operation.
4472
4473         * src/window.c (undedicate_windows): Use it.
4474         * src/window.h: Add prototype.
4475
4476 2001-09-17  Ben Wing  <ben@xemacs.org>
4477
4478         * fileio.c (normalize_filename):
4479         * fileio.c (Fexpand_file_name):
4480         Fix various C++ compile errors in Andy's recent code.
4481         
4482         * callint.c (Fcall_interactively):
4483         * editfns.c (Ftemp_directory):
4484         * editfns.c (Fuser_full_name):
4485         * emacs.c (argmatch):
4486         * lread.c (locate_file_map_suffixes):
4487         * redisplay-x.c (x_ring_bell):
4488         Fix sign-compare warnings.
4489         
4490 2001-09-08  Andy Piper  <andy@xemacs.org>
4491
4492         * fileio.c (normalize_filename): copied from nt.c
4493         * (Ffile_name_directory): enable win32 paths under cygwin.
4494         * (Ffile_name_nondirectory): ditto.
4495         * (directory_file_name): ditto.
4496         * (Fexpand_file_name): ditto.
4497         * (Ffile_truename): ditto.
4498         * (Fsubstitute_in_file_name): ditto.
4499         * (Ffile_name_absolute_p): ditto.
4500         * (Ffile_readable_p): ditto.
4501
4502 2001-09-08  Andy Piper  <andy@xemacs.org>
4503
4504         * device-msw.c (mswindows_finish_init_device): remove dde
4505         initialization.
4506         * device-msw.c (mswindows_init_dde): factor out from
4507         mswindows_finish_init_device()
4508         * device-msw.c (init_mswindows_very_early): new function
4509         initialize but don't enable dde.
4510         * emacs.c (main_1): call init_mswindows_very_early.
4511         * event-msw.c:
4512         * event-msw.c (mswindows_dde_callback): only execute when we are
4513         ready.
4514         * symsinit.h: declare init_mswindows_very_early.
4515
4516 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4517
4518         [sjt: This has been in 21.5 for months with no complaints.]
4519
4520         * console.h (struct console_methods): Added flags member.
4521         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
4522         (CONMETH_IMPL_FLAG):
4523         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
4524         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
4525
4526         * device.c (window_system_pixelated_geometry): Use the above macros.
4527
4528         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
4529         implememntation flag.
4530         * device.h (DEVICE_DISPLAY_P): Use it.
4531
4532         * frame.c (delete_frame_internal): Use the above macro.
4533
4534         * redisplay.c (redisplay_device): Use it.
4535         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
4536         (redisplay_frame): Ditto.
4537
4538         * device-msw.c (mswindows_device_implementation_flags): Removed.
4539         (msprinter_device_implementation_flags): Removed.
4540         (console_type_create_device_mswindows): Removed references to
4541         implementation_flags methods, set implementation flags here.
4542         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
4543
4544         * device-gtk.c (gtk_device_implementation_flags): Removed method.
4545         (console_type_create_device_gtk): Removed method declaration.
4546         Added commented out statement which semantically matches the
4547         commented out statement in the above removed method.
4548
4549 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
4550
4551         The attached patch fixes a few warnings. 
4552
4553         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
4554         * src/frame-gtk.c: guard against GNOME calls in GTK only
4555         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
4556         * src/select-gtk.c: prototype lisp_to_time
4557
4558 2001-06-08  Ben Wing  <ben@xemacs.org>
4559
4560         ------ gc-in-window-procedure fixes ------
4561         
4562         * alloc.c:
4563         * alloc.c (struct post_gc_action):
4564         * alloc.c (register_post_gc_action):
4565         * alloc.c (run_post_gc_actions):
4566         * alloc.c (garbage_collect_1):
4567         Create "post-gc actions", to avoid those dreaded "GC during window
4568         procedure" problems.
4569
4570         * event-msw.c:
4571         Abort, clean and simple, when GC in window procedure.  We want
4572         to flush these puppies out.
4573
4574         * glyphs-msw.c:
4575         * glyphs-msw.c (finalize_destroy_window):
4576         * glyphs-msw.c (mswindows_finalize_image_instance):
4577         Use a post-gc action when destroying subwindows.
4578
4579         * lisp.h:
4580         Declare register_post_gc_action().
4581
4582         * scrollbar-msw.c:
4583         * scrollbar-msw.c (unshow_that_mofo):
4584         Use a post-gc action when unshowing scrollbar windows, if in gc.
4585
4586         * redisplay.c (mark_redisplay):
4587         Add comment about the utter evilness of what's going down here.
4588
4589         ------ cygwin setitimer fixes ------
4590         
4591         * Makefile.in.in (sheap_objs):
4592         * Makefile.in.in (profile_objs):
4593         * Makefile.in.in (objs):
4594         Compile profile.c only when HAVE_SETITIMER.
4595         
4596         * nt.c (mswindows_sigset):
4597         * nt.c (mswindows_sighold):
4598         * nt.c (mswindows_sigrelse):
4599         * nt.c (mswindows_sigpause):
4600         * nt.c (mswindows_raise):
4601         * nt.c (close_file_data):
4602         Style fixes.
4603         
4604         * nt.c:
4605         Move setitimer() emulation to win32.c, because Cygwin needs it too.
4606         
4607         * profile.c:
4608         * profile.c (Fstart_profiling):
4609         * profile.c (Fstop_profiling):
4610         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
4611         instead of just plain setitimer().
4612         
4613         * signal.c:
4614         * signal.c (set_one_shot_timer):
4615         * signal.c (alarm):
4616         Define qxe_setitimer() as an encapsulation around setitimer() --
4617         call setitimer() directly unless Cygwin or MS Win, in which case
4618         we use our simulated version in win32.c.
4619         
4620         * systime.h:
4621         * systime.h (struct itimerval):
4622         * systime.h (ITIMER_REAL):
4623         Prototype mswindows_setitimer() and qxe_setitimer().  Long
4624         comment about "qxe" and the policy regarding encapsulation.
4625
4626         * win32.c:
4627         * win32.c (setitimer_helper_proc):
4628         * win32.c (setitimer_helper_period):
4629         * win32.c (setitimer_helper):
4630         * win32.c (mswindows_setitimer):
4631         Move setitimer() emulation here, so Cygwin can use it.
4632         Rename a couple of functions and variables to be longer and more
4633         descriptive.  In setitimer_helper_proc(), send the signal
4634         using either mswindows_raise() or (on Cygwin) kill().  If for
4635         some reason we are still getting lockups, we'll change the kill()
4636         to directly invoke the signal handlers.
4637
4638         ------ windows shell fixes ------
4639         
4640         * callproc.c:
4641         * ntproc.c:
4642         Comments about how these two files must die.
4643
4644         * callproc.c (init_callproc):
4645         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
4646         not just COMSPEC. (more correct and closer to FSF.) Don't
4647         force a value for SHELL into the environment. (Comments added
4648         to explain why not.)
4649         
4650         * nt.c (init_user_info):
4651         Don't shove a fabricated SHELL into the environment.  See above.
4652
4653 2001-06-01  Ben Wing  <ben@xemacs.org>
4654
4655         * Makefile.in.in (ldflags):
4656         eliminate that pesky "defaulting to 00401000" warning.
4657         * nt.h:
4658         eliminate warnings.
4659
4660 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
4661
4662         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
4663         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
4664
4665 2001-04-24  Jerry James <james@xemacs.org>
4666
4667         * faces.h: pass parameters to Fadd_spec_to_specifier in the
4668         correct order.
4669
4670 2001-06-01  Ben Wing  <ben@xemacs.org>
4671
4672         * event-msw.c (debug_mswin_messages):
4673         conditionalize the messages that were causing compile errors.
4674         (if only macros could generate #ifdef statements ...)
4675
4676 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
4677
4678         * XEmacs 21.4.4 "Artificial Intelligence" is released.
4679
4680 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
4681
4682         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
4683
4684 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
4685
4686         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
4687         * process-unix.c (unix_canonicalize_host_name):
4688         sysdep.c (init_system_name):
4689         Use it to conditionally support IPv6 canonicalization.
4690
4691 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
4692
4693         * event-msw.c:
4694         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
4695
4696 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
4697
4698         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
4699         attempt is made to scroll when no scroll bar is available.
4700
4701 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
4702
4703         * input-method-motif.c (XIM_delete_frame): New callback.
4704         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
4705         got deleted from 21.4.3.)
4706
4707 2001-06-01  Ben Wing  <ben@xemacs.org>
4708
4709         * nt.c (mswindows_utime):
4710         * nt.c (close_file_data):
4711         fix off-by-one-indirection error.
4712
4713 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
4714
4715         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
4716         because set_file_times() now takes Lisp_Object path, instead of
4717         char*.
4718         * nt.c: Include buffer.h.
4719         * nt.c (convert_from_time_t): New.
4720         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
4721         not set mtime correctly.
4722         * nt.h: Declare mswindows_utime().
4723         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
4724         path, instead of char*.
4725         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
4726
4727 2001-05-30  Ben Wing  <ben@xemacs.org>
4728
4729         For 21.4:
4730
4731         (Stephen, just take all event-msw.c patches.  This includes
4732         the "iconify" fix below.)
4733
4734         * event-msw.c:
4735         * event-msw.c (mswindows_dequeue_dispatch_event):
4736         * event-msw.c (assert):
4737         * event-msw.c (emacs_mswindows_quit_p):
4738         * event-msw.c (debug_mswin_messages):
4739         * event-msw.c (debug_output_mswin_message):
4740         * event-msw.c (vars_of_event_mswindows):
4741         Fix yet more problems with C-g handling.
4742         Implement debug-mswindows-events.
4743         
4744 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4745
4746         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
4747         
4748 2001-05-23  Ben Wing  <ben@xemacs.org>
4749
4750         * event-msw.c (winsock_writer):
4751         * event-msw.c (winsock_closer):
4752         prior kludgy code was clobbering the buffer, thinking it was
4753         "unused" space to store an unneeded return value; instead, use
4754         the variable we've already got staring us in the face.
4755
4756 2001-05-17  Andy Piper  <andy@xemacs.org>
4757
4758         * sysfile.h: don't assume that file attributes are boolean
4759
4760 2001-05-23  Ben Wing  <ben@xemacs.org>
4761
4762         * device-msw.c (msprinter_init_device):
4763         signal an error rather than crash with an unavailable network
4764         printer (from Mike Alexander).
4765         
4766         * event-msw.c:
4767         * event-msw.c (struct winsock_stream):
4768         * event-msw.c (winsock_writer):
4769         * event-msw.c (winsock_closer):
4770         * event-msw.c (make_winsock_stream_1):
4771         cleanup headers.  fix (hopefully) an error with data corruption
4772         when sending to a network connection.
4773
4774         * fileio.c (Fexpand_file_name): Fix evil code that attempts
4775         to handle the ~user prefix by (a) always assuming we're referencing
4776         ourselves and not even verifying the user -- hence any file with
4777         a tilde as its first char is invalid! (b) if there wasn't a slash
4778         following the filename, the pointer was set *past* the end of
4779         file and we started reading from uninitialized memory.  Now we
4780         simply treat these as files, always.
4781
4782         * buffer.c (common_init_complex_vars_of_buffer): comment change.
4783         
4784 2001-05-19  Ben Wing  <ben@xemacs.org>
4785
4786         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
4787
4788         * process-nt.c:
4789         * process-nt.c (vars_of_process_nt):
4790         remove unused mswindows-quote-process-args.  rec for 21.4.
4791         
4792 2001-05-12  Ben Wing  <ben@xemacs.org>
4793
4794         * event-msw.c (mswindows_dde_callback):
4795         * event-msw.c (mswindows_wnd_proc):
4796         eliminate cygwin warnings.
4797
4798 2001-05-06  Ben Wing  <ben@xemacs.org>
4799
4800         * console-msw.h:
4801         * device-msw.c:
4802         * device-msw.c (print_dialog_worker):
4803         * device-msw.c (mswindows_handle_print_dialog_box):
4804         * device-msw.c (syms_of_device_mswindows):
4805         * dialog-msw.c (mswindows_make_dialog_box_internal):
4806         * general-slots.h:
4807         implement printing the selection when it's selected.
4808
4809 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
4810
4811         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
4812
4813 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
4814
4815         * lisp.h (EMACS_INT_MAX): This should be one bit less since
4816         EMACS_INT is signed.
4817
4818 2001-04-15  Michael Lausch  <mla@1012surf.net>
4819
4820         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
4821         gtk_widget_request_size() to give scrollbar >0 width for
4822         GTK >1.2.8.
4823
4824 2001-05-30  William M. Perry  <wmperry@gnu.org>
4825
4826         * event-gtk.c: Check for buttons as modifier keys.
4827
4828 2001-05-25  Craig Lanning  <CraigL@Knology.net>
4829
4830         * s\mingw32.h:
4831         Properly find MinGW's <process.h> inside Cygwin's restructured
4832         include directories.  Don't try to include <cygwin/version.h>
4833         since we are dropping support for MinGW in versions of Cygwin
4834         earlier than b21.
4835         * nt.c:
4836         Drop support for MinGW in versions of Cygwin before b21.
4837         * sysdep.c:
4838         Properly find MinGW's <process.h> inside Cygwin's restructured
4839         include directories.
4840         * syswindows.h:
4841         Drop support for MinGW in versions of Cygwin before b21.
4842         * unexcw.c:
4843         Even though a.out.h is no longer detected by configure, allow
4844         MinGW to use it until we figure out how to do the job with Win32.
4845
4846 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
4847
4848         * syntax.c (find_start_of_comment):
4849         Fix `unbalanced parentheses' bug when dealing with mixed comment
4850         styles in c++/java/etc. mode
4851
4852 2001-05-29  Mike Alexander  <mta@arbortext.com>
4853
4854         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
4855         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
4856
4857 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
4858
4859         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
4860
4861 2001-03-31  Mike Sperber <mike@xemacs.org>
4862
4863         * search.c (Freplace_match): Support FSF-style specification of
4864         match subexpression when applied to a buffer.
4865
4866 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
4867
4868         * event-stream.c (is_scrollbar_event): add missing semicolon
4869
4870 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
4871
4872         * Makefile.in.in: Use TAR macro instead of hardcoding
4873           tar.  Allows use of GNU tar instead of system tar
4874
4875 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
4876
4877         * event-stream.c (is_scrollbar_event): add missing semicolon
4878
4879 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
4880
4881         * XEmacs 21.4.3 "Academic Rigor" is released.
4882
4883 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
4884
4885         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
4886
4887 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
4888
4889         * buffer.c (Vcase_fold_search): Remove obsolete
4890           comment about non ASCII case-fold-search.  This
4891           bug has been fixed by case-table changes.
4892
4893 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
4894
4895         * event-msw.c: Restore include of events-mod.h.
4896
4897 2001-04-22   zhaoway  <zw@debian.org>
4898
4899         * event-stream.c (is_scrollbar_event): Noop returning 0 if
4900         !HAVE_SCROLLBARS.
4901
4902 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
4903
4904         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
4905
4906 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
4907
4908         * mule-charset.c (Fmake_charset): Add missing else.
4909
4910 2001-04-23  Ben Wing  <ben@xemacs.org>
4911
4912         * event-msw.c (FAKE_MOD_QUIT):
4913         * event-msw.c (mswindows_dequeue_dispatch_event):
4914         * event-msw.c (mswindows_wnd_proc):
4915         * event-msw.c (emacs_mswindows_quit_p):
4916         Get critical quit working.
4917
4918 2001-05-05  Ben Wing  <ben@xemacs.org>
4919
4920         * console-msw.h:
4921         * device-msw.c:
4922         * device-msw.c (mswindows_get_default_margin):
4923         * frame-msw.c (mswindows_size_frame_internal):
4924         * frame-msw.c (msprinter_init_frame_1):
4925         * frame-msw.c (vars_of_frame_mswindows):
4926         Change top/bottom margin defaults to 0.5 inches.
4927
4928 2001-05-01  Martin Buchholz  <martin@xemacs.org>
4929
4930         Fix link error with gcc 3.0 on Linux.
4931         * terminfo.c (UP): Remove.
4932         * terminfo.c (BC): Remove.
4933         * terminfo.c (PC): Remove.
4934         They weren't used, and in any case, these symbols should be
4935         defined in the *library*.
4936
4937 2001-05-03  Martin Buchholz  <martin@xemacs.org>
4938
4939         * s/aix4.h: Fix crash with xlc -O3.
4940         Improve comment explaining how -O3 works.
4941
4942 2001-04-15  Ben Wing  <ben@xemacs.org>
4943
4944         * event-stream.c:
4945         * event-stream.c (Fnext_event):
4946         * event-stream.c (is_scrollbar_event):
4947         * event-stream.c (execute_command_event):
4948         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
4949         crash' problem.  His fix introduces other problems.  We filter
4950         out scrollbar events specifically, making them somewhat invisible
4951         to command-building, and not appearing in `this-command-keys'.
4952         More work is still needed (see comments in event-stream.c), but
4953         this fixes all the major problems.
4954
4955 2001-04-20  Ben Wing  <ben@xemacs.org>
4956
4957         * .cvsignore: Added stuff for Windows.
4958
4959 2001-04-28  Ben Wing  <ben@xemacs.org>
4960
4961         * buffer.c (Ferase_buffer):
4962         * editfns.c (buffer_insert1):
4963         * editfns.c (Finsert_before_markers):
4964         * editfns.c (Finsert_string):
4965         * editfns.c (Finsert_char):
4966         * editfns.c (Fdelete_region):
4967         * editfns.c (Fwiden):
4968         * editfns.c (Fnarrow_to_region):
4969         remove bogus lines setting zmacs_region_stays to 0.
4970         
4971 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4972
4973         * process-unix.c (unix_open_network_stream): If connect() fails
4974         invalidate file descriptor after closing it.
4975
4976 2001-03-08  Mike Alexander  <mta@arbortext.com>
4977
4978         * event-msw.c (mswindows_need_event_in_modal_loop):
4979         Don't dispatch a message if we didn't get one.
4980         (mswindows_need_event):
4981         Terminate the correct process when one exits instead of the first
4982         one on Vprocess_list and look for process termination when in
4983         mswindows_protect_modal_loop.
4984
4985 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
4986
4987         * XEmacs 21.4.1 "Copyleft" is released.
4988
4989 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
4990
4991         * input-method-motif.c (XIM_delete_frame): New callback.
4992         (XIM_init_frame): Register it.
4993
4994 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
4995
4996         * XEmacs 21.4.0 "Solid Vapor" is released.
4997
4998 2001-04-15  Ben Wing  <ben@xemacs.org>
4999
5000         * cmdloop.c (call_command_loop):
5001         Fix braino in bit-rotting code.
5002         
5003 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
5004
5005         * extents.c (Fset_extent_endpoints): Force creation of extent info
5006         in buffer_or_string.
5007
5008         * extents.c (process_extents_for_insertion_mapper): Correctly
5009         check for open-open zero-length extents.
5010
5011 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5012
5013         * lisp.h: New typedefs Memory_count, Element_count.
5014         * regex.c:
5015         * regex.h:
5016         Sign-compare warning elimination: several unsigned -> signed.
5017         Based on work by Ben Wing <ben@xemacs.org>.
5018
5019 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
5020
5021         * XEmacs 21.2.47 "Zephir" is released.
5022
5023 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
5024
5025         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
5026
5027 2001-04-03  Mike Sperber <mike@xemacs.org>
5028
5029         * search.c: Revert previous patch due because of release.
5030
5031 2001-03-30  Ben Wing  <ben@xemacs.org>
5032
5033         * s\cygwin32.h:
5034         Add missing killpg prototype.
5035
5036         * elhash.c:
5037         Add a comment about fixing problems when a new entry is added
5038         while mapping.
5039
5040         * frame-msw.c (mswindows_init_frame_1):
5041         Fix compile warnings.
5042
5043         * menubar.c (vars_of_menubar):
5044         Provide `menu-accelerator-support' to indicate that we properly
5045         support %_ in menu specifications, so that package code can
5046         conditionalize on this (and remove %_ from menu specifications
5047         on older versions).
5048
5049         * event-msw.c:
5050         * scrollbar-msw.c:
5051         * scrollbar-msw.c (can_scroll):
5052         * scrollbar-msw.h:
5053         Fix handling of mouse wheel under Windows to follow standards --
5054         now scrolls window under pointer, not selected window.
5055
5056 2001-03-31  Mike Sperber <mike@xemacs.org>
5057
5058         * search.c (Freplace_match): Support FSF-style specification of
5059         match subexpression when applied to a buffer.
5060
5061 2001-03-15  Martin Buchholz  <martin@xemacs.org>
5062
5063         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
5064         function to modify KEYMAP, so map over a copy of the hash table.
5065
5066 2001-03-21  Martin Buchholz <martin@xemacs.org>
5067
5068         * XEmacs 21.2.46 "Urania" is released.
5069
5070 2001-03-20  Dan Holmsand  <dan@eyebee.com>
5071
5072         * realpath.c (xrealpath): Make file-truename work with symlinks to
5073         /cygdrive paths on cygwin. Always lowercase drive-letters on
5074         native windows.
5075         (cygwin_readlink): Don't try to find canonical filename unless
5076         file exists.
5077
5078 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
5079
5080         * ChangeLog: Log GTK merge.
5081
5082         * dumper.c:
5083         * select-x.c:
5084         * specifier.c:
5085         * symeval.h:
5086         Revert gratuitous whitespace changes from GTK merge.
5087
5088         * emacs.c: Document end of complex #ifdef @ l. 1495.
5089
5090
5091 2001-03-12  Andy Piper  <andy@xemacs.org>
5092
5093         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
5094         have to do likewise.
5095
5096 2001-03-12  Andy Piper  <andy@xemacs.org>
5097
5098         * sysdep.c: we only support mingw now.
5099
5100 2001-03-09  Andy Piper  <andy@xemacs.org>
5101
5102         * unexcw.c (copy_executable_and_dump_data_section): making approx
5103         overrun a warning only.
5104
5105 2001-03-10  William M. Perry  <wmperry@aventail.com>
5106
5107         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
5108         satisfy Stephen's identical-after-cpp plea.
5109
5110 2001-03-02  Ben Wing  <ben@xemacs.org>
5111
5112         * cmds.c:
5113         * cmds.c (Fforward_char):
5114         * syntax.c:
5115         * window.c:
5116
5117         Augment documentation of the most common motion commands to make
5118         note of the shifted-motion support.
5119         
5120 2001-03-02  Ben Wing  <ben@xemacs.org>
5121
5122         * nt.c (mswindows_fstat):
5123         * nt.c (mswindows_stat):
5124         * search.c (boyer_moore):
5125         Fix compile warnings under Windows.
5126         
5127         * sysdep.c (sys_readdir):
5128         Fix buggy filename-conversion code under Mule.
5129
5130 2001-03-09  William M. Perry  <wmperry@aventail.com>
5131
5132         * Makefile.in.in:
5133         * config.h.in:
5134         * console.c:
5135         * console.h:
5136         * device.c:
5137         * device.h:
5138         * dragdrop.c:
5139         * emacs.c:
5140         * event-stream.c:
5141         * events.c:
5142         * events.h:
5143         * faces.c:
5144         * frame.h:
5145         * general-slots.h:
5146         * glyphs.c:
5147         * gutter.c:
5148         * inline.c:
5149         * lisp.h:
5150         * lrecord.h:
5151         * make-src-depend:
5152         * redisplay-output.c:
5153         * redisplay.c:
5154         * symsinit.h:
5155         * sysfile.h:
5156         * toolbar.c:
5157         * window.c:
5158         The Great GTK Merge.
5159
5160         * ChangeLog.GTK:
5161         * console-gtk.c:
5162         * console-gtk.h:
5163         * device-gtk.c:
5164         * emacs-marshals.c:
5165         * emacs-widget-accessors.c:
5166         * event-gtk.c:
5167         * frame-gtk.c:
5168         * gccache-gtk.c:
5169         * gccache-gtk.h:
5170         * glade.c:
5171         * glyphs-gtk.c:
5172         * glyphs-gtk.h:
5173         * gtk-glue.c:
5174         * gtk-xemacs.c:
5175         * gtk-xemacs.h:
5176         * gui-gtk.c:
5177         * gui-gtk.h:
5178         * menubar-gtk.c:
5179         * native-gtk-toolbar.c:
5180         * objects-gtk.c:
5181         * objects-gtk.h:
5182         * redisplay-gtk.c:
5183         * scrollbar-gtk.c:
5184         * scrollbar-gtk.h:
5185         * select-gtk.c:
5186         * toolbar-gtk.c:
5187         * ui-byhand.c:
5188         * ui-gtk.c:
5189         * ui-gtk.h:
5190         The Great GTK Merge: new files.
5191
5192 2001-02-26  Ben Wing  <ben@xemacs.org>
5193
5194         Reapplied Lstream change.
5195
5196 2001-02-26  Ben Wing  <ben@xemacs.org>
5197
5198         Undid the last change, since it is more controversial than I
5199         thought.  It should be back in at some point soon.
5200         
5201 2001-02-25  Ben Wing  <ben@xemacs.org>
5202
5203         * buffer.c:
5204         * callproc.c (Fold_call_process_internal):
5205         * event-msw.c (ntpipe_slurp_reader):
5206         * event-msw.c (ntpipe_shove_writer):
5207         * event-msw.c (winsock_reader):
5208         * event-msw.c (winsock_writer):
5209         * file-coding.c:
5210         * file-coding.c (detect_eol_type):
5211         * file-coding.c (detect_coding_type):
5212         * file-coding.c (determine_real_coding_system):
5213         * file-coding.c (Fdetect_coding_region):
5214         * file-coding.c (decoding_reader):
5215         * file-coding.c (decoding_writer):
5216         * file-coding.c (mule_decode):
5217         * file-coding.c (Fdecode_coding_region):
5218         * file-coding.c (encoding_reader):
5219         * file-coding.c (encoding_writer):
5220         * file-coding.c (mule_encode):
5221         * file-coding.c (Fencode_coding_region):
5222         * file-coding.c (detect_coding_sjis):
5223         * file-coding.c (decode_coding_sjis):
5224         * file-coding.c (encode_coding_sjis):
5225         * file-coding.c (detect_coding_big5):
5226         * file-coding.c (decode_coding_big5):
5227         * file-coding.c (encode_coding_big5):
5228         * file-coding.c (detect_coding_ucs4):
5229         * file-coding.c (decode_coding_ucs4):
5230         * file-coding.c (encode_coding_ucs4):
5231         * file-coding.c (detect_coding_utf8):
5232         * file-coding.c (decode_coding_utf8):
5233         * file-coding.c (encode_coding_utf8):
5234         * file-coding.c (detect_coding_iso2022):
5235         * file-coding.c (decode_coding_iso2022):
5236         * file-coding.c (encode_coding_iso2022):
5237         * file-coding.c (decode_coding_no_conversion):
5238         * file-coding.c (encode_coding_no_conversion):
5239         * glyphs-x.c (write_lisp_string_to_temp_file):
5240         * gpmevent.c (tty_get_foreign_selection):
5241         * lisp.h:
5242         * lstream.c:
5243         * lstream.c (Lstream_flush_out):
5244         * lstream.c (Lstream_adding):
5245         * lstream.c (Lstream_write_1):
5246         * lstream.c (Lstream_write):
5247         * lstream.c (Lstream_raw_read):
5248         * lstream.c (Lstream_read_more):
5249         * lstream.c (Lstream_read):
5250         * lstream.c (Lstream_unread):
5251         * lstream.c (Lstream_fputc):
5252         * lstream.c (stdio_reader):
5253         * lstream.c (stdio_writer):
5254         * lstream.c (filedesc_reader):
5255         * lstream.c (filedesc_writer):
5256         * lstream.c (lisp_string_reader):
5257         * lstream.c (struct fixed_buffer_stream):
5258         * lstream.c (make_fixed_buffer_input_stream):
5259         * lstream.c (make_fixed_buffer_output_stream):
5260         * lstream.c (fixed_buffer_reader):
5261         * lstream.c (fixed_buffer_writer):
5262         * lstream.c (struct resizing_buffer_stream):
5263         * lstream.c (resizing_buffer_writer):
5264         * lstream.c (dynarr_writer):
5265         * lstream.c (lisp_buffer_reader):
5266         * lstream.c (lisp_buffer_writer):
5267         * lstream.h:
5268         * lstream.h (lstream_implementation):
5269         * lstream.h (struct lstream):
5270         * md5.c (Fmd5):
5271         * process-nt.c (nt_send_process):
5272         * process-unix.c (unix_send_process):
5273         
5274         Correct Lstream lossage due to mixing of signed and unsigned
5275         quantities.  All Lstream uses of size_t and ssize_t are now a
5276         single signed data type Lstream_data_count.  This fixes problems
5277         under Windows with sending large quantities of data to a process,
5278         and may well fix other subtle bugs.
5279
5280 2001-02-23  Martin Buchholz <martin@xemacs.org>
5281
5282         * XEmacs 21.2.45 "Thelxepeia" is released.
5283
5284 2001-02-21  Martin Buchholz  <martin@xemacs.org>
5285
5286         * lisp-union.h (XSETINT): 
5287         (XSETCHAR):
5288         (XSETOBJ): 
5289         Reverse previous change of 2001-02-06.
5290
5291 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
5292
5293         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
5294         buffers.
5295         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5296         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
5297         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
5298         * regex.c (POS_AS_IN_BUFFER): removed
5299         * regex.c (re_search_2):
5300         * regex.c (re_match_2):
5301         Don't use an offset of 1 when calculating buffer positions, since
5302         `BI_BUF_BEGV' does it already.
5303
5304 2001-02-18  Wim Dumon  <wim@easics.be>
5305
5306         * insdel.c (prepare_to_modify_buffer): Also check for
5307         supersession when clash-detection is enabled. 
5308
5309 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
5310
5311         * regex.c (re_match_2_internal):
5312         Convert temp characters from 'const unsigned char' to 're_char'.
5313         Fix crashing bug with extended characters under mule.
5314         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
5315         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
5316         font-lock, pdump, and new syntax-table code.
5317         * syntax.c (find_start_of_comment):
5318         (find_end_of_comment):
5319         (forward-comment):
5320         Fix crashing bugs involving moving beyond end of buffer.
5321         * syntax.c (find_start_of_comment):
5322         Fixed logic to allow proper detection of cases where the same
5323         character is used to end both a two-char comment start and a
5324         two-char comment end sequence. Fixes `(forward-comment -1)'.
5325         * syntax.c (find_start_of_comment):
5326         Return position just past last comment-end character for all cases
5327         (previously was only done for two-char comment-end sequences).
5328         * syntax.c (forward-comment):
5329         Take value returned from `find_end_of_comment', rather than
5330         incrementing it.
5331         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5332         Properly deal with BUFFERP (syntax_cache.object)
5333
5334 2001-02-17  Martin Buchholz  <martin@xemacs.org>
5335
5336         * alloc.c (Fgarbage_collect): 
5337         * alloc.c (make_bit_vector_from_byte_vector):
5338         -Wsign-compare-correctness.
5339
5340 2001-02-16  Martin Buchholz  <martin@xemacs.org>
5341
5342         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
5343         (XSETCHAR): Likewise.
5344         (XSETOBJ): Likewise.
5345
5346 2001-02-15  Martin Buchholz  <martin@xemacs.org>
5347
5348         * mule-canna.c (canna-func-delete_previous): 
5349         Rename to canna-func-delete-previous.
5350
5351 2001-02-14  Martin Buchholz  <martin@xemacs.org>
5352
5353         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
5354
5355 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
5356
5357         * font-lock.c (find_context): Fix C++ compile errors introduced by
5358         recent patch
5359
5360 2001-02-13  Martin Buchholz  <martin@xemacs.org>
5361
5362         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
5363         pragma, but earlier ones barf on the same pragma.
5364
5365 2001-02-06  Mike Sperber <mike@xemacs.org>
5366
5367         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
5368         `configure-mule-lisp-directory'.
5369
5370 2001-02-12  Martin Buchholz  <martin@xemacs.org>
5371
5372         Make sure dump-id.c is compiled in the same way as other .c's.
5373         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
5374         * dump-id.h: Remove.
5375         * emacs.c: Move dump-id.h into dumper.h.
5376         * dumper.h: Move dump-id.h into dumper.h.
5377         * Makefile.in.in:
5378         Use standard .c.o rule for building dump-id.o.
5379         Remove preprocessor flags from link command.
5380         Add dump-id.o to ${otherobjs} if PDUMP.
5381
5382 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
5383
5384         Port FSF 20.7 syntax table improvements.
5385         * syntax.c.
5386         * syntax.h.
5387
5388         Fixups for new syntax table stuff.
5389         * dired.c: Include syntax.c.
5390         (Fdirectory_files): Initialize regex_match_object and
5391         regex_emacs_buffer.
5392         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
5393         and Fget_char_property.
5394
5395         Use ported FSF 20.7 syntax table improvements.
5396         * font-lock.c.
5397         * regex.c.
5398         * search.c.
5399         
5400 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5401
5402         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
5403         Unixware's enum boolean from sys/types.h.
5404
5405 2001-02-10  Martin Buchholz  <martin@xemacs.org>
5406
5407         Fix support for building with latest Purify.
5408         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
5409         (PURIFY_FLAGS): Likewise.
5410
5411 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5412
5413         * fileio.c (lisp_string_set_file_times): New.
5414         * fileio.c (Fcopy_file): Use it.
5415         Fixes bug:
5416         (copy-file filename non-ascii-filename t t)
5417         ==> No such file or directory, non-ascii-filename
5418
5419 2001-02-10  Martin Buchholz  <martin@xemacs.org>
5420
5421         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
5422         USHRT_MAX seems clearer than ~0 anyways.
5423
5424 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5425
5426         dumper improvements.  Inspired by Olivier.
5427         * dumper.c (pdump_max_align): New.
5428         * dumper.c (pdump_add_entry): Use pdump_max_align.
5429         * dumper.c (pdump_get_entry_list): Likewise.
5430         * dumper.c (pdump_scan_by_alignment): Likewise.
5431         Don't iterate through unnecessary alignments.
5432         * dumper.c (pdump_file_get): No need to align result of malloc().
5433         * dumper.c (pdump_mallocadr): Remove.  
5434         The result of malloc() is guaranteed to be maximally aligned.
5435         * dumper.c: s/elmt/elt/g;
5436         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
5437         * dumper.c (pdump_alert_undump_object): Likewise.
5438         * dumper.c (pdump_align_table): 
5439         Don't support alignments > 64.
5440         Store ALIGNOF's, not shift counts, in table.
5441
5442 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5443
5444         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
5445         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
5446         * systime.h: Use HAVE_UTIME.
5447         * sysdep.c (struct utimbuf): Remove.
5448         * sysdep.c (set_file_times): Prefer utime() to utimes().
5449         * config.h.in (HAVE_UTIME): New.
5450         * config.h.in (HAVE_UTIME_H): Remove.
5451         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
5452
5453 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5454
5455         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
5456
5457 2001-02-08  Martin Buchholz  <martin@xemacs.org>
5458
5459         * s/irix6-0.h: Use the standard system memmove, not bcopy.
5460
5461 2001-02-08  Martin Buchholz <martin@xemacs.org>
5462
5463         * XEmacs 21.2.44 "Thalia" is released.
5464
5465 2001-02-06  Martin Buchholz  <martin@xemacs.org>
5466
5467         Fixes crashes in kill-emacs on some systems.
5468         * process-unix.c (unix_kill_child_process):
5469         It's OK for kill() to fail with ESRCH.
5470
5471 2001-02-07  Martin Buchholz  <martin@xemacs.org>
5472
5473         Contortions to make .gdbinit tricks work on most systems.
5474         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
5475         * alloc.c (dbg_valmask): Make non-const.
5476         * alloc.c (dbg_typemask): Make non-const.
5477         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
5478         * alloc.c (dbg_valbits): Make non-const.
5479         * alloc.c (dbg_gctypebits): Make non-const.
5480         * .gdbinit (decode_object): Make it work with AIX cc.
5481
5482 2001-02-06  Martin Buchholz  <martin@xemacs.org>
5483
5484         * elhash.c (make_general_lisp_hash_table):
5485         Use simpler and more efficient calloc to clear entries.
5486
5487 2001-02-07  Martin Buchholz  <martin@xemacs.org>
5488
5489         * window.c (window_scroll): Work around an AIX C compiler bug.
5490         Fixes 'scroll-up' does nothing problem with xlC.
5491
5492 2001-02-05  Martin Buchholz  <martin@xemacs.org>
5493
5494         * .gdbinit: Remove obsolete comment.
5495
5496 2001-01-31  Mike Alexander  <mta@arbortext.com>
5497
5498         * select.c (Fown_selection_internal): Set owned_p for device
5499         method correctly.
5500
5501 2001-02-01  Martin Buchholz  <martin@xemacs.org>
5502
5503         Port to g++ 2.97.
5504         "not" cannot be used as a macro name as it is an operator in C++
5505         * config.h.in: Stop #defining `not'.
5506         * chartab.c (check_category_char): not ==> not_p
5507         * chartab.h: Likewise.
5508         * regex.c (re_match_2_internal): Likewise.
5509
5510 2001-02-02  Martin Buchholz  <martin@xemacs.org>
5511
5512         * lisp-disunion.h: Fix up comments.
5513
5514 2001-01-31  Martin Buchholz  <martin@xemacs.org>
5515
5516         * keymap.c (define_key_check_and_coerce_keysym):
5517         (syms_of_keymap):
5518         Support mouse-6 and mouse-7 bindings in the obvious way.
5519
5520 2001-02-01  Martin Buchholz  <martin@xemacs.org>
5521
5522         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
5523
5524 2001-01-30  Martin Buchholz  <martin@xemacs.org>
5525
5526         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
5527         Previous patch missed DEFVAR_INT_MAGIC.
5528         Make sure future DEFVAR_foo use correct types.
5529         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
5530         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
5531         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
5532         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
5533         * (DEFVAR_INT): Likewise.
5534         * redisplay.c (vertical_clip): Should be of type Fixnum.
5535         * redisplay.c (horizontal_clip): Likewise.
5536         * lisp.h (dump_add_opaque_int): New.
5537         (dump_add_opaque_fixnum): New.
5538
5539 2001-01-29  Andy Piper  <andy@xemacs.org>
5540
5541         * glyphs-widget.c (check_valid_int_or_function): allow symbols
5542         since they can be eval'ed
5543
5544 2001-01-29  Martin Buchholz  <martin@xemacs.org>
5545
5546         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
5547         Oops, XEmacs redefines `class'.  Use `typename' instead.
5548
5549 2001-01-28  Martin Buchholz  <martin@xemacs.org>
5550
5551         * dumper.c: Fix C++ compile errors.
5552
5553 2001-01-29  Martin Buchholz  <martin@xemacs.org>
5554
5555         * tparam.c: Use correct prototypes.
5556
5557 2001-01-28  Martin Buchholz  <martin@xemacs.org>
5558
5559         * sysproc.h: #include util.h for NetBSD's openpty.
5560
5561 2001-01-27  Martin Buchholz  <martin@xemacs.org>
5562
5563         More 64-bit correctness.
5564         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
5565         Use a typedef `fixnum' for the type used for DEFVAR_INT.
5566         Fix up comments.
5567         This finally finishes the 64-bit SGI port.
5568         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
5569         * symbols.c: Fix up comments and type casts.
5570         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
5571         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
5572         * symeval.h (Fixnum): New type.
5573         * symeval.h (symbol_value_type): Fix up comment.
5574
5575         * commands.h:
5576         * nt.c:
5577         * emacs.c:
5578         * data.c:
5579         * redisplay.c:
5580         * abbrev.c:
5581         * dired-msw.c:
5582         * event-Xt.c:
5583         * eldap.c:
5584         * window.c:
5585         * sound.c:
5586         * event-stream.c:
5587         * eval.c:
5588         * buffer.c:
5589         * mule-canna.c: A million DEFVAR_INTs here...
5590         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
5591         * extents.c:
5592         * cmdloop.c:
5593         * lisp.h:
5594         * select-x.c:
5595         * console-x.h:
5596         * event-msw.c:
5597         * mule-wnnfns.c:
5598         * hpplay.c:
5599         * ralloc.c:
5600         * alloc.c:
5601         * keymap.c:
5602         * profile.c:
5603         s/int/Fixnum/g in DEFVAR_INT declarations.
5604
5605 2001-01-26  Martin Buchholz  <martin@xemacs.org>
5606
5607         Port pdump to SGI alignment-sensitive environment.
5608         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
5609         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
5610         properly aligned.
5611         Define and use aligned reading and writing macros.
5612         Use buffered stdio instead of posix i/o for faster dumping.
5613         Eliminate kludgy 256 byte space for header.
5614         Read and write from dump file using structs for alignment safety.
5615         * dumper.c (pdump_align_stream): New.
5616         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
5617         * dumper.c (PDUMP_READ_ALIGNED): New.
5618         * dumper.c (PDUMP_WRITE_ALIGNED): New.
5619         * dumper.c (pdump_static_Lisp_Object): New struct.
5620         * dumper.c (pdump_static_pointer): New struct.
5621         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
5622         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
5623         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
5624         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
5625
5626         * dumper.c (pdump_backtrace):
5627         * dumper.c (pdump_get_indirect_count):
5628         * dumper.c (pdump_register_object):
5629         * dumper.c (pdump_register_struct):
5630         * dumper.c (pdump_reloc_one):
5631         * dumper.c (pdump_scan_by_alignment):
5632         * dumper.c (pdump_dump_from_root_struct_ptrs):
5633         * dumper.c (pdump_dump_opaques):
5634         * dumper.c (pdump_dump_rtables):
5635         * dumper.c (pdump_dump_from_root_objects):
5636         * dumper.c (pdump):
5637         * dumper.c (pdump_load_finish):
5638         Use aligned reading and writing.
5639
5640         * dumper.c (pdump_free): Make static.
5641         * dumper.c (pdump_hFile): Likewise.
5642         * dumper.c (pdump_hMap): Likewise.
5643
5644 2001-01-26  Martin Buchholz <martin@xemacs.org>
5645
5646         * XEmacs 21.2.43 "Terspichore" is released.
5647
5648 2001-01-25  Martin Buchholz  <martin@xemacs.org>
5649
5650         Type fiddling for window_config.saved_windows_count
5651         * window.c (struct window_config): 
5652         Make saved_windows_count member unsigned.
5653         * window.c (sizeof_window_config_for_n_windows): 
5654         Make parameter unsigned.
5655         * window.c (mark_window_config):
5656         * window.c (window_config_equal):
5657         * window.c (free_window_configuration):
5658         * window.c (Fset_window_configuration):
5659         * window.c (count_windows):
5660         * window.c (Fcurrent_window_configuration):
5661         * window.c (reinit_vars_of_window):
5662         Update all callers and users.
5663
5664 2001-01-25  Martin Buchholz  <martin@xemacs.org>
5665
5666         Alignment correctness for flexible arrays.
5667         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
5668         Make alignment-correct. Add interesting comments.
5669         * alloc.c (size_vector):
5670         * alloc.c (make_vector_internal):
5671         * alloc.c (make_bit_vector_internal):
5672         * alloc.c (sweep_bit_vectors_1):
5673         * fns.c (size_bit_vector):
5674         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
5675         * window.c (sizeof_window_config_for_n_windows): 
5676         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
5677
5678 2001-01-24  Martin Buchholz  <martin@xemacs.org>
5679
5680         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
5681
5682 2001-01-23  Andy Piper  <andy@xemacs.org>
5683
5684         * select.c (Fown_selection_internal): pass owned_p
5685
5686         * select-msw.c (mswindows_own_selection): New Signature.
5687
5688         * console.h (struct console_methods): add owned_p to
5689         _own_selection.
5690
5691         * select-x.c (x_own_selection): pass owned_p
5692         (hack_motif_clipboard_selection): use owned_p
5693         (vars_of_select_x): new variable -
5694         x_selection_strict_motif_ownership.
5695
5696 2001-01-23  Martin Buchholz  <martin@xemacs.org>
5697
5698         * specifier.h (specifier_data_offset): Remove pointless parens.
5699         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
5700
5701 2001-01-24  Martin Buchholz  <martin@xemacs.org>
5702
5703         Make Lisp_Object sizeof methods be alignment-correct.
5704         pdump must restore objects to the same alignment as the C compiler
5705         assumes.  It really matters on SGIs.
5706         * lstream.c (aligned_sizeof_lstream): New.
5707         (sizeof_lstream): Use aligned_sizeof_lstream.
5708         (Lstream_new): Likewise.
5709         * opaque.c (aligned_sizeof_opaque): New.
5710         (sizeof_opaque): Use aligned_sizeof_opaque.
5711         (make_opaque): Likewise.
5712         * specifier.c (aligned_sizeof_specifier): New.
5713         (sizeof_specifier): Use aligned_sizeof_specifier.
5714         (make_specifier_internal): Likewise.
5715
5716 2001-01-23  Martin Buchholz  <martin@xemacs.org>
5717
5718         * lstream.h (struct lstream): Use max_align_t for trailing data.
5719         * specifier.h (struct Lisp_Specifier): Likewise.
5720
5721 2001-01-22  Martin Buchholz  <martin@xemacs.org>
5722
5723         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
5724         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
5725         (CCL_SUSPEND): Likewise.
5726         (CCL_INVALID_CMD): Likewise.
5727         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
5728         (ccl_driver): Likewise.
5729         (CCL_WRITE_CHAR): Macro hygiene.
5730         (CCL_WRITE_STRING): Macro hygiene.
5731
5732 2001-01-22  Martin Buchholz  <martin@xemacs.org>
5733
5734         Port "portable" dumper to SunOS 4 and HP-UX.
5735         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
5736         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
5737         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
5738
5739 2001-01-22  Martin Buchholz  <martin@xemacs.org>
5740
5741         * lisp.h (ALIGNOF): A better definition for C++.
5742
5743 2001-01-20  Martin Buchholz  <martin@xemacs.org>
5744
5745         Macro hygiene.
5746         Fix printf warnings: int format, long int arg.
5747         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
5748         (PUSH_FAILURE_POINT): Use correct printf formats.
5749         (POP_FAILURE_POINT): Use correct printf formats.  
5750         Use do {...} while (0)
5751
5752 2001-01-20  Martin Buchholz <martin@xemacs.org>
5753
5754         * XEmacs 21.2.42 "Poseidon" is released.
5755
5756 2001-01-20  Martin Buchholz  <martin@xemacs.org>
5757
5758         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
5759
5760 2001-01-19  Martin Buchholz  <martin@xemacs.org>
5761
5762         De-kludgify FIXED_TYPE free list frobbing.
5763         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
5764         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
5765         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
5766         * alloc.c (Lisp_Free): New pseudo lisp object definition.
5767         * alloc.c (LRECORD_FREE_P): New.
5768         * alloc.c (MARK_LRECORD_AS_FREE): New.
5769         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
5770         * alloc.c (STRUCT_FREE_P): Deleted.
5771         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
5772         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
5773         * alloc.c (STRING_CHARS_FREE_P): New.
5774         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
5775         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
5776         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
5777         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
5778         * alloc.c (resize_string): Use new definitions.
5779         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
5780         * alloc.c (verify_string_chars_integrity): Use new definitions.
5781         * alloc.c (compact_string_chars): Use new definitions.
5782         * alloc.c: Update monster comments.
5783         * lrecord.h (lrecord_type): Add some new lrecord types for
5784         alloc.c's use.
5785
5786 2001-01-18  Martin Buchholz  <martin@xemacs.org>
5787
5788         Improve alignment hackery.
5789         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
5790         (max_align_t): Moved from opaque.h - general purpose.
5791         (ALIGN_PTR): Use size_t, not long.
5792         * opaque.h (max_align_t): Move to lisp.h.
5793
5794 2001-01-18  Norbert Koch  <nk@LF.net>
5795
5796         * gui.h: Fix and add prototypes to fix build problems.
5797
5798 2001-01-18  Martin Buchholz  <martin@xemacs.org>
5799
5800         temacs is going away, so `dump-temacs' is now a bad name.
5801         * .dbxrc (dump-temacs): Rename to `dmp'.
5802         * .gdbinit (dump-temacs): Rename to `dmp'.
5803
5804 2001-01-17  Andy Piper  <andy@xemacs.org>
5805
5806         * glyphs.c (print_image_instance): comment to make martin happy.
5807
5808         * glyphs-x.c (x_redisplay_widget): update faces after a frame
5809         change.
5810
5811         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
5812         activation.
5813         (mswindows_tab_control_redisplay): warning suppression.
5814
5815         * glyphs-widget.c (widget_update): re-write to cope with updated
5816         items.
5817         (widget_instantiate): use new gui_item functions.
5818         (tab_control_update): deleted.
5819         (progress_gauge_update): deleted.
5820         (image_instantiator_progress_guage): take out update reference.
5821         (image_instantiator_tree_view): ditto.
5822         (image_instantiator_tab_control): ditto.
5823
5824         * gui.c (widget_gui_parse_item_keywords): new function. Do things
5825         Right the new way.
5826         (gui_item_add_keyval_pair): re-write to cope with descriptors and
5827         return whether anything was changed.
5828         (update_gui_item_keywords): as it sounds.
5829
5830         * gui.h: declare widget_gui_parse_item_keywords.
5831
5832         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
5833         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
5834
5835 2001-01-17  Martin Buchholz <martin@xemacs.org>
5836
5837         * XEmacs 21.2.41 "Polyhymnia" is released.
5838
5839 2001-01-16  Didier Verna  <didier@xemacs.org>
5840
5841         * glyphs.c (image_instantiate): don't use fallbacks when
5842         instantiating a face's background pixmap by inheritance.
5843
5844 2001-01-14  Mike Sperber <mike@xemacs.org>
5845
5846         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
5847         Conditionalize accordingly.
5848
5849 2001-01-16  Martin Buchholz  <martin@xemacs.org>
5850
5851         * dumper.c (pdump_file_get): Fix a compiler warning.
5852
5853 2001-01-15  Martin Buchholz  <martin@xemacs.org>
5854
5855         Make Purify happy when pdumping.
5856         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
5857         iniitalizing all bits of new lisp object memory.
5858         * symbols.c (Fmake_local_variable): Likewise.
5859         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
5860         * symbols.c (Fdefvaralias): Likewise.
5861         * mule-charset.c (vars_of_mule_charset): Likewise.
5862
5863 2001-01-15  Martin Buchholz  <martin@xemacs.org>
5864         Add the `-nd' flag when running pre-dump operations under the debugger.
5865         * .dbxrc (run-temacs): Add `-nd'.
5866         * .dbxrc (update-elc): Likewise.
5867         * .dbxrc (dump-temacs): Likewise.
5868         * .gdbinit (run-temacs): Likewise.
5869         * .gdbinit (check-temacs): Likewise.
5870         * .gdbinit (update-elc): Likewise.
5871         * .gdbinit (dump-temacs): Likewise.
5872
5873 2001-01-14  Martin Buchholz  <martin@xemacs.org>
5874
5875         Allow building 64-bit executables on AIX with GNU malloc, e.g.
5876         export OBJECT_MODE=64
5877         configure --pdump --use-union-type=no
5878         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
5879         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
5880
5881         * miscplay.c (sndcnv8U_2mono):
5882         Avoid two uses of `++' in the same expression.
5883         Suppresses a GCC warning.
5884
5885 2001-01-13  Martin Buchholz  <martin@xemacs.org>
5886
5887         Make sure future compilers don't miscompile alloc.c.
5888         * alloc.c:
5889         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
5890         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
5891
5892 2001-01-12  Martin Buchholz  <martin@xemacs.org>
5893
5894         * dumper.c: A little post-pdump-rename comment fixup.
5895
5896 2001-01-09  Jerry James  <james@eecs.ku.edu>
5897
5898         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
5899
5900 2001-01-13  Martin Buchholz  <martin@xemacs.org>
5901
5902         * *.[ch]: Globally rename symbols using the following `pdump-rename'
5903         script:
5904         #!/bin/sh
5905         replace_symbol () {
5906           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
5907         }
5908
5909         replace_symbol pdump_wire_lists pdump_weak_object_chains
5910         replace_symbol pdump_wire_list dump_add_weak_object_chain
5911
5912         replace_symbol pdump_wires pdump_root_objects
5913         replace_symbol pdump_wire dump_add_root_object
5914
5915         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
5916         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
5917
5918         replace_symbol dumpstructinfos pdump_root_struct_ptrs
5919         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
5920         replace_symbol dumpstructinfo pdump_root_struct_ptr
5921         replace_symbol dumpstruct dump_add_root_struct_ptr
5922
5923         replace_symbol dumpopaque dump_add_opaque
5924         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
5925         replace_symbol dumpopaqueinfos pdump_opaques
5926         replace_symbol dumpopaqueinfo pdump_opaque
5927
5928         replace_symbol nb_structdump nb_root_struct_ptrs
5929         replace_symbol nb_opaquedump nb_opaques
5930
5931         replace_symbol align_table pdump_align_table
5932         replace_symbol dump_header pdump_header
5933
5934         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
5935         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
5936
5937
5938 2001-01-12  Martin Buchholz  <martin@xemacs.org>
5939
5940         * s/aix4.h: Keep the C for AIX compiler from overaggressively
5941         optimizing bytecount_to_charcount().
5942
5943 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
5944
5945         * config.h.in:
5946         (HAVE_DLFCN_H): Removed.
5947         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
5948
5949 2001-01-06  Martin Buchholz  <martin@xemacs.org>
5950
5951         Portable dumper maintainability improvements.
5952         * alloc.c (staticpro):
5953         * alloc.c (staticpro_nodump):
5954         * alloc.c (garbage_collect_1):
5955         * alloc.c (reinit_alloc_once_early):
5956         * alloc.c (init_alloc_once_early):
5957         * alloc.c: Move dumper functions to alloc.c.
5958         * dumper.c (pdump_backtrace):
5959         * dumper.c (pdump_dump_structs):
5960         * dumper.c (pdump_dump_opaques):
5961         * dumper.c (pdump_dump_rtables):
5962         * dumper.c (pdump_dump_wired):
5963         * dumper.c (pdump):
5964         * dumper.c (pdump_load_check):
5965         * dumper.c (pdump_load_finish):
5966         * dumper.c (pdump_file_unmap):
5967         * dumper.c (pdump_file_get):
5968         * dumper.c (pdump_resource_free):
5969         * dumper.c (pdump_resource_get):
5970         * dumper.c (pdump_file_free):
5971         * dumper.c (pdump_file_try):
5972         * dumper.c (pdump_load):
5973         Remove fixed size limits on staticpro(), staticpro_nodump(),
5974         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
5975         Remove custom code for dumping lrecord_implementations_table - use
5976         dumpopaque instead.
5977         Remove (most of the) custom code for dumping staticpros - dump it
5978         like any other dynarr.
5979
5980         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
5981         * dumper.c: Moved functions from alloc.c.
5982         * alloc.c (dumpstruct): Moved to dumper.c.
5983         * alloc.c (dumpopaque): Likewise.
5984         * alloc.c (pdump_wire): Likewise.
5985         * alloc.c (pdump_wire_list): Likewise.
5986
5987         * lisp.h (Dynarr_sizeof): New.
5988         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
5989         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
5990         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
5991
5992         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
5993         * lisp.h (dumpopaque): ditto.
5994         * lisp.h (pdump_wire): ditto.
5995         * lisp.h (pdump_wire_list): ditto.
5996
5997 2001-01-09  Martin Buchholz  <martin@xemacs.org>
5998
5999         * make-src-depend (PrintPatternDeps):
6000         Use `sort' to make output independent of perl version.
6001
6002 2001-01-08  Martin Buchholz  <martin@xemacs.org>
6003
6004         Port to Netbsd 1.5.
6005         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
6006         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
6007
6008 2001-01-03  Didier Verna  <didier@xemacs.org>
6009
6010         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
6011         that `focus_frame' is alive before thinking of calling
6012         `redisplay_redraw_cursor' on it.
6013
6014 2001-01-08  Martin Buchholz <martin@xemacs.org>
6015
6016         * XEmacs 21.2.40 is released.
6017
6018 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6019
6020         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
6021
6022 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6023
6024         * alloc.c (dbg_valmask): Make const.
6025         * alloc.c (dbg_typemask): Make const.
6026         * alloc.c (dbg_USE_UNION_TYPE): Make const.
6027         * alloc.c (dbg_valbits): Make const.
6028         * alloc.c (dbg_gctypebits): Make const.
6029
6030 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
6031
6032         * redisplay-x.c (x_bevel_area):
6033         redisplay.h (struct rune):
6034         Typo fixes in comments.
6035
6036 2001-01-05  Andy Piper  <andy@xemacs.org>
6037
6038         * glyphs-x.c (x_redisplay_widget): use size changed for offset
6039         adjustment.
6040
6041         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
6042
6043 2001-01-05  Martin Buchholz  <martin@xemacs.org>
6044
6045         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
6046
6047         * mule-ccl.c (stack_idx_of_map_multiple):
6048         Non const global data must not be initialized!
6049         Found by MIYASHITA Hisashi.
6050
6051 2001-01-02  Andy Piper  <andy@xemacs.org>
6052
6053         * frame.c (change_frame_size): make sure frame size is always
6054         marked as changed.
6055
6056         * glyphs.c (image_instance_layout): minor code reuse.
6057
6058         * window.c (Fcurrent_window_configuration): revert previous
6059         change.
6060
6061 2001-01-02  Martin Buchholz  <martin@xemacs.org>
6062
6063         * glyphs.h:
6064         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
6065
6066 2000-12-31  Andy Piper  <andy@xemacs.org>
6067
6068         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
6069         when widget gets unmapped.
6070
6071         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
6072         function. Make sure widgets losing focus don't just drop it.
6073         (handle_focus_event_1): record the widget with focus.
6074
6075 2000-12-31  Andy Piper  <andy@xemacs.org>
6076
6077         * window.c (allocate_window): use
6078         make_image_instance_cache_hash_table.
6079         (make_dummy_parent): ditto.
6080         (Fset_window_configuration): ditto.
6081
6082         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
6083
6084         * glyphs.c (process_image_string_instantiator): use
6085         INSTANTIATOR_TYPE.
6086         (get_image_instantiator_governing_domain): ditto.
6087         (normalize_image_instantiator): ditto.
6088         (instantiate_image_instantiator): ditto.
6089         (make_image_instance_1): ditto.
6090         (image_instantiate): ditto. Key on glyph *and* instantiator type.
6091         (instantiator_eq_equal): new function for use with instance hash
6092         tables.
6093         (instantiator_eq_hash): ditto.
6094         (make_image_instance_cache_hash_table): create a suitable hash
6095         table for storing image instances.
6096
6097         * elhash.h (hash_table_weakness): new internal weakness type
6098         HASH_TABLE_KEY_CAR_VALUE_WEAK.
6099         declare new functions.
6100
6101         * elhash.c (finish_marking_weak_hash_tables): introduce yet
6102         another weakness type for glyphs.
6103         (make_standard_lisp_hash_table): new function split out from
6104         make_general_lisp_hash_table.
6105         (make_lisp_hash_table): call make_standard_lisp_hash_table.
6106         (hash_table_instantiate): ditto.
6107         (Fmake_hash_table): ditto.
6108
6109 2000-12-31  Martin Buchholz <martin@xemacs.org>
6110
6111         * XEmacs 21.2.39 is released.
6112
6113 2000-12-29  Andy Piper  <andy@xemacs.org>
6114
6115         * menubar.c (menubar_visible_p_changed): signal the frame changed.
6116
6117         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
6118         the frame has changed so that we pick up geometry changes such as
6119         menubar visibility.
6120
6121 2000-12-28  Andy Piper  <andy@xemacs.org>
6122
6123         * lastfile.c (my_ebss): make a char array so we can pad the
6124         bss. Fixes cygwin unexec.
6125
6126         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
6127
6128 2000-12-26  Andy Piper  <andy@xemacs.org>
6129
6130         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
6131         comments and try and be more precise about a non-/SIGIO world.
6132         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
6133         SIGIO.
6134
6135         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
6136         we don't normalize to zero width or height.
6137
6138 2000-12-24  Andy Piper  <andy@xemacs.org>
6139
6140         * Makefile.in.in (ldflags): add -mwindows when appropriate.
6141
6142 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
6143
6144         * s/sco5.h: SCO 5 has pty support.
6145
6146 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
6147
6148         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
6149         input-method-xlib.c contains whole contents of input-method-xfs.c,
6150         so we can use input-method-xlib.c's code for USE_XFONTSET
6151         using #ifdefs.
6152         * input-method-xfs.c: removed.
6153
6154 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
6155
6156         * file-coding.h (enum coding_category_type): reorder enumerators to
6157         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
6158         (now one greater than largest real coding_category_type enumerator).
6159         * file-coding.c (coding_category_symbol, coding_category_by_priority,
6160         coding_category_system, fcd_descriptihon_1, decode_coding_category,
6161         Fcoding_category_list, Fset_coding_priority_list,
6162         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
6163         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
6164
6165 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6166
6167         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
6168         * redisplay-output.c (redisplay_output_window): Clear top of window
6169         when face is changed.
6170         * redisplay-x.c (x_redraw_exposed_window): Call
6171         redisplay_clear_top_of_window.
6172         * redisplay.h: Publish redisplay_clear_top_of_window.
6173
6174 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6175
6176         * buffer.c (Fkill_buffer): Map over all devices.
6177         * window.c (window_loop): Remove UNSHOW_BUFFER code.
6178         (list_windows): New function.
6179         (list_all_windows): Ditto.
6180         (Freplace_buffer_in_windows): Use them.
6181
6182 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
6183
6184         * database.c (berkdb_subtype): Recognize new subtype `queue'.
6185         (Fopen_database): Use `db_create' instead of `db_open'.
6186         (syms_of_database): Initialize Qqueue.
6187
6188 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
6189
6190         * buffer.c (common_init_complex_vars_of_buffer): Initialize
6191         buffer_local_face_property.
6192         * buffer.h (struct buffer): New member buffer_local_face_property.
6193         * window.c (Fset_window_buffer):  Mark window's face as changed
6194         when buffer has buffer local face.
6195         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
6196         * objects.c (color_after_change): Set buffer_local_face_property
6197         when locale of face specifier is buffer.
6198         * objects.c (font_after_change): Ditto.
6199         * objects.c (face_boolean_after_change): Ditto.
6200         * glyphs.c (image_after_change): Ditto.
6201
6202 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6203
6204         * nt.c (mswindows_fstat): Report file permissions, volume serial
6205         number, etc. Code adapted from FSF Emacs 20.7.
6206
6207 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6208
6209         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
6210         of stat when we don't have symbolic links, to make sure
6211         mswindows_stat is called on mswindows.
6212
6213 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6214
6215         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
6216
6217 2000-12-12  Martin Buchholz  <martin@xemacs.org>
6218
6219         * doprnt.c (emacs_doprnt_1): More printing fixes.
6220         Make printing of numbers compatible with libc and FSF Emacs.
6221         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
6222         Use the system printf to do most of the hard work of formatting,
6223         instead of doprnt_1().
6224         Calculate memory to allocate for format string.
6225         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
6226         (doprnt_1): Cleaner code and documentation.
6227
6228 2000-12-01  Jerry James  <james@eecs.ukans.edu>
6229
6230         * Makefile.in.in: Use the loop variable to install headers.
6231
6232 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6233
6234         * window.c (Fsplit_window): Don't invalidate face cache.
6235
6236 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6237
6238         * minibuf.c (Fall_completions): Undo the previous change
6239         which removed checking elements start with space.
6240
6241 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6242
6243         * mule-canna.c: Didier suppression.
6244
6245 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6246
6247         * mule-canna.c: rename static unsigned char buf[] to key_buffer
6248         (warning suppression).  Add English comment translations.
6249
6250 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6251
6252         * unexelfsgi.c (unexec): Better test for mmap failure.
6253
6254 2000-12-05  Martin Buchholz <martin@xemacs.org>
6255
6256         * XEmacs 21.2.38 is released.
6257
6258 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6259
6260         * redisplay.c (bar-cursor): Make a user variable.
6261
6262         * symsinit.h: Add init_postgresql_from_environment.
6263
6264 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6265
6266         * regex.c: Convert to clean C.
6267
6268 2000-12-05  Dan Holmsand  <dan@eyebee.com>
6269
6270         * realpath.c:
6271         Don't #include sysfile.h. Revert to duplicating PATH_MAX
6272         initialization.
6273         (sys_readlink): renamed to system_readlink to avoid conflict with
6274         the other sys_readlink.
6275
6276 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
6277
6278         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
6279
6280 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
6281
6282         * postgresql.c (init_postgresql_from_environment): new function.
6283         (vars_of_postgresql): Move code initializing Lisp variables out and
6284         into init_postgresql_from_environment.
6285         emacs.c (main_1): Call init_postgresql_from_environment if and only
6286         if running a dumped XEmacs.
6287
6288 2000-08-31  Dan Holmsand  <dan@eyebee.com>
6289
6290         * buffer.c: Make find-file-compare-truenames default to true on
6291         windows.
6292
6293         * realpath.c (win32_abs_start):
6294         (cygwin_readlink):
6295         (win32_readlink): New functions.
6296         (xrealpath): Return really real filenames on windows.
6297
6298         * fileio.c (Ffile_truename): Make file-truename work on windows.
6299
6300 2000-11-29  Didier Verna  <didier@xemacs.org>
6301
6302         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
6303         * faces.c (update_face_cachel_data): use it.
6304         * faces.c (add_face_cachel): use it. Complete background pixmap
6305         frobbing in face cache if `update_face_cachel_data' has not done so.
6306
6307 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
6308
6309         * search.c (string_match_1): Don't set last_thing_searched
6310         when search failed.
6311
6312 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
6313
6314         * buffer.c: Include casetab.h
6315         (common_init_complex_vars_of_buffer): Use new case-table object.
6316         * buffer.h: Include casetab.h
6317         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
6318         (DOWNCASE_TABLE_OF): Ditto.
6319         * bufslots.h: Remove char-tables and add case-table.
6320         * casetab.c: Include casetab.h
6321         (CASE_TABLE_P): Removed.
6322         (mark_case_table): New function.
6323         (allocate_case_table): New function.
6324         (Fcase_table_p): Use new case-table.
6325         (case_table_char): New function.
6326         (Fget_case_table): Ditto.
6327         (Fput_case_table): Ditto.
6328         (Fput_case_table_pair): Ditto.
6329         (Fcopy_case_table): Ditto.
6330         (Fcurrent_case_table): Return case-table.
6331         (Fstandard_case_table): Return case-table.
6332         (Fset_case_table): Fix doc-string.
6333         (set_case_table): Use case-table
6334         (syms_of_casetab): DEFSUBR new functions.
6335         (complex_vars_of_casetab): Set up standard case-table.
6336         * casetab.h: New file.
6337         * editfns.c: Include casetab.h
6338         (Fcompare_buffer_substrings): Use case-table.
6339         * inline.c: Include casetab.h
6340         * lisp.h: Remove bogus extern.
6341         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
6342         * search.c: Include casetab.h
6343         (TRANSLATE_ASCII): Removed.
6344         (TRANSLATE): Unconditionally translate character.
6345         (looking_at_1): Use case-table.
6346         (string_match_1): Ditto.
6347         (fast_string_match): Ditto.
6348         (search_command): Ditto.
6349         (search_buffer): Separate boyer_moore.  Check whether
6350         boyer_moore is possible.
6351         (simple_search): New function.
6352         (boyer_moore): Separated from search_buffer. Translate char.
6353
6354 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
6355
6356         * regex.c (RE_TR_ASCII): Removed.
6357         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
6358         (PATFETCH): Call PATFETCH_RAW.
6359         (PATFETCH_RAW): Fetch Emchar.
6360         (PATUNFETCH): Decrement charptr.
6361         (GET_BUFFER_SPACE): Rename b to buf_end.
6362         (BUF_PUSH): Ditto.
6363         (BUF_PUSH_2): Ditto.
6364         (BUF_PUSH_3): Ditto.
6365         (EXTEND_BUFFER): Ditto.
6366         (SET_LIST_BIT): Ditto.
6367         (regex_compile): Ditto.  Translate non ASCII char.
6368         (compile_range): Ditto.
6369         (re_search_2): Ditto.
6370         (re_match_2_internal): Compare Emchar.
6371         (bcmp_translate): Ditto.
6372
6373 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
6374
6375         * lisp.h (basic char/int typedefs):  comment improvement.
6376
6377 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
6378
6379         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
6380         unstomp inhibit_site_lisp.  Improve comments.
6381
6382 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
6383
6384         * mule-charset.c (Fcharset_property):  improve type checking, comments.
6385
6386 2000-11-28  Andy Piper  <andy@xemacs.org>
6387
6388         * redisplay-output.c (redisplay_output_subwindow): make sure we do
6389         clipped display for windows in the gutter also.
6390         (redisplay_display_boxes_in_window_p): change semantics of return
6391         codes to be more intuitive.
6392
6393         * gutter.h: declare display_boxes_in_gutter_p.
6394
6395         * gutter.c (display_boxes_in_gutter_p): new function for
6396         redisplay.
6397
6398 2000-11-22  Andy Piper  <andy@xemacs.org>
6399
6400         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
6401         autodetect domain.
6402
6403 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
6404
6405         * callproc.c (Fold_call_process_internal):
6406         * gpm.c (Freceive_gpm_event):
6407         (tty_get_foreign_selection): Might be just warning supression.
6408         * fileio.c (Fwrite_region_internal):
6409         (Fset_visited_file_modtime):
6410         * keymap.c (event_matches_key_specifier_p):
6411         Initialize GCPROed variable.
6412
6413         * menubar-x.c (command_builder_find_menu_accelerator):
6414         Initialize before use.
6415
6416 2000-11-23  Andy Piper  <andy@xemacs.org>
6417
6418         * unexcw.c (unexec): make the resulting executable executable.
6419
6420 2000-11-21  Martin Buchholz  <martin@xemacs.org>
6421
6422         * doc.c (get_doc_string):
6423         Use size_t, not int, for result of XSTRING_LENGTH.
6424
6425         * cmds.c (Fdelete_char):
6426         * cmds.c (Fpoint_at_eol):
6427         * cmds.c (Fself_insert_command):
6428         Use EMACS_INT, not int, for result of XINT.
6429         Someday, someone will want to insert more than 2**31 identical characters.
6430
6431         * cmds.c (Fdelete_char):
6432         * cmds.c (Fdelete_backward_char):
6433         * syntax.c (Fforward_word):
6434         * syntax.c (Fforward_comment):
6435         Make COUNT argument optional, for consistency with forward-char et al.
6436
6437 2000-11-22  Martin Buchholz  <martin@xemacs.org>
6438
6439         * lisp.h:
6440         * print.c (long_to_string):
6441         Return a useful value: the pointer at end of data written.
6442
6443         * doprnt.c:
6444         Use `static const char * const' for constant strings.
6445         (union printf_arg): Delete `i', `ui' members.
6446         (get_doprnt_args):
6447         (emacs_doprnt_1):
6448         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
6449         Do all printf-ing via the `l' specifier.
6450         Use EMACS_INT instead of int.
6451         Optimize.
6452
6453 2000-11-20  Didier Verna  <didier@xemacs.org>
6454
6455         * faces.c (update_face_cachel_data): don't frob the background
6456         pixmap when the window is being created. The face is needed but
6457         does not exist yet.
6458
6459 2000-11-20  Andy Piper  <andy@xemacs.org>
6460
6461         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
6462         messing with a debug environment.
6463
6464 2000-11-20  Martin Buchholz  <martin@xemacs.org>
6465
6466         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
6467
6468 2000-11-20  Martin Buchholz  <martin@xemacs.org>
6469
6470         * casetab.c (Fcase_table_p): Fix compile error and crash.
6471
6472 2000-11-18  Philip Aston  <philipa@mail.com>
6473
6474         * s/cygwin32.h: Cygwin has SVR4-like pty support.
6475
6476 2000-11-18  Martin Buchholz  <martin@xemacs.org>
6477
6478         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
6479         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
6480
6481 2000-11-17  Martin Buchholz  <martin@xemacs.org>
6482
6483         * config.h.in: Define HAVE_ELF_H if elf.h exists.
6484         * unexelf.c: Use HAVE_ELF_H.
6485         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
6486         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
6487         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
6488         Greg Harrington <greg_harrington@hotmail.com> provided a machine
6489         for testing.
6490         So this is an unexelfsgi.c from a different line of development.
6491
6492 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
6493
6494         * regex.c (RE_TR_ASCII): New function.
6495         (RE_TRANSLATE): Call it.
6496
6497 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
6498
6499         * buffer.h (TRT_TABLE_OF): Remove assert.
6500         (IN_TRT_TABLE_DOMAIN): Removed.
6501
6502 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6503
6504         * free-hook.c (log_gcpro):
6505         (show_gcprohist): Add support for GCPRO5.
6506
6507 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
6508
6509         * emacs.c (main_1): Improve -sd error message when --pdump=no.
6510
6511 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
6512
6513         * symeval.h: Declare flush_all_buffer_local_cache.
6514
6515         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
6516         (flush_buffer_local_cache): Added.
6517         (flush_all_buffer_local_cache): Added.
6518
6519         * lrecord.h: Remove unused XD_LO_RESET_NIL.
6520
6521         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
6522         (pdump_dump_data): Ditto.
6523         (pdump_reloc_one): Ditto.
6524         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
6525         before dumping.
6526
6527
6528 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
6529
6530         * buffer.c: Remove if 0'ed entry.
6531         * buffer.h: Rewrite TRT to use char-table.
6532         * bufslots.h: Remove mirror tables.
6533         * casetab.c: Remove mirror tables.
6534         (CASE_TABLE_P): New macro.
6535         (Fcase_table_p): Element of a case table is string or char-table.
6536         (make_mirror_trt_table): Removed.
6537         (set_case_table): Setup char-table from strings for backward
6538         compatibility.
6539         * dired.c (Fdirectory_files):
6540         * dired-msw.c: (mswindows_get_files):
6541         * lisp.h: Change prototype of re_pattern_buffer.
6542         * regex.c: (RE_TRANSLATE): New macro.
6543         (TRANSLATE_P): Ditto.
6544         Change translate to type RE_TRANSLATE_TYPE.
6545         * regex.h: Define RE_TRANSLATE_TYPE
6546         * search.c (TRANSLATE): New macro.
6547         (TRANSLATE_ASCII): New macro.
6548         Translate table is changed to Lisp_Object.
6549         (signal_failure): Inhibit return.
6550
6551 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
6552
6553         * device-msw.c:
6554         * eldap.c:
6555         * event-Xt.c:
6556         * event-stream.c:
6557         * print.c:
6558         Do UNGCPRO before return.
6559
6560 2000-11-14  Martin Buchholz <martin@xemacs.org>
6561
6562         * XEmacs 21.2.37 is released.
6563
6564 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
6565
6566         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
6567         Add comments about discarded return value.
6568
6569 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
6570
6571         * callint.c:
6572         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
6573
6574 2000-10-27  Andy Piper  <andy@xemacs.org>
6575
6576         * gutter.c (Fset_default_gutter_position): default left and right
6577         gutters to visible.
6578         (calculate_gutter_size): calculate resonable heuristic for left
6579         and right gutter sizes.
6580         (specifier_vars_of_gutter): change left and right gutter sizes to
6581         autodetect.
6582         (calculate_gutter_size_from_display_lines): new function.
6583         (output_gutter): check for resizing on left and right gutters.
6584         (clear_gutter): don't special case top and left gutters.
6585         (specifier_vars_of_gutter): use new signature for
6586         set_specifier_caching.
6587
6588         * glyphs-x.c (x_redisplay_widget): spelling fix.
6589         * glyphs.c (specifier_vars_of_glyphs):
6590         * menubar.c (specifier_vars_of_menubar):
6591         * redisplay.c (specifier_vars_of_redisplay):
6592         * toolbar.c (specifier_vars_of_toolbar):
6593         * window.c (specifier_vars_of_window):
6594         * scrollbar.c (specifier_vars_of_scrollbar):
6595         (complex_vars_of_scrollbar): use new signature for
6596         set_specifier_caching.
6597
6598         * specifier.c (set_specifier_caching): include recompute flag.
6599         (recompute_one_cached_specifier_in_window): always recompute if
6600         flag set.
6601         (recompute_one_cached_specifier_in_frame): ditto.
6602
6603         * specifier.h (struct specifier_caching): add recompute flag.
6604
6605 2000-10-24  Andy Piper  <andy@xemacs.org>
6606
6607         * unexcw.c (copy_executable_and_dump_data_section): add new
6608         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
6609         5.0 happy.
6610
6611 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
6612
6613         * console-x.h (x_device): New member modifier_release_time.
6614         * event-Xt.c (x_handle_sticky_modifiers):
6615         Bound interval modifier keys are sticky.
6616         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
6617         * events.h: extern it.
6618
6619 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
6620
6621         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
6622
6623 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
6624
6625         * event-stream.c (execute_command_event): Preserve current_events
6626         and the like when event is misc-user-event.
6627         Inhibit quit during the call to maybe_echo_keys.
6628
6629 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6630
6631         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
6632         symlink when buffer is killed.
6633         (inhibit_clash_detection): New variable.
6634
6635 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
6636
6637         * console.c (Fset_input_method): Trigger redisplay on tty.
6638
6639 2000-11-07  Martin Buchholz  <martin@xemacs.org>
6640
6641         * process.c (Fprocess_status): Revert to previous behavior:
6642         (process-status "nosuchprocess") ==> nil
6643
6644 2000-11-06  Martin Buchholz  <martin@xemacs.org>
6645
6646         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
6647         Work around another GCC 2.95.2 optimizer bug.
6648
6649 2000-11-02  Martin Buchholz  <martin@xemacs.org>
6650
6651         * process.c (Fget_process): Use LIST_LOOP_2.
6652         (kill_buffer_processes): Use LIST_LOOP_2.
6653
6654         * minibuf.c (Fall_completions):
6655         Delete old non-functional code for FSF fourth argument.
6656
6657         * frame.c (frame_matches_frame_spec):
6658         Renamed from `frame_matches_frametype'.  Update all callers.
6659         (device_matches_device_spec):
6660         Renamed from 'device_matches_console_spec'.  Update all callers.
6661
6662         * doc.c (Fsubstitute_command_keys):
6663         Remove buffer overflow crash.  Small code cleanups.
6664
6665         * casetab.c (check_case_table): Simpler code.
6666
6667         * window.c (Freplace_buffer_in_windows):
6668         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
6669         (and similar implementation) as Fdelete_windows_on.
6670         Update all callers.
6671
6672         * alloc.c (Fmake_list):
6673         * alloc.c (make_vector):
6674         * alloc.c (Fmake_vector):
6675         * alloc.c (make_bit_vector):
6676         * alloc.c (Fmake_bit_vector):
6677         * alloc.c (Fbit_vector):
6678         * alloc.c (Fmake_string):
6679         * alloc.c (Fpurecopy):
6680         * alloc.c (Fmemory_limit):
6681         * buffer.c:
6682         * buffer.c (Fget_buffer):
6683         * buffer.c (Fkill_buffer):
6684         * buffer.c (complex_vars_of_buffer):
6685         * bytecode.c (Fcompiled_function_stack_depth):
6686         * callint.c (Fprefix_numeric_value):
6687         * event-stream.c:
6688         * event-stream.c (Fread_key_sequence):
6689         * casetab.c:
6690         * casetab.c (Fcase_table_p):
6691         * casetab.c (check_case_table):
6692         * casetab.c (Fset_case_table):
6693         * casetab.c (Fset_standard_case_table):
6694         * chartab.c:
6695         * chartab.c (Fchar_table_type):
6696         * chartab.c (Freset_char_table):
6697         * chartab.c (Fget_char_table):
6698         * chartab.c (Fget_range_char_table):
6699         * chartab.c (Fput_char_table):
6700         * chartab.c (Fmap_char_table):
6701         * chartab.c (Fcategory_table_p):
6702         * chartab.c (Fcheck_category_at):
6703         * chartab.c (Fchar_in_category_p):
6704         * chartab.c (Fcategory_table):
6705         * chartab.c (Fcopy_category_table):
6706         * chartab.c (Fset_category_table):
6707         * chartab.c (Fcategory_designator_p):
6708         * chartab.c (Fcategory_table_value_p):
6709         * cmds.c (Fdelete_char):
6710         * cmds.c (Fdelete_backward_char):
6711         * cmds.c (Fself_insert_command):
6712         * cmds.c (Fself_insert_internal):
6713         * console.c (Fvalid_console_type_p):
6714         * console.c (Fcdfw_console):
6715         * console.c (Fconsole_type):
6716         * console.c (Fconsole_name):
6717         * console.c (Fconsole_device_list):
6718         * console.c (Fconsole_on_window_system_p):
6719         * data.c:
6720         * data.c (Feq):
6721         * data.c (Fold_eq):
6722         * data.c (Fsubr_interactive):
6723         * data.c (Fchar_to_int):
6724         * data.c (Fint_to_char):
6725         * data.c (Fsetcar):
6726         * data.c (Fsetcdr):
6727         * data.c (Fnumber_to_string):
6728         * data.c (Fstring_to_number):
6729         * data.c (Frem):
6730         * database.c (mark_database):
6731         * database.c (finalize_database):
6732         * database.c (Fdatabase_live_p):
6733         * database.c (Fdatabasep):
6734         * device-x.c (Fx_get_resource):
6735         * device.c (Fdfw_device):
6736         * dired.c:
6737         * dired.c (Ffile_name_completion):
6738         * dired.c (Ffile_name_all_completions):
6739         * dired.c (Fuser_name_completion):
6740         * dired.c (Fuser_name_completion_1):
6741         * dired.c (Fuser_name_all_completions):
6742         * doc.c (Fdocumentation):
6743         * doc.c (Fdocumentation_property):
6744         * doc.c (Fsubstitute_command_keys):
6745         * editfns.c:
6746         * editfns.c (Fchar_to_string):
6747         * editfns.c (Fstring_to_char):
6748         * editfns.c (Ftemp_directory):
6749         * editfns.c (Finsert_char):
6750         * editfns.c (Fbuffer_substring_no_properties):
6751         * editfns.c (Fnarrow_to_region):
6752         * editfns.c (Fchar_equal):
6753         * editfns.c (Fchar_Equal):
6754         * editfns.c (Ftranspose_regions):
6755         * emacs.c (Fdump_emacs):
6756         * eval.c (Fthrow):
6757         * eval.c (Fcommand_execute):
6758         * eval.c (Fautoload):
6759         * eval.c (Fbacktrace):
6760         * eval.c (Fbacktrace_frame):
6761         * events.c:
6762         * events.c (Fcopy_event):
6763         * events.c (Fcharacter_to_event):
6764         * events.c (Fevent_button):
6765         * events.c (Fevent_process):
6766         * extents.c:
6767         * extents.c (Fnext_extent_change):
6768         * extents.c (Fextent_property):
6769         * faces.c (Ffacep):
6770         * faces.c (Fmake_face):
6771         * file-coding.c:
6772         * file-coding.c (Fencode_shift_jis_char):
6773         * file-coding.c (Fencode_big5_char):
6774         * fileio.c (Ffile_name_directory):
6775         * fileio.c (Ffile_name_nondirectory):
6776         * fileio.c (Ffile_name_as_directory):
6777         * fileio.c (Fdirectory_file_name):
6778         * fileio.c (Ffile_truename):
6779         * fileio.c (Fsubstitute_in_file_name):
6780         * fileio.c (Ffile_modes):
6781         * fileio.c (Fset_file_modes):
6782         * fileio.c (Fset_default_file_modes):
6783         * fileio.c (Fverify_visited_file_modtime):
6784         * floatfns.c (Facos):
6785         * floatfns.c (Fasin):
6786         * floatfns.c (Fatan):
6787         * floatfns.c (Fcos):
6788         * floatfns.c (Fsin):
6789         * floatfns.c (Ftan):
6790         * floatfns.c (Fbessel_j0):
6791         * floatfns.c (Fbessel_j1):
6792         * floatfns.c (Fbessel_jn):
6793         * floatfns.c (Fbessel_y0):
6794         * floatfns.c (Fbessel_y1):
6795         * floatfns.c (Fbessel_yn):
6796         * floatfns.c (Ferf):
6797         * floatfns.c (Ferfc):
6798         * floatfns.c (Flog_gamma):
6799         * floatfns.c (Fexp):
6800         * floatfns.c (Fexpt):
6801         * floatfns.c (Flog):
6802         * floatfns.c (Flog10):
6803         * floatfns.c (Fsqrt):
6804         * floatfns.c (Fcube_root):
6805         * floatfns.c (Facosh):
6806         * floatfns.c (Fasinh):
6807         * floatfns.c (Fatanh):
6808         * floatfns.c (Fcosh):
6809         * floatfns.c (Fsinh):
6810         * floatfns.c (Ftanh):
6811         * floatfns.c (Fabs):
6812         * floatfns.c (Ffloat):
6813         * floatfns.c (Flogb):
6814         * floatfns.c (Fceiling):
6815         * floatfns.c (Ffloor):
6816         * floatfns.c (Fround):
6817         * floatfns.c (Ftruncate):
6818         * floatfns.c (Ffceiling):
6819         * floatfns.c (Fffloor):
6820         * floatfns.c (Ffround):
6821         * floatfns.c (Fftruncate):
6822         * fns.c (Fstring_equal):
6823         * fns.c (Fstring_lessp):
6824         * fns.c (concat2):
6825         * fns.c (concat3):
6826         * fns.c (vconcat2):
6827         * fns.c (vconcat3):
6828         * fns.c (Fsubstring):
6829         * fns.c (Fassoc):
6830         * fns.c (Fold_assoc):
6831         * fns.c (assoc_no_quit):
6832         * fns.c (Fassq):
6833         * fns.c (Fold_assq):
6834         * fns.c (assq_no_quit):
6835         * fns.c (Frassoc):
6836         * fns.c (Fold_rassoc):
6837         * fns.c (Frassq):
6838         * fns.c (Fold_rassq):
6839         * fns.c (rassq_no_quit):
6840         * fns.c (Fremassoc):
6841         * fns.c (remassoc_no_quit):
6842         * fns.c (Fremassq):
6843         * fns.c (remassq_no_quit):
6844         * fns.c (Fremrassoc):
6845         * fns.c (Fremrassq):
6846         * fns.c (remrassq_no_quit):
6847         * fns.c (Fsort):
6848         * fns.c (Fplist_get):
6849         * fns.c (Fplist_put):
6850         * fns.c (Fplist_remprop):
6851         * fns.c (Fplist_member):
6852         * fns.c (Flax_plist_get):
6853         * fns.c (Flax_plist_put):
6854         * fns.c (Flax_plist_remprop):
6855         * fns.c (Flax_plist_member):
6856         * fns.c (Fequal):
6857         * fns.c (Fold_equal):
6858         * fns.c (Frequire):
6859         * fns.c (Fbase64_encode_region):
6860         * fns.c (Fbase64_encode_string):
6861         * fns.c (Fbase64_decode_region):
6862         * frame.c:
6863         * frame.c (frame_matches_frame_spec):
6864         * frame.c (device_matches_device_spec):
6865         * frame.c (next_frame):
6866         * frame.c (previous_frame):
6867         * frame.c (Fnext_frame):
6868         * frame.c (Fprevious_frame):
6869         * frame.c (Fframe_property):
6870         * frame.c (Fset_frame_height):
6871         * frame.c (Fset_frame_size):
6872         * frame.h:
6873         * glyphs.c:
6874         * glyphs.c (if):
6875         * glyphs.c (decode_error_behavior_flag):
6876         * glyphs.c (Fmake_image_instance):
6877         * indent.c (Findent_to):
6878         * intl.c (Fignore_defer_gettext):
6879         * keymap.c (Fkeymapp):
6880         * keymap.c (Flookup_key):
6881         * lread.c:
6882         * lread.c (Fload_internal):
6883         * lread.c (Feval_buffer):
6884         * lread.c (Feval_region):
6885         * macros.c (Fexecute_kbd_macro):
6886         * marker.c (set_marker_internal):
6887         * marker.c (Fset_marker):
6888         * marker.c (set_marker_restricted):
6889         * marker.c (Fcopy_marker):
6890         * marker.c (noseeum_copy_marker):
6891         * menubar.c:
6892         * menubar.c (Fpopup_menu):
6893         * minibuf.c:
6894         * mule-charset.c (Fcharset_name):
6895         * mule-charset.c (Fchar_charset):
6896         * mule-charset.c (Fchar_octet):
6897         * mule-charset.c (Fsplit_char):
6898         * mule-wnnfns.c (Fwnn_open):
6899         * mule-wnnfns.c (Fwnn_dict_comment):
6900         * mule-wnnfns.c (Fwnn_quit_henkan):
6901         * mule-wnnfns.c (Fwnn_word_toroku):
6902         * mule-wnnfns.c (Fwnn_word_sakujo):
6903         * mule-wnnfns.c (Fwnn_word_use):
6904         * mule-wnnfns.c (Fwnn_hindo_set):
6905         * objects.c:
6906         * objects.c (Fmake_color_instance):
6907         * objects.c (Fmake_font_instance):
6908         * print.c (Fwrite_char):
6909         * process.c:
6910         * process.c (mark_process):
6911         * process.c (print_process):
6912         * process.c (get_process_from_usid):
6913         * process.c (Fprocessp):
6914         * process.c (Fprocess_live_p):
6915         * process.c (Fget_process):
6916         * process.c (Fget_buffer_process):
6917         * process.c (get_process):
6918         * process.c (Fprocess_id):
6919         * process.c (Fprocess_name):
6920         * process.c (Fprocess_command):
6921         * process.c (init_process_io_handles):
6922         * process.c (start_process_unwind):
6923         * process.c (Fstart_process_internal):
6924         * process.c (Fopen_multicast_group_internal):
6925         * process.c (Fset_process_window_size):
6926         * process.c (read_process_output):
6927         * process.c (send_process):
6928         * process.c (Fprocess_tty_name):
6929         * process.c (Fset_process_buffer):
6930         * process.c (Fprocess_buffer):
6931         * process.c (Fprocess_mark):
6932         * process.c (set_process_filter):
6933         * process.c (Fset_process_filter):
6934         * process.c (Fprocess_filter):
6935         * process.c (Fprocess_send_region):
6936         * process.c (Fprocess_send_string):
6937         * process.c (exec_sentinel):
6938         * process.c (Fset_process_sentinel):
6939         * process.c (Fprocess_sentinel):
6940         * process.c (status_notify):
6941         * process.c (Fprocess_status):
6942         * process.c (Fprocess_exit_status):
6943         * process.c (process_send_signal):
6944         * process.c (Fprocess_send_eof):
6945         * process.c (deactivate_process):
6946         * process.c (remove_process):
6947         * process.c (Fdelete_process):
6948         * process.c (kill_buffer_processes):
6949         * process.c (Fprocess_kill_without_query):
6950         * process.c (Fprocess_kill_without_query_p):
6951         * rangetab.c:
6952         * rangetab.c (Fget_range_table):
6953         * rangetab.c (Fput_range_table):
6954         * rangetab.c (Fremove_range_table):
6955         * rangetab.c (Fclear_range_table):
6956         * search.c:
6957         * search.c (Fskip_chars_forward):
6958         * search.c (Fskip_chars_backward):
6959         * search.c (Fskip_syntax_forward):
6960         * search.c (Fskip_syntax_backward):
6961         * search.c (search_command):
6962         * search.c (Freplace_match):
6963         * search.c (Fregexp_quote):
6964         * select.c (Fown_selection_internal):
6965         * select.c (Fselection_owner_p):
6966         * select.c (Fselection_exists_p):
6967         * select.c (Fget_selection_internal):
6968         * specifier.c:
6969         * symbols.c:
6970         * symbols.c (Fintern):
6971         * symbols.c (Fintern_soft):
6972         * symbols.c (Funintern):
6973         * symbols.c (Fapropos_internal):
6974         * symbols.c (Fset_default):
6975         * syntax.c:
6976         * syntax.c (Fsyntax_table_p):
6977         * syntax.c (Fcopy_syntax_table):
6978         * syntax.c (Fset_syntax_table):
6979         * syntax.c (Fchar_syntax):
6980         * syntax.c (syntax_match):
6981         * syntax.c (Fmatching_paren):
6982         * syntax.c (Fforward_word):
6983         * syntax.c (scan_lists):
6984         * syntax.c (Fscan_lists):
6985         * syntax.c (Fscan_sexps):
6986         * syntax.c (Fparse_partial_sexp):
6987         * toolbar.c (Fcheck_toolbar_button_syntax):
6988         * tooltalk.doc:
6989         * window.c:
6990         * window.c (Fwindowp):
6991         * window.c (Fwindow_live_p):
6992         * window.c (Fwindow_point):
6993         * window.c (Fdelete_window):
6994         * window.c (Fnext_window):
6995         * window.c (Fprevious_window):
6996         * window.c (Fother_window):
6997         * window.c (window_loop):
6998         * window.c (Fget_lru_window):
6999         * window.c (Fsplit_window):
7000         * window.c (Fenlarge_window):
7001         * window.c (Fenlarge_window_pixels):
7002         * window.c (Fshrink_window):
7003         * window.c (Fshrink_window_pixels):
7004         * window.c (change_window_height):
7005         * window.c (Fwindow_configuration_p):
7006         * window.c (Fcurrent_window_configuration):
7007         * window.h:
7008         * casefiddle.c (casify_object):
7009         * casefiddle.c (Fupcase):
7010         * casefiddle.c (Fdowncase):
7011         * casefiddle.c (Fcapitalize):
7012         * casefiddle.c (Fupcase_initials):
7013         * casefiddle.c (casify_region_internal):
7014         * casefiddle.c (casify_region):
7015         * casefiddle.c (Fupcase_region):
7016         * casefiddle.c (Fdowncase_region):
7017         * casefiddle.c (Fcapitalize_region):
7018         * casefiddle.c (Fupcase_initials_region):
7019         * casefiddle.c (Fupcase_word):
7020         * casefiddle.c (Fdowncase_word):
7021         * casefiddle.c (Fcapitalize_word):
7022         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
7023         Replace 0 with '\0' when working with bytes.
7024         Replace initial "(" with "\(" in docstrings.
7025
7026 2000-11-01  Martin Buchholz  <martin@xemacs.org>
7027
7028         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
7029
7030         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
7031
7032 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7033
7034         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
7035
7036 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7037
7038         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
7039         correctly.
7040
7041 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7042
7043         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
7044         (inhibit_auto_save_session): New variable.
7045         (vars_of_fileio): Declare and initialize them.
7046         * fileio.c (Fdo_auto_save): Don't create session file if
7047         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
7048
7049 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7050
7051         * sgiplay.c (play_internal): C++ compilability.
7052         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
7053         * callproc.c (Fold_call_process_internal):
7054         Remove unused vars `env', `first'.
7055         * scrollbar.c (update_scrollbar_instance):
7056         #### unused var `current_window'.
7057         * redisplay-tty.c: Put currently unused vars insert_mode_on,
7058         etc. within #ifdef NOT_YET.
7059         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
7060         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
7061         * specifier.c (specifier_instance):
7062         #### unused var `tag'.
7063         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
7064
7065 2000-10-27  Martin Buchholz  <martin@xemacs.org>
7066
7067         * fns.c (Fbutlast):
7068         * fns.c (list_sort):
7069         * fns.c (Ffillarray):
7070         * fns.c (bytecode_nconc2):
7071         * fns.c (Fnconc):
7072         * fns.c (mapcar1):
7073         * fns.c (Fmapconcat):
7074         Be pedantically 64-bit correct.  For the time when someone will
7075         want to have a list with length > 2**32.
7076
7077         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7078         Work around MIPSpro compiler bug.
7079
7080         * process-unix.c (unix_kill_child_process): Add snarky comment.
7081         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
7082
7083         * config.h.in: Oops, _getpt ==> _getpty
7084
7085 2000-10-26  Martin Buchholz  <martin@xemacs.org>
7086
7087         * config.h.in:
7088         * regex.c:
7089         Use void*, not char*, as return type of alloca().
7090
7091         * alloc.c (free_marker): Side effect inside assert expression!
7092
7093 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
7094
7095         * mule-charset.c (Fset_charset_ccl_program): To check
7096         if the given ccl program is valid, use setup_ccl_program()
7097         instead of CHECK_VECTOR().
7098         (Fmake_charset): Likewise.
7099
7100 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
7101
7102         * faces.c (get_extent_fragment_face_cache_index):
7103         Fix cachel.merged_faces memory leak.
7104
7105 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
7106
7107         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
7108         Reset MSB of octets obtained by DECODE_SJIS
7109         because of the incompatibility with Emacs.
7110         (ccl_driver)<CCL_ENCODE_SJIS>:
7111         Set MSB of octets before passing them to
7112         ENCODE_SJIS because of the incompatibility
7113         with Emacs.
7114
7115 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
7116
7117         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
7118         (DECLARE_LRECORD): Undo the last change.
7119         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
7120
7121 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
7122
7123         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
7124         the implementation to lrecord_implementations_table.
7125
7126 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
7127
7128         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
7129         initial value of `lrecord_type_##c_name' and
7130         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
7131         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
7132         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
7133         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
7134         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
7135
7136 2000-10-17  Martin Buchholz  <martin@xemacs.org>
7137
7138         * miscplay.c (sndcnv8S_2mono):
7139         (sndcnv2monounsigned):
7140         (sndcnvULaw_2linear):
7141         (sndcnv16swap):
7142         Remove implementation-defined behavior.
7143
7144 2000-10-12  Martin Buchholz  <martin@xemacs.org>
7145
7146         * input-method-xlib.c: Warning suppression.
7147
7148 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
7149
7150         * mule-ccl.c: Sync up with Emacs 21.0.90.
7151         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
7152         Do nothing.
7153         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
7154         Likewise.
7155         (ccl_driver[WriteMultibyteChar2]): Bug fix.
7156         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
7157         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
7158         leading char belongs to official 2-dimensional charset.
7159         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
7160         write the given character as is.  Otherwise,
7161         if it is a multibyte char, convert it by
7162         non_ascii_set_charptr_emchar, then write it.
7163         (CCL_WRITE_STRING): Likewise.
7164         (ccl_get_compiled_code): New function.
7165         (setup_ccl_program): When ccl_prog is invalid,
7166         return -1.
7167         (Fregister_code_conversion_map): New function.
7168         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
7169
7170         * mule-ccl.h: Sync up with Emacs 21.0.90.
7171         (Fregister_ccl_program): export it.
7172
7173         * redisplay-msw.c (separate_textual_runs):
7174         If ccl program is not valid, don't do ccl conversion.
7175
7176         * redisplay-x.c (separate_textual_runs): Ditto.
7177
7178         * file-coding.c (Fmake_coding_system):
7179         When type is ccl and value is vector, register it
7180         with a proper symbol.  And checks whether the
7181         given ccl program is valid.
7182         (mule_decode): When calling ccl_driver, if src indicates
7183         NULL pointer, set an empty string instead.
7184         (mule_encode): Likewise.
7185
7186 2000-10-11  Martin Buchholz  <martin@xemacs.org>
7187
7188         The following large batch of changes gets us back to a state of
7189         C++ compilability.  Extbyte is now a char, which means that
7190         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
7191
7192         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
7193
7194         * sound.c (Fplay_sound): Type correctness.
7195
7196         * select-x.c (hack_motif_clipboard_selection): Type correctness.
7197         (x_get_window_property): Type correctness.
7198         (receive_incremental_selection): unsigned char ==> Extbyte
7199         (selection_data_to_lisp_data): unsigned char ==> Extbyte
7200         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
7201         (Fx_store_cutbuffer_internal): Type correctness.
7202
7203         * process-unix.c (try_to_initialize_subtty): Type correctness.
7204
7205         * objects-x.c (x_print_color_instance): Type correctness.
7206         (x_print_font_instance): Type correctness.
7207         (x_list_fonts): SExtbyte ==> Extbyte.
7208         (valid_x_font_name_p): SExtbyte ==> Extbyte.
7209         (x_find_charset_font): SExtbyte ==> Extbyte.
7210         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
7211         (truename_via_XListFonts): SExtbyte ==> Extbyte.
7212         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
7213         Use bufbyte_strcmp.
7214
7215         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
7216         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
7217         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
7218         (BYTE_C0_P): Use bit ops for char-signedness safety.
7219         (BYTE_C1_P): Use bit ops for char-signedness safety.
7220         (CHARSET_BY_LEADING_BYTE):
7221         (CHARSET_BY_ATTRIBUTES):
7222         Always use inline function.
7223         Use type_checking_assert.
7224         Hide chlook.
7225
7226         * mule-charset.c (non_ascii_charptr_copy_char):
7227         Modify to work with both ASCII and non-ASCII characters.
7228         Improve docs and variable names.
7229         Replace over-clever fall-through switch with a simple loop.
7230         (Lstream_get_emchar_1):
7231         Replace over-clever fall-through switch with a simple loop.
7232
7233         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7234         Warning suppression.
7235
7236         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
7237         the return value of Lstream_getc, which could be EOF as well.
7238
7239         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
7240
7241         * lisp.h: Make Extbyte a char, not unsigned char, so that external
7242         APIs can be used on Extbytes without casts.  Risky!
7243         (SExtbyte): Remove.
7244         (UExtbyte): Remove.
7245
7246         * input-method-xlib.c (XIM_init_device):
7247         Use Xlib.h instead of IntrinsicP.h.
7248         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
7249         which will break in X11R7.
7250         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
7251         to call XRegisterIMInstantiateCallback with correct types.
7252
7253         * gui-x.c (button_item_to_widget_value): Type correctness.
7254
7255         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
7256
7257         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
7258         (xbm_instantiate_1): Type correctness.
7259         (BUILD_GLYPH_INST):  Type correctness.
7260
7261         * fileio.c (Fsubstitute_in_file_name): Type correctness.
7262
7263         * file-coding.c:
7264         (decode_coding_sjis):
7265         (decode_coding_big5):
7266         (decode_coding_ucs4):
7267         (decode_coding_utf8):
7268         (decode_coding_iso2022):
7269         (decode_coding_no_conversion):
7270         Make all decoding functions take an Extbyte * arg.
7271         (encode_coding_sjis):
7272         (encode_coding_big5):
7273         (encode_coding_ucs4):
7274         (encode_coding_utf8):
7275         (encode_coding_iso2022):
7276         (encode_coding_no_conversion):
7277         Make all encoding functions take a Bufbyte * arg.
7278         Use size_t instead of unsigned int for memory sizes.
7279         Only cast to unsigned char whenever dereferencing Extbyte *.
7280
7281         * doc.c (unparesseuxify_doc_string): Type correctness.
7282
7283         * console-x.c (split_up_display_spec):
7284         Rewrite without using details of internal string representation.
7285         (x_semi_canonicalize_device_connection): Type correctness.
7286
7287         * config.h.in:
7288         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
7289         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
7290         (HAVE_XFREE386): Removed.
7291
7292         * buffer.h (DEC_CHARPTR): `const' correctness.
7293         (bufbyte_strcmp): New.
7294         (bufbyte_memcmp): New.
7295
7296         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
7297
7298         * buffer.h (XCHAR_OR_CHAR_INT):
7299         Always use inline function.
7300         Remove redundant type checking assert() - XINT will abort quite nicely.
7301
7302 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
7303
7304         * search.c (Freplace_match): Set newtext to an empty string.
7305
7306 2000-10-10  Martin Buchholz  <martin@xemacs.org>
7307
7308         * s/decosf1-3.h: Remove #include of stropts.h
7309         * s/ptx.h: Remove #include of stropts.h
7310         * s/usg5-4.h: Remove #include of stropts.h
7311         * sysproc.h:
7312         * config.h.in:
7313         Use stropts.h, not sys/stropts.h.
7314         Use strtio.h, not sys/strtio.h.
7315
7316 2000-10-04  Martin Buchholz <martin@xemacs.org>
7317
7318         * XEmacs 21.2.36 is released.
7319
7320 2000-09-21  Andy Piper  <andy@xemacs.org>
7321
7322         * glyphs-x.c (x_redisplay_widget): make sure non-structural
7323         changes still involve copying the widget tree.
7324         (update_widget_face): make sure a change is register in the widget
7325         tree. Call update_tab_widget_face appropriately.
7326         (update_tab_widget_face): ditto.
7327         (x_tab_control_redisplay): make sure non-structural changes still
7328         involve copying the widget tree.
7329
7330 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
7331
7332         * lread.c (locate_file): Check the path element is non-nil.
7333
7334 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7335
7336         * lisp.h: Warning suppression for SCO compilers.
7337
7338         * redisplay-tty.c (reset_tty_modes): Fix crash.
7339         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
7340
7341 2000-09-27  Martin Buchholz  <martin@xemacs.org>
7342
7343         Big signal/process handling overhaul.  Bugs fixed:
7344         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
7345         M-x comint-kill-subjob should work for both values nil and t of
7346         process-connection-type. It was broken on most platforms.
7347         Testing on Irix and Cygwin still needed.  Other plaforms tested.
7348         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
7349         * process-unix.c: Signal/Process handling overhaul.
7350         (pty_name): make 64 bytes, as `expect' does, for paranoia.
7351         (allocate_pty): Use all available modern methods of allocating
7352         ptys, falling back to old style BSD allocation as a last resort.
7353         Use allegedly more secure Unix98 pty allocation by default.
7354         (allocate_pty_the_old_fashioned_way): New. the last resort.
7355         (unix_create_process): Push ptem, ldterm, ttcompat where
7356         available.  Autoconfiscate.
7357         (try_to_initialize_subtty): New.
7358         (unix_kill_child_process): Proper signal handling for ptys on most
7359         platforms, using special knowledge of AIX, BSD, etc...
7360         (unix_create_process): Always disconnect_controlling_terminal() for
7361         subprocesses, whether using ptys or not.
7362         * process.h: Remove old getpt-dependent PTY code.
7363         * process.c (Fprocess_send_signal): New, obvious generic function.
7364         (decode_signal): New.
7365         (Finterrupt_process):
7366         (Fkill_process):
7367         (Fquit_process):
7368         (Fstop_process):
7369         (Fcontinue_process):
7370         (Fsignal_process): Use decode_signal.
7371         (process_send_signal):
7372         Many docstring corrections.
7373         Allow any signal to be sent to a process object.
7374         * config.h.in: Add symbols for big signal/process overhaul.
7375         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
7376         * sysproc.h: Include process-related headers, where available:
7377         sys/stropts.h sys/strtio.h pty.h libutil.h
7378         * s/irix4-0.h:
7379         * s/irix5-0.h:
7380         * s/cygwin32.h:
7381         * s/gnu.h:
7382         * s/linux.h:
7383         * s/hpux.h:
7384         * s/aix3-1.h:
7385         Remove old S&M pty stuff.
7386         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
7387         * systty.h: Simplify cpp hackery, improve comments.
7388         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
7389
7390         * editfns.c (Fformat_time_string):
7391         Be a little more paranoid with the return value of ctime.
7392
7393         * fileio.c (check_executable):
7394         (check_writable):
7395         Use symbolic constants X_OK, W_OK.
7396
7397         * console-x.c (split_up_display_spec): Fix a warning.
7398
7399 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7400
7401         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
7402         * ntproc.c (sys_spawnve): make_string ==> build_string
7403         Small clarity improvements.
7404
7405 2000-09-30  Martin Buchholz  <martin@xemacs.org>
7406
7407         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
7408
7409         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
7410
7411         * config.h.in (HAVE_STRCASECMP): Remove.
7412
7413 2000-09-29  Martin Buchholz  <martin@xemacs.org>
7414
7415         * redisplay-output.c (redisplay_output_pixmap):
7416         Cleaner and possibly more 64-bit correct code.
7417
7418 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7419
7420         * dumper.c (pdump_load_finish): move restoration of
7421         `noninteractive1' to emacs.c (main_1).
7422         * emacs.c (main_1): protect LISP-visible command-line flags
7423         from pdump_load().
7424
7425 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
7426
7427         * Makefile.in.in (versionclean):  Use EXE_TARGET and
7428         DUMP_TARGET instead of literal program names.
7429
7430 2000-09-20  Martin Buchholz  <martin@xemacs.org>
7431
7432         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
7433
7434 2000-09-19  Martin Buchholz  <martin@xemacs.org>
7435
7436         * *: Spelling mega-patch
7437
7438 2000-09-19  Martin Buchholz  <martin@xemacs.org>
7439
7440         * fns.c (bad_bad_turtle):
7441         Delete "Eek!" comment, since we fixed the bug to which it refers.
7442
7443 2000-09-16  Martin Buchholz  <martin@xemacs.org>
7444
7445         * alloca.c: Replace REGISTER with register.
7446
7447 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
7448
7449         * file-coding.c (ucs_to_char): Use countof.
7450
7451 2000-09-16  Martin Buchholz  <martin@xemacs.org>
7452
7453         * file-coding.c: (ucs_to_char):
7454         (complex_vars_of_file_coding):
7455         Use countof instead of sizeof.
7456         Use CHECK_NATNUM instead of CHECK_INT.
7457
7458         * sysdep.c (strcasecmp): Remove.
7459         * device-x.c (ascii_strcasecmp): New.
7460         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
7461         Avoid using non-standard non-portable strcasecmp.
7462
7463 2000-09-16  Martin Buchholz  <martin@xemacs.org>
7464
7465         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
7466         * font-lock.c: remove reference to emacsfns.h.
7467         * search.c: small doc improvement.
7468         * event-Xt.c: correct file names in comments.
7469         * console-x.h Correct file names in comments.
7470         * frame.c: Correct file names in comments.
7471         * event-stream.c: remove Energize from comments.
7472
7473 2000-09-15  Martin Buchholz  <martin@xemacs.org>
7474
7475         * symeval.h (DEFERROR_STANDARD):
7476         (DEFERROR):
7477         (DEFSYMBOL):
7478         (DEFSYMBOL_NO_DUMP):
7479         (DEFSYMBOL_MULTIWORD_PREDICATE):
7480         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
7481         (DEFKEYWORD):
7482         The construct &##name is not sensible C.
7483         Fixes compilation errors with Unixware native compiler.
7484
7485 2000-09-14  Martin Buchholz  <martin@xemacs.org>
7486
7487         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
7488         (next_frame_internal): Removed.  We now just have next_frame.
7489         (next_frame):
7490         Write a simpler and cleaner one-pass algorithm.
7491         Remove called_from_delete_device arg and #ifdefed-out code.
7492         (previous_frame):
7493         Renamed from prev_frame.  Update callers.
7494         Cleaned up to have an analogous implementation to next_frame.
7495         (other_visible_frames_internal): Remove the
7496         called_from_delete_device bogus arg, and hence, remove this
7497         function.  Just use other_visible_frames().
7498
7499         * window.c (Fnext_window):
7500         Prettify docstring.
7501         Since next_frame() is guaranteed to return a frame, remove check
7502         for nil inserted in previous patch.
7503         (Fprevious_window):
7504         Prettify docstring.
7505         Make code look more like Fnext_window.
7506         (window_loop):
7507         Respect the `console' arg when iterating through windows.
7508         Fixes bug: (get-buffer-window buffer t device) not respecting
7509         the `device' arg.
7510         This function needs more work, as others have pointed out.
7511
7512         * frame.h: Rename prev_frame to previous_frame.
7513         device_matches_console_spec no longer takes a `frame' arg.
7514
7515         * s/gnu.h:
7516         * s/linux.h:
7517         * s/hpux.h:
7518         Use EMACS_BLOCK_SIGNAL instead of sigblock.
7519         From "Golubev I. N." <gin@mo.msk.ru>.
7520
7521         * make-src-depend: Fix typo.
7522
7523 2000-09-13  Martin Buchholz  <martin@xemacs.org>
7524
7525         * window.c (Fnext_window):
7526         next_frame() might return nil, not a frame.
7527         Fixes this crash:
7528         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
7529
7530         * frame.c (next_frame_internal):
7531         We've passed a frame if we've passed its device.
7532         Fixes this crash:
7533         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
7534 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
7535
7536 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7537
7538         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7539         Allow option to suppress accelerators in menu/dialog items.
7540         (populate_or_checksum_helper): Pass dialog title through above.
7541
7542 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7543
7544         * event-msw.c (mswindows_key_to_emacs_keysym):
7545         Add "pause" key, fix "menu" key.
7546
7547 2000-09-09  Martin Buchholz  <martin@xemacs.org>
7548
7549         * eval.c (reinit_vars_of_eval):
7550         Increase max_lisp_eval_depth to 1000,
7551         required for thai-xtis.el to byte-compile under some circumstances.
7552
7553 2000-09-04  Martin Buchholz  <martin@xemacs.org>
7554
7555         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
7556         From Kenichi Handa.
7557
7558 2000-09-01  Martin Buchholz  <martin@xemacs.org>
7559
7560         * make-src-depend: Make the generated Makefiles smaller.
7561
7562         * s/hpux.h (SETUP_SLAVE_PTY):
7563         Provide a %d in the format string for the errno argument.
7564
7565         * editfns.c (Ftemp_directory):
7566         Warning fix.
7567         Avoid buffer overrun on very long file name.
7568
7569         * input-method-xlib.c (XIM_init_device):
7570         6th parameter of XRegisterIMInstantiateCallback has different
7571         pointer types on different OSes, so simply cast to (void *).
7572
7573         * unexhp9k800.c: Warning fixes.  Fiddly changes.
7574
7575         * sysdll.c (dll_open):
7576         shl_load will hang hard if passed a NULL filename.
7577         Simply return NULL for compatibility with dlopen.
7578         * sysdll.c: Conform to XEmacs coding standards.
7579
7580         * sysdep.c (get_pty_max_bytes):
7581         Support pty input lines longer than 512 bytes on HP-UX 10.20.
7582
7583 2000-08-31  Martin Buchholz  <martin@xemacs.org>
7584
7585         * tooltalk.c: Add #include <syssignal.h>
7586
7587 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
7588
7589         * s/hpux.h: Don't use undefined function sigunblock().
7590
7591 2000-08-31  Martin Buchholz  <martin@xemacs.org>
7592
7593         * config.h.in: Add HAVE_BALLOON_HELP.
7594         * emacs.c: Use HAVE_BALLOON_HELP.
7595         * Makefile.in.in (x_objs):
7596         Make Balloon Help conditional on finding shape.h.
7597
7598 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
7599
7600         * syntax.c (regex_emacs_buffer_p): New variable.
7601         * syntax.h (regex_emacs_buffer_p): extern.
7602         * search.c (looking_at_1):
7603         (string_match_1):
7604         (fast_string_match):
7605         (search_buffer): Set regex_emacs_buffer_p.
7606         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
7607         when before_dot, at_dot, after_dot.
7608
7609 2000-08-23  Andy Piper  <andy@xemacs.org>
7610
7611         * gui-x.c (popup_selection_callback): Only set action_occurred
7612         when we really have an image instance.
7613         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
7614
7615 2000-08-23  Andy Piper  <andy@xemacs.org>
7616
7617         * gui-msw.c (mswindows_handle_gui_wm_command): set
7618         action_occurred.
7619         * gui-x.c (popup_selection_callback): ditto.
7620
7621         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
7622         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
7623         (struct Lisp_Image_Instance): add action_occurred flag.
7624
7625         * glyphs.c (redisplay_subwindow): use action_occurred flag.
7626         (image_instance_changed): ditto.
7627         (reset_frame_subwindow_instance_cache): only unmap windows - do
7628         not remove them from the cache also.
7629
7630         * glyphs-widget.c (tab_control_update): better debug.
7631         (progress_gauge_update): ditto.
7632         (layout_update): ditto.
7633         (layout_instantiate): ditto.
7634         (tab_control_order_only_changed): cope with null pending items.
7635
7636         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
7637         debug. Force selection of an item when an action occurred. Cope
7638         with null pending_items.
7639         (mswindows_progress_gauge_redisplay): better debug.
7640         * glyphs-x.c (x_tab_control_redisplay): ditto.
7641
7642         * redisplay.c (redisplay_frame): reset the frame cache if the
7643         frame is garbaged.
7644
7645         * window.c (Fset_window_configuration): potentially re-enable
7646         frame cache reset.
7647         (window_unmap_subwindows): need to finalize instances here since
7648         it is only used in mark_window_as_deleted.
7649
7650 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
7651
7652         * nas.c (SndOpenDataForReading):
7653         nas.c (WaveOpenDataForReading):
7654         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
7655         Somehow escaped from the 2000-08-14 patch.
7656
7657 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7658
7659         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
7660         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
7661
7662 2000-08-21  Andy Piper  <andy@xemacs.org>
7663
7664         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
7665         window if it is not already displayed.
7666
7667         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
7668         it is not already displayed.
7669
7670         * window.c (Fset_window_configuration): don't reset the frame
7671         cache.
7672
7673         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
7674         instances from the frame cache if we are actually finalizing them.
7675         (reset_frame_subwindow_instance_cache): reset frame cache only
7676         after unmapping everything.
7677         (map_subwindow): set displayed flag after mapping.
7678
7679 2000-08-21  Martin Buchholz  <martin@xemacs.org>
7680
7681         * data.c (indirect_function):
7682         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
7683
7684         * eval.c (function_argcount):
7685         Use original function when signaling errors.
7686
7687 2000-08-18  Andy Piper  <andy@xemacs.org>
7688
7689         * frame.c (delete_frame_internal): use new
7690         free_frame_subwindow_instances name.
7691
7692         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
7693         (add_tab_item): make return type correct.
7694         (mswindows_tab_control_instantiate): assert index of tab.
7695         (mswindows_tab_control_redisplay): Re-code to use
7696         gui_item_equal_sans_selected and gui_item_list_find_selected.
7697
7698         * glyphs-widget.c (tab_control_update): Correct comment.
7699
7700         * window.c (window_unmap_subwindows): use new
7701         unmap_subwindow_instance_cache_mapper.
7702         (window_unmap_subwindows_cache_mapper): deleted.
7703         (Fset_window_configuration): comparisons should now be with
7704         EQ. Preserve the subwindow instance cache across configuration
7705         changes.
7706         (allocate_window): ditto.
7707         (make_dummy_parent): ditto.
7708
7709         * glyphs.c (free_frame_subwindow_instances): rename from
7710         free_frame_subwindow_instance_cache. finalize all instances rather
7711         than just those in the display cache.
7712         (finalize_all_subwindow_instances): walk windows unmapping and
7713         finalizing subwindows.
7714         (unmap_subwindow_instance_cache_mapper): moved from
7715         window.c. Allow finalization as well as unmapping.
7716
7717         * gui.c (gui_item_list_find_selected): new function.
7718
7719         * gui.h (gui_item_list_find_selected): declare.
7720
7721         * glyphs-x.c (x_tab_control_redisplay): pick tab
7722         explicitly. Re-code to use gui_item_equal_sans_selected and
7723         gui_item_list_find_selected.
7724
7725         * glyphs-x.h: add lwlib-utils.h
7726
7727         * buffer.c (Frecord_buffer): undo previous change.
7728
7729 2000-08-09  Vin Shelton  <acs@xemacs.org>
7730
7731         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
7732         possible.  Create temporary files more securely.  The patch was
7733         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
7734         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
7735         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
7736         for details.
7737
7738 2000-08-07  Ben Wing  <ben@xemacs.org>
7739
7740         * getloadavg.c: remove duplicate (and windows-breaking)
7741         includes of fcntl.h and sys/file.h.
7742
7743         * nt.c: remove duplicate getloadavg() definition.
7744
7745         * sysdll.h (Qdll_filename_encoding): add missing stand-in
7746         encodings.
7747
7748 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7749
7750         * eval.c (function_argcount): If function needs to be autoloaded
7751         actually use the loaded definition.
7752         GCPRO function.
7753
7754 2000-08-05  Ben Wing  <ben@xemacs.org>
7755
7756         * getloadavg.c: add prototype for getloadavg().  remove
7757         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
7758         of the code).  remove duplicate header includes.
7759
7760         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
7761
7762         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
7763         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
7764         useful load average.
7765
7766         * alloc.c (reinit_alloc_once_early): removed references to
7767         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
7768         the lisp vars are the only things referencing the malloc_sbrk_*
7769         vars, and they were already if 0'd out.  these vars only exist
7770         in the older malloc.c, which is basically unused, and they're
7771         only for informational purposes.
7772
7773         * m\*.h: removed useless VIRT_ADDR_VARIES.
7774
7775         * m\powerpc.h: removed stray NO_ARG_ARRAY.
7776
7777 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
7778
7779         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
7780         color if the image is a mono pixmap.
7781
7782 2000-07-30  Ben Wing  <ben@xemacs.org>
7783
7784         * Makefile.in.in (release):
7785         Remove stray @.
7786
7787         * buffer.c (directory_is_current_directory):
7788         * dired-msw.c (mswindows_get_files):
7789         * dired.c:
7790         * dired.c (Fdirectory_files):
7791         * dired.c (file_name_completion_stat):
7792         * dired.c (Ffile_attributes):
7793         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
7794         preprocessor tricks, to avoid problems on some machines
7795         (e.g. SCO).
7796
7797         * callproc.c (egetenv): GC docs.
7798
7799         * console-msw.h:
7800         * console-msw.h (struct mswindows_dialog_id):
7801         * lrecord.h (lrecord_type):
7802         New object for use with MSW dialogs.
7803
7804         * console.h (struct console_methods):
7805         New enable/disable frame methods, for proper modal dialogs.
7806
7807         * device-msw.c (msprinter_default_printer): Fix to follow
7808         proper Mule conventions.
7809
7810         * device-msw.c:
7811         * device-msw.c (signal_open_printer_error):
7812         * device-msw.c (msprinter_init_device):
7813         * device-msw.c (ensure_not_printing):
7814         * device-msw.c (plist_get_margin):
7815         * device-msw.c (Fmsprinter_select_settings):
7816         * device-msw.c (finalize_devmode):
7817         * device-msw.c (Fmsprinter_settings_despecialize):
7818         * device-msw.c (signal_enum_priner_error):
7819         * extents.c (decode_extent):
7820         * extents.c (decode_map_extents_flags):
7821         * extents.c (decode_extent_at_flag):
7822         * extents.c (Fextent_at):
7823         * extents.c (Fextents_at):
7824         * extents.c (symbol_to_glyph_layout):
7825         [[[[2]]]] Use structured errors.
7826
7827         * dialog-msw.c:
7828         * dialog-msw.c (mswindows_is_dialog_msg):
7829         * dialog-msw.c (mark_mswindows_dialog_id):
7830         * dialog-msw.c (dialog_proc):
7831         * dialog-msw.c (handle_question_dialog_box):
7832         * dialog-msw.c (syms_of_dialog_mswindows):
7833         Define new object to clean up marking; use it as a dialog identifier.
7834         Call new delete-dialog-box-hook.
7835
7836         * dialog-x.c (dbox_selection_callback):
7837         * dialog-x.c (dbox_descriptor_to_widget_value):
7838         * dialog-x.c (x_make_dialog_box_internal):
7839         Call new delete-dialog-box-hook.
7840         Return an id.
7841
7842         * dialog.c:
7843         * dialog.c (syms_of_dialog):
7844         * dialog.c (vars_of_dialog):
7845         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
7846
7847         * eval.c:
7848         * eval.c (signal_call_debugger):
7849         when noninteractive, output stack traces on the console instead
7850         of in a (never-seen) buffer.
7851
7852         * eval.c (signal_type_error):
7853         * eval.c (invalid_argument_2):
7854         * lisp.h:
7855         new funs for use w/structured errors.
7856
7857         * event-Xt.c:
7858         * event-Xt.c (x_to_emacs_keysym):
7859         * event-Xt.c (describe_event):
7860         * event-Xt.c (emacs_Xt_event_handler):
7861         * event-Xt.c (vars_of_event_Xt):
7862         * event-msw.c:
7863         * event-msw.c (mswindows_wnd_proc):
7864         * event-msw.c (vars_of_event_mswindows):
7865         rename {x,mswindows}-debug-events to debug-{}-events for
7866         consistency with other debug-foo variables.
7867
7868         * event-stream.c:
7869         document next-event more clearly.
7870
7871         * fileio.c (Ffile_name_directory):
7872         * fileio.c (Ffile_name_nondirectory):
7873         * fileio.c (Funhandled_file_name_directory):
7874         * fileio.c (file_name_as_directory):
7875         * fileio.c (Ffile_name_as_directory):
7876         * fileio.c (directory_file_name):
7877         * fileio.c (Fdirectory_file_name):
7878         * fileio.c (Fmake_temp_name):
7879         * fileio.c (Ffile_truename):
7880         * fileio.c (Fsubstitute_in_file_name):
7881         * fileio.c (expand_and_dir_to_file):
7882         * fileio.c (barf_or_query_if_file_exists):
7883         * fileio.c (check_executable):
7884         * fileio.c (Ffile_exists_p):
7885         * fileio.c (Ffile_writable_p):
7886         * fileio.c (Ffile_directory_p):
7887         * fileio.c (Ffile_regular_p):
7888         * fileio.c (Ffile_modes):
7889         * fileio.c (Ffile_newer_than_file_p):
7890         * fileio.c (Fverify_visited_file_modtime):
7891         * fileio.c (Fset_visited_file_modtime):
7892         * fileio.c (auto_save_1):
7893         (1). (2).
7894         fix up gcpro's.
7895
7896         * frame-msw.c:
7897         * frame-msw.c (mswindows_init_frame_1):
7898         * frame-msw.c (mswindows_enable_frame):
7899         * frame-msw.c (error_frame_unsizable):
7900         * frame-msw.c (msprinter_init_frame_1):
7901         * frame-msw.c (msprinter_init_frame_3):
7902         * frame-msw.c (console_type_create_frame_mswindows):
7903         (2).
7904         implement new enable/disable frame methods.
7905
7906         * frame-x.c:
7907         * frame-x.c (x_enable_frame):
7908         * frame-x.c (console_type_create_frame_x):
7909         implement new enable/disable frame methods.
7910
7911         * frame.c:
7912         * frame.c (Fdisable_frame):
7913         * frame.c (syms_of_frame):
7914         * frame.h (struct frame):
7915         implement new enable/disable frame methods/functions.
7916
7917         * general-slots.h:
7918         add initial-focus.
7919
7920         * glyphs-msw.c (mswindows_widget_instantiate):
7921         comment that initial-focus should be implemented.
7922
7923         * glyphs-widget.c:
7924         * glyphs-widget.c (check_valid_instantiator):
7925         * glyphs-widget.c (check_valid_orientation):
7926         * glyphs-widget.c (check_valid_tab_orientation):
7927         * glyphs-widget.c (check_valid_justification):
7928         * glyphs-widget.c (check_valid_border):
7929         * glyphs-widget.c (check_valid_callback):
7930         * glyphs-widget.c (check_valid_int_or_function):
7931         * glyphs-widget.c (check_valid_string_or_vector):
7932         * glyphs-widget.c (check_valid_item_list_1):
7933         * glyphs-widget.c (widget_validate):
7934         * glyphs-widget.c (combo_box_validate):
7935         * glyphs-widget.c (widget_instantiate):
7936         * glyphs-widget.c (syms_of_glyphs_widget):
7937         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
7938         * glyphs-widget.c (image_instantiator_combo_box):
7939         * glyphs-widget.c (image_instantiator_scrollbar):
7940         * glyphs-widget.c (image_instantiator_tab_control):
7941         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
7942         (2).
7943         support (unimplemented) keyword initial-focus.
7944         reindent long macros.
7945
7946         * glyphs-x.c (x_redisplay_widget):
7947         * glyphs-x.c (x_button_instantiate):
7948         * glyphs-x.c (x_button_redisplay):
7949         * glyphs-x.c (x_progress_gauge_instantiate):
7950         * glyphs-x.c (x_edit_field_instantiate):
7951         * glyphs-x.c (x_combo_box_instantiate):
7952         * glyphs-x.c (x_tab_control_instantiate):
7953         * glyphs-x.c (x_label_instantiate):
7954         * gui-x.c:
7955         * gui-x.c (button_item_to_widget_value):
7956         * gui-x.c (gui_items_to_widget_values_1):
7957         * gui-x.c (gui_item_children_to_widget_values):
7958         * gui-x.c (gui_items_to_widget_values):
7959         * gui-x.h:
7960         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7961         add new flag to gui-parsing routines to indicate whether
7962         accelerator specs should be supported.
7963
7964         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
7965
7966         * glyphs.h (struct Lisp_Image_Instance):
7967         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
7968         add initial-focus flag.
7969
7970         * gui.c:
7971         * gui.c (syms_of_gui):
7972         * gui.c (vars_of_gui):
7973         clean up menu-no-selection-hook.
7974
7975         * gui.h:
7976         support delete-dialog-box-hook.
7977
7978         * lread.c (Fload_internal):
7979         * lread.c (locate_file_in_directory_mapper):
7980         (1).
7981
7982         * lrecord.h:
7983         * lrecord.h (struct toolbar_button):
7984         * lrecord.h (syms_of_toolbar):
7985         document how to create a new object.
7986
7987         * menubar-msw.c (mswindows_char_is_accelerator):
7988         may be called on frames w/o menus.
7989
7990         * menubar.c (vars_of_menubar):
7991         clean up :filter docs.
7992
7993         * nt.c (readdir):
7994         * ntproc.c:
7995         (1).
7996
7997         * process-nt.c:
7998         * process-nt.c (validate_signal_number):
7999         * process-nt.c (signal_cannot_launch):
8000         * process-nt.c (nt_create_process):
8001         * process-nt.c (nt_send_process):
8002         * process-nt.c (nt_kill_child_process):
8003         * process-nt.c (nt_open_network_stream):
8004         * process-nt.c (syms_of_process_nt):
8005         (2).
8006         delete quote-handling.  call new lisp code that does it better.
8007
8008         * process-unix.c (connect_to_file_descriptor):
8009         * process-unix.c (allocate_pty):
8010         * process-unix.c (unix_send_process):
8011         * process-unix.c (unix_kill_child_process):
8012         * process-unix.c (unix_open_network_stream):
8013         * process-unix.c (unix_open_multicast_group):
8014         (1). (2).
8015
8016         * process.c:
8017         * process.c (Fstart_process_internal):
8018         (2).  need to canonicalize process path even if absolute.
8019
8020         * select-msw.c (symbol_to_ms_cf):
8021         * select-msw.c (ms_cf_to_symbol):
8022         * select-msw.c (cf_is_autofreed):
8023         * select-msw.c (mswindows_destroy_selection):
8024         * select.c:
8025         * select.c (syms_of_select):
8026         * select.h:
8027         support dibv5, fix bugs. (from Mike Alexander)
8028
8029         * select.c (Fget_selection_internal):
8030         * select.c (select_convert_out):
8031
8032         * sysdep.c:
8033         * sysdep.c (xemacs_stat):
8034         renamed.
8035
8036         * sysdep.c (mkdir):
8037         * sysdep.c (rmdir):
8038         but keep original stat() here because we provide encapsulation
8039         around these funs.
8040
8041         * sysfile.h:
8042         * sysfile.h (fstat):
8043         remove stat garbage.
8044
8045         * syswindows.h:
8046         fix X/MSW conflict.
8047         don't include tchar.h.  it's inappropriate because it makes
8048         compile-time distinctions when we want runtime distinctions.
8049         (we provide our own tchar replacements)
8050
8051         * toolbar.c:
8052         use default object printer for toolbar-button.
8053
8054         * unexcw.c:
8055         make sure we don't encapsulate.
8056
8057         * window.c (vars_of_window):
8058         emphasize that temp-buffer-show-hook is obsolete.
8059
8060 2000-08-05  Martin Buchholz  <martin@xemacs.org>
8061
8062         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
8063         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
8064
8065         * events.c (Fevent_timestamp_lessp):
8066         Not 64-bit clean.  Use EMACS_INT, not int.
8067
8068 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
8069
8070         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
8071         unsigned int and changed the last enum to
8072         lrecord_type_last_built_in_type.
8073         (lrecord_implementations_table): changed prototype to know how
8074         long the array is supposed to be.
8075         (lrecord_type_count): new unsigned int to keep track of the
8076         current number of lisp lrecord types.
8077         (DEFINE_EXTERNAL_LRECORD):
8078         (DECLARE_EXTERNAL_LRECORD): Added these two for external
8079         dynamic-modules to declare new lisp types. They are the same
8080         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
8081         int for each new type, and increment lrecord_type_count by 1.
8082
8083         * alloc.c (lrecord_implementations_table): Changed to reference
8084         lrecord_type_last_built_in_type for the size of the array.
8085         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
8086
8087 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8088
8089         * glyphs.h (check_valid_item_list): Renamed from
8090         check_valid_item_list_1.
8091
8092 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
8093
8094         * select.c (Qselect_coerce): New.
8095         * select.c (Vselection_coercion_alist): New.
8096         * select.c (syms_of_select): Declare.
8097         * select.c (get-selection-internal): Use it.
8098         Use the new select-coerce functionality.
8099
8100         * select.c (select_coerce): New.
8101         * select.h (select_coerce): Declare.
8102         New function to coerce one type of data into another.
8103
8104 2000-08-03  Martin Buchholz  <martin@xemacs.org>
8105
8106         * callproc.c (Fcall_process_internal):
8107         (Fcall_process_internal):
8108         * process-unix.c (unix_create_process):
8109         Save and restore the value of errno, so that error messages are accurate.
8110
8111 2000-08-01  Martin Buchholz  <martin@xemacs.org>
8112
8113         * elhash.c (print_hash_table):
8114         Fix printing of hash tables to also use `key-and-value' instead of `t'.
8115         Prettify docstrings and indentation.
8116
8117 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8118
8119         * window.c (Fwindow_pixel_edges): Subtract frame border and
8120         gutter size.
8121
8122 2000-07-31  Andy Piper  <andy@xemacs.org>
8123
8124         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
8125         will acknowledge the change.
8126
8127         * glyphs.h: declare tab_control_order_only_changed.
8128
8129         * glyphs-x.c (x_tab_control_redisplay): use
8130         tab_control_order_only_changed.
8131
8132         * glyphs-widget.c (tab_control_order_only_changed): new function.
8133
8134         * glyphs-msw.c (mswindows_tab_control_redisplay): use
8135         tab_control_order_only_changed.
8136
8137         * gui.c (gui_item_equal_sans_selected): new function.
8138         (gui_item_equal): use it.
8139
8140         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
8141         :properties in favor of :items..
8142
8143         * glyphs-widget.c (check_valid_item_list): rename from
8144         check_valid_item_list_1.
8145         (check_valid_item_list_1): renamed.
8146         (combo_box_validate): deprecate :properties in favor of :items.
8147         (widget_instantiate): ditto.
8148         (tab_control_update): ditto.
8149         (image_instantiator_combo_box): ditto.
8150         (image_instantiator_tree_view): ditto.
8151         (image_instantiator_tab_control): ditto.
8152         (layout_post_instantiate): remove dead code.
8153
8154         * print.c (debug_print_no_newline): only write to debugger if in
8155         WIN32_NATIVE.
8156
8157         * elhash.c (Fmake_hash_table): update doc string.
8158
8159         * event-msw.c (mswindows_wnd_proc): don't allow processing of
8160         messages whilst in GC. This at least stops XEmacs crashing but has
8161         the potential for wierd behaviour.
8162
8163 2000-07-31  Martin Buchholz  <martin@xemacs.org>
8164
8165         * config.h.in:
8166         Make existence of s&m files optional.
8167
8168         * s/bsd386.h: Remove HAVE_GETLOADAVG.
8169         * s/freebsd.h: Remove HAVE_GETLOADAVG.
8170         * s/gnu.h: Remove HAVE_GETLOADAVG.
8171         * s/netbsd.h: Remove HAVE_GETLOADAVG.
8172         * s/sol2.h: Remove HAVE_GETLOADAVG.
8173         * lisp.h: Remove getloadavg() declaration.
8174         * fns.c:
8175         Include <sys/loadavg.h> if available.
8176         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
8177         * config.h.in:  Group together getloadavg()-related macros.
8178         Use only configure-time tests to detect getloadavg().
8179
8180 2000-07-30  Martin Buchholz  <martin@xemacs.org>
8181
8182         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
8183
8184 2000-07-25  Andy Piper  <andy@xemacs.org>
8185
8186         * syswindows.h: add tchar.h for native builds.
8187
8188         * frame.c (syms_of_frame): remove set-glyph-image.
8189
8190         * general-slots.h: add Qset_glyph_image.
8191
8192         * glyphs-widget.c (layout_update): add domain arg to
8193         set-glyph-image.
8194         (syms_of_glyphs_widget): remove set-glyph-image.
8195
8196 2000-07-23  Ben Wing  <ben@xemacs.org>
8197
8198         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
8199         Vpopup_frame_list.
8200
8201 2000-07-22  Andy Piper  <andy@xemacs.org>
8202
8203         * symsinit.h: add syms_of_win32().
8204
8205         * gui-msw.c (syms_of_gui_mswindows): remove
8206         Fmswindows_shell_execute.
8207         (Fmswindows_shell_execute): moved to win32.c.
8208
8209         * emacs.c (main_1): add syms_of_win32 ().
8210
8211         * win32.c (init_potentially_nonexistent_functions): rewrite in
8212         compiler-friendly terms.
8213         (Fmswindows_shell_execute): move here from gui-msw.c.
8214         (syms_of_win32): new.
8215
8216         * device-msw.c (Fmswindows_printer_list): clean up args to
8217         EnumPrinters.
8218         Don't include tchar under cygwin or mingw.
8219         (msprinter_default_printer): make cygwin-friendly.
8220
8221 2000-07-21  Andy Piper  <andy@xemacs.org>
8222
8223         * glyphs-widget.c (image_instantiator_tree_view): use tab
8224         control's update function.
8225         (layout_property): new function. Retrieve items.
8226
8227         * glyphs-msw.c (mswindows_tree_view_redisplay): new
8228         function. Re-populate the tree view from the pending items.
8229
8230         * glyphs.c (instantiate_image_instantiator): Make sure the domain
8231         is designated the parent if the domain is an image instance. This
8232         is needed so that dirtiness can be cascade up the hierarchy and
8233         thus for layout children to be redisplayed correctly.
8234         (allocate_image_instance): rename glyph -> parent.
8235
8236         * redisplay.h: change redisplay_output_layout signature.
8237
8238         * redisplay-msw.c (mswindows_output_display_block): use domain
8239         arg.
8240
8241         * redisplay-x.c (x_output_display_block): use domain arg.
8242
8243 2000-07-10  Andy Piper  <andy@xemacs.org>
8244
8245         * window.c (Fset_window_configuration): add comment.
8246
8247         * redisplay-output.c (compare_runes):
8248         (redisplay_output_subwindow): redisplay rather than update subwindow.
8249         (redisplay_output_layout): ditto.
8250
8251         * redisplay-msw.c (mswindows_frame_output_end):
8252         (mswindows_frame_output_end): make defer window pos optional.
8253
8254         * lisp.h: add Flast.
8255
8256         * glyphs.h (struct image_instantiator_methods): add dest_mask top
8257         normalize method. Change update method to be for changed
8258         instantiators. Add redisplay method. Change signature of layout
8259         method.
8260         (struct Lisp_Image_Instance): add instantiator.
8261         (IMAGE_INSTANCE_INSTANTIATOR): new.
8262         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
8263         (XIMAGE_INSTANCE_INSTANTIATOR): new.
8264         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
8265
8266         * glyphs.c:
8267         (find_instantiator_differences): new function.
8268         (Fset_instantiator_property): new convenience function.
8269         (check_image_instance_structure): strictly check for vector
8270         instantiators.
8271         (normalize_image_instantiator): make non-static.
8272         (instantiate_image_instantiator): pass on dest_mask and use new
8273         signatures for image_instance_layout and friends.
8274         (mark_image_instance): mark the instantiator. Mark the subwindow
8275         face not the widget face.
8276         (image_instance_equal): add instantiator.
8277         (image_instance_hash): ditto.
8278         (allocate_image_instance): ditto.
8279         (Fset_image_instance_property): removed.
8280         (Fimage_instance_file_name): ditto.
8281         (Fcolorize_image_instance): ditto.
8282         (image_instance_layout): add offsets to be set.
8283         (update_image_instance): new function. update an image instance
8284         from its changed instantiator.
8285         (inherit_normalize): add dest_mask.
8286         (xbm_normalize): ditto.
8287         (xface_normalize): ditto.
8288         (xpm_normalize): ditto.
8289         (text_update): set_property -> update.
8290         (image_instantiate): use the glyph identity as a hash key, not the
8291         instantiator.
8292         (glyph_width): use new image_instance_layout signature.
8293         (glyph_ascent): ditto.
8294         (glyph_descent): ditto.
8295         (glyph_height): ditto.
8296         (glyph_query_geometry): ressurrect.
8297         (glyph_layout): ditto.
8298         (redisplay_subwindow): update -> redisplay.
8299         (syms_of_glyphs): add Fset_instantiator_property.
8300         (image_instantiator_format_create): set_property -> update.
8301
8302         * glyphs-x.c:
8303         (autodetect_normalize): add dest_maks to signature.
8304         (x_redisplay_subwindow): update -> redisplay.
8305         (x_redisplay_widget): ditto.
8306         (x_button_redisplay): ditto.
8307         (x_progress_gauge_redisplay): ditto.
8308         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
8309         stacking order.
8310         (console_type_create_glyphs_x): update -> redisplay.
8311         (image_instantiator_format_create_glyphs_x): ditto.
8312
8313         * glyphs-widget.c:
8314         (check_valid_instantiator): disallow glyphs in the instantiator,
8315         they must now be vectors.
8316         (check_valid_instantiator_list): ditto.
8317         (glyph_instantiator_to_glyph): use internal symbol rather than
8318         intern.
8319         (widget_update): renamed from widget_set_property. Call cascaded
8320         update methods.
8321         (redisplay_widget): renamed from update_widget.
8322         (widget_layout): image_instance_layout now takes position as well
8323         as size.
8324         (widget_normalize): ditto.
8325         (widget_instantiate): ditto.
8326         (tab_control_query_geometry) ditto.:
8327         (tab_control_update): renamed from tab_control_set_property.
8328         (progress_gauge_update): set_property -> update.
8329         (layout_normalize): rewrite so that child instantiators are
8330         normalized also.
8331         (layout_update): new function. Create glyphs from the normalized
8332         children and cope with any other layout keywords. We do not
8333         instantiate children here that will be take care of by
8334         redisplay_output_layout.
8335         (layout_instantiate): call layout_update and not much else.
8336         (layout_post_instantiate): not sure whether this is needed
8337         anymore.
8338         (layout_query_geometry): query glyph geometry rather than
8339         image_instance geometry.
8340         (layout_layout): set offsets from pass in parameters. Use glyph
8341         geometry and layout functions rather than image instance ones.
8342         (native_layout_layout): ditto.
8343         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
8344         (image_instantiator_widget): set_property -> update.
8345         (image_instantiator_buttons): ditto.
8346         (image_instantiator_progress_guage): ditto.
8347         (image_instantiator_tab_control): ditto.
8348         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
8349         (image_instantiator_layout): add update method.
8350
8351         * glyphs-msw.c (bmp_normalize):
8352         (mswindows_resource_normalize): add dest_mask so that it can be
8353         proprogated by layout_normalize.
8354         (begin_defer_window_pos): make optional because it may not be the
8355         right thing to do and it introduces differences with X.
8356         (mswindows_unmap_subwindow): ditto.
8357         (mswindows_map_subwindow): ditto.
8358         (mswindows_redisplay_subwindow): renamed from
8359         mswindows_update_subwindow.
8360         (mswindows_redisplay_widget): ditto.
8361         (mswindows_button_redisplay): renamed from
8362         mswindows_button_update. Update is now what the instantiation
8363         function does for a changed instantiator.
8364         (mswindows_progress_gauge_instantiate): set the progress value
8365         here if appropriate.
8366         (mswindows_tab_control_redisplay): cope with re-ordering of the
8367         members of the tab widget by simply selecting the new top
8368         widget. This makes things appear ok if you click on a tab.
8369         (mswindows_combo_box_instantiate): image_instance_layout now takes
8370         position as well as size.
8371         (mswindows_progress_gauge_redisplay): renamed from
8372         mswindows_progress_gauge_update.
8373         (console_type_create_glyphs_mswindows): fix update -> redisplay.
8374         (image_instantiator_format_create_glyphs_mswindows): ditto.
8375
8376         * glyphs-eimage.c (jpeg_normalize):
8377         (gif_normalize):
8378         (png_normalize):
8379         (tiff_normalize): add dest_mask so that it can be proprogated by
8380         layout_normalize.
8381
8382         * elhash.c:
8383         (print_hash_table):
8384         (hash_table_weakness_validate):
8385         (decode_hash_table_weakness):
8386         (Fhash_table_weakness):
8387         (Fhash_table_type):
8388         (syms_of_elhash): use Ben's naming scheme for hashtable types..
8389
8390         * console.h (struct console_methods): move update_* to
8391         redisplay_*.
8392
8393 2000-07-20  Ben Wing  <ben@xemacs.org>
8394
8395         * *.[ch] (XSETOBJ): remove unused middle argument.
8396         lisp-disunion.h: correct wrap_object() to one argument.
8397
8398 2000-07-15  Ben Wing  <ben@xemacs.org>
8399
8400         * s/cygwin32.h:
8401         * s/cygwin32.h (CYGWIN_CONV_PATH):
8402         Add missing logb prototype for v1.1.
8403         Use post-b20 names and alias to pre-b20 names when pre-b20.
8404
8405         * s/windowsnt.h: [5].
8406
8407 2000-07-15  Ben Wing  <ben@xemacs.org>
8408
8409         * Makefile.in.in (x_objs):
8410         * Makefile.in.in (sheap_objs):
8411         * Makefile.in.in (objs):
8412         added win32.o, cosmetic cleanups.
8413
8414         * alloc.c (Fmake_byte_code):
8415         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
8416         etc. macros which declare their own args now.
8417
8418         * alloc.c (syms_of_alloc):
8419         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
8420
8421         * buffer.c:
8422         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
8423
8424         * buffer.c (Fget_file_buffer):
8425         Fixed GCPRO problem.
8426
8427         * buffer.c (get_truename_buffer):
8428         Fixed comment about GC checking.
8429
8430         * buffer.c (syms_of_buffer):
8431         Undeclared those dedicated frame funs.
8432         [2].
8433
8434         * buffer.h:
8435         Define convenience macros for internal/external conversions.
8436         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
8437         and Qenvironment_variable_encoding for cleaner code.
8438
8439         * bufslots.h:
8440         Remove dedicated-frame; in lisp.
8441
8442         * bytecode.c (funcall_compiled_function):
8443         [1].
8444
8445         * bytecode.c (syms_of_bytecode):
8446         [2].
8447
8448         * console-msw.c:
8449         * console-msw.c (mswindows_show_console): Rewrote.
8450
8451         * console-msw.c (Fmswindows_debugging_output): New.
8452         Sends to OutputDebugString (special MSWin debugger interface).
8453
8454         * console-msw.c (Fmswindows_message_box):
8455         Fixed stupid bugs so it works when called from kill-emacs.
8456
8457         * console-msw.c (syms_of_console_mswindows):
8458         Declare Fmswindows_debugging_output.
8459
8460         * console-msw.h:
8461         New MSWin prototypes.
8462
8463         * console-msw.h (struct mswindows_frame):
8464         New entry last-click-mods for improved button-modifier support.
8465
8466         * console-msw.h (FRAME_MSWINDOWS_POPUP):
8467         New struct entry `popup' with corresponding accessor.
8468
8469         * console-x.c:
8470         * console-x.c (split_up_display_spec):
8471         * console-x.c (get_display_arg_connection):
8472         * console-x.c (x_semi_canonicalize_console_connection):
8473         * console-x.c (x_canonicalize_device_connection):
8474         [[[6]]]: Change char to more specific type.
8475         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
8476
8477         * console-x.c (x_semi_canonicalize_console_connection):
8478         * console-x.c (x_canonicalize_device_connection):
8479         [[[9]]]: Fix up error signalling to use new structured error system.
8480
8481         * console-x.h:
8482         [[[4]]]: Define codesys aliases:
8483         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
8484         Qx_color_name_encoding, Qx_display_name_encoding.
8485
8486         * console.h (struct console_methods):
8487         New method make_dialog_box_internal supersedes older
8488         popup_dialog_box method.
8489
8490         * data.c:
8491         Define many new errors, part of new structured errors.
8492
8493         * data.c (init_errors_once_early):
8494         * data.c (syms_of_data):
8495         [2].
8496
8497         * device-msw.c (mswindows_init_device):
8498         [[[5]]]: Cleanup to support NT 3.51.
8499
8500         * device-msw.c (decode_devmode): Cleanup.
8501
8502         * device-msw.c (mswindows_handle_print_setup_dialog_box):
8503         * device-msw.c (mswindows_handle_print_dialog_box):
8504         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8505         * device-msw.c (syms_of_device_mswindows):
8506         Delete the dialog box primitives recently introduced by Kirill and
8507         instead interface to general dialog box interface.
8508
8509         * device-x.c:
8510         * device-x.c (compute_x_app_name):
8511         * device-x.c (x_init_device):
8512         * device-x.c (Fx_valid_keysym_name_p):
8513         * device-x.c (Fx_set_font_path):
8514         [6].
8515         [7].
8516
8517         * device.h (wrap_device): New.
8518         First of its kind; meant to replace XSETDEVICE.
8519
8520         * dialog-msw.c: Many file-dialog symbols.
8521
8522         * dialog-msw.c (mswindows_register_popup_frame): New.
8523         * dialog-msw.c (mswindows_is_dialog_msg): New.
8524         For supporting kbd traversal in dialog boxes.
8525
8526         * dialog-msw.c (dialog_proc):
8527         Support hitting ESC in dialogs.
8528
8529         * dialog-msw.c (struct):
8530         Common dialog box errors.
8531
8532         * dialog-msw.c (handle_file_dialog_box): New.
8533         Add file dialog code.
8534
8535         * dialog-msw.c (handle_question_dialog_box):
8536         Redo existing code to support new question dialog syntax.
8537
8538         * dialog-msw.c (console_type_create_dialog_mswindows):
8539         We support new dialog console method.
8540
8541         * dialog-msw.c (syms_of_dialog_mswindows):
8542         * dialog-msw.c (vars_of_dialog_mswindows):
8543         New file dialog symbols, vars.
8544
8545         * dialog-x.c:
8546         * dialog-x.c (maybe_run_dbox_text_callback):
8547         * dialog-x.c (dbox_descriptor_to_widget_value):
8548         * dialog-x.c (x_make_dialog_box_internal):
8549         * dialog-x.c (console_type_create_dialog_x):
8550         Mule-ize entire file.
8551         Redo to support question dialog syntax.
8552         [6].
8553
8554         * dialog.c:
8555         * dialog.c (Fmake_dialog_box_internal):
8556         * dialog.c (syms_of_dialog):
8557         Kill old popup-dialog-box, replace with new primitive.
8558         Just call device method or signal error.
8559
8560         * eldap.c (Fldap_open):
8561         * eldap.c (Fldap_search_basic):
8562         * eldap.c (Fldap_add):
8563         * eldap.c (Fldap_modify):
8564         [1].
8565         [7].
8566
8567         * emacs.c:
8568         * emacs.c (make_arg_list_1):
8569         * emacs.c (make_arg_list):
8570         Mule-ize call to dll_init().
8571         [6].
8572         [8].
8573
8574         * emacs.c (make_argc_argv):
8575         * emacs.c (free_argc_argv):
8576         * emacs.c (init_cmdargs):
8577         * emacs.c (main_1):
8578         * emacs.c (Fkill_emacs):
8579         * emacs.c (Fdump_emacs):
8580         Update comments about what can be used in syms_* etc.
8581         Call init_win32() when necessary.
8582         Fix up MS Win dialog box in kill-buffer to actually work right.
8583         [7].
8584
8585         * eval.c:
8586         * eval.c (For):
8587         * eval.c (Fand):
8588         * eval.c (Fprogn):
8589         * eval.c (Fprog1):
8590         * eval.c (Fprog2):
8591         * eval.c (FletX):
8592         * eval.c (Flet):
8593         * eval.c (condition_case_3):
8594         * eval.c (Feval):
8595         * eval.c (function_argcount):
8596         * eval.c (funcall_lambda):
8597         [1].
8598
8599         * eval.c (type_error): New.
8600         * eval.c (maybe_type_error): New.
8601         * eval.c (continuable_type_error): New.
8602         * eval.c (maybe_continuable_type_error): New.
8603         * eval.c (type_error_with_frob): New.
8604         * eval.c (maybe_type_error_with_frob): New.
8605         * eval.c (continuable_type_error_with_frob): New.
8606         * eval.c (maybe_continuable_type_error_with_frob): New.
8607         New functions for use with structured errors.
8608
8609         * event-Xt.c:
8610         * event-Xt.c (x_event_to_emacs_event):
8611         Buttons are now modifiers too.
8612
8613         * event-Xt.c (emacs_Xt_current_event_timestamp):
8614         Implement new event method.
8615         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
8616
8617         * event-msw.c:
8618         * event-msw.c (ntpipe_shove_writer): [5].
8619         * event-msw.c (mswindows_enqueue_mouse_button_event):
8620         * event-msw.c (mswindows_drain_windows_queue):
8621         * event-msw.c (mswindows_wnd_proc): [7].
8622         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
8623         * event-msw.c (mswindows_modifier_state):
8624         Throughout: support new button modifiers.
8625
8626         * event-msw.c (emacs_mswindows_current_event_timestamp):
8627         Implement new event method.
8628         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
8629
8630         * event-stream.c:
8631         * event-stream.c (event_stream_current_event_timestamp): New.
8632         * event-stream.c (maybe_kbd_translate): New functionality.
8633         * event-stream.c (vars_of_event_stream):
8634         Document new kbd-translate-table functionality.
8635
8636         * event-stream.c (Fcurrent_event_timestamp): New.
8637         New primitive for use in fabricated events.
8638         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
8639
8640         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
8641
8642         * events.c:
8643         * events.c (Fmake_event):
8644         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
8645         [1].
8646         [9].
8647
8648         * events.c (format_event_object): fix gcc warnings.
8649
8650         * events.c (Fevent_timestamp): Document new primitives.
8651
8652         * events.c (TIMESTAMP_HALFSPACE): New.
8653
8654         * events.c (Fevent_timestamp_lessp): New.  New primitive for
8655         comparing timestamps correctly (half-space algorithm).
8656
8657         * events.c (Fevent_modifier_bits): Doc fix.
8658
8659         * events.c (Fevent_modifiers): Major doc addition.
8660         * events.c (event_x_y_pixel_internal): Typo fix.
8661         * events.c (syms_of_events): Declare new primitives.
8662
8663         * events.h:
8664         Update long comment for button modifiers, timestamps.
8665
8666         * events.h (struct event_stream):
8667         New current_event_timestamp method.
8668
8669         * extents.c:
8670         * extents.c (extent_in_region_p):
8671         * extents.c (decode_extent):
8672         * extents.c (Fset_extent_parent):
8673         * extents.c (decode_map_extents_flags):
8674         Fix gcc warnings.
8675         [9].
8676
8677         * extents.c (struct extent_at_arg):
8678         * extents.c (decode_extent_at_flag):
8679         * extents.c (extent_at_mapper):
8680         * extents.c (extent_at_bytind):
8681         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
8682         * extents.c (Fextents_at): New primitive. [9].
8683         * extents.c (symbol_to_glyph_layout): [9].
8684         Support new primitive `extents-at'.
8685
8686
8687         * extents.c (get_text_property_bytind):
8688         extent_at_bytind has another arg.
8689         [9].
8690
8691         * extents.c (syms_of_extents): New primitive.
8692
8693         * file-coding.c (Fmake_coding_system): [1].
8694         * file-coding.c (subsidiary_coding_system): fix gcc warning
8695         * file-coding.c (syms_of_file_coding): [2].
8696
8697         * fileio.c (Fexpand_file_name):
8698         * fileio.c (Fsysnetunam):
8699         * fileio.c (Ffile_exists_p):
8700         * fileio.c (Ffile_executable_p):
8701         * fileio.c (Fverify_visited_file_modtime):
8702         Clean up GCPROing.
8703
8704         * fileio.c (syms_of_fileio): [2].
8705
8706         * filelock.c (lock_file_1):
8707         * filelock.c (current_lock_owner):
8708         * filelock.c (lock_if_free):
8709         * filelock.c (lock_file):
8710         * filelock.c (unlock_file):
8711         Clean up GCPROing.
8712
8713         * fns.c (concat): Fix gcc warning.
8714
8715         * fns.c (Fmember):
8716         * fns.c (Fold_member):
8717         * fns.c (Fmemq):
8718         * fns.c (Fold_memq):
8719         * fns.c (memq_no_quit):
8720         * fns.c (Fassoc):
8721         * fns.c (Fold_assoc):
8722         * fns.c (Fassq):
8723         * fns.c (Fold_assq):
8724         * fns.c (assq_no_quit):
8725         * fns.c (Frassoc):
8726         * fns.c (Fold_rassoc):
8727         * fns.c (Frassq):
8728         * fns.c (Fold_rassq):
8729         * fns.c (rassq_no_quit):
8730         * fns.c (Fdelete):
8731         * fns.c (Fold_delete):
8732         * fns.c (Fdelq):
8733         * fns.c (Fold_delq):
8734         * fns.c (delq_no_quit):
8735         * fns.c (Fremassoc):
8736         * fns.c (Fremassq):
8737         * fns.c (remassq_no_quit):
8738         * fns.c (Fremrassoc):
8739         * fns.c (Fremrassq):
8740         * fns.c (remrassq_no_quit):
8741         * fns.c (Freverse):
8742         * fns.c (mapcar1):
8743         [1].
8744
8745         * frame-msw.c (mswindows_init_frame_1):
8746         * frame-msw.c (mswindows_delete_frame):
8747         Register popups with dialog code so keyboard traversing works.
8748
8749         * frame-tty.c (tty_raise_frame_no_select): [1].
8750
8751         * frame-x.c:
8752         * frame-x.c (x_set_frame_text_value):
8753         * frame-x.c (x_set_frame_properties):
8754         * frame-x.c (x_create_widgets):
8755         [7].
8756
8757         * frame.c:
8758         * frame.c (Fmouse_pixel_position): Minor doc fixes.
8759
8760         * frame.h (wrap_frame): New.
8761         Macro like wrap_device.
8762
8763         * general.c:
8764         * general.c (SYMBOL):
8765         * general.c (syms_of_general):
8766         Major reorg.  This is now just a wrapper and symbols themselves
8767         are listed in general-slots.h.
8768
8769         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
8770         * glyphs-msw.c (mswindows_resource_instantiate): [5].
8771
8772         * glyphs-msw.c (mswindows_native_layout_instantiate):
8773         Add DS_CONTROL so keyboard traversal will work.
8774
8775         * glyphs-widget.c:
8776         * glyphs-widget.c (syms_of_glyphs_widget):
8777         Move some symbols to general-slots.h.
8778
8779         * glyphs-x.c:
8780         * glyphs-x.c (xbm_instantiate_1):
8781         * glyphs-x.c (x_xbm_instantiate):
8782         * glyphs-x.c (x_xface_instantiate):
8783         * glyphs-x.c (autodetect_instantiate):
8784         * glyphs-x.c (cursor_font_instantiate):
8785         * glyphs-x.c (x_update_widget):
8786         * glyphs-x.c (x_widget_instantiate):
8787         * glyphs.c (bitmap_to_lisp_data):
8788         * glyphs.c (pixmap_to_lisp_data):
8789         [7].
8790
8791         * glyphs.c (syms_of_glyphs):
8792         [2].
8793
8794         * gui-x.c:
8795         * gui-x.c (print_widget_value):
8796         * gui-x.c (menu_separator_style_and_to_external):
8797         * gui-x.c (add_accel_and_to_external):
8798         * gui-x.c (button_item_to_widget_value):
8799         * gui-x.c (gui_items_to_widget_values_1):
8800         * gui-x.c (gui_items_to_widget_values):
8801         * gui-x.c (syms_of_gui_x):
8802         * gui-x.c (vars_of_gui_x):
8803         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
8804         [9].
8805
8806         * gui-x.h:
8807         Muleize, prototype changes matching gui-x.c.
8808
8809         * gui.c:
8810         * gui.c (separator_string_p):
8811         * gui.c (gui_item_add_keyval_pair):
8812         * gui.c (make_gui_item_from_keywords_internal):
8813         * gui.c (signal_too_long_error):
8814         * gui.c (parse_gui_item_tree_item):
8815         * gui.c (syms_of_gui):
8816         * gui.c (vars_of_gui):
8817         * gui.h:
8818         menu-no-selection-hook moved here (used by MSWin).
8819         Move some symbols to general-slots.h.
8820         [6].
8821         [9].
8822
8823         * insdel.c (get_buffer_pos_char):
8824         * insdel.c (get_buffer_range_char):
8825         Add GC comments.
8826
8827         * keymap.c (keymap_lookup_directly):
8828         * keymap.c (keymap_store):
8829         * keymap.c (ensure_meta_prefix_char_keymapp):
8830         * keymap.c (describe_map):
8831         * keymap.h:
8832         Support new button modifiers.
8833
8834         * lisp-disunion.h (wrap_object):
8835         * lisp-disunion.h (XSETOBJ):
8836         Rename make_obj to wrap_object.
8837
8838         * lisp-union.h:
8839         * lisp-union.h (make_int):
8840         * lisp-union.h (make_char):
8841         Support wrap_object.
8842
8843         * lisp.h:
8844         * lisp.h (LIST_LOOP):
8845         * lisp.h (EXTERNAL_LIST_LOOP):
8846         * lisp.h (LIST_LOOP_2):
8847         * lisp.h (EXTERNAL_LIST_LOOP_1):
8848         * lisp.h (EXTERNAL_LIST_LOOP_2):
8849         * lisp.h (EXTERNAL_LIST_LOOP_3):
8850         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
8851         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8852         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
8853         * lisp.h (EXTERNAL_ALIST_LOOP_5):
8854         * lisp.h (EXTERNAL_ALIST_LOOP_6):
8855         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
8856         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
8857         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
8858         * lisp.h (struct Lisp_Symbol):
8859         * lisp.h (maybe_continuable_error_with_frob):
8860         Fix up section comments.
8861         Add new types for char to indicate usage.
8862         Delete symbols auto-generated from general-slots.h.
8863         Add prototypes for structured error functions.
8864         Add long comments describing looping macros and change interface
8865         so that lvalues are automatically declared.
8866         Add NO_DECLARE macro in case callers want to declare lvalues
8867         themselves.
8868
8869         * lread.c (read_syntax_error):
8870         * lread.c (continuable_read_syntax_error):
8871         * lread.c (read_structure):
8872         * lread.c (sequence_reader):
8873         * lread.c (read_list_conser):
8874         * lread.c (read_compiled_function):
8875         Rename syntax_error and continuable_syntax_error to avoid clash
8876         with same-named structured error functions.
8877
8878         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8879         * menubar-msw.c (populate_menu_add_item):
8880         * menubar-msw.c (populate_or_checksum_helper):
8881         [5].
8882         [9].
8883
8884         * menubar-x.c:
8885         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8886         Mule-ize whole file.
8887
8888         * menubar.c (Fnormalize_menu_item_name): Add optimization.
8889
8890         * mule-charset.c (Fmake_charset):
8891         * mule-wnnfns.c (Fwnn_set_param):
8892         [1].
8893
8894         * ntproc.c (create_child):
8895         * ntproc.c (Fwin32_set_current_locale):
8896         Add comments portending doom.
8897
8898         * objects-msw.c:
8899         * objects-msw.c (old_font_enum_callback_2):
8900         * objects-msw.c (font_enum_callback_1):
8901         * objects-msw.c (mswindows_enumerate_fonts):
8902         [5].
8903
8904         * objects-x.c:
8905         * objects-x.c (allocate_nearest_color):
8906         * objects-x.c (x_parse_nearest_color):
8907         * objects-x.c (x_initialize_color_instance):
8908         * objects-x.c (x_print_color_instance):
8909         * objects-x.c (x_finalize_color_instance):
8910         * objects-x.c (x_valid_color_name_p):
8911         * objects-x.c (x_initialize_font_instance):
8912         * objects-x.c (x_print_font_instance):
8913         * objects-x.c (valid_x_font_name_p):
8914         * objects-x.c (truename_via_FONT_prop):
8915         * objects-x.c (truename_via_random_props):
8916         * objects-x.c (truename_via_XListFonts):
8917         * objects-x.c (x_font_truename):
8918         * objects-x.c (x_font_instance_truename):
8919         * objects-x.c (x_font_instance_properties):
8920         * objects-x.c (x_list_fonts):
8921         * objects-x.c (x_find_charset_font):
8922         Mule-ize entire file.
8923         [7].
8924
8925         * objects-x.h:
8926         Mule-verify.
8927
8928         * print.c:
8929         * print.c (std_handle_out_external):
8930         * print.c (debug_print_no_newline):
8931         * print.c (syms_of_print):
8932         Output to all debugger kinds in debug-print.
8933         Fix console-output code under MSWin to actually work.
8934
8935         * process-nt.c (send_signal):
8936         * process-nt.c (nt_create_process):
8937         Use newer Unicode macros.
8938
8939         * process-unix.c (unix_create_process):
8940         * process-unix.c (unix_canonicalize_host_name):
8941         * process-unix.c (unix_open_network_stream):
8942         [7].
8943
8944         * scrollbar-x.c:
8945         Mule-verify.
8946
8947         * search.c (syms_of_search):
8948         [2].
8949
8950         * select-msw.c (mswindows_destroy_selection):
8951         Use LIST_LOOP_2.
8952
8953         * select-x.c (symbol_to_x_atom):
8954         [7].
8955
8956         * select.c (syms_of_select):
8957         [2].
8958
8959         * sound.c (Fplay_sound_file):
8960         [7].
8961
8962         * specifier.c:
8963         * specifier.c (decode_specifier_type):
8964         * specifier.c (Fvalid_specifier_locale_type_p):
8965         * specifier.c (check_valid_locale_or_locale_type):
8966         * specifier.c (decode_locale):
8967         * specifier.c (decode_locale_type):
8968         * specifier.c (decode_locale_list):
8969         * specifier.c (check_valid_domain):
8970         * specifier.c (decode_specifier_tag_set):
8971         * specifier.c (Fcanonicalize_tag_set):
8972         * specifier.c (Fdefine_specifier_tag):
8973         * specifier.c (Fspecifier_tag_predicate):
8974         * specifier.c (check_valid_inst_list):
8975         * specifier.c (check_valid_spec_list):
8976         * specifier.c (decode_how_to_add_specification):
8977         * specifier.c (check_modifiable_specifier):
8978         * specifier.c (specifier_add_spec):
8979         * specifier.c (boolean_validate):
8980         * specifier.c (display_table_validate):
8981         [9].
8982
8983         * specifier.c (syms_of_specifier):
8984         Move some symbols to general-slots.h.
8985         [2].
8986
8987         * symbols.c:
8988         * symbols.c (Fmapatoms):
8989         * symbols.c (Fapropos_internal):
8990         Add GCPROs.
8991
8992         * symbols.c (set_default_buffer_slot_variable):
8993         * symbols.c (set_default_console_slot_variable):
8994         [1].
8995
8996         * symbols.c (defsymbol_massage_name_1):
8997         * symbols.c (defkeyword_massage_name):
8998         * symbols.c (deferror_1):
8999         * symbols.c (deferror):
9000         * symbols.c (deferror_massage_name_and_message):
9001         * symeval.h:
9002         * symeval.h (DEFSYMBOL):
9003         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
9004
9005         * symbols.c (syms_of_symbols):
9006         [2].
9007
9008         * symsinit.h:
9009         * symsinit.h (init_win32): New.
9010         Also new is syms_of_dialog_mswindows.
9011
9012         * syswindows.h:
9013         Add new Unicode macros, missing Cygwin wide-char functions,
9014         convenience conversion macros for Qmswindows_tstr, macros for
9015         encapsulating required MSWin <-> Cygwin filename conversions,
9016         prototype for dynamically-extracted (not in NT 3.51) functions.
9017
9018         * toolbar-x.c:
9019         Mule-verify.
9020
9021         * tooltalk.c (Fadd_tooltalk_message_arg):
9022         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
9023         * tooltalk.c (Fadd_tooltalk_pattern_arg):
9024         [7].
9025
9026         * tooltalk.c (syms_of_tooltalk):
9027         [2].
9028
9029         * unexnt.c:
9030         * unexnt.c (unexec):
9031         Fix up headers, declaration of unexec() to be more standard.
9032
9033 2000-07-20  Martin Buchholz  <martin@xemacs.org>
9034
9035         * offix.h: Revert change to guard macros - they're used in offix.c!
9036
9037 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9038
9039         * lisp.h: Defsubred Fdelete.
9040
9041         * console-msw.h:  (msprinter_default_printer): Added.
9042
9043         * console-msw.c (msprinter_canonicalize_console_connection):
9044         (msprinter_canonicalize_device_connection): Added.
9045
9046         * device-msw.c (msprinter_default_printer):
9047         (Fmswingows_get_default_printer):
9048         (signal_enum_priner_error):
9049         (Fmswingows_printer_list): Added.
9050
9051 2000-07-19  Martin Buchholz <martin@xemacs.org>
9052
9053         * XEmacs 21.2.35 is released.
9054
9055 2000-07-19  Martin Buchholz  <martin@xemacs.org>
9056
9057         * select-x.c (x_handle_selection_request):
9058         Text selected in xemacs and pasted into xterm failed to appear.
9059         Spelling fixes and cosmetic changes.
9060
9061 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9062
9063         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
9064         XEmacs frame (fix for doubling chars in dialog boxes).
9065
9066 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9067
9068         * select.c (select_convert_in, select_convert_out):
9069         Don't call intern() every time.
9070
9071         * select.c (Qselect_convert_in, Qselect_convert_out): New.
9072         * select.c (vars_of_select): Initialise them.
9073
9074 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9075
9076         * select.c (selection-coercible-types): New.
9077
9078         * select.c (own-selection-internal):
9079         * select.c (get-selection-internal):
9080         MULE bug fix - these should default to COMPOUND_TEXT and not
9081         STRING for MULE. I think.
9082
9083         * select.c (select_convert_out): Use selection-coercible-types
9084         to find types that we can attempt to perform coercions on.
9085
9086 2000-07-18  Martin Buchholz  <martin@xemacs.org>
9087
9088         * mule-wnnfns.c:
9089         * mule-canna.c:
9090         Add coding: cookie to identify encoding.
9091
9092         * mule-canna.c (CANNA_mode_keys): make static.
9093         Use proper prototypes, even for functions of no arguments.
9094         Remove external prototype for Fding().
9095
9096         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
9097
9098         * select.c (syms_of_select): Add missing DEFSUBR.
9099
9100 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9101
9102         * select.c (get_selection_internal, own_selection_internal):
9103         Make the type default to STRING, rather than placing a nil type
9104         into Vselection_alist.
9105
9106 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9107
9108         * gpmevent.c (tty_selection_exists_p):
9109         * gpmevent.c (tty_own_selection):
9110         Updated parameter lists.
9111
9112 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
9113
9114         * select.h (selection-alist): Removed declaration.
9115
9116         * select.h (get_local_selection):
9117         * select.c (get_local_selection):
9118         Made static.
9119
9120         * select.h (convert_selection): Removed declaration.
9121         * select.c (convert_selection): Removed.
9122         This function belongs in Lisp.
9123
9124         * select.h (select_convert_in): Declare.
9125         * select.h (select_convert_out): Declare.
9126         * select.c (select_convert_in): New.
9127         * select.c (select_convert_out): New.
9128         New conversion functions for other files to call.
9129
9130         * select.h (select_notify_buffer_kill): Declare.
9131         * select.c (select_notify_buffer_kill): New.
9132         New functions that get called from kill-buffer.
9133
9134         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
9135         X-specific lisp code.
9136
9137         * select.h: Declare some of the lisp-visible functions for
9138         external use.
9139
9140         * select.c (clean_local_selection_data): Removed. This was
9141         a disgusting function, and previously should have been in
9142         select-x.c in any case. The functionality is now provided
9143         in select-convert-from-integer (select.el).
9144
9145         * select.c (available-selection-types): Fixed stupidity where
9146         INTEGER and ATOM got added twice. Also add STRING when we see an
9147         extent.
9148
9149         * select.c (get-selection-internal): Removed symbol stripping. No
9150         longer causes conversion when data comes from the internal cache.
9151
9152         * select.c (syms_of_select): Added new functions.
9153
9154         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
9155         error checking - previously this called abort!
9156
9157         * select-x.c (x_own_selection): Changed comment.
9158
9159         * select-x.c (x_handle_selection_request): Use select_convert_out.
9160         Don't mess with selection-alist; it's an internal variable of select.c.
9161
9162         * select-x.c (x_get_foreign_selection): Use select_convert_in.
9163
9164         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
9165         rather than messing with selection-alist.
9166
9167         * select-msw.c (mswindows_get_foreign_selection):
9168         Use TO_INTERNAL_FORMAT rather than hacking.
9169
9170 2000-07-14  Martin Buchholz  <martin@xemacs.org>
9171
9172         * process-unix.c (unix_open_multicast_group):
9173         (unix_open_multicast_group): Remove useless casts.
9174
9175 2000-07-13  Martin Buchholz  <martin@xemacs.org>
9176
9177         * sound.c (Fplay_sound): Fix `unused variable' warning.
9178
9179         * emacs.c (main): Use correct type for _environ on SCO5.
9180
9181 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
9182
9183         * console.h (own_selection_method):
9184         * console.h (selection_exists_p_method):
9185         * console.h (available_selection_types_method): New.
9186         * console.h (register_selection_data_type_method): New.
9187         * console.h (selection_data_type_name): New.
9188
9189         * console-msw.h (mswindows_destroy_selection): Declare it.  New
9190         function & alist to track GlobalAlloc()'d handles that need
9191         releasing when the clipboard data gets replaced or emptied.
9192
9193         * event-msw.c (mswindows_wnd_proc): Call it.
9194
9195         * lisp.h, general.c (Qappend): New symbol representing a
9196         `how-to-add' mode.
9197
9198         * select.c (own-selection-internal):
9199         * select.c (selection-exists-p):
9200         * select.c (available-selection-types): New.
9201         * select.c (register-selection-data-type): New.
9202         * select.c (selection-data-type-name): New.  New functions to deal
9203         with device-specific selection data formats.
9204         * select.c (selection-converter-out-alist): Renamed.
9205         * select.c (selection-converter-in-alist): New.
9206         * select.c (selection-appender-alist): New.  Added new alists.
9207         * select.c (syms_of_select, vars_of_select): Added new symbols &
9208         variables.
9209         * select.c (get_local_selection): Split.
9210         * select.c: Removed spurious type checking - selections may now be
9211         of any type, not just strings.
9212         * select.c (own-selection-internal):
9213
9214         * select.h, select.c (convert_selection): New. Created
9215         convert_selection() function based on get_local_selection().
9216         * select.h, select.c (QCF_*): New symbols representing mswindows
9217         clipboard formats.
9218         * select.h, select.c (Qreplace_all, Qreplace_existing): New
9219         symbols representing `how-to-add' modes.
9220
9221         * select-msw.c (x_sym_p): New.
9222         * select-msw.c (symbol_to_ms_cf): New.
9223         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
9224         symbols & clipboard formats. Can also handle string names.
9225         * select-msw.c (mswindows_own_selection):
9226         * select-msw.c (mswindows_selection_exists_p):
9227         Added `data-type' parameter. Use it.
9228         * select-msw.c (mswindows_available_selection_types): New.
9229         * select-msw.c (mswindows_register_selection_data_type): New.
9230         * select-msw.c (mswindows_selection_data_type_name): New.
9231         * select-msw.c (mswindows_own_selection):
9232         * select-msw.c (mswindows_get_foreign_selection):
9233         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
9234         * select-msw.c (console_create_select_mswindows): Added new methods.
9235         * select-msw.c (mswindows_destroy_selection): New.
9236         * select-msw.c (Vhandle_alist): New list.
9237         * select-msw.c (mswindows_own_selection):
9238
9239         * select-x.c (x_own_selection):
9240         * select-x.c (x_selection_exists_p):
9241         * select-x.c: Added some comments about maybe using new
9242         functionality.
9243         * select-x.c (x_own_selection):
9244
9245         * specifier.c: Remove definition of Qappend (now in general.c)
9246         * specifier.c (syms_of_specifier): Remove Qappend.
9247
9248 2000-07-12  Martin Buchholz  <martin@xemacs.org>
9249
9250         * config.h.in: Add socklen_t.
9251
9252         * s/decosf4-0.h: No special compiler flags needed or desired.
9253         In particular, undefine _BSD for DEC OSF 4.0.
9254
9255 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9256
9257         * redisplay-msw.c (msprinter_frame_output_end): Added.
9258         (console_type_create_redisplay_mswindows): Referred the above.
9259
9260         * frame.c (setup_frame_without_minibuffer): Do not create a
9261         default minibuffer frame on a printer device.
9262
9263         * frame-msw.c (apply_dc_geometry): Added.
9264         (msprinter_start_page):
9265         (msprinter_init_frame_3):
9266         (msprinter_eject_page): Use it.
9267
9268         * console-msw.h (struct msprinter_frame): Added pix_left and top,
9269         and removed residual duplex and orientation properties.
9270
9271 2000-07-11  Martin Buchholz  <martin@xemacs.org>
9272
9273         * eval.c (function_argcount): Work around a DEC CC compiler bug.
9274
9275         * unexalpha.c: Remove system prototypes from C sources!
9276
9277 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
9278
9279         * eval.c: Remove references to M-x edit-options in DEFUNs for
9280         `defvar' and `defconst'.
9281
9282 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9283
9284         * config.h.in: Remove SMART_INCLUDE hackery.
9285
9286         PostgreSQL hacking:
9287         * config.h.in: Don't use SMART_INCLUDE.
9288
9289         * postgresql.h: Include libpq-fe.h here.  Fix typo.
9290         * inline.c: Simply #include "postgresql.h"
9291         * postgresql.c:
9292         - Don't use SMART_INCLUDE
9293         - Use simply "const".
9294         - Use standard doc string conventions.
9295         - Use correct type for result of PQstatus.
9296
9297 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9298
9299         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
9300
9301         C++ compilation changes.
9302         * config.h.in (EXTERN_C): Define.
9303         * config.h.in (not): This is also a C++ keyword.
9304         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
9305         * cm.c: Use EXTERN_C.
9306         * redisplay-tty.c: Use EXTERN_C.
9307         * sysdep.c: Use EXTERN_C.  Remove Gould support.
9308
9309 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9310
9311         * general.c: Remove duplicate definition for Qfunction.
9312
9313 2000-07-08  Ben Wing  <ben@xemacs.org>
9314
9315         * device-msw.c (msprinter_init_device):
9316         * device-msw.c (sync_printer_with_devmode):
9317         * device-msw.c (handle_devmode_changes):
9318         * device-msw.c (print_dialog_worker):
9319         * device-msw.c (Fmsprinter_apply_settings):
9320         * device-msw.c (hash_devmode):
9321         * device-msw.c (Fmsprinter_settings_despecialize):
9322         use Qmswindows_tstr, not Qctext.
9323
9324         * vm-limit.c (check_memory_limits):
9325         avoid infinite loop printing warning messages.
9326
9327 2000-07-05  Craig Lanning  <lanning@scra.org>
9328
9329         * Makefile.in.in: Add support for including the Windows resources
9330         when building with the cygwin and mingw targets.
9331
9332         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
9333         not set or not correct.
9334         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
9335         (init_initial_directory): Don't try to use $PWD on the
9336         WIN32_NATIVE target.
9337
9338         * s\cygwin32.h:
9339         [[Add -mwindows to eliminate console window.]] not required --ben
9340         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9341         (MAIL_USE_POP): removed; now handled by configure.
9342
9343         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
9344         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
9345         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9346         (MAIL_USE_POP): removed; now handled by configure.
9347         (ENCAPSULATE_STAT): from Dan Holmsand, added.
9348         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
9349         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
9350         constant string.
9351         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
9352         up from <winsock.h> via systime.h.
9353         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
9354         (getpagesize): from Dan Holmsand, added.
9355         Added #endif which was left dangling by Ben's mega patch; added
9356         comment to help prevent this in the future.
9357
9358         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
9359
9360 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9361
9362         * console-msw.h (struct mswindows_device): Removed unnecessary
9363         cached device geometry values.
9364         Added update_tick and an accessor macro.
9365         (Lisp_Devmode): Added lrecord declaration.
9366         (struct msprinter_device): Contain devmode as a Lisp object.
9367         Added mswindows_get_selected_frame_hwnd();
9368
9369         * console.h (struct console_methods): Indentation nitpicking.
9370
9371         * device-msw.c (mswindows_init_device): Do not initialize geometry
9372         cache. Initialize update tick.
9373         (mswindows_device_system_metrics): Ask the device for its geometry.
9374         (global_free_2_maybe):
9375         (devmode_to_hglobal):
9376         (handle_printer_changes):
9377         (ensure_not_printing):
9378         (print_dialog_worker):
9379         (Fmsprinter_print_setup_dialog):
9380         (Fmsprinter_print_dialog):
9381         (plist_get_margin):
9382         (plist_set_margin):
9383         (Fmsprinter_page_setup_dialog): Added functions.
9384         (sync_printer_with_devmode):
9385         (handle_devmode_changes):
9386         (Fmsprinter_get_settings):
9387         (Fmsprinter_select_settings):
9388         (Fmsprinter_apply_settings):
9389         (allocate_devmode):
9390         (Fmsprinter_settings_copy):
9391         (Fmsprinter_settings_despecialize):
9392         (print_devmode):
9393         (finalize_devmode):
9394         (equal_devmode):
9395         (hash_devmode): Added functions
9396         (syms_of_device_mswindows): Init devmode lrecord class.
9397
9398         * device.h: Added an exfun for find-device.
9399
9400         * event-msw.c (mswindows_wnd_proc): Do not update the cached
9401         geometry; although, recreate the device compatible DC.
9402
9403         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
9404         (msprinter_init_frame_3):
9405         (msprinter_frame_property):
9406         (msprinter_internal_frame_property_p):
9407         (msprinter_frame_properties):
9408         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
9409         print job properties (will move to device settings).
9410
9411         * lisp.h: Added symbols.
9412
9413         * general.c (syms_of_general): Declared them.
9414
9415         * hash.c (string_hash): Added.
9416
9417         * lrecord.h (lrecord_type): Added devmode lrecord type.
9418
9419 2000-07-02  Mike Sperber <mike@xemacs.org>
9420
9421         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
9422         FreeBSD 4.0.
9423
9424 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
9425
9426         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
9427         integer.
9428
9429 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
9430
9431         * data.c (Fstring_to_number): Don't recognize floating point if
9432         base is not 10.
9433
9434 2000-06-22  Martin Buchholz  <martin@xemacs.org>
9435
9436         * glyphs-widget.c (tab_control_query_geometry):
9437         (widget_query_geometry):
9438         (button_query_geometry):
9439         * glyphs.c (text_query_geometry):
9440         Enforce type correctness.
9441
9442 2000-06-18  Martin Buchholz  <martin@xemacs.org>
9443
9444         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
9445         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
9446
9447 2000-06-17  Martin Buchholz  <martin@xemacs.org>
9448
9449         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
9450         conflicts with gcc's fixincluded version of FOO.h.
9451
9452         * glyphs.h (image_instance_geometry): Remove trailing `,'
9453
9454 2000-06-08  Mike Alexander  <mta@arbortext.com>
9455
9456         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
9457         (shove_thread): Don't write the same output twice
9458         (make_ntpipe_output_stream): Increase priority of shove thread
9459         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
9460         chance to run
9461         (ntpipe_shove_closer): Don't delete the pipe until we're done with
9462         it.
9463
9464 2000-06-12  Ben Wing  <ben@xemacs.org>
9465
9466         * s\mingw32.h (sigset):
9467         * s\windowsnt.h (sigset):
9468         rename msw_ to mswindows_ for consistency with general convention.
9469
9470 2000-06-12  Ben Wing  <ben@xemacs.org>
9471
9472         * console-msw.c:
9473         * console-msw.c (mswindows_get_console_hwnd):
9474         * console-msw.c (mswindows_ensure_console_allocated):
9475         * console-msw.c (mswindows_hide_console):
9476         * console-msw.c (mswindows_show_console):
9477         * console-msw.c (mswindows_ensure_console_buffered):
9478         * console-msw.c (mswindows_output_console_string):
9479         * console-msw.c (mswindows_windows9x_p):
9480         * console-msw.h:
9481         * device-msw.c (mswindows_get_workspace_coords):
9482         * device-msw.c (mswindows_device_system_metrics):
9483         * dialog-msw.c (mswindows_popup_dialog_box):
9484         * event-msw.c (mswindows_wnd_proc):
9485         * frame-msw.c (mswindows_size_frame_internal):
9486         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9487         * menubar-msw.c (displayable_menu_item):
9488         * menubar-msw.c (mswindows_char_is_accelerator):
9489         * nt.c:
9490         * nt.c (mswindows_sigset):
9491         * nt.c (mswindows_sigrelse):
9492         * nt.c (mswindows_sigpause):
9493         * nt.c (mswindows_raise):
9494         * nt.c (timer_proc):
9495         * ntproc.c:
9496         * ntproc.c (find_child_console):
9497         * ntproc.c (sys_kill):
9498         * print.c:
9499         * print.c (std_handle_out_external):
9500         * process-nt.c (find_child_console):
9501         * process-nt.c (send_signal_the_95_way):
9502         * process-nt.c (ensure_console_window_exists):
9503         * process-nt.c (nt_create_process):
9504         * syssignal.h:
9505         rename msw_ to mswindows_ for consistency with general convention.
9506
9507         * emacs.c:
9508         * dumper.c:
9509         include nt.h, not syswindows.h.
9510
9511         * nt.c (mswindows_fstat):
9512         * nt.c (mswindows_stat):
9513         prefix mswindows_ instead of attempting to directly override the
9514         library functions.  fix declarations.
9515
9516         * nt.h:
9517         include syswindows.h.  move some sysdep.h stuff here.
9518
9519         * ntheap.h:
9520         include syswindows.h, not <windows.h>.
9521
9522         * ntplay.c:
9523         clean up headers.
9524
9525         * sysdep.c:
9526         clean up headers.
9527
9528         * sysdep.c (sys_fstat):
9529         * sysdep.c (sys_stat):
9530         call mswindows versions when appropriate.
9531
9532         * sysdep.h:
9533         move mswin decls to nt.h.
9534
9535         * syswindows.h:
9536         add long comment describing appropriate use of the various windows
9537         headers.
9538
9539 2000-06-11  Ben Wing  <ben@xemacs.org>
9540
9541         * device-x.c: Correct doc string for sixth arg of x-get-resource.
9542
9543 2000-06-10  Ben Wing  <ben@xemacs.org>
9544
9545         * Makefile.in.in (release):
9546         Correction to make sure xemacs.exe always dumped when correct.
9547
9548         * alloca.c:
9549         * balloon_help.c:
9550         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
9551
9552         * buffer.c (set_buffer_internal):
9553         [[[[2]]]]: Remove HAVE_FEP code.
9554
9555         * buffer.c (init_initial_directory):
9556         [3].
9557
9558         * bytecode.c:
9559         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
9560         individual files.
9561
9562         * callproc.c:
9563         * callproc.c (call_process_cleanup):
9564         * callproc.c (Fold_call_process_internal):
9565         * callproc.c (child_setup):
9566         * callproc.c (getenv_internal):
9567         * callproc.c (init_callproc):
9568         * callproc.c (vars_of_callproc):
9569         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
9570         __CYGWIN32__ -> CYGWIN.
9571         DOS_NT -> WIN32_NATIVE.
9572         Remove MSDOS support/references, converting to WIN32_NATIVE
9573           where correct.
9574         __MINGW32__ -> MINGW.
9575         Fix windows.h includes.
9576         Remove bogus HAVE_NTGUI.
9577
9578         * config.h.in:
9579         [2].
9580
9581         * console-msw.c:
9582         mswindows_message_outputted added for use in allowing startup
9583         errors on the console to be seen.
9584
9585         * console-msw.c (msw_ensure_console_allocated):
9586         * console-msw.c (msw_output_console_string):
9587         * console-msw.c (DHEADER):
9588         * console-msw.c (DOPAQUE_DATA):
9589         * console-msw.c (DEVENT):
9590         * console-msw.c (DCONS):
9591         * console-msw.c (DCONSCDR):
9592         * console-msw.c (DSTRING):
9593         * console-msw.c (DVECTOR):
9594         * console-msw.c (DSYMBOL):
9595         * console-msw.c (DSYMNAME):
9596         Fix warnings.
9597
9598         * console-stream.c (stream_init_console):
9599         Fix text/binary problems.
9600
9601         * device-msw.c:
9602         * device-msw.c (mswindows_finish_init_device):
9603         * device-msw.c (mswindows_delete_device):
9604         [1].
9605
9606         * device.c (handle_asynch_device_change):
9607         [3].
9608
9609         * dgif_lib.c:
9610         * dgif_lib.c (DGifOpenFileName):
9611         * dgif_lib.c (DGifOpenFileHandle):
9612         * dgif_lib.c (DGifGetLine):
9613         * dgif_lib.c (DGifGetPixel):
9614         Added config.h/lisp.h, fix up includes.
9615         [1].
9616
9617         * dired-msw.c:
9618         [4].
9619
9620         * dired.c:
9621         * dired.c (file_name_completion):
9622         * dired.c (Ffile_attributes):
9623         * dired.c (syms_of_dired):
9624         [1].
9625
9626         * dumper.c:
9627         * dumper.c (pdump_file_unmap):
9628         * dumper.c (pdump_load):
9629         [1].
9630
9631         * editfns.c:
9632         * editfns.c (Ftemp_directory):
9633         * editfns.c (user_login_name):
9634         * editfns.c (Fuser_real_login_name):
9635         * editfns.c (get_home_directory):
9636         [1].
9637
9638         * elhash.c (finish_marking_weak_hash_tables):
9639         [[[[5]]]]: Fix GCC warnings.
9640
9641         * emacs.c:
9642         * emacs.c (mswindows_handle_hardware_exceptions):
9643         * emacs.c (make_arg_list_1):
9644         * emacs.c (main_1):
9645         * emacs.c (Fkill_emacs):
9646         * emacs.c (Fdump_emacs):
9647         [1].
9648         Fix problems with nested crashes, add long comment.
9649
9650         * event-Xt.c (init_event_Xt_late):
9651         [1].
9652
9653         * event-msw.c:
9654         * event-msw.c (mswindows_dde_callback):
9655         * event-msw.c (mswindows_handle_sticky_modifiers):
9656         * event-msw.c (mswindows_wnd_proc):
9657         [1].
9658         [5].
9659
9660         * events.c (character_to_event):
9661         [1].
9662
9663         * fileio.c:
9664         * fileio.c (Ffile_name_directory):
9665         * fileio.c (Ffile_name_nondirectory):
9666         * fileio.c (directory_file_name):
9667         * fileio.c (Fexpand_file_name):
9668         * fileio.c (Fsubstitute_in_file_name):
9669         * fileio.c (Ffile_name_absolute_p):
9670         * fileio.c (check_executable):
9671         * fileio.c (Ffile_readable_p):
9672         * fileio.c (Ffile_accessible_directory_p):
9673         * fileio.c (Ffile_modes):
9674         * fileio.c (Funix_sync):
9675         * fileio.c (vars_of_fileio):
9676         [1]. [4].
9677
9678         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
9679
9680         Expand getdefdir defn.
9681         Fix bogus rename() comment.
9682
9683         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
9684         to use standard XEmacs include files, e.g. sysfile.h, rather
9685         than system-specific includes.
9686
9687         * fns.c:
9688         * fns.c (Fsubseq):
9689         [5]. [6].
9690
9691         * frame.c (vars_of_frame):
9692         [1].
9693
9694         * getloadavg.c:
9695         * getloadavg.c (getloadavg):
9696         [1]. [6].
9697         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
9698         (We don't use it elsewhere in the code; just add a comment.)
9699
9700         * gif_io.c:
9701         [6].
9702         Add config.h.
9703
9704         * glyphs-msw.c:
9705         * glyphs-msw.c (mswindows_resource_instantiate):
9706         [1].
9707
9708         * glyphs-x.c (x_native_layout_instantiate):
9709         [5].
9710
9711         * gui-msw.c (Fmswindows_shell_execute):
9712         [1].
9713
9714         * insdel.c:
9715         [4].
9716
9717         * lisp.h:
9718         [4]. [5].
9719
9720         * lread.c (locate_file_in_directory_mapper):
9721         [1].
9722
9723         * lstream.c:
9724         [4].
9725
9726         * mem-limits.h:
9727         * mem-limits.h (get_lim_data):
9728         [1].
9729
9730         * menubar-msw.c:
9731         [4].
9732
9733         * ndir.h:
9734         [1].
9735
9736         * nt.c:
9737         * nt.c (getwd):
9738         * nt.c (closedir):
9739         * nt.c (rva_to_section):
9740         * nt.c (mswindows_executable_type):
9741         [1]. [6].
9742         Fix closedir() defn.
9743
9744         * nt.h:
9745         [[[[8]]]]: *_OK defs moved to sysfile.h.
9746
9747         * ntproc.c:
9748         [6]. [7].
9749
9750         * objects-x.c:
9751         [4].
9752
9753         * print.c:
9754         * print.c (std_handle_out_external):
9755         [1]. [4].
9756
9757         * process-nt.c:
9758         * process-nt.c (nt_create_process):
9759         [6].
9760         try to fix process quoting somewhat.
9761
9762         * process-unix.c (unix_create_process):
9763         [1].
9764
9765         * process.c:
9766         * process.c (vars_of_process):
9767         Add Vnull_device.
9768
9769         * process.h:
9770         [1].
9771
9772         * realpath.c:
9773         * realpath.c (xrealpath):
9774         [1].
9775
9776         * redisplay-tty.c (init_tty_for_redisplay):
9777         [3].
9778
9779         * redisplay.c:
9780         [4]. [6].
9781
9782         * scrollbar-msw.c:
9783         [4].
9784
9785         * sheap.c:
9786         * sheap.c (more_static_core):
9787         * sheap.c (report_sheap_usage):
9788         [5]. [6].
9789
9790         * signal.c:
9791         * signal.c (alarm_signal):
9792         [1]. [6].
9793
9794         * sound.c:
9795         [6].
9796
9797         * strftime.c:
9798         * strftime.c (zone_name):
9799         [1]. [5].
9800
9801         * symsinit.h (init_sunpro):
9802         [1].
9803
9804         * syscommctrl.h:
9805         commctrl.h not in Cygwin b20.1.
9806
9807         * sysdep.c:
9808         * sysdep.c (endif):
9809         * sysdep.c (sys_subshell):
9810         * sysdep.c (init_baud_rate):
9811         * sysdep.c (emacs_get_tty):
9812         * sysdep.c (emacs_set_tty):
9813         * sysdep.c (tty_init_sys_modes_on_device):
9814         * sysdep.c (init_system_name):
9815         * sysdep.c (sys_open):
9816         * sysdep.c (interruptible_open):
9817         * sysdep.c (sys_fopen):
9818         * sysdep.c (sys_mkdir):
9819         * sysdep.c (sys_rename):
9820         * sysdep.c (get_process_times_1):
9821         [1]. [6].
9822
9823         * sysdep.h:
9824         [1].
9825
9826         * sysdir.h:
9827         * sysdir.h (DIRENTRY_NONEMPTY):
9828         [1]. [6].
9829
9830         * sysdll.c (dll_init):
9831         * sysdll.h:
9832         [1].
9833
9834         * sysfile.h:
9835         [1]. [6]. [8].
9836         added text/binary defs.
9837
9838         * sysfloat.h:
9839         [1].
9840
9841         * sysproc.h:
9842         * sysproc.h (EDESTADDRREQ):
9843         * sysproc.h (poll_fds_for_input):
9844         [1]. [6].
9845
9846         * syspwd.h:
9847         [6].
9848
9849         * syssignal.h:
9850         [1].
9851
9852         * systime.h:
9853         [1]. [6].
9854
9855         * systty.h:
9856         [1].
9857
9858         * syswindows.h:
9859         [1].
9860         Always define WIN32_LEAN_AND_MEAN.
9861
9862         * unexcw.c (unexec):
9863         [5].
9864
9865         * unexec.c:
9866         * unexec.c (copy_text_and_data):
9867         * unexec.c (adjust_lnnoptrs):
9868         [1].
9869
9870         * unexnt.c:
9871         * unexnt.c (_start):
9872         [1].
9873
9874 2000-06-07  Ben Wing  <ben@xemacs.org>
9875
9876         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
9877         was used only as a model.  We've long since extracted any useful
9878         logic or code out of this. (I just did an exhaustive search.)
9879
9880         * s\msdos.h: Removed.
9881
9882         * s\windows95.h: Removed.
9883
9884 2000-06-10  Ben Wing  <ben@xemacs.org>
9885
9886         * s\cygwin32.h:
9887         [1]. [5].
9888         Don't use extern with fun defs.
9889
9890         * s\mingw32.h:
9891         [1]. [7].
9892         Remove nt\inc include.
9893         Remove getdisk, getdefdir. (The former is unused, the latter
9894         expanded in fileio.h.)
9895
9896         * s\windowsnt.h:
9897         * s\windowsnt.h (WIN32_NATIVE):
9898         * s\windowsnt.h (HAVE_STRCASECMP):
9899         [1]. [7].
9900         Add long comment about preprocessor changes.
9901         Remove getdisk, getdefdir. (The former is unused, the latter
9902         expanded in fileio.h.)
9903
9904 2000-06-10  Ben Wing  <ben@xemacs.org>
9905
9906         * m\arm.h:
9907         * m\delta.h:
9908         * m\intel386.h:
9909         * m\sequent.h:
9910         * m\template.h:
9911         * m\windowsnt.h:
9912         [1].
9913         Remove bogus/unused NO_SOCK_SIGIO.
9914
9915 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
9916
9917         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
9918         not an Emchar.
9919
9920 2000-06-04  Mike Sperber <mike@xemacs.org>
9921
9922         * casetab.c (set_case_table): For `set-standard-case-table',
9923         actually deposit the new case tables where the rest of XEmacs can
9924         see them.
9925
9926 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
9927
9928         * data.c (Faset): Don't cast XCHAR() to unsigned char.
9929
9930 2000-06-05  Ben Wing  <ben@xemacs.org>
9931
9932         * callproc.c (child_setup): Don't do close_load_descs() under
9933         MS Windows.  Put in a comment explaining why.
9934
9935 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
9936
9937         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
9938         Toolkit shell" which breaks `kill-compilation' on Windows NT
9939         native, retaining STDERR handling improvements.
9940
9941 2000-06-01  Andreas Jaeger  <aj@suse.de>
9942
9943         * s/s390.h: Support for S390, based on a patch by Martin
9944         Schwidefsky <schwidefsky@de.ibm.com>.
9945
9946 2000-05-30  Andy Piper  <andy@xemacs.org>
9947
9948         * window.c (allocate_window):
9949         (make_dummy_parent):
9950         (Fset_window_configuration): use new hashtable type.
9951
9952         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
9953         (struct image_instantiator_methods):
9954         (struct Lisp_Image_Instance): make instance geometry signed.
9955
9956         * glyphs.c (instantiate_image_instantiator):
9957         (image_instance_query_geometry):
9958         (image_instance_layout):
9959         (image_instance_layout):
9960         (query_string_geometry):
9961         (text_query_geometry):
9962         (image_instantiate):
9963         (image_instantiate):
9964         (cache_subwindow_instance_in_frame_maybe):
9965         (subwindow_query_geometry): make instance geometry signed.
9966
9967         * glyphs-widget.c (widget_query_geometry):
9968         (widget_layout):
9969         (button_query_geometry):
9970         (tree_view_query_geometry):
9971         (tab_control_query_geometry):
9972         (layout_query_geometry):
9973         (layout_layout):
9974         (native_layout_layout): make instance geometry signed.
9975
9976 2000-05-29  Olivier Galibert  <galibert@pobox.com>
9977
9978         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
9979         constant.
9980
9981         * general.c (syms_of_general): Add Qfull_assoc symbol.
9982
9983         * data.c (finish_marking_weak_lists): Mark full-assoc lists
9984         correctly.
9985         (decode_weak_list_type): Decode full-assoc type.
9986         (encode_weak_list_type): Encode full-assoc type.
9987         (Fmake_weak_list): Update doc string.
9988
9989 2000-05-30  Andy Piper  <andy@xemacs.org>
9990
9991         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
9992
9993         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
9994         (decode_hash_table_weakness): ditto.
9995         (Fhash_table_weakness): ditto.
9996         (Fhash_table_type): ditto.
9997         (finish_marking_weak_hash_tables): ditto.
9998         (hash_table_weakness_validate): ditto.
9999         (syms_of_elhash): ditto.
10000
10001 2000-05-28  Martin Buchholz <martin@xemacs.org>
10002
10003         * XEmacs 21.2.34 is released.
10004
10005 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10006
10007         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
10008         start cache.
10009         (updating_line_start_cache): Gone.
10010         (regenerate_window): Replace resetting of VERTICAL_CLIP by
10011         generic code to force a minimum of 1 line laid out in the
10012         CMOTION_DISP case.
10013
10014 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10015
10016         * glyphs.c (instantiate_image_instantiator): Check for initialized
10017         height & width no longer special cases IMAGE_NOTHING.
10018         (nothing_instantiate): Set height and width of instance.
10019
10020 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10021
10022         * unexelf.c (unexec): Search for ".data" section.
10023         Initialize new_data2_offset from old_data_index.
10024         Remove redundant check for ElfW.
10025
10026 2000-05-23  Andy Piper  <andy@xemacs.org>
10027
10028         * glyphs.c (get_image_instantiator_governing_domain): allow more
10029         specific domains as the governing domain rather than expecting an
10030         exact match. This fixes problems with layouts.
10031
10032 2000-05-22  Andy Piper  <andy@xemacs.org>
10033
10034         * redisplay-output.c (compare_runes): check for non-images
10035
10036         * glyphs.c (set_glyph_dirty_p): ditto.
10037         (update_glyph_cachel_data): ditto.
10038
10039         * glyphs-widget.c (layout_post_instantiate): ditto.
10040         (layout_post_instantiate): ditto.
10041
10042         * event-msw.c (mswindows_wnd_proc): warning removal.
10043
10044 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
10045
10046         * s\mingw32.h: Added #undef for CLASH_DETECTION.
10047
10048         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
10049
10050         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
10051
10052         * nt.c (rva_to_section): mingw32 needs rva_to_section.
10053         (mswindows_executable_type): mingw32 now has enough headers for
10054         this to work.
10055
10056 2000-05-20  Andy Piper  <andy@xemacs.org>
10057
10058         * console-msw.c (mswindows_output_last_error): ; -> ,
10059
10060 2000-05-12  Andy Piper  <andy@xemacs.org>
10061
10062         * console-msw.c (FROB): compare ints with ints.
10063
10064 2000-05-11  Andy Piper  <andy@xemacs.org>
10065
10066         * glyphs-x.c (x_finalize_image_instance): make minimal build
10067         happy.
10068
10069 2000-05-20  Ben Wing  <ben@xemacs.org>
10070
10071         * event-Xt.c:
10072         * event-Xt.c (vars_of_event_Xt):
10073         move modifier-keys-are-sticky to event-stream.c.
10074
10075         * event-msw.c:
10076         * event-msw.c (mswindows_enqueue_mouse_button_event):
10077         * event-msw.c (key_needs_default_processing_p):
10078         * event-msw.c (XEMSW_LCONTROL):
10079         * event-msw.c (mswindows_handle_sticky_modifiers):
10080         * event-msw.c (FROB):
10081         * event-msw.c (clear_sticky_modifiers):
10082         * event-msw.c (output_modifier_keyboard_state):
10083         * event-msw.c (output_alt_keyboard_state):
10084         * event-msw.c (mswindows_wnd_proc):
10085         * event-msw.c (mswindows_modifier_state):
10086         * event-msw.c (emacs_mswindows_handle_magic_event):
10087         implement sticky modifiers.
10088
10089         * event-stream.c:
10090         * event-stream.c (vars_of_event_stream):
10091         move modifier-keys-are-sticky here.
10092
10093         * lisp.h:
10094         add CHECK_FUNCTION.
10095
10096         * rangetab.c:
10097         implement map-range-table.
10098
10099
10100 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
10101
10102         * redisplay-tty.c (reset_tty_modes):
10103         (tty_redisplay_shutdown): Adjust argument type to
10104         tty_frame_output_end.
10105
10106 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10107
10108         * eval.c (Fbacktrace): Don't output a line with only right
10109         parenthesis.
10110
10111 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
10112
10113         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
10114         (Fpq_reset_poll): Ditto.
10115
10116 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
10117
10118         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
10119
10120 2000-05-16  Ben Wing  <ben@xemacs.org>
10121
10122         * buffer.c:
10123         * buffer.c (dfc_convert_to/from_internal_format):
10124         * buffer.c (reinit_vars_of_buffer):
10125         Fix conversion functions to allow reentrancy.
10126
10127         * console-msw.c:
10128         * console-msw.c (mswindows_output_last_error):
10129         New fun, generally useful -- output a human-readable
10130         version of GetLastError() on the console.
10131
10132         * console-msw.h:
10133         * console-msw.h (struct mswindows_frame):
10134         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
10135
10136         * console-stream.c (stream_output_begin):
10137         * console-stream.c (stream_output_end):
10138         * console-stream.c (stream_output_vertical_divider):
10139         * console-stream.c (stream_clear_region):
10140         * console-stream.c (stream_flash):
10141         * console-stream.c (console_type_create_stream):
10142         Delete blank stream methods, not needed.
10143
10144         * console.h (struct console_methods):
10145         Split begin/end methods into window and frame.
10146
10147         * event-msw.c:
10148         * event-msw.c (mswindows_handle_paint):
10149         * event-msw.c (output_alt_keyboard_state):
10150         * event-msw.c (mswindows_wnd_proc):
10151         * event-msw.c (vars_of_event_mswindows):
10152         Comment about problems with ignored-expose.
10153         Define mswindows-debug-events; not really implemented.
10154
10155         * frame-msw.c (mswindows_init_frame_1):
10156         random cleanups.
10157
10158         * glyphs-msw.c:
10159         * glyphs-msw.c (begin_defer_window_pos):
10160         * glyphs-msw.c (mswindows_unmap_subwindow):
10161         * glyphs-msw.c (mswindows_map_subwindow):
10162         * glyphs-msw.c (mswindows_resize_subwindow):
10163         Use DeferWindowPos to reduce flashing when mapping/unmapping.
10164
10165         * glyphs.c (make_image_instance_1):
10166         Fix crash.
10167
10168         * gutter.c (Fredisplay_gutter_area):
10169         Use new begin/end methods.
10170
10171         * lisp.h (Dynarr_new2):
10172         New creation fun.
10173
10174         * redisplay-msw.c:
10175         * redisplay-msw.c (mswindows_frame_output_begin):
10176         * redisplay-msw.c (mswindows_frame_output_end):
10177         * redisplay-msw.c (console_type_create_redisplay_mswindows):
10178         New begin/end methods -- handle DeferWindowPos.
10179
10180         * redisplay-output.c (redisplay_move_cursor):
10181         * redisplay-output.c (redraw_cursor_in_window):
10182         * redisplay-output.c (redisplay_update_line):
10183         * redisplay-output.c (redisplay_output_window):
10184         New begin/end methods.
10185
10186         * redisplay-tty.c:
10187         * redisplay-tty.c (tty_frame_output_begin):
10188         * redisplay-tty.c (tty_frame_output_end):
10189         * redisplay-tty.c (console_type_create_redisplay_tty):
10190         New begin/end methods.
10191
10192         * redisplay-x.c:
10193         * redisplay-x.c (x_window_output_begin):
10194         * redisplay-x.c (x_window_output_end):
10195         * redisplay-x.c (console_type_create_redisplay_x):
10196         New begin/end methods.
10197
10198         * redisplay.c (redisplay_frame):
10199         * redisplay.c (Fredisplay_echo_area):
10200         New begin/end methods.
10201         use MAYBE_DEVMETH for clear_frame; it may not exist.
10202
10203         * window.h (WINDOW_XFRAME):
10204         WINDOW_XFOO macros -- get locale and decode struct pointer.
10205
10206
10207 2000-05-12  Ben Wing  <ben@xemacs.org>
10208
10209         * emacs.c:
10210         * emacs.c (ensure_no_quitting_from_now_on):
10211         * emacs.c (fatal_error_signal):
10212         * emacs.c (mswindows_handle_hardware_exceptions):
10213         * emacs.c (main):
10214         * emacs.c (Fkill_emacs):
10215         * emacs.c (shut_down_emacs):
10216         * emacs.c (assert_failed):
10217         various improvements in fatal error handling.
10218
10219         * eval.c:
10220         move preparing_for_armageddon to emacs.c.
10221
10222         * lisp.h:
10223         declare fatal_error_in_progress.
10224
10225         * print.c:
10226         * print.c (std_handle_out_external):
10227         * print.c (std_handle_out_va):
10228         * print.c (stderr_out):
10229         * print.c (stdout_out):
10230         use console under mswin when no standard output.
10231         don't do code conversion during fatal error.
10232
10233         * scrollbar.c (Fscrollbar_page_up):
10234         * scrollbar.c (Fscrollbar_page_down):
10235         fix missing else.  reindent.
10236
10237 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
10238
10239         Emergency fix.
10240
10241         * glyphs.h (GLYPH_CACHEL_DESCENT):
10242         (GLYPH_CACHEL_DESCENT):
10243         (GLYPH_CACHEL_DESCENT):
10244         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
10245         used in case these are inline functions.
10246         Use more absurd values to error check.
10247
10248         include window.h for error check functions.
10249
10250 2000-05-11  Ben Wing  <ben@xemacs.org>
10251
10252         * cmdloop.c (Freally_early_error_handler):
10253         Display message box under windows; otherwise, message will disappear
10254         before it can be viewed.
10255
10256         * console-msw.c:
10257         * console-msw.c (Fmswindows_message_box):
10258         * console-msw.c (FROB):
10259         * console-msw.c (syms_of_console_mswindows):
10260         Define new fun `mswindows-message-box'.
10261         #### I will merge this into `popup-dialog-box'; just give me
10262         a bit of time.
10263
10264         * general.c:
10265         * general.c (syms_of_general):
10266         Some new symbols used in `mswindows-message-box'.
10267
10268         * glyphs.c:
10269         * glyphs.c (Fset_image_instance_property):
10270         put warning in this fun.
10271
10272         * glyphs.h:
10273         * glyphs.h (GLYPH_CACHEL_WIDTH):
10274         * glyphs.h (GLYPH_CACHEL_ASCENT):
10275         * glyphs.h (GLYPH_CACHEL):
10276         * glyphs.h (GLYPH_CACHEL_GLYPH):
10277         define error-checking versions to try to catch a bug i've seen --
10278         redisplay gets in an infinite loop because the glyph width of the
10279         continuation glyph is 65535.
10280
10281         * lisp.h:
10282         Extern message-box stuff.
10283
10284         * window.c (allocate_window):
10285         * window.c (make_dummy_parent):
10286         * window.c (Fset_window_configuration):
10287         Use EQUAL not EQ for subwindow caches to make them work a bit
10288         better. (Something is still very broken.)
10289
10290
10291 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10292
10293         * glyphs.c (image_instantiate): Suppress gcc warnings.
10294         (Fmake_image_instance): Fix doc string.
10295         * specifier.c (Fmake_specifier): Ditto.
10296
10297 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
10298
10299         * paths.h.in (PATH_LOCK): Removed.
10300         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
10301         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
10302
10303 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10304
10305         * fns.c (Ffeaturep): Update e-mail address in doc-string.
10306         Document (featurep '(and xemacs 21.02)).
10307
10308 2000-05-09  Ben Wing  <ben@xemacs.org>
10309
10310         * buffer.c (complex_vars_of_buffer):
10311         update modeline-format doc.
10312
10313         * device.h:
10314         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
10315
10316         * emacs.c:
10317         timeline of all released versions of Emacs, for use in creating
10318         authorship comments and in synching up.
10319
10320         * glyphs-widget.c (image_instantiator_buttons):
10321         * glyphs-widget.c (image_instantiator_edit_fields):
10322         * glyphs-widget.c (image_instantiator_combo_box):
10323         * glyphs-widget.c (image_instantiator_scrollbar):
10324         * glyphs-widget.c (image_instantiator_progress_guage):
10325         * glyphs-widget.c (image_instantiator_tree_view):
10326         * glyphs-widget.c (image_instantiator_tab_control):
10327         * glyphs-widget.c (image_instantiator_labels):
10328         * glyphs-widget.c (image_instantiator_layout):
10329         * glyphs-widget.c (image_instantiator_native_layout):
10330         rename decode_domain method to governing_domain.
10331
10332         * glyphs.c:
10333         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
10334         * glyphs.c (add_entry_to_device_ii_format_list):
10335         make sure we don't put an entry more than once into the list.
10336         * glyphs.c (check_instance_cache_mapper):
10337         *************************************************************
10338         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
10339         HAVE BEEN GETTING.
10340         *************************************************************
10341         * glyphs.c (get_image_instantiator_governing_domain):
10342         clean up, expand on new concept of governing domain.
10343         * glyphs.c (instantiate_image_instantiator):
10344         * glyphs.c (allocate_image_instance):
10345         use governing_domain instead of cache_domain in naming.
10346         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
10347         * glyphs.c (make_image_instance_1):
10348         * glyphs.c (Fmake_image_instance):
10349         allow for any domain (not just device), and process the
10350         governing domain correctly.  very big doc fix.
10351         * glyphs.c (Fimage_instance_domain):
10352         new primitive, to retrieve the governing domain of an image instance.
10353         * glyphs.c (image_instantiate):
10354         use new governing_domain stuff.  this fixes a crash you could get
10355         by instantiating certain widget glyphs in frame locales. (should
10356         signal an error instead of crashing.)
10357         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
10358         * glyphs.c (Fglyphp): clean up doc.
10359         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
10360         * glyphs.c (syms_of_glyphs):
10361         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
10362         * glyphs.c (image_instantiator_format_create): add some comments about
10363         bogus code.
10364         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
10365         for current-display-table. (Apparently Hrjove implemented in 1998 a
10366         design I wrote up in 1996, but didn't update the doc string.)
10367
10368         * glyphs.h: clean up a doc string.
10369         * glyphs.h (governing_domain):
10370         * glyphs.h (struct image_instantiator_methods):
10371         changes for governing_domain stuff.
10372
10373         * gutter.c:
10374         * gutter.c (Fgutter_specifier_p):
10375         * gutter.c (Fgutter_size_specifier_p):
10376         * gutter.c (Fgutter_visible_specifier_p):
10377         * objects.c:
10378         * objects.c (Fcolor_specifier_p):
10379         * objects.c (Ffont_specifier_p):
10380         * objects.c (Fface_boolean_specifier_p):
10381         doc strings moved to make-*-specifier.
10382
10383         * redisplay.c (add_disp_table_entry_runes_1):
10384         * redisplay.c (generate_fstring_runes):
10385         * redisplay.c (screen):
10386         add random comments and doc strings.
10387
10388         * specifier.c:
10389         * specifier.c (Fmake_specifier):
10390         major overhaul of this doc string.
10391
10392         * specifier.c (Fvalid_specifier_domain_p):
10393         comment about the bogosity of image instances being domains.
10394         * specifier.c (decode_domain):
10395         now non-static, used in glyphs.c.
10396         * specifier.c (specifier_instance):
10397         comment about the bogosity of image instances being domains.
10398         * specifier.c (Fgeneric_specifier_p):
10399         move doc string to make-generic-specifier.
10400         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
10401         rebackslashify.
10402
10403         * specifier.h:
10404         * specifier.h (DOMAIN_FRAME):
10405         * specifier.h (DOMAIN_LIVE_P):
10406         * specifier.h (DOMAIN_XDEVICE):
10407         rebackslashify.
10408         add comments about problems with these macros.
10409         prototype for decode_domain.
10410
10411         * toolbar.c:
10412         * toolbar.c (Ftoolbar_specifier_p):
10413         move doc string to `make-toolbar-specifier'.
10414
10415         * window.c (window_unmap_subwindows_cache_mapper):
10416         *************************************************************
10417         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
10418         HAVE BEEN GETTING.
10419         *************************************************************
10420
10421 2000-05-09  Andy Piper  <andy@xemacs.org>
10422
10423         * glyphs.h: declare reset_frame_subwindow_instance_cache.
10424
10425         * window.c (Fset_window_configuration): reset the frame subwindow
10426         cache and re-initialize the window subwindow caches.
10427
10428         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
10429
10430 2000-05-09  Ben Wing  <ben@xemacs.org>
10431
10432         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
10433         DWORD.
10434
10435 2000-04-26  Mike Woolley  <mike@bulsara.com>
10436
10437         * ntheap.c: Changed recreate_heap to limit the amount reserved
10438         for the heap to that which is actually available. Also now
10439         displays a message box (with some dignostics) in the event that
10440         it still can't start.
10441
10442 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10443
10444         * callproc.c (Fold_call_process_internal): GCPRO path
10445
10446 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
10447
10448         Patch by Bill Perry.
10449
10450         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
10451         back data instead of #ifdef.
10452         (Fscrollbar_page_down): ditto.
10453
10454 2000-05-07  Ben Wing  <ben@xemacs.org>
10455
10456         * buffer.h:
10457         Kludge for defining Qmswindows_tstr.
10458
10459         * nt.c:
10460         * nt.c (open_input_file):
10461         * nt.c (open_output_file):
10462         * nt.c (rva_to_section):
10463         * nt.c (mswindows_executable_type):
10464         Move all memory-mapped-file routines here (some were in unexnt.c,
10465         which is bad because they are used by process-nt.c, and unexnt
10466         won't be around when portable dumping).  Synched the above routines
10467         with FSF 20.6.
10468
10469         * nt.h:
10470         Removed ifdef'd out bogus code.
10471         Fixed some prototypes.
10472
10473         * nt.h (file_data):
10474         * nt.h (OFFSET_TO_RVA):
10475         * nt.h (RVA_TO_OFFSET):
10476         * nt.h (RVA_TO_PTR):
10477         Moved the memory-mapped-file structures, macros and prototypes
10478         here, to parallel nt.c.  ntheap.h should really be removed
10479         entirely, and it's a non-portable-dumper specific file.
10480
10481         * ntheap.h (round_to_next):
10482         Moved the memory-mapped-file structures, macros and prototypes
10483         to nt.h.
10484
10485         * ntproc.c (compare_env):
10486         Moved rva_to_section and mswindows_executable_type to nt.c.
10487         Moved compare_env to process-nt.c.
10488         ntproc.c will die, one day.
10489
10490         * ntproc.c (sys_spawnve):
10491         Account for win32_ -> mswindows_.
10492
10493         * process-nt.c:
10494         * process-nt.c (struct nt_process_data):
10495         * process-nt.c (ensure_console_window_exists):
10496         * process-nt.c (compare_env):
10497         * process-nt.c (nt_create_process):
10498         * process-nt.c (nt_kill_process_by_pid):
10499         * process-nt.c (syms_of_process_nt):
10500         * process-nt.c (vars_of_process_nt):
10501         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
10502         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
10503         changes).  Eliminate our old `nt-quote-process-args' mechanism.
10504         Synch up nt_create_process with FSF 20.6 sys_spawnve.
10505         Move compare_env here from ntproc.c.
10506
10507         * process.c (Fprocess_send_region):
10508         Takes an optional fourth argument, BUFFER, which should fix some
10509         problems with call-process.
10510
10511         * syscommctrl.h:
10512         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
10513
10514         * syswindows.h:
10515         Move ICC_BAR_CLASSES to syscommctrl.h.
10516         Add preliminary macros for MSWindows/Mule.  More to come.
10517
10518         * unexnt.c:
10519         * unexnt.c (unexec):
10520         open_output_file moved to nt.c.
10521
10522
10523 2000-05-05  Andy Piper  <andy@xemacs.org>
10524
10525         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
10526         instance from the frame cache also since GC may catch up too late
10527         to make frame deletion sane.
10528
10529 2000-05-04  Andy Piper  <andy@xemacs.org>
10530
10531         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
10532         (x_finalize_image_instance): ungcpro on deletion.
10533
10534         * glyphs.c (image_instantiator_format_create): give pointers a
10535         query geometry method so that the geometry is at least set.
10536
10537         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
10538         initialize layouts if using widgets.
10539
10540 2000-05-03  Andy Piper  <andy@xemacs.org>
10541
10542         * nt.c: remove bogus reference to sysmmsystem.h
10543
10544         * gui-x.c (popup_selection_callback): fix no selection abort.
10545
10546 2000-05-02  Andy Piper  <andy@xemacs.org>
10547
10548         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
10549         (mswindows_widget_instantiate): ditto.
10550
10551         * glyphs-widget.c (initialize_widget_image_instance): initialize
10552         children correctly.
10553         (widget_instantiate): cope with children and items in the same
10554         instance.
10555
10556         * glyphs.c (mark_image_instance): cope with children as a first
10557         class member.
10558         (image_instance_equal): ditto.
10559         (image_instance_hash): ditto.
10560         (image_instance_changed): ditto.
10561
10562 2000-04-30  Andy Piper  <andy@xemacs.org>
10563
10564         * glyphs.c (subwindow_query_geometry): new function. Return some
10565         defaults.
10566         (subwindow_instantiate): don't assign dimensions if none have been
10567         given.
10568         (image_instantiator_format_create): add subwindow_query_geometry.
10569         (print_image_instance): cope with layouts as widgets.
10570
10571 2000-04-29  Andy Piper  <andy@xemacs.org>
10572
10573         * frame.c (delete_frame_internal): call
10574         free_frame_subwindow_instance_cache so that all subwindows are
10575         finalized before their parent.
10576         (mark_frame): remove subwindow_cachels.
10577         (Fmake_frame): remove subwindow_cachel manipulation.
10578         (allocate_frame_core): subwindow_instance_cache is a weak list.
10579         (delete_frame_internal): set subwindow_instance_cache to nil.
10580
10581         * glyphs-msw.c (mswindows_finalize_image_instance): make double
10582         finalization safe.
10583         (mswindows_finalize_image_instance): use the device
10584         not the domain as the domain may have died already.
10585
10586         * glyphs-x.c (x_finalize_image_instance): ditto.
10587         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
10588         HEIGHT.
10589
10590         * redisplay-output.c (redisplay_unmap_subwindows): update for
10591         subwindow instance cache as a weak list.
10592         (redisplay_unmap_subwindows_maybe): ditto.
10593         (redisplay_unmap_subwindows_except_us): ditto.
10594
10595         * glyphs.c (unmap_subwindow): error checking will check the domain
10596         so don't deal with it here. Don't use cachels anymore.
10597         (map_subwindow): ditto.
10598         (update_subwindow_cachel_data): remove old accessor names.
10599         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
10600         (Fresize_subwindow): don't update cachel.
10601         (mark_subwindow_cachels):
10602         (update_subwindow_cachel_data):
10603         (add_subwindow_cachel):
10604         (get_subwindow_cachel_index):
10605         (update_subwindow_cachel):
10606         (reset_subwindow_cachels):
10607         (mark_subwindow_cachels_as_not_updated): deleted.
10608         (cache_subwindow_instance_in_frame_maybe): new function. Add a
10609         subwindow instance to the frame cache.
10610         (find_matching_subwindow): update for subwindow instance cache as
10611         a weak list.
10612         (update_widget_instances): ditto.
10613         (image_instance_type_to_mask):inlined.
10614         (free_frame_subwindow_instance_cache): new function. finalize all
10615         subwindows that are instantiated.
10616
10617         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
10618         of cachel information.
10619         (IMAGE_INSTANCE_DISPLAY_X):
10620         (IMAGE_INSTANCE_DISPLAY_Y):
10621         (IMAGE_INSTANCE_DISPLAY_WIDTH):
10622         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
10623         (XIMAGE_INSTANCE_DISPLAY_X):
10624         (XIMAGE_INSTANCE_DISPLAY_Y):
10625         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
10626         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
10627         remove subwindow_cachel structure and function references.
10628         (image_instance_type_to_mask): inline from glyphs.c
10629
10630         * redisplay.c (redisplay_frame): remove subwindow_cachel
10631         references.
10632
10633         * frame.h (struct frame): remove subwindow_cachels.
10634         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
10635
10636         * frameslots.h: add subwindow_instance_cache.
10637
10638         * window.c (replace_window): check subwindow cache of replacement.
10639         (window_unmap_subwindows_cache_mapper):
10640         (window_unmap_subwindows): new functions. Unmap all subwindows
10641         cached on this window.
10642         (mark_window_as_deleted): unmap all subwindows.
10643
10644 2000-04-27  Andy Piper  <andy@xemacs.org>
10645
10646         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
10647
10648         * glyphs-widget.c (widget_layout): return something.
10649         (layout_layout): return something. Fail if not initialized.
10650         (layout_query_geometry): ditto.
10651         (image_instantiator_native_layout): new function. Initialized the
10652         native layout type.
10653         (widget_instantiate): don't do layout stuff here.
10654
10655         * glyphs.c (instantiate_image_instantiator): reorded calling or
10656         instantiate and post_instantiate with layout in between.
10657         (image_instance_layout): be more selective about deciding whether
10658         the layout has been done or not.
10659
10660         * glyphs.h (struct image_instantiator_methods): return a value
10661         from layout_method.
10662
10663 2000-04-26  Andy Piper  <andy@xemacs.org>
10664
10665         * glyphs.c (allocate_image_instance): make initial width and
10666         height unspecified. Set initialized to 0.
10667
10668         * syscommctrl.h new file. Encapsulates commctrl.h.
10669
10670         * syswindows.h new file. Encapsulates windows.h.
10671
10672         * ntplay.c: use new syswindows.h and syscommctrl.h header.
10673         * nt.c: ditto.
10674         * console-msw.h: ditto.
10675
10676         * redisplay-tty.c (tty_output_display_block): remove layout references.
10677
10678         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
10679         window handle rather than just the frame.
10680
10681         * glyphs.c (mark_image_instance): remove layout references.
10682         (print_image_instance): ditto.
10683         (image_instance_equal): ditto.
10684         (image_instance_hash): ditto.
10685         (decode_image_instance_type): ditto.
10686         (encode_image_instance_type): ditto.
10687         (image_instantiate): ditto.
10688         (allocate_glyph): ditto.
10689         (Fimage_instance_height): ditto.
10690         (Fimage_instance_width): ditto.
10691         (update_subwindow): ditto.
10692
10693         * redisplay-x.c (x_output_display_block): recode for layouts as
10694         widgets.
10695
10696         * redisplay-output.c (redisplay_output_layout): recode for layouts
10697         as widgets.
10698         (compare_runes): remove layout references.
10699
10700         * redisplay-msw.c (mswindows_output_display_block): recode for
10701         layouts as widgets.
10702
10703         * glyphs-widget.c (image_instantiator_layout): remove
10704         layout_possible_dest_types.
10705         (layout_possible_dest_types): deleted.
10706
10707         * glyphs.h (image_instance_type): remove layout references.
10708         (struct Lisp_Image_Instance): ditto. Add initialized flag.
10709         (IMAGE_INSTANCE_INITIALIZED): new accessor.
10710         (XIMAGE_INSTANCE_INITIALIZED): ditto.
10711
10712 2000-04-25  Andy Piper  <andy@xemacs.org>
10713
10714         * glyphs-widget.c (image_instantiator_buttons):
10715         (image_instantiator_edit_fields):
10716         (image_instantiator_combo_box):
10717         (image_instantiator_scrollbar):
10718         (image_instantiator_progress_guage):
10719         (image_instantiator_tree_view):
10720         (image_instantiator_tab_control):
10721         (image_instantiator_labels):
10722         (image_instantiator_layout): call default post_instantiate method.
10723         (widget_post_instantiate): new function. Simply lays out the
10724         widgets.
10725
10726         * glyphs.h (struct image_instantiator_methods): add
10727         post_instantiate method.
10728
10729         * glyphs.c (instantiate_image_instantiator): add post_instantiate
10730         method calls.
10731
10732 2000-04-23  Andy Piper  <andy@xemacs.org>
10733
10734         * glyphs.h (struct image_instantiator_methods): add
10735         decode_domain_method.
10736         (struct Lisp_Image_Instance): remove subwindow frame - it can be
10737         derived from the domain.
10738         (IMAGE_INSTANCE_FRAME): new accessor.
10739         (XIMAGE_INSTANCE_FRAME): ditto.
10740
10741         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
10742         instead of _SUBWINDOW_FRAME.
10743         (finalize_image_instance): ditto.
10744         (Fimage_instance_foreground): ditto.
10745         (Fimage_instance_background): ditto.
10746         (image_instantiate): ditto.
10747         (update_subwindow_cachel): ditto.
10748         (update_subwindow): ditto.
10749         (unmap_subwindow): ditto.
10750         (map_subwindow): ditto
10751         (subwindow_instantiate): ditto.
10752         * glyphs-msw.c (mswindows_update_widget): ditto.
10753         (mswindows_progress_gauge_instantiate): ditto.
10754         (mswindows_tab_control_update): ditto.
10755         * glyphs-x.c (x_update_widget): ditto.
10756         (x_widget_instantiate): ditto.
10757         (x_tab_control_instantiate): ditto.
10758         (x_tab_control_update): ditto.
10759         * event-msw.c (mswindows_wnd_proc): ditto
10760
10761         * glyphs-widget.c (image_instantiator_layout): use
10762         subwindow_decode_domain.
10763         (image_instantiator_buttons): ditto.
10764         (image_instantiator_edit_fields): ditto.
10765         (image_instantiator_combo_box): ditto.
10766         (image_instantiator_scrollbar): ditto.
10767         (image_instantiator_progress_guage): ditto.
10768         (image_instantiator_tree_view): ditto.
10769         (image_instantiator_tab_control): ditto.
10770         (image_instantiator_labels): ditto.
10771         (image_instantiator_layout): ditto.
10772
10773         * glyphs.c: add instance error checking to many functions.
10774         (instantiate_image_instantiator): decode device from cache_domain.
10775         (image_instantiate): partially rewrite by using
10776         decode_image_instantiator_domain to determine what domain the
10777         instance needs to be cached in.
10778         (decode_image_instantiator_domain): new function. Determine what
10779         domain the image needs to be cached in.
10780         (check_window_subwindow_cache): new error checking function.
10781         (check_instance_cache_mapper): ditto.
10782         (check_image_instance_structure): ditto.
10783         (subwindow_decode_domain): new function. Encodes a window as a
10784         subwindow's cache domain.
10785         (image_instantiator_format_create): use it for text and
10786         subwindows.
10787
10788 2000-04-21  Andy Piper  <andy@xemacs.org>
10789
10790         * glyphs.c (image_instance_device): new function.
10791         (image_instance_frame): new function.
10792         (image_instance_window): new function.
10793         (image_instance_live_p): new function.
10794
10795         * window.c (mark_window_as_deleted): reset the subwindow_instance_
10796         cache to nil.
10797
10798         * glyphs.h (struct Lisp_Image_Instance): device->domain.
10799         (IMAGE_INSTANCE_DOMAIN): new accessor.
10800         (XIMAGE_INSTANCE_DOMAIN): ditto.
10801
10802         * glyphs-x.c (x_finalize_image_instance): device->domain.
10803
10804         * glyphs-msw.c (init_image_instance_geometry): device->domain.
10805         (mswindows_finalize_image_instance): ditto.
10806
10807         * glyphs-eimage.c (jpeg_instantiate): device->domain.
10808         (gif_instantiate): ditto.
10809         (png_instantiate): ditto.
10810         (tiff_instantiate): ditto.
10811
10812         * glyphs.c (instantiate_image_instantiator): use domain rather
10813         than device.
10814         (mark_image_instance): device -> domain.
10815         (print_image_instance): ditto.
10816         (finalize_image_instance): ditto.
10817         (image_instance_equal): ditto.
10818         (allocate_image_instance): ditto.
10819         (Fcolorize_image_instance): ditto.
10820         (query_string_geometry): ditto.
10821         (image_instantiate): ditto
10822         (query_string_font): ditto.
10823         (image_instantiate): ditto.
10824         (update_subwindow): ditto.
10825         (unmap_subwindow): ditto.
10826         (map_subwindow): ditto.
10827         (subwindow_instantiate): ditto.
10828
10829         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
10830         (DOMAIN_FRAME): ditto.
10831         (DOMAIN_WINDOW): ditto.
10832         (DOMAIN_LIVE_P): ditto.
10833         (XDOMAIN_DEVICE): ditto.
10834         (XDOMAIN_FRAME): ditto.
10835         (XDOMAIN_WINDOW): ditto.
10836
10837         * specifier.c (Fvalid_specifier_domain_p): add image instances as
10838         a valid specifier domain.
10839
10840 2000-04-19  Andy Piper  <andy@xemacs.org>
10841
10842         * glyphs-widget.c (syms_of_glyphs_widget): remove
10843         widget-callback-current-channel.
10844         (vars_of_glyphs_widget): ditto.
10845         * glyphs.h: ditto
10846
10847         * gui.c (get_gui_callback): revert to previous behaviour.
10848
10849 2000-04-18  Andy Piper  <andy@xemacs.org>
10850
10851         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
10852         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
10853         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
10854
10855         * glyphs.c (image_instance_equal): add margin_width.
10856         (image_instance_hash): ditto.
10857
10858         * glyphs-widget.c (widget_instantiate): deal with margin-width.
10859         (layout_query_geometry): ditto.
10860         (layout_layout): ditto.
10861         (syms_of_glyphs_widget): add margin-width.
10862         (image_instantiator_layout): allow margin-width.
10863
10864         * glyphs.c (update_widget_instances): make a normal function.
10865         (syms_of_glyphs): remove Qupdate_widget_instances.
10866         * glyphs.h: ditto.
10867
10868         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
10869         so that we don't corrupt ideas about the last event or
10870         command. Remove widget-callback-current-channel fiddling.
10871         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10872
10873 2000-05-01  Martin Buchholz <martin@xemacs.org>
10874
10875         * XEmacs 21.2.33 is released.
10876
10877 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
10878
10879         * make-src-depend: Allow dots in header file name.
10880
10881 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
10882
10883         * mule-charset.h (struct charset_lookup): Add
10884         next_allocated_1_byte_leading_byte and
10885         next_allocated_2_byte_leading_byte.
10886         * mule-charset.c: Move above two variables so that those values
10887         will be dumped.
10888
10889 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
10890
10891         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
10892         when string length is zero.
10893         (find_charsets_in_emchar_string): Ditto.
10894
10895 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
10896
10897         * lisp.h: extern Qdialog and Qmenubar.
10898
10899         * gui-x.c: added events.h.
10900                 also fixed typo which made the file uncompilable.
10901
10902         * general.c: Added Qmenubar and Qdialog
10903
10904 2000-04-28  Ben Wing  <ben@xemacs.org>
10905
10906         * frame-msw.c (mswindows_init_frame_1):
10907         * frame-msw.c (mswindows_mark_frame):
10908         * event-msw.c (mswindows_enqueue_dispatch_event):
10909         * console-msw.h:
10910         * console-msw.h (struct mswindows_frame):
10911         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
10912         there are now three hash tables for callbacks.
10913         mswindows_enqueue_dispatch_event is no longer static.
10914
10915         * dialog-x.c (maybe_run_dbox_text_callback):
10916         * dialog-x.c (dbox_descriptor_to_widget_value):
10917         switch to new cons3 form for callbacks.
10918
10919         * glyphs-msw.c (mswindows_register_gui_item):
10920         * glyphs-msw.c (mswindows_widget_instantiate):
10921         * glyphs-msw.c (add_tree_item):
10922         * glyphs-msw.c (add_tab_item):
10923         new image instance parameter, so it can be passed to callback-ex.
10924         respect :callback-ex as well as :callback.
10925
10926         * glyphs-widget.c (VALID_GUI_KEYWORDS):
10927         add :callback-ex.
10928
10929         * glyphs.c (print_image_instance):
10930         prettify, e.g. now prints widget type.
10931
10932         * gui-x.h:
10933         certain funs have new image instance parameter.
10934
10935         * gui.c:
10936         * gui.c (get_gui_callback):
10937         * gui.c (gui_item_add_keyval_pair):
10938         * gui.c (gui_item_init):
10939         * gui.c (gui_add_item_keywords_to_plist):
10940         * gui.c (mark_gui_item):
10941         * gui.c (gui_item_hash):
10942         * gui.c (gui_item_equal):
10943         * gui.c (copy_gui_item):
10944         * gui.c (syms_of_gui):
10945         recognize callback-ex in a number of places.
10946         also, fix the annoying "can't get out of yes-no dialog" bug.
10947
10948         * gui.h:
10949         * gui.h (struct Lisp_Gui_Item):
10950         recognize callback-ex in a number of places.
10951
10952         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10953         new parameter in button_item_to_widget_value.
10954
10955         * glyphs-x.c (x_update_widget):
10956         * glyphs-x.c (x_button_instantiate):
10957         * glyphs-x.c (x_button_update):
10958         * glyphs-x.c (x_progress_gauge_instantiate):
10959         * glyphs-x.c (x_edit_field_instantiate):
10960         * glyphs-x.c (x_combo_box_instantiate):
10961         * glyphs-x.c (x_tab_control_instantiate):
10962         * glyphs-x.c (x_label_instantiate):
10963         new image instance parameter in various places.
10964
10965         * event-Xt.c:
10966         * event-Xt.c (enqueue_Xt_dispatch_event):
10967         this fun gets exported.
10968
10969         * gui-msw.c:
10970         * gui-msw.c (mswindows_handle_gui_wm_command):
10971         handle both :callback and :callback-ex, and generate our own
10972         event because it's one of the callback-ex arguments.
10973
10974         * gui-x.c:
10975         * gui-x.c (popup_selection_callback):
10976         handle both :callback and :callback-ex, and generate our own
10977         event because it's one of the callback-ex arguments.
10978         * gui-x.c (button_item_to_widget_value):
10979         * gui-x.c (gui_items_to_widget_values_1):
10980         * gui-x.c (gui_item_children_to_widget_values):
10981         * gui-x.c (gui_items_to_widget_values):
10982         new image instance parameter in various places.
10983
10984         * fns.c (Freplace_list):
10985         fix small typo in doc string.
10986
10987         * lisp.h:
10988         declare enqueue_Xt_dispatch_event.
10989
10990 2000-04-28  Ben Wing  <ben@xemacs.org>
10991
10992         * buffer.c:
10993         * buffer.c (Frecord_buffer):
10994         * buffer.c (syms_of_buffer):
10995         delete record-buffer-hook.
10996
10997         * fns.c:
10998         * fns.c (Freplace_list):
10999         * fns.c (syms_of_fns):
11000         new primitive replace-list.
11001
11002         * frameslots.h:
11003         slot for old buffer-alist.
11004
11005         * lisp.h:
11006         exfun replace-list.
11007
11008         * redisplay.c:
11009         * redisplay.c (redisplay_frame):
11010         * redisplay.c (syms_of_redisplay):
11011         * redisplay.c (vars_of_redisplay):
11012         new hook buffer-list-changed-hook.
11013         call it.
11014
11015 2000-04-27  Ben Wing  <ben@xemacs.org>
11016
11017         * extents.h: extern in_modeline_generation.
11018
11019         * redisplay.c (generate_formatted_string_db): set
11020         in_modeline_generation.
11021
11022         * extents.c (extent_changed_for_redisplay): don't mark redisplay
11023         flags if in modeline generation.  otherwise frame-modified-tick
11024         is ticked far too often.
11025         Declare in_modeline_generation.
11026
11027 2000-04-26  Ben Wing  <ben@xemacs.org>
11028
11029         * emacs.c (vars_of_emacs): document quick-build "error-checking"
11030         option.
11031         (vars_of_emacs): add quick-build as an error-checking option.
11032         A bit kludgy, but there doesn't seem much point in creating
11033         a real var for this.
11034
11035         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
11036
11037 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11038
11039         * redisplay.h (struct display_line): Add a new variable,
11040         line_continuation.
11041
11042         * redisplay.c (create_text_block): Set dl->line_continuation if
11043         the line continues.
11044         (create_string_text_block): Ditto.
11045         (regenerate_window_incrementally): Use line_continuation instead
11046         of searching continuation glyph.
11047         (add_margin_runes): Call add_glyph_rune.
11048         (add_glyph_rune): Handle margin glyph.
11049
11050 2000-04-20  Martin Buchholz  <martin@xemacs.org>
11051
11052         * filelock.c (fill_in_lock_file_name):
11053         ANSIfy.
11054         Check for IS_ANY_SEP instead of '/'.
11055         (lock_file_1):
11056         Avoid generating gratuitous garbage.  Call user_login_name() directly.
11057         Never check errno without first seeing that system call failed.
11058         (unlock_file): Add GCPRO.
11059         (Flock_buffer): Fix docstring.
11060         (Ffile_locked_p): Fix docstring.  Add GCPRO.
11061
11062 2000-04-19  Martin Buchholz  <martin@xemacs.org>
11063
11064         * sysdep.c (get_pty_max_bytes):
11065         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
11066         strings longer than 252 bytes.
11067
11068         * md5.c: Unconditionally include ANSI header <limits.h>
11069
11070         * glyphs-x.c (convert_EImage_to_XImage):
11071         * lisp-union.h (union Lisp_Object):
11072         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
11073
11074 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
11075
11076         * filelock.c (current_lock_owner): Remove unused variable o, p.
11077
11078 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
11079
11080         * callint.c: Remove multiply defined symbol Qlet
11081         (syms_of_callint): ditto.
11082
11083 2000-04-14  Andy Piper  <andy@xemacs.org>
11084
11085         * general.c (syms_of_general): add last-command, this-command, let
11086         and funcall.
11087
11088         * lisp.h: declare various symbols.
11089
11090         * glyphs.h: declare Qwidget_callback_current_channel;
11091
11092         * glyphs-widget.c (syms_of_glyphs_widget): add
11093         Qgui_callback_current_channel.
11094         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
11095
11096         * gui-msw.c (mswindows_handle_gui_wm_command): bind
11097         widget-callback-current-channel when invoking the interactive
11098         arg. Also bind last-command and next-command when invoking the
11099         widget updates.
11100         * gui-x.c (popup_selection_callback): ditto.
11101
11102         * gui.c (get_gui_callback): massage args so that we are always
11103         calling eval. This allows us to add our own variable bindings
11104         outside.
11105
11106         * glyphs-x.c (x_button_instantiate): use
11107         gui_items_to_widget_values since this is GC safe.
11108         (x_progress_gauge_instantiate): ditto.
11109         (x_edit_field_instantiate): ditto.
11110         (x_label_instantiate): ditto.
11111
11112         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
11113         (emacs_Xt_event_widget_focus_out): new function
11114         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
11115         focus.
11116         (emacs_Xt_event_add_widget_actions): new function. add focus
11117         functions as actions.
11118         (init_event_Xt_late): use it.
11119
11120 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
11121
11122         * event-stream.c (Fdispatch_event): Doc fix.
11123
11124 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
11125
11126         * postgresql.c: Remove all references to PQsetenv*.
11127
11128         * postgresql.h: Remove references to PGsetenvHandler object.
11129         * lrecord.h (lrecord_type): Ditto.
11130
11131 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11132
11133         * glyphs-msw.h (struct mswindows_image_instance_data): Added
11134         real_heigh and real_width members, and accessor macros for these.
11135
11136         * glyphs-msw.c (init_image_instance_geometry): New function.
11137         (init_image_instance_from_dibitmap): Use it.
11138         (mswindows_resource_instantiate): Use it.
11139         (init_image_instance_from_xbm_inline): Use it.
11140         (mswindows_initialize_image_instance_mask): Use real bitmap
11141         geometry.
11142         (mswindows_create_resized_bitmap): Ditto.
11143         (mswindows_create_resized_mask): Ditto.
11144
11145         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
11146         and bitmap to their surface size.
11147
11148 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
11149
11150         * process-unix.c (unix_send_process): Guard against process MIA
11151         after Faccept_process_output.
11152
11153 2000-04-11  Ben Wing  <ben@xemacs.org>
11154
11155         * eval.c (unbind_to_hairy): fix brokenness introduced by
11156         nanosecond speed improvements.
11157
11158 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
11159
11160         * sunplay.c (init_device): To play sounds correctly, the device
11161         apparently needs to be initialized at least once by XEmacs.  Make
11162         it so.
11163
11164 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11165
11166         * redisplay.c (add_margin_runes): Add text image glyph
11167           handling.
11168
11169 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
11170
11171         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
11172         gcc is newer than 2.5.
11173
11174 2000-04-06  Colin Rafferty  <colin@xemacs.org>
11175
11176         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
11177
11178         * fns.c (size_bit_vector):
11179         * alloc.c (size_vector):
11180         (make_vector_internal):
11181         (make_bit_vector_internal):
11182         (sweep_bit_vectors_1):
11183         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
11184
11185 2000-04-06  Andy Piper  <andy@xemacs.org>
11186
11187         * gmalloc.c (malloc): undo previous change.
11188         (malloc): ditto.
11189         (free): ditto.
11190         (realloc): ditto.
11191
11192 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
11193
11194         * line-number.c (buffer_line_number): Revert to former version.
11195
11196 2000-04-06  Andy Piper  <andy@xemacs.org>
11197
11198         * gmalloc.c (malloc): add error checking.
11199         (malloc): ditto.
11200         (free): ditto.
11201         (realloc): ditto.
11202
11203         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
11204         button_item_to_widget_value arg.
11205
11206         * glyphs-x.c (x_button_instantiate): add extra
11207         button_item_to_widget_value arg.
11208         (x_progress_gauge_instantiate): ditto.
11209         (x_edit_field_instantiate): ditto.
11210         (x_label_instantiate): ditto.
11211
11212         * gui-x.c (gui_items_to_widget_values_1): add extra
11213         button_item_to_widget_value arg.
11214         (button_item_to_widget_value): add extra menu_item_p arg.
11215
11216         * gui-x.h: change signature of button_item_to_widget_value.
11217
11218         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
11219         button_item_to_widget_value arg.
11220
11221 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11222
11223         * buffer.h (struct buffer): auto_save_modified should be long.
11224
11225 2000-04-05  Andy Piper  <andy@xemacs.org>
11226
11227         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
11228         type.
11229         (button_query_geometry): give a little more room so that athena
11230         buttons fit.
11231
11232 2000-04-05  Andy Piper  <andy@xemacs.org>
11233
11234         * faces.c (complex_vars_of_faces): The widget face should inherit
11235         the font of the gui-element face.
11236
11237 2000-04-04  Andy Piper  <andy@xemacs.org>
11238
11239         * glyphs-x.c (x_button_update): new function. unconditionally
11240         update a button's state when the instance is dirty.
11241         (image_instantiator_format_create_glyphs_x): add x_button_update.
11242         (x_widget_instantiate): remove old resize cruft.
11243
11244 2000-04-02  Andy Piper  <andy@xemacs.org>
11245
11246         * frame.c (change_frame_size_1): The introduction of gutters means
11247         that we need to allow 0 as a potential frame dimension.
11248
11249 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11250
11251         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
11252         image glyph if allow_cursor.
11253         (add_hscroll_rune): Don't allow cursor to border glyph.
11254         (create_text_block): Ditto.
11255
11256         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
11257         text not in buffer.
11258         (redisplay_output_layout): Call ensure_face_cachel_complete for
11259         text image glyph.
11260
11261
11262 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11263
11264         * redisplay.c (add_glyph_rune): Adding text image as text runes.
11265
11266         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
11267         not in buffer
11268
11269         * redisplay-tty.c (tty_output_display_block): Delete the routine
11270         for text image glyph
11271         * redisplay-x.c (x_output_display_block): ditto
11272         * redisplay-msw.c (mswindows_output_display_block): ditto
11273
11274 2000-02-02  Mike Alexander  <mta@arbortext.com>
11275
11276         Note: Some of these were committed by accident as part of other
11277         patches.
11278
11279         * regex.c (regex_compile): Avoid compiler warnings.
11280
11281         * ntproc.c (sys_spawnve): Avoid compiler warnings.
11282
11283         * nt.h: Declare term_ntproc correctly.
11284
11285         * nt.c: Remove incorrect declaration of get_home_directory which
11286         is declared correctly in lisp.h.
11287
11288         * keymap.c (get_keyelt): Avoid compiler warnings.
11289         (raw_lookup_key_mapper): Avoid compiler warnings.
11290
11291         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
11292
11293         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
11294
11295         * filemode.c (mode_string): Avoid compiler warnings.
11296
11297         * file-coding.c (Fcoding_system_aliasee): Add return statement to
11298         avoid warning.
11299
11300         * events-mod.h: Undef some things that winuser.h defines differently.
11301
11302         * data.c (Faset): Avoid compiler warnings.
11303
11304         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
11305
11306 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11307
11308         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
11309         Fall through to simple beep on error.
11310         Replace "extern" by real header file.
11311
11312         * linuxplay.c: Use nativesound.h
11313         (play_sound_data): Return error code. Be less verbose on error.
11314
11315         * sunplay.c: Use nativesound.h
11316         (play_sound_data): Return error code. Be less verbose on error.
11317
11318         * ntplay.c: Use nativesound.h
11319         (play_sound_data): Return fake error code
11320
11321         * sgiplay.c: Use nativesound.h
11322         (play_sound_data): Return error code
11323
11324         * hpplay.c: Use nativesound.h, partially implement
11325         new error code. Break compilation until finished.
11326         (play_sound_data): error code.
11327
11328         * nativesound.h (play_sound_file):
11329           (play_sound_data): Prototype in new header.
11330
11331 2000-03-31  Andy Piper  <andy@xemacs.org>
11332
11333         * glyphs-widget.c: (button_query_geometry): new function. Adjust
11334         for toggle and radio buttons.
11335         (image_instantiator_buttons): use it.
11336
11337 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11338
11339         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
11340         (x_update_horizontal_scrollbar_callback): Return if no mirror was
11341         found. Scrollbar event probably belonged to some old config.
11342
11343 2000-03-31  Andy Piper  <andy@xemacs.org>
11344
11345         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
11346         than 1.
11347         (initialize_widget_image_instance): default layout to
11348         LAYOUT_HORIZONTAL rather than 0.
11349         (widget_instantiate): reverse the item list at the end rather than
11350         every iteration.
11351         (layout_layout): re-code for the border text at the front of the
11352         item list rather than at the end.
11353         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
11354         provided by the user.
11355         (widget_query_geometry): comment.
11356
11357 2000-03-30  Andy Piper  <andy@xemacs.org>
11358
11359         * glyphs-widget.c (image_instantiator_layout): allow standard
11360         widget keywords in layouts.
11361
11362         * gutter.c (output_gutter): cope with nil gutter contents.
11363
11364         * frame.c (Fset_frame_properties): add gutter docs.
11365
11366 2000-03-29  Andy Piper  <andy@xemacs.org>
11367
11368         * toolbar-msw.c (TBSTYLE_FLAT): add.
11369         (mswindows_output_toolbar): minor fiddling.
11370
11371 2000-03-29  Andy Piper  <andy@xemacs.org>
11372
11373         * gutter.c (output_gutter): force gutter size recalculation if
11374         what we are trying to display won't fit.
11375         (update_gutter_geometry): new function. A per-gutter version of
11376         update_frame_gutter_geometry.
11377         (update_frame_gutter_geometry): use it.
11378         (redraw_exposed_gutter): add extra debugging output.
11379
11380 2000-03-28  Mike Alexander  <mta@arbortext.com>
11381
11382         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
11383         (pdump_file_unmap): Implement it on Windows
11384         (pdump_file_get): Save alocated handles for pdump_file_unmap
11385
11386 2000-03-28  Andy Piper  <andy@xemacs.org>
11387
11388         * gui.c (get_gui_callback): treat Quit specially.
11389
11390 2000-03-27  Andy Piper  <andy@xemacs.org>
11391
11392         * glyphs.c (image_instantiate): be careful to check in the same
11393         way we assigned.
11394
11395 2000-03-27  Didier Verna  <didier@xemacs.org>
11396
11397         * config.h.in: define the proper SMART_INCLUDE macro.
11398         handle renaming of `foo_h_path' to `foo_h_file'.
11399
11400         * database.c: ditto.
11401
11402         * emacs.c: ditto.
11403
11404         * linuxplay.c: ditto.
11405
11406         * terminfo.c: ditto.
11407
11408         * tooltalk.h: ditto.
11409
11410 2000-03-27  Andy Piper  <andy@xemacs.org>
11411
11412         * glyphs-msw.c (mswindows_update_widget): make sure the widget
11413         gets updated whenever the face might have changed.
11414
11415 2000-03-26  Mike Alexander  <mta@arbortext.com>
11416
11417         * dumper.c (pdump_resource_free): Fix the comment.
11418
11419 2000-03-21  Olivier Galibert  <galibert@pobox.com>
11420
11421         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
11422
11423 2000-03-22  Mike Alexander  <mta@arbortext.com>
11424
11425         * dumper.c: Include Windows headers on Windows
11426         (pdump_resource_free): Add a body to the function
11427         (pdump_load): exe_name -> exe_path and add some comments.
11428
11429 2000-03-25  Mike Alexander  <mta@arbortext.com>
11430
11431         * gui.c (copy_gui_item_tree): Return a value in all cases
11432
11433 2000-03-21  Didier Verna  <didier@xemacs.org>
11434
11435         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
11436         lwlib/config.h.in.
11437         (SMART_INCLUDE): new macro.
11438         (POSTGRES_INCLUDE): new macro to include postgresql headers from
11439         the proper location.
11440
11441         * postgresql.c: use it.
11442
11443         * inline.c: ditto.
11444
11445 2000-03-24  Andy Piper  <andy@xemacs.org>
11446
11447         * gutter.c (redraw_exposed_gutters): must be "in display" when we
11448         do this.
11449
11450 2000-03-24  Andy Piper  <andy@xemacs.org>
11451
11452         * redisplay-output.c (compare_runes): use image_instance_changed
11453         to detect changes. Do not depend on glyphs_changed, only depend on
11454         dirtiness.
11455          (redisplay_output_layout): add debug messages.
11456         (compare_runes): ditto.
11457
11458         * glyphs.h: declare new functions.
11459         (struct Lisp_Image_Instance): remove percent and associated
11460         accessors.
11461
11462         * gui.h: declare new copying functions.
11463
11464         * gui.c (copy_gui_item_tree): new function.
11465         (copy_gui_item): new function.
11466         (gui_item_id_hash): revert to standard hash.
11467         (gui_item_hash): ditto.
11468         (gui_item_hash_internal): deleted.
11469         (mark_gui_item): mark value.
11470         (gui_item_add_keyval_pair): add value.
11471         (gui_item_init): ditto.
11472         (gui_add_item_keywords_to_plist): ditto.
11473         (gui_item_equal): ditto.
11474         (syms_of_gui): add Q_value.
11475
11476         * glyphs-x.c (x_progress_gauge_update): use pending items and
11477         value for setting the state.
11478         (x_update_widget): don't set items from pending here.
11479
11480         * glyphs-widget.c (update_widget): update items here.
11481         (progress_gauge_set_property): use items for storing value. Put
11482         new value in pending items.
11483
11484         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
11485         items for new value. Convert percent -> value.
11486         (mswindows_tab_control_update): don't update items here.
11487
11488         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
11489         (update_subwindow): ditto.
11490         (image_instance_changed): new function. Compare hash values and
11491         past and present widget items.
11492         (image_instantiate): We more careful about where we instantiate
11493         things.
11494         (image_instantiate): add error checking.
11495
11496         * gutter.c (syms_of_gutter): use -hook.
11497
11498 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
11499
11500         * console-tty.c (Fset_console_tty_input_coding_system): Use
11501         Qkeyboard.
11502         (Fset_console_tty_output_coding_system): Use Qterminal.
11503         (tty_init_console): Use Qkeyboard and Qterminal.
11504
11505 2000-03-21  Ben Wing  <ben@xemacs.org>
11506
11507         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
11508         From Mike Alexander <mta@arbortext.com>.
11509
11510 2000-03-21  Ben Wing  <ben@xemacs.org>
11511
11512         * event-msw.c (mswindows_need_event): Horrible kludge to fix
11513         process brokenness.  Proper implementation to come.
11514         * callproc.c:
11515         Rename call-process-internal to old-call-process-internal.
11516         New impl. in process.el.
11517
11518 2000-03-21  Martin Buchholz  <martin@xemacs.org>
11519
11520         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
11521
11522 2000-03-20  Andy Piper  <andy@xemacs.org>
11523
11524         * glyphs.c (full_list_hash): make hashes of the same elements in
11525         different orders return different values.
11526
11527 2000-03-20  Martin Buchholz <martin@xemacs.org>
11528
11529         * XEmacs 21.2.32 is released.
11530
11531 2000-03-20  Martin Buchholz  <martin@xemacs.org>
11532
11533         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
11534         (DFC_MALLOC_USE_CONVERTED_DATA):
11535         Add aliasing-safe casts to allow use with char* or unsigned char*
11536         lvalues.
11537
11538         * eldap.c (Fldap_open):
11539         (Fldap_search_basic):
11540         (Fldap_add):
11541         (Fldap_modify):
11542         Make C++-compilable.
11543         Make sure GCPRO'ed variables are initialized.
11544         Use temp variables to avoid repeated calls to Flength.
11545
11546 2000-03-16  Martin Buchholz  <martin@xemacs.org>
11547
11548         * sysfile.h:
11549         Make sure PATH_MAX is always defined.
11550         Include limits.h for PATH_MAX.
11551         Deprecate use of MAXPATHLEN.
11552
11553 2000-03-10  Martin Buchholz  <martin@xemacs.org>
11554
11555         * emacs.c: Add reinit_vars_of_fileio.
11556         * symsinit.h: Add reinit_vars_of_fileio.
11557         * fileio.c (reinit_vars_of_fileio): New.
11558         * fileio.c (Fmake_temp_name):
11559         Initialize temp_name random number from microseconds to make
11560         collisions even less likely.  Initialize always at process startup
11561         time.  (make-temp-name) used to return the same file name twice in
11562         a row when PDUMP.
11563         Random stylistic fiddling.
11564         Comment fixes.
11565
11566 2000-03-20  Andy Piper  <andy@xemacs.org>
11567
11568         * glyphs.c (image_instantiate): allow text glyphs to be
11569         instantiated in the minibuffer window.
11570
11571 2000-03-19  Andy Piper  <andy@xemacs.org>
11572
11573         * glyphs.c (image_instance_hash): be careful about which items we
11574         hash on.
11575
11576         * glyphs-widget.c (tab_control_set_property): record into pending
11577         items rather than the actual items.
11578
11579         * glyphs-x.c (x_update_widget): use pending items to update with.
11580
11581         * glyphs-msw.c (mswindows_tab_control_update): use pending items
11582         to update with.
11583
11584         * glyphs.c (mark_image_instance): mark pending items.
11585
11586         * window.c (Fset_window_configuration): record the buffer.
11587         (Fselect_window): totally revert previous change which breaks many
11588         things.
11589
11590 2000-03-18  Andy Piper  <andy@xemacs.org>
11591
11592         * glyphs-msw.c (mswindows_tab_control_update): force selected
11593         item.
11594
11595         * glyphs.c (image_instantiate): don't allow the minibuffer as a
11596         window domain cache, otherwise we get inconsistencies at
11597         startup. There is something fishy at startup which can lead to the
11598         minibuffer being the selected window when the gutter content is
11599         instantiated.
11600
11601         * gui.c (parse_gui_item_tree_list): add probably unnecessary
11602         gcpros.
11603         (parse_gui_item_tree_children): ditto.
11604         (parse_gui_item_tree_item): ditto.
11605
11606         * glyphs.c (Fupdate_widget_instances): return something.
11607
11608 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
11609
11610         * window.c (Fselect_window): Undo 2000-03-17 change.
11611
11612 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
11613
11614         * postgresql.c (Fpq_setenv): Remove this turkey when linking
11615         against v7.0 libraries.  Insta-coredump city until the postgres
11616         folks fix it.
11617
11618 2000-03-17  Andy Piper  <andy@xemacs.org>
11619
11620         * faces.c (complex_vars_of_faces): don't give the widget face an
11621         inherited background pixmap.
11622
11623         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
11624         selected item.
11625
11626         * event-stream.c (Fdispatch_non_command_events): return something.
11627
11628         * gutter.c (output_gutter): use widget face.
11629         (clear_gutter): ditto.
11630
11631         * NEWS: adjust again.
11632
11633         * window.c (Fselect_window): make sure this runs to completion to
11634         avoid oddities with Fset_window_configuration.
11635         (Fcurrent_window_configuration): in general do not save the
11636         minibuffer as the selected window.
11637
11638         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
11639
11640 2000-03-16  Olivier Galibert  <galibert@pobox.com>
11641
11642         * emacs.c (Frunning_temacs_p): Revert previous patch.
11643         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
11644
11645 2000-03-16  Andy Piper  <andy@xemacs.org>
11646
11647         * glyphs-x.c (x_tab_control_update): if no widget values then
11648         return.
11649
11650         * NEWS: update for new features.
11651
11652         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
11653         synthetic event to the native system.
11654         (reinit_vars_of_event_Xt): set force_event_pending to
11655         emacs_Xt_force_event_pending.
11656
11657         * events.h (struct event_stream): add force_event_pending.
11658
11659         * specifier.c (recompute_one_cached_specifier_in_window): add
11660         comment.
11661
11662         * redisplay.c (redisplay_frame): don't call
11663         update_frame_subwindows. Reset subwindow cachels when
11664         subwindows_changed, removing this was an optimization too far.
11665
11666         * redisplay-output.c (compare_runes): reorganize so that we catch
11667         glyph changes when we want them. Set optimize_output when this
11668         would help layouts.
11669         (redisplay_output_layout): remove frame_really_changed, use
11670         optimize_output instead.
11671
11672         * redisplay-msw.c (mswindows_output_display_block): reset
11673         optimize_output after outputting a glyph.
11674         * redisplay-x.c (x_output_display_block): ditto.
11675         * redisplay-tty.c (tty_output_display_block): ditto.
11676
11677         * gutter.c: (specifier_vars_of_gutter): use new spec changed
11678         functions.
11679         (gutter_specs_changed): do specific gutter positions.
11680         (top_gutter_specs_changed): new function. Only update the
11681         specified gutter specs.
11682         (bottom_gutter_specs_changed): ditto.
11683         (left_gutter_specs_changed): ditto.
11684         (right_gutter_specs_changed): ditto.
11685
11686         * gui.c (gui_item_hash_internal): new function, does a real hash.
11687         (gui_item_id_hash): use it.
11688         (gui_item_hash): hash the eval'ed gui_item.
11689
11690         * gui-x.c (popup_selection_callback): send an eval event to call
11691         Fupdate_widget_instances.
11692
11693         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
11694         to call Fupdate_widget_instances.
11695
11696         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
11697         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
11698
11699         * glyphs.c: (update_frame_subwindows): deleted.
11700         (Fupdate_widget_instances): new function for updating the dirty
11701         state of widgets that might have changed.
11702         (syms_of_glyphs): add Qupdate_widget_instances.
11703         (full_list_hash): hash a list completely.
11704         (image_instance_hash): use it for items and properties.
11705
11706         * frame-msw.c (mswindows_size_frame_internal): remove unused
11707         variable.
11708
11709         * faces.h (struct face_cachel): fix comment.
11710
11711         * event-stream.c (Fdispatch_non_command_events): new
11712         function. Process non-command events, forcing an event cycle
11713         beforehand.
11714         (syms_of_event_stream): declare.
11715         (event_stream_force_event_pending): new function. Force an event
11716         on the native event queue so that an event cycle will occur next
11717         time we check.
11718
11719         * event-msw.c:
11720         (struct ntpipe_shove_stream):
11721         (mswindows_enqueue_dispatch_event):
11722         (mswindows_dequeue_dispatch_event):
11723         (mswindows_cancel_dispatch_event):
11724         (mswindows_pump_outstanding_events):
11725         (mswindows_drain_windows_queue):
11726         (mswindows_handle_paint):
11727         (mswindows_wnd_proc):
11728         (mswindows_key_to_emacs_keysym):
11729         (get_process_input_waitable):
11730         (emacs_mswindows_delete_stream_pair): re-indent file.
11731         (mswindows_need_event): do not process further fds if the windows
11732         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
11733         fixes the 100% cpu problem.
11734         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
11735
11736 2000-03-15  Olivier Galibert  <galibert@pobox.com>
11737
11738         * alloc.h: New.
11739         * dumper.h: New.
11740         * dumper.c: New.
11741
11742         * emacs.c: Moved dump file searching to dumper.c.
11743         (Frunning_temacs_p): Fixed.
11744
11745         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
11746         last_lrecord_type_index_assigned.
11747
11748 2000-02-20  Olivier Galibert  <galibert@pobox.com>
11749
11750         * symsinit.h: Added reinit parameter to init_console_stream
11751         declaration.
11752
11753         * lisp.h: Added file parameter to pdump_load declaration.
11754
11755         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
11756         support.  Added dump file searching.
11757
11758         * config.h.in: Added EMACS_PROGNAME.
11759
11760         * console-stream.c (init_console_stream): Fix reinitialisation
11761         when running from temacs.
11762
11763         * alloc.c (pdump): Add id support.
11764         (pdump_load): Add file parameter and signature/id support.
11765
11766         * Makefile.in.in: Add full pdump support.
11767
11768 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
11769
11770         * postgresql.c: Update documentation to reflect latest code
11771         status.
11772         (print_result): Show tuple counts in printed representation when
11773         appropriate.
11774         (Fpq_put_nbytes): MULE-ize.
11775         (Fpq_get_line_async): Ditto.
11776
11777 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
11778
11779         * postgresql.c (Fpq_lo_import): Fix return value.
11780         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
11781
11782 2000-03-13  Ben Wing  <ben@xemacs.org>
11783
11784         * alloc.c (pdump_load):
11785         Fix compile warning under mswin.
11786
11787 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
11788
11789         * postgresql.c: Mule-ization, bug fixes.
11790         Use PG_CODING to encapsulate coding system name changes.
11791         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
11792         (pg-coding-system): Create.
11793
11794         (Fpq_conn_defaults): Mule-ize.
11795         (Fpq_connectdb): Mule-ize & bug fix.
11796         (Fpq_connect_start): Mule-ize.
11797         (Fpq_set_client_encoding): Mule-ize.
11798         (Fpq_finish): Document `DEAD' connection status.
11799         (Fpq_clear): Ditto.
11800         (Fpq_pgconn): Mule-ize.
11801         (Fpq_exec): Mule-ize & bug fix.
11802         (Fpq_send_query): Ditto.
11803         (Fpq_get_result): Ditto.
11804         (Fpq_res_status): Mule-ize.
11805         (Fpq_result_error_message): Mule-ize.
11806         (Fpq_ntuples): fix comments.
11807         (Fpq_fname): Mule-ize.
11808         (Fpq_fnumber): Mule-ize.
11809         (Fpq_ftype): fix comments.
11810         (Fpq_get_value): Mule-ize.
11811         (Fpq_cmd_status): Ditto.
11812         (Fpq_cmd_tuples): Ditto.
11813         (Fpq_oid_value): Ditto.
11814         (Fpq_notifies): Ditto.
11815         (Fpq_lo_import): Ditto.
11816         (Fpq_lo_export): Ditto.
11817         (Fpq_get_line): Ditto.
11818         (Fpq_put_line): Mule-ize and bug fix.
11819         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
11820
11821 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
11822
11823         * postgresql.c (vars_of_postgresql): Mule-ize.
11824         (Fpq_conn_defaults): Ditto.
11825
11826 2000-03-12  Ben Wing  <ben@xemacs.org>
11827
11828         * alloc.c (Fmake_byte_code):
11829         * alloc.c (debug_string_purity_print):
11830         * alloc.c (pdump_backtrace):
11831         * alloc.c (pdump_get_indirect_count):
11832         * alloc.c (pdump_register_sub):
11833         * alloc.c (pdump_register_object):
11834         * alloc.c (pdump_register_struct):
11835         * alloc.c (pdump_dump_data):
11836         * alloc.c (pdump_reloc_one):
11837         Minor cleanups.
11838
11839         * console-msw.c:
11840         * console-msw.c (GetConsoleHwnd):
11841         * console-msw.c (msw_hide_console):
11842         * console-msw.c (msw_show_console):
11843         * console-msw.c (msw_ensure_console_buffered):
11844         * console-msw.c (msw_output_console_string):
11845         * console-msw.c (console_type_create_mswindows):
11846
11847         a) Added functions to manipulate the console window for use with
11848         shell support.
11849
11850         b) Added support for writing text to the console, which is now
11851         used under Windows when xemacs is not being run non-interactively,
11852         to write text that would otherwise be destined for stdout because
11853         under these circumstances, text written to stdout tends to
11854         disappear and not be seen.
11855
11856         * console-msw.h:
11857         * event-Xt.c:
11858         * event-Xt.c (x_event_to_emacs_event):
11859         * event-Xt.c (describe_event_window):
11860         * events-mod.h (XEMACS_MOD_CONTROL):
11861         * events.c:
11862         * events.c (Fmake_event):
11863         * events.c (character_to_event):
11864         * events.c (event_to_character):
11865         * events.c (format_event_object):
11866         * events.c (Fevent_modifiers):
11867         * events.h:
11868         * events.h (struct key_data):
11869         * events.h (struct button_data):
11870         * events.h (struct misc_user_data):
11871         * frame-x.c (Fcde_start_drag_internal):
11872         * frame-x.c (Foffix_start_drag_internal):
11873         * gpmevent.c (Freceive_gpm_event):
11874         * keymap.c:
11875         * keymap.c (bucky_sym_to_bucky_bit):
11876         * keymap.c (control_meta_superify):
11877         * keymap.c (make_key_description):
11878         * keymap.c (keymap_lookup_directly):
11879         * keymap.c (create_bucky_submap):
11880         * keymap.c (keymap_store):
11881         * keymap.c (define_key_check_and_coerce_keysym):
11882         * keymap.c (define_key_parser):
11883         * keymap.c (define_key_alternate_name):
11884         * keymap.c (Fdefine_key):
11885         * keymap.c (raw_lookup_key_mapper):
11886         * keymap.c (struct map_keymap_unsorted_closure):
11887         * keymap.c (map_keymap_unsorted_mapper):
11888         * keymap.c (map_keymap_sort_predicate):
11889         * keymap.c (map_keymap_sorted):
11890         * keymap.c (accessible_keymaps_mapper_1):
11891         * keymap.c (where_is_recursive_mapper):
11892         * keymap.c (describe_map_mapper):
11893         * keymap.c (describe_map_sort_predicate):
11894         * keymap.c (describe_map):
11895         * keymap.c (complex_vars_of_keymap):
11896         And a number of other files, the key modifier preprocessor
11897         constants that xemacs uses have names that conflict with constants
11898         defined under MS Windows for other purposes, so they were renamed
11899         to begin with the prefix XEMACS_. The variables that hold such
11900         modifiers were changed to consistently be of type int to fix
11901         various compile warnings.
11902
11903         * console.c (complex_vars_of_console):
11904         * device.c:
11905         * device-msw.c:
11906         * device-msw.c (mswindows_finish_init_device):
11907         * device-msw.c (msw_get_workspace_coords):
11908         * device-msw.c (mswindows_device_system_metrics):
11909         and various other files, added support for a new
11910         device property called offset-workspace which returns the position
11911         of the upper left corner of the workspace area and goes along with
11912         the existing size-workspace property.
11913
11914         * dialog-msw.c:
11915         * dialog-msw.c (push_bufbyte_string_as_unicode):
11916         * dialog-msw.c (mswindows_popup_dialog_box):
11917         Added support for XEmacs-style accelerator specifications in
11918         button text.  Note: I didn't add support for this under X Windows,
11919         and somebody needs to do this.
11920
11921         * dialog.c:
11922         * dialog.c (Fpopup_dialog_box):
11923         Documented the support for accelerators that was just mentioned.
11924
11925         editfns.c (get_home_directory): Changed behavior under Windows
11926         when HOME not defined; former behavior was irretrievably broken.
11927
11928         * emacs.c:
11929         * emacs.c (main_1):
11930         * emacs.c (main):
11931         * minibuf.c (clear_echo_area_internal):
11932         * minibuf.c (echo_area_append):
11933         * print.c:
11934         * print.c (std_handle_out_external):
11935         * print.c (std_handle_out_va):
11936         * print.c (fatal):
11937         * print.c (write_string_to_stdio_stream):
11938         * print.c (output_string):
11939         * print.c (debug_print):
11940         * print.c (debug_backtrace):
11941         * print.c (debug_short_backtrace):
11942         Cleaned up the code that prints text to stdout so that this can be
11943         changed to output into a console window instead under MS Windows,
11944         as described above.
11945
11946         * eval.c:
11947         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
11948         * eval.c (internal_catch):
11949         * eval.c (unwind_to_catch):
11950         * eval.c (throw_or_bomb_out):
11951         * eval.c (condition_case_1):
11952         * eval.c (signal_1):
11953         * eval.c (check_error_state_sanity):
11954         * eval.c (call_with_suspended_errors_1):
11955         * eval.c (call_with_suspended_errors):
11956         * eval.c (reinit_vars_of_eval):
11957         Added code to catch throw loops and check for a pesky bug that may
11958         be gone now.
11959
11960         * event-msw.c:
11961         * event-msw.c (key_needs_default_processing_p):
11962         * event-msw.c (mswindows_wnd_proc):
11963         * event-msw.c (mswindows_modifier_state):
11964         * event-msw.c (emacs_mswindows_quit_p):
11965         * event-msw.c (vars_of_event_mswindows):
11966         a) Added support for using the alt key to select menu items as is
11967         standard under MS Windows.  This is controlled using the variable
11968         menu-accelerator-enabled, just like under X Windows.  There is an
11969         option on the options menu to turn this support on.  I really
11970         think that it should be on by default under Windows, but I'm not
11971         going to make this change yet.
11972
11973         b)  Added support for dynamic display size changes under Windows.
11974
11975         * event-stream.c:
11976         * event-stream.c (maybe_echo_keys):
11977         * event-stream.c (Fnext_event):
11978         * event-stream.c (command_builder_find_leaf):
11979         * event-stream.c (lookup_command_event):
11980         * event-stream.c (execute_command_event):
11981         * event-stream.c (pre_command_hook):
11982         * event-stream.c (post_command_hook):
11983         * event-stream.c (syms_of_event_stream):
11984         * event-stream.c (vars_of_event_stream):
11985         * event-stream.c (complex_vars_of_event_stream):
11986         * events.h (struct command_builder):
11987
11988         a) Tried to clean up a little bit the horribly written x-specific
11989         accelerator code that crept into this file.  I moved this code
11990         into menubar-x.c where it belongs. I also needed to move the
11991         command builder structure into the file events.h because it is
11992         accessed directly by this accelerator code.  What I didn't do, but
11993         which should be done at some point, is to properly abstract this
11994         code using device methods instead of the kludgy way that it
11995         currently hooks into the event code.
11996
11997         b) Added the lisp variables this-command-properties and
11998         last-command- properties, which should be used to synchronize two
11999         adjacent commands in preference to playing games with the variable
12000         this-command, which is typically what happens.
12001
12002         c) Added some slightly nasty code to hook into the lisp support
12003         for shifted- motion-key selection.  This is actually necessary for
12004         somewhat complicated reasons, which are described in
12005         simple.el. (NB: I think the proper thing would be to have the code
12006         that calls the pre and post command hooks also call out to generic
12007         lisp functions in simple.el, where all built-in stuff could be
12008         added.  I will think about this more.)
12009
12010         * event-unixoid.c (poll_fds_for_input):
12011         * lread.c (readchar):
12012         * redisplay-tty.c (tty_clear_frame):
12013         * redisplay-x.c (x_get_gc):
12014         * signal.c (interrupt_signal):
12015         And a whole bunch of other files: fixed up places that printed
12016         directly to stderr to instead call the function stderr_out so that
12017         the changes I made under Windows work correctly.
12018
12019         * filemode.c (mode_string):
12020         Warning fixes.
12021
12022         * frame-msw.c:
12023         * frame-msw.c (mswindows_size_frame_internal):
12024         Fixed the computation of frame size and position to keep the frame
12025         within the workspace area, rather than within the physical
12026         dimensions of the screen, so that the frame doesn't overlap window
12027         manager decorations, such as the start menu and toolbar, typically
12028         at the bottom of the screen.
12029
12030         * frame.c (vars_of_frame):
12031         Changed the default frame title format under MS Windows to consist
12032         of buffername-XEmacs, which is standard under MS Windows.  I think
12033         it might be a good idea to change this everywhere because I think
12034         it is superior to the current frame title format, but this is the
12035         kind of change that is likely to cause some people to get annoyed,
12036         so I'm not making it.
12037
12038         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
12039
12040         * gui-msw.c (mswindows_handle_gui_wm_command):
12041         Fixed compile warnings.
12042
12043         * gui-x.c:
12044         * gui-x.c (strdup_and_add_accel):
12045         * gui-x.c (button_item_to_widget_value):
12046         * gui-x.h:
12047         Added code to automatically put an accelerator onto the beginning
12048         of menu items that don't have one as is now the standard, and is
12049         described more later.  Also fixed things so that the menu item
12050         name can be an evaluated expression, again a new standard.
12051
12052         * gui.c:
12053         * gui.c (gui_item_add_keyval_pair):
12054         * gui.c (make_gui_item_from_keywords_internal):
12055         * gui.c (gui_add_item_keywords_to_plist):
12056         * gui.c (gui_item_accelerator):
12057         * gui.c (gui_name_accelerator):
12058         * gui.c (gui_item_included_p):
12059         * gui.c (gui_item_display_flush_left):
12060         * gui.c (gui_item_display_flush_right):
12061         * gui.c (parse_gui_item_tree_item):
12062         * gui.c (parse_gui_item_tree_children):
12063         * gui.c (parse_gui_item_tree_list):
12064         Mule-ized.  Cleanup.  GCPRO addition.
12065
12066         * line-number.c (buffer_line_number):
12067         * lisp.h:
12068         * lisp.h (EMACS_INT_MAX):
12069         Added the manifest constant EMACS_INT_MIN corresponding to the
12070         existing constant EMACS_INT_MAX.  This is partially to fix compile
12071         warnings under Windows, and partly for cleanliness.
12072
12073         * menubar-msw.c:
12074         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
12075         * menubar-msw.c (msw_translate_menu_or_dialog_item):
12076         * menubar-msw.c (displayable_menu_item):
12077         * menubar-msw.c (populate_menu_add_item):
12078         * menubar-msw.c (populate_or_checksum_helper):
12079         * menubar-msw.c (populate_menu):
12080         * menubar-msw.c (update_frame_menubar_maybe):
12081         * menubar-msw.c (prune_menubar):
12082         * menubar-msw.c (msw_char_is_accelerator):
12083         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
12084         * menubar-msw.c (mswindows_handle_wm_command):
12085         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
12086         * menubar-msw.c (mswindows_handle_wm_initmenu):
12087         * menubar-msw.c (mswindows_update_frame_menubars):
12088         * menubar-msw.c (mswindows_free_frame_menubars):
12089         * menubar-msw.c (mswindows_popup_menu):
12090         Fixed a bug in handling accelerators where an extra character
12091         would be displayed in the menu item.  Also generalized the
12092         function displayable_menu_item because it is now used by the
12093         dialog box code as well.  And finally, added code in the functions
12094         that create the menubar to extract a list of accelerators for the
12095         top level menubar, which is used in the event code to determine
12096         whether a particular alt-key combination should be used to invoke
12097         a menu item, or should be passed through to access the standard
12098         XEmacs keymap binding for this key combination.
12099
12100         Much needed GCPROing.
12101
12102         * menubar-x.c:
12103         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12104         * menubar-x.c (menu_item_descriptor_to_widget_value):
12105         * menubar-x.c (restore_in_menu_callback):
12106         * menubar-x.c (x_popup_menu):
12107         * menubar-x.c (menu_move_up):
12108         * menubar-x.c (menu_move_down):
12109         * menubar-x.c (menu_move_left):
12110         * menubar-x.c (menu_move_right):
12111         * menubar-x.c (menu_select_item):
12112         * menubar-x.c (command_builder_operate_menu_accelerator):
12113         * menubar-x.c (menu_accelerator_junk_on_error):
12114         * menubar-x.c (command_builder_find_menu_accelerator):
12115         * menubar-x.c (Faccelerate_menu):
12116         * menubar.h:
12117         Moved a whole bunch of code here that was previously in
12118         event-stream.c as described above.  There is also code connected
12119         to the new standard of adding an accelerator to the beginning of
12120         menu items that don't have one as described above and below.
12121
12122         * menubar.c:
12123         * menubar.c (menu_parse_submenu_keywords):
12124         * menubar.c (Fmenu_find_real_submenu):
12125         * menubar.c (Fnormalize_menu_item_name):
12126         * menubar.c (syms_of_menubar):
12127         * menubar.c (vars_of_menubar):
12128         * menubar.c (complex_vars_of_menubar):
12129
12130         a) Cleaned up a bunch of documentation and improved it.
12131
12132         b) XEmacs now automatically adds an accelerator onto the beginning
12133         of any menu items that don't have one.  I did this because there
12134         will inevitably be some menu items on the main menubar that don't
12135         have accelerators on them because the package that adds that
12136         particular menu item hasn't yet been fixed up to have accelerators
12137         in them and it looked rather strange to have some items with and
12138         some items without accelerators, especially since even in items
12139         without accelerators, you can, at least under windows, still
12140         access the item through an accelerator corresponding to the first
12141         character in the item's name.  If people don't like this behavior,
12142         I can add a variable to turn it off optionally, but I'm not sure
12143         this is a good idea because we really do need to have accelerators
12144         on all of the menu items, and if a package doesn't like the
12145         accelerators being put on the first character, then it should put
12146         the accelerators where they belong.
12147
12148         c) I made a behavior change, which is that the descriptor that
12149         specifies the text of the menu item, which formerly was just a
12150         string, can now also be an evaluated expression.  This makes this
12151         descriptor parallel with all of the others, which could also be
12152         evaluated expressions.  This also obviates the need for the
12153         keyword :label, which was previously listed in the documentation
12154         as unimplemented, and which was for the same purpose.
12155
12156         d) GCPROing.
12157
12158         * ntproc.c:
12159         * ntproc.c (new_child):
12160         * ntproc.c (sys_spawnve):
12161         * ntproc.c (find_child_console):
12162         * ntproc.c (sys_kill):
12163         Fixed compile warnings.  By the way, this file should really go
12164         away entirely, and this will happen as soon as Kirill makes his
12165         final round of process cleanups, which affect the function
12166         call-process.
12167
12168         * process-nt.c:
12169         * process-nt.c (struct nt_process_data):
12170         * process-nt.c (find_process_from_pid):
12171         * process-nt.c (send_signal_the_nt_way):
12172         * process-nt.c (enable_child_signals):
12173         * process-nt.c (find_child_console):
12174         * process-nt.c (send_signal_the_95_way):
12175         * process-nt.c (nt_finalize_process_data):
12176         * process-nt.c (ensure_console_window_exists):
12177         * process-nt.c (nt_create_process):
12178         * process-nt.c (nt_kill_child_process):
12179         * process-nt.c (nt_kill_process_by_pid):
12180         * process-nt.c (nt_open_network_stream):
12181         * process-nt.c (vars_of_process_nt):
12182         Copied over code from Emacs 20.5 to correctly send signals to sub-
12183         processes under Windows 95.  Also added code to automatically
12184         create and hide console window when a sub-process is created under
12185         Windows 95, which obviates the need for the separate runemacs.exe
12186         executable, and finally implemented some variables that were
12187         implemented in Emacs 20.5, but previously not in XEmacs.  These
12188         include mswindows- start-process-share-console and
12189         mswindows-start-process-inherit-error-mode. (Both of these only
12190         apply to Windows 95.)
12191
12192         * regex.c (regex_compile): Fixed a compile warning.
12193
12194         * select-msw.c:
12195         * select-msw.c (mswindows_own_selection):
12196         * select-msw.c (mswindows_get_foreign_selection):
12197         * select-msw.c (mswindows_disown_selection):
12198         * select-msw.c (console_type_create_select_mswindows):
12199         * select-msw.c (syms_of_select_mswindows):
12200         Cleaned up the file and implemented the device method
12201         selection_exists_p, which had accidentally been left out.  Also
12202         removed four lisp functions that were remnants from before the
12203         time when the selection code was properly device abstracted.
12204         These functions are no longer needed because there are generic
12205         equivalents, and because they were added recently and don't exist
12206         in FSF Emacs, I don't think there's any problem with just deleting
12207         them.
12208
12209         * sysdep.c:
12210         * sysdep.c (sys_subshell):
12211         Fixed a compile warning, although in this case there's probably
12212         something wrong with this code, and it ought to be looked into
12213         more thoroughly by somebody who understands it.
12214
12215         * window.c:
12216         * window.c (Fwindow_text_area_height):
12217         * window.c (Fwindow_width):
12218         * window.c (Fwindow_full_width):
12219         * window.c (Fwindow_pixel_width):
12220         * window.c (debug_print_window):
12221         * window.c (syms_of_window):
12222         Added functions window-text-area-height and window-full-width,
12223         which are functions for returning various width and height
12224         characteristics of a window. (One of these functions is necessary
12225         for making the file dialog box work correctly, and the other one
12226         was added for completeness.)  Also added a table to the
12227         documentation for window-height which describes the entire scheme
12228         for accessing width and height characteristics of a window.
12229
12230 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12231
12232         * nt.c (fstat): Added a comment for another problem with
12233         non-encapsulated [f]stat(), reported by Adrian Aichner
12234         <aichner@ecf.teradyne.com>.
12235
12236 2000-03-11  Andy Piper  <andy@xemacs.org>
12237
12238         * window.c (make_dummy_parent): initialize subwindow instance
12239         cache.
12240         (Fset_window_configuration): zero extent_modiff.
12241
12242 2000-03-10  Andy Piper  <andy@xemacs.org>
12243
12244         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
12245         more changes can be triggered.
12246         (Fredisplay_frame): ditto.
12247         (Fredraw_device): ditto.
12248         (Fredisplay_device): ditto.
12249         (redisplay_frame): make non-static.
12250         (redisplay_frame): call update_frame_gutter_geometry outside of
12251         display proper.
12252
12253         * gutter.h: declare update_frame_gutter_geometry.
12254
12255         * redisplay.h: declare redisplay_frame.
12256
12257         * gutter.c (update_frame_gutter_geometry): move geometry changes
12258         in update_frame_gutters here. Geometry changes can only occur
12259         outside of redisplay.
12260         (update_frame_gutters): remove geometry change code.
12261         (Fredisplay_gutter_area): make sure that we are in display when we
12262         update and that we have flushed any size changes.
12263
12264 2000-03-11  Andy Piper  <andy@xemacs.org>
12265
12266         * alloc.c (pdump_dump_data): remove i & count shadows.
12267
12268 2000-02-27  Mike Alexander  <mta@arbortext.com>
12269
12270         * sysdep.h: Declare pdump_read_file
12271
12272         * sysdep.c (pdump_read_file): New function
12273
12274         * alloc.c (pdump_load): Call pdump_read_file to get the portable
12275         dump data
12276
12277 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12278
12279         * lrecord.h: add `lrecord_type_pgsetenv'.
12280
12281 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
12282
12283         * symsinit.h: declare (vars|syms)_of* functions.
12284         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
12285
12286 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
12287
12288         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
12289
12290         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
12291         GCCs.
12292
12293         * emacs.c (main_1): Call postgres initialization code.
12294
12295         * postgresql.h: New file.  PostgreSQL RDBMS support.
12296         * postgresql.c: New file.
12297
12298 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12299
12300         * redisplay-output.c (redisplay_output_display_block): Disable
12301         redundant code.
12302
12303 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12304
12305         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
12306         (Fcanna_henkan_next): Ditto.
12307         (Fcanna_bunsetu_henkou): Ditto.
12308         (Fcanna_henkan_kakutei): Ditto.
12309         (Fcanna_henkan_end): Ditto.
12310         (Fcanna_henkan_quit): Ditto.
12311         (Fcanna_henkan_next): Set retun value correctly.
12312         (c2mu): Use unsigned char instead of signed char.
12313
12314 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12315
12316         * emacs.c (main_1): Always call syms_of_gui.
12317         * inline.c: include gui.h
12318
12319 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12320
12321         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
12322         converted to Lisp_Object.
12323         (Qtop_bottom): New variable.
12324         (syms_of_redisplay): Initialize it.
12325         * redisplay.h (Vvisible_bell): Ditto.
12326         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
12327         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
12328         only flash top and bottom.
12329
12330 2000-03-08  Andy Piper  <andy@xemacs.org>
12331
12332         * buffer.c (Frename_buffer): record new buffer name the right way.
12333
12334 2000-03-08  Andy Piper  <andy@xemacs.org>
12335
12336         * glyphs.c (update_subwindow): increase hash depth so that widget
12337         items get picked up properly.
12338
12339         * redisplay-output.c (compare_runes): increase hash depth so that
12340         widget items get picked up properly.
12341
12342 2000-03-08  Andy Piper  <andy@xemacs.org>
12343
12344         * gutter.c (output_gutter): add some debug.
12345
12346         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
12347         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
12348         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
12349
12350         * redisplay-output.c (compare_runes): use display_hash to
12351         determine if glyphs really are not the same.
12352
12353         * glyphs.c (update_subwindow): check display_hash to see if
12354         anything really needs to be updated. If not then do
12355         nothing. Record the display_hash after updating.
12356         (image_instance_equal): compare the image_instance face also.
12357
12358 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
12359
12360         * redisplay.h: Fix comment style.
12361
12362 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12363
12364         * consle-msw.h (struct mswindows_frame):
12365         Added new member paint_pending to indicate whether a WM_PAINT
12366         magic event has been queued for this frame.
12367
12368         * event-msw.c (mswindows_drain_windows_queue):
12369         Don't queue a WM_PAINT magic event if one is already queued.
12370         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
12371
12372         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
12373
12374 2000-03-07  Didier Verna  <didier@xemacs.org>
12375
12376         * dired.c: #include `regex.h' after `sysfile.h'.
12377
12378 2000-03-06  Martin Buchholz  <martin@xemacs.org>
12379
12380         * sound.c (init_nas_sound): Fix compiler warning.
12381
12382         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
12383         (FREE_STRUCT_P):
12384         (MARK_STRUCT_AS_FREE):
12385         (MARK_STRUCT_AS_NOT_FREE):
12386         Make `gcc -fstrict-aliasing' work properly.
12387
12388 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12389
12390         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
12391         (mswindows_delete_device): Call CoUnnitialize().
12392
12393         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
12394
12395 2000-02-25    <CraigL@DyCon.com>
12396
12397         * process-nt.c: MinGW now has <shellapi.h>, but still needs
12398         <errno.h>.
12399
12400         * sysdep.c: This extern declaration for environ prevents MinGW
12401         from finding the variable in CRTDLL.DLL.
12402
12403         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
12404         windows headers.
12405         (SHGFI_EXETYPE): ..
12406         (WM_MOUSEWHEEL): ..
12407         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
12408         definitions.
12409         (MMRESULT): Removed, now defined in cygwin's windows headers.
12410         (TIMECAPS): ..
12411         (uid_t,gid_t,pid_t,ssize_t): ..
12412         (_timeb): Removed, MinGW defines both _timeb and timeb.
12413         (HAVE_H_ERRNO): Added.
12414         (HAVE_TZNAME): Added, configure is not detecting this.
12415
12416 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
12417
12418         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
12419         * syntax.c (syntax_match): Use it.
12420
12421         * cmds.c: Import auto-fill-chars from FSF Emacs.
12422         (Vauto_fill_chars): New variables.
12423         (internal_self_insert): Check Vauto_fill_chars.
12424         (vars_of_cmds):
12425         Declare auto-fill-chars as a Lisp variable and initialize it.
12426
12427 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12428
12429         * fileio.c (Fmake_symbolic_link):
12430         (Ffile_symlink_p):
12431         Run handlers even if local machine doesn't have symlinks.
12432
12433 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12434
12435         * event-msw.c (mswindows_drain_windows_queue):
12436         Don't generate paint magic events for non-XEmacs frames.
12437
12438 2000-03-05  Andy Piper  <andy@xemacs.org>
12439
12440         * redisplay.c (redisplay_frame): generate_displayable_area and
12441         friends assumes that we are not in GC, we therefore have to make
12442         sure that this doesn't happen.
12443
12444         * gutter.c (calculate_gutter_size): generate_displayable_area
12445         assumes that we are not in GC, we therefore have to make sure that
12446         this doesn't happen.
12447
12448 2000-03-05  Martin Buchholz  <martin@xemacs.org>
12449
12450         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
12451
12452 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12453
12454         * redisplay.c (regenerate_window): Make sure we set a sane value
12455         for end_pos even if we jump out of the loop.
12456         (regenerate_window): Answer Ben's question :-).
12457         (start_end_of_last_line): Add may_error argument.
12458         (start_of_last_line):
12459         (end_of_last_line): Pass may_error = 0.
12460         (end_of_last_line_may_error): New function.
12461         (pixel_to_glyph_translation): Use it, so we don't crash in
12462         event_to_glyph.
12463
12464 2000-03-04  Andy Piper  <andy@xemacs.org>
12465
12466         * window.h (struct window): add gutter_extent_modiff.
12467
12468         * window.c (allocate_window): zero out gutter_extent_modiff.
12469
12470         * redisplay.h: declare sync_display_line_structs.
12471
12472         * redisplay.c (add_glyph_rune): add a better comment.
12473
12474         * redisplay-output.c (sync_display_line_structs): made non-static.
12475         (compare_runes): remove unneccesary glyph cachel access.
12476
12477         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
12478
12479         * gutter.c (output_gutter): don't output the gutter if extent
12480         changes only involve extents in buffers. use 4 sets of display
12481         lines.
12482         (gutter_extent_signal_changed_region_maybe): new function. Mark
12483         extents in gutters as changed.
12484         (update_frame_gutters): use 4 sets of display lines.
12485         (reset_gutter_display_lines): ditto.
12486         (free_frame_gutters): ditto.
12487         (redraw_exposed_gutter): force output of gutters.
12488
12489         * frame.h (struct frame): add 4 sets of gutter display lines.
12490
12491         * extents.c: (extent_changed_for_redisplay): signal changes to
12492         extents in strings in the gutter as well as extents in buffers.
12493
12494 2000-03-02  Andy Piper  <andy@xemacs.org>
12495
12496         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
12497
12498         * frame.c (Fmake_frame): make sure the gutters get initialized
12499         after the frame is visible.
12500         (set_frame_selected_window): re-arrange compilation macros a
12501         little.
12502         (change_frame_size_1): mark gutters changed.
12503
12504         * device.c (Fset_device_class): mark gutters changed.
12505
12506 2000-03-01  Andy Piper  <andy@xemacs.org>
12507
12508         * window.c (window_top_frame_gutter_height): deleted.
12509         (window_bottom_frame_gutter_height): ditto.
12510         (window_left_frame_gutter_height): ditto.
12511         (window_right_frame_gutter_height): ditto.
12512         (window_top_gutter_height): don't use them.
12513         (window_bottom_gutter_height): ditto.
12514         (window_left_gutter_width): ditto.
12515         (window_right_gutter_width): ditto.
12516         (Fsplit_window): ditto.
12517         (Fwindow_pixel_edges): don't use border dimensions here.
12518
12519         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
12520         (update_scrollbar_instance): ditto.
12521
12522         * redisplay.c (generate_modeline): don't take gutters into account.
12523         (generate_modeline): ditto.
12524         (redisplay_frame): small gutter display optimization.
12525
12526         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
12527
12528         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
12529         gutters into account.
12530
12531         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
12532         for window position and type.
12533
12534         * gutter.c (get_gutter_coords): fix for frame gutters.
12535         (update_frame_gutters): update frame geometry if the gutters have
12536         changed.
12537         (init_frame_gutters): record current gutter geometries.
12538
12539         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
12540         var.
12541         (mswindows_widget_instantiate): ditto.
12542
12543         * frame.h (struct frame): add current_gutter_bounds.
12544
12545         * frame.c (change_frame_size_1): position window and minibuffer
12546         appropriately taking into account the frame gutters.
12547
12548         * frame-x.c: (x_initialize_frame_size): take into account the
12549         frame gutters.
12550
12551 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
12552
12553         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
12554
12555 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
12556
12557         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
12558
12559 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12560
12561         * file-coding.c (reset_decoding_stream): Clear previous
12562         detection state when autodetect.
12563
12564 2000-02-29  Didier Verna  <didier@xemacs.org>
12565
12566         * extents.c (set_extent_glyph_1): don't require extents to be
12567         attached.
12568
12569 2000-02-27  Andy Piper  <andy@xemacs.org>
12570
12571         * gutter.c (Fset_default_gutter_position): don't default left and
12572         right gutter visibility to t.
12573         (Fset_default_gutter_position): run
12574         default-gutter-position-changed-hook.
12575         (syms_of_gutter): add default-gutter-position-changed-hook.
12576
12577 2000-02-26  Andy Piper  <andy@xemacs.org>
12578
12579         * specifier.c (Fmake_specifier): add gutter references.
12580
12581         * gutter.h (RAW_WINDOW_GUTTER): new macro.
12582
12583         * lisp.h: declare Fvalid_plist_p.
12584
12585         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
12586         as changed.
12587         (default_gutter_visible_p_changed_in_window): invalidate gutter as
12588         well as its visibility so that it gets reconstructed.
12589         (construct_window_gutter_spec): new function. Construct a string
12590         to be displayed in the gutter from a plist of strings. Take care
12591         to only use elements that are declared as visible.
12592         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
12593         WINDOW_GUTTER.
12594         (gutter_validate): allow plists of strings in the specifier.
12595         (gutter_specs_changed): construct the real_gutter from the gutter
12596         specs using construct_window_gutter_spec.
12597         (gutter_visible_validate): gutter-visible is a new specifier type.
12598         (Fgutter_visible_specifier_p): new function for the new specifier.
12599         (syms_of_gutter): declare gutter-visible and
12600         Fgutter_visible_specifier_p.
12601         (specifier_type_create_gutter): intitalize new gutter-visible
12602         specifier.
12603         (reinit_specifier_type_create_gutter): ditto.
12604         (specifier_vars_of_gutter): use new specifier type for gutter
12605         visibility.
12606         (init_frame_gutters): construct real_gutter correctly.
12607         (Fgutter_specifier_p): beef up documentation.
12608         (Fgutter_size_specifier_p): ditto.
12609
12610         * winslots.h: add real_gutter slots.
12611
12612 2000-02-25  Andy Piper  <andy@xemacs.org>
12613
12614         * device-msw.c: Be kind to older cygwin versions. From Raymond
12615         Toy <toy@rtp.ericsson.se>.
12616
12617         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
12618         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
12619
12620 2000-02-25  Martin Buchholz  <martin@xemacs.org>
12621
12622         * elhash.c (MARK_OBJ): Practice macro hygiene.
12623
12624 2000-02-24  Martin Buchholz  <martin@xemacs.org>
12625
12626         * miscplay.c: s/__inline__/inline/g;
12627         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
12628         (get_device_compdc): INLINE ==> static inline
12629         * *.[ch]: Change INLINE to INLINE_HEADER globally.
12630         find -name '*.h' | \
12631         xargs global-replace \
12632         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
12633
12634 2000-02-25  Andy Piper  <andy@xemacs.org>
12635
12636         * window.c (window_top_frame_gutter_height): new function.
12637         (window_top_window_gutter_height): ditto.
12638         (window_top_gutter_height): use them.
12639         (window_bottom_frame_gutter_height): new function.
12640         (window_bottom_window_gutter_height): ditto.
12641         (window_bottom_gutter_height): use them.
12642         (window_left_window_gutter_width): new function.
12643         (window_left_frame_gutter_width): ditto.
12644         (window_left_gutter_width): use them.
12645         (window_right_window_gutter_width): new function.
12646         (window_right_frame_gutter_width): ditto.
12647         (window_right_gutter_width): use them.
12648         (window_pixel_height): new function. calulate window pixel height
12649         with frame gutter involvement.
12650         (Fsplit_window): calculate new sizes taking frame gutters into
12651         account.
12652         (window_char_height_to_pixel_height): don't include frame gutters.
12653         (window_char_height): use window_pixel_height.
12654         (window_pixheight): rename from window_pixel_height.
12655         (change_window_height): use it.
12656         (window_pixel_height_to_char_height): don't include frame gutters.
12657         (window_char_width_to_pixel_width): ditto.
12658
12659 2000-02-25  Andy Piper  <andy@xemacs.org>
12660
12661         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
12662         if it is.
12663
12664 2000-02-24  Martin Buchholz  <martin@xemacs.org>
12665
12666         * alloc.c (staticpro):
12667         (staticpro_nodump):
12668         (dumpstruct):
12669         (dumpopaque):
12670         (pdump_wire):
12671         (pdump_wire_list):
12672         (compact_string_chars):
12673         (pdump_dump_wired):
12674         Convert:  if (foo) abort();  ==>  assert (! foo);
12675
12676         * eldap.c (Fldap_search_basic):
12677         (Fldap_add):
12678         (Fldap_modify):
12679         (Fldap_delete):
12680         Fix compiler warnings, and possible crashes if (random) return
12681         value were to be used.
12682
12683 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12684
12685         * device-msw.c: Workaround ResetDC failure.
12686
12687         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
12688         applying a devmode.
12689
12690         * redisplay-msw.c (get_frame_dc): Added start_page_p.
12691         (mswindows_text_width): Do not start printer page.
12692
12693         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
12694
12695         * glyphs-msw.c: Added image methods to msprinter console and
12696         msprinter-specific image instantiation.
12697
12698 2000-02-20  Mike Alexander  <mta@arbortext.com>
12699
12700         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
12701         to avoid crashes when selection-sets-clipboard is on
12702         (mswindows_own_selection): ditto
12703
12704 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12705
12706         * glyphs-msw.c:
12707         * redisplay-msw.c (get_frame_dc):
12708         (get_frame_compdc):
12709         * console-msw.h:
12710         * device-msw.c (mswindows_init_device):
12711         (mswindows_delete_device):
12712         (msprinter_init_device):
12713         (msprinter_delete_device):
12714         * frame-msw.c (mswindows_init_frame_1):
12715         (mswindows_delete_frame):
12716         (msprinter_init_frame_3):
12717         (msprinter_delete_frame): Move compatible DC to device object from
12718         frame object, for both mswindows and msprinter. Only one at a time
12719         is needed, it is a real waste to have one per frame!
12720
12721 2000-02-23  Andy Piper  <andy@xemacs.org>
12722
12723         * glyphs.c: add dynamic width and height elements.
12724         (image_instance_equal): ditto.
12725
12726         * glyphs-widget.c (widget_query_geometry): calculate width and
12727         height dynamically if required.
12728         (initialize_widget_image_instance): initialize dynamic dimensions.
12729         (widget_instantiate): pick-up dynamic dimensions.
12730
12731         * glyphs.h (struct Lisp_Image_Instance): add width and height for
12732         dynamic determination. Add appropriate macros.
12733
12734         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
12735         dimensions safe.
12736         (WINDOW_GUTTER_SIZE): ditto.
12737         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
12738
12739         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
12740         inline.
12741         (get_frame_dc): ditto.
12742
12743         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
12744         here.
12745
12746 2000-02-23  Martin Buchholz <martin@xemacs.org>
12747
12748         * XEmacs 21.2.31 is released.
12749
12750 2000-02-22  Ben Wing <ben@xemacs.org>
12751
12752         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
12753
12754 2000-02-22  Andy Piper  <andy@xemacs.org>
12755
12756         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
12757
12758 2000-02-21  Mike Sperber <mike@xemacs.org>
12759
12760         * .dbxrc:
12761         * .gdbinit:
12762         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
12763         variables.
12764
12765 2000-02-21  Mike Sperber <mike@xemacs.org>
12766
12767         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
12768
12769 2000-02-21  Martin Buchholz <martin@xemacs.org>
12770
12771         * XEmacs 21.2.30 is released.
12772
12773 2000-02-20  Martin Buchholz  <martin@xemacs.org>
12774
12775         Performance hacking.
12776         * *.c (syms_of_*):
12777         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
12778         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
12779         * emacs.c (main_1):
12780         * lisp.h (DEFUN):
12781         * console.c (DEFVAR_CONSOLE_LOCAL_1):
12782         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
12783         * symeval.h (DEFVAR_SYMVAL_FWD):
12784         * symbols.c (guts_of_unbound_marker):
12785         Make all c_readonly objects also lisp_readonly and marked for life.
12786         * lrecord.h (struct lrecord_implementation):
12787         Document flags better.
12788         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
12789         * lrecord.h (DECLARE_LRECORD):
12790         * lrecord.h (XSETRECORD):
12791         * lrecord.h (RECORDP):
12792         * lrecord.h (RECORD_TYPEP):
12793         * lrecord.h (RECORD_MARKER): New.
12794         * lrecord.h (error_check_*):
12795         * lrecord.h (CONCHECK_NONRECORD):
12796         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
12797         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
12798         * lrecord.h (set_lheader_implementation):
12799         * lrecord.h (enum lrecord_type): New.
12800         * symeval.h (SYMBOL_VALUE_MAGIC_P):
12801         * alloc.c (disksave_object_finalization_1):
12802         * alloc.c (mark_object):
12803         * alloc.c (lrecord_type_index):
12804         * alloc.c (tick_lcrecord_stats):
12805         * alloc.c (Fgarbage_collect):
12806         * alloc.c (init_alloc_once_early):
12807         * alloc.c (pdump_load):
12808         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
12809         * alloc.c (lrecord_type_index): Delete.
12810         Make lisp object type indexes be constant.
12811           Makes (byte-compile) 5% faster.
12812         Put all marker functions into their own array.
12813           Makes (garbage-collect) 5% faster.
12814         Optimize SYMBOL_VALUE_MAGIC_P.
12815           Makes (byte-compile) 2-3% faster.
12816         * config.h.in (gc_checking_assert): New.
12817         * alloc.c: Use gc_checking_assert().
12818         * .dbxrc: Make compatible with new object type implementation.
12819         * .gdbinit: Make compatible with new object type implementation.
12820         * alloc.c: Delete all symbols defined only for debugging, such as
12821         Lisp_Type_Vector and lrecord_charset.
12822
12823 2000-02-21  Andy Piper  <andy@xemacs.org>
12824
12825         * gui-msw.c (Fmswindows_shell_execute): fix file location
12826         problems.
12827
12828         * buffer.c (Fkill_buffer): remove buffer from alist buffer
12829         unshowing so that set_window_buffer doesn't undo
12830         kill_buffer_hook's hard work.
12831
12832         * glyphs-widget.c (tab_control_query_geometry): don't count the
12833         first item when calculating geometry.
12834
12835         * glyphs.c (map_subwindow): remove redundant code.
12836         (update_frame_subwindows): be more circumspect about when to
12837         update subwindows.
12838
12839         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
12840         when items haven't changed. Update faces if faces have changed as
12841         well as just the widget face.
12842         (x_tab_control_update): Update faces if faces have changed as well
12843         as just the widget face.
12844
12845 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12846
12847         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
12848         registration.
12849         (build_syscolor_string): Use mswindows_color_to_string to try to
12850         get a named color.
12851         (mswindows_device_system_metrics): Reverse the foreground and
12852         background colors so that they match the documentation.
12853
12854         * objects-msw.c: (mswindows_X_color_map): tweak some values so
12855         they match the default Windows palette.
12856         (mswindows_color_to_string): New function.
12857
12858 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12859
12860         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
12861
12862 2000-02-18  Olivier Galibert  <galibert@pobox.com>
12863
12864         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
12865         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
12866
12867         * symbols.c (init_symbols_once_early): Removed obsolete
12868         DATA_SEG_BITS related kludge.
12869         (defvar_magic): Ditto.
12870
12871         * malloc.c: Removed obsolete DATA_SEG_BITS
12872         * ralloc.c: Ditto.
12873         * mem-limits.h: Ditto.
12874
12875         * Makefile.in.in: Removed obsolete HAVE_SHM
12876         * emacs.c: Ditto.
12877
12878 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12879
12880         *  device-msw.c (mswindows_delete_device): Free DDE string
12881         handles.
12882
12883 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12884
12885         * keymap.c (get_keyelt):
12886         * unexnt.c (unexec):
12887         * vm-limit.c (memory_warnings):
12888         * ntheap.c (recreate_heap):
12889         * ntheap.h (UNINIT_PTR):
12890         * select-msw.c (Fmswindows_get_clipboard):
12891         (Fmswindows_set_clipboard):
12892         * objects-msw.h (MSWINDOWS_BAD_HFONT):
12893         * objects-msw.c:
12894         * menubar-msw.c (displayable_menu_item):
12895         * glyphs-msw.c:
12896         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
12897         * sysdep.c (sys_subshell):
12898         * process-nt.c (nt_create_process):
12899         * nt.c (normalize_filename):
12900         (dostounix_filename):
12901         (unixtodos_filename):
12902         * ntproc.c (win32_executable_type):
12903         * ntplay.c (play_sound_data_1):
12904         (play_sound_file):
12905         * editfns.c (get_home_directory):
12906         * event-msw.c (struct winsock_stream):
12907         (mswindows_dde_callback):
12908         * device-msw.c (msprinter_init_device):
12909         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
12910
12911         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
12912         mswindows_clear_toolbar were swapped!
12913
12914         * objects-msw.c:(colormap_t):
12915         (fontmap_t):
12916         * emacs.c (struct standard_args): Fixed const jumble.
12917
12918         * glyphs-widget.c (update_widget): Fixed comparison notation.
12919
12920         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
12921
12922         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
12923         __declspec(noreturn) syntax.
12924
12925 2000-02-19  Martin Buchholz  <martin@xemacs.org>
12926
12927         * eldap.c (Fldap_open):
12928         (Fldap_search_basic):
12929         (Fldap_add):
12930         (Fldap_modify):
12931         Use new coding system conversion macros.
12932
12933 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12934
12935         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
12936
12937 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
12938
12939         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
12940         (Fldap_add, Fldap_modify, Fldap_delete): New functions
12941
12942         * eldap.c (Qadd, Qreplace): New constant symbols
12943         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
12944         interruptions by XEmacs signals
12945         Remove unnecessary calls to slow_down_interrupts and
12946         speed_up_interrupts
12947         (Fldap_search_basic): Renamed from Fldap_search_internal
12948         Added new optional parameter VERBOSE that triggers the
12949         display of progress messages
12950         Remove unnecessary calls to slow_down_interrupts and
12951         speed_up_interrupts
12952         LDAP result code analysis rewritten
12953         (Fldap_add, Fldap_modify, Fldap_delete): New functions
12954         (syms_of_eldap): Define the new symbols and functions
12955
12956
12957 2000-02-17  Martin Buchholz  <martin@xemacs.org>
12958
12959         * realpath.c: Determine PATH_MAX maximally portably.
12960
12961         * insdel.c (bytecount_to_charcount): Optimize.
12962         The function used to be optimized for entirely ASCII sequences.
12963         Now it is optimized for successive characters from the same
12964         charset.  This also wins big for _mostly_ ASCII sequences.
12965
12966         * fileio.c (Ffile_truename): convert return from realpath() using
12967         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
12968         - Rewrite GCPROing slightly.
12969
12970         * sysdep.c (sys_open): Do filename conversion, like all other
12971         sys_* functions.  Fixes bug:
12972         (let ((file-name-coding-system 'iso-8859-2))
12973            (write-region x y latin2-name))
12974         ==> writes filename using internal encoding.
12975
12976 2000-02-18  Martin Buchholz  <martin@xemacs.org>
12977
12978         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
12979         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
12980         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
12981         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
12982         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
12983         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
12984         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
12985         (CONST_IF_NOT_DEBUG): Delete.
12986         * alloc.c (this_one_is_unmarkable): Delete.
12987         (mark_object): Don't check for this_one_is_unmarkable. Use the
12988         c_readonly flag instead.
12989         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
12990
12991 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12992
12993         * event-msw.c (mswindows_drain_windows_queue):
12994         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
12995         away redundant repaint events.
12996
12997 2000-02-17  Andy Piper  <andy@xemacs.org>
12998
12999         * redisplay.h: declare mark_redisplay_structs.
13000
13001         * redisplay.c (redisplay_window):
13002         (redisplay_frame): don't check subwindows_state_changed.
13003         (mark_redisplay): mark gutters here.
13004
13005         * glyphs.c: (instantiate_image_instantiator): always layout if we
13006         haven't done so already.
13007         (allocate_image_instance): don't mark as dirty.
13008         (update_subwindow): bind inhibit_quit.
13009
13010         * gutter.c (mark_gutters): new function.
13011
13012         * glyphs-x.c (x_update_widget): Always resize to get round a
13013         widget bug.
13014
13015         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
13016         breaking absolutely everything.
13017
13018         * gutter.h: declare mark_gutters.
13019
13020 2000-02-16  Martin Buchholz <martin@xemacs.org>
13021
13022         * XEmacs 21.2.29 is released.
13023
13024 2000-02-15  Olivier Galibert  <galibert@pobox.com>
13025
13026         * fns.c (size_bit_vector): Fix computation of the size.
13027
13028 2000-02-15  Martin Buchholz  <martin@xemacs.org>
13029
13030         * *.[ch]: Change CONST to const globally.
13031         find -name '*.[ch]' | \
13032         xargs global-replace \
13033         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
13034         - Remove vestigial references to CONST_IS_LOSING
13035
13036 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13037
13038         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
13039         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
13040         events instead of dispatching them directly.
13041         (mswindows_handle_paint): New function to do repainting.
13042         (mswindows_wnd_proc):
13043         (emacs_mswindows_handle_magic_event): Call above function.
13044
13045 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13046
13047         * objects-msw.c (mswindows_create_font_variant): Return the new
13048         font handle.
13049         (initialize_font_instance): Get font metrics from the underlined
13050         variant of the font to cope with the case where the underlined
13051         font has a bigger descent.
13052
13053 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
13054
13055         * gui.c (gui_item_accelerator): Return the first underlined
13056         character in item name.
13057
13058 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13059
13060         * lisp.h: Added Qprinter.
13061
13062         * general.c (syms_of_general): Initialized it.
13063
13064         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
13065         (get_frame_dc):
13066         (get_frame_compdc): Made inline.
13067
13068         * console.h (struct console_methods): Added eject_page method.
13069
13070         * frame.h: Added FRAME_DISPLAY_P and friends.
13071         Aligned backslahes in many macros in more readable fashion.
13072         Added page_number to struct frame, and an accessor macro
13073         for it.
13074
13075         * defice.h: Added DEVICE_DISPLAY_P and friends.
13076
13077         * device.c (Fdevice_printer_p): Used these.
13078
13079         * frame.c (allocate_frame_core): Initialize page number.
13080         (Fprint_job_page_number):
13081         (Fprint_job_eject_page): Implemented.
13082
13083         * frame-msw.c (msprinter_eject_page): Added method.
13084         (msprinter_start_page): Added.
13085
13086         * window.c (Fwindow_truncated_p): Fixed docstring.
13087         (Fwindow_last_line_visible_height): Implemented.
13088
13089 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13090
13091         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
13092
13093 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13094
13095         * syntax.c (scan_words): Always advance at least one character.
13096
13097 2000-02-13  Andy Piper  <andy@xemacs.org>
13098
13099         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
13100         to make sure the glyph is in the cachels.
13101
13102         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
13103         global image instance flag.
13104         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
13105         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
13106
13107         * glyphs.c (allocate_image_instance): set dirty bits correctly.
13108         (Fset_image_instance_property): mark layout as changed.
13109         (invalidate_glyph_geometry_maybe): mark layout as changed.
13110         (glyph_width): use new NEEDS_LAYOUT macro.
13111         (glyph_ascent): ditto.
13112         (glyph_descent): ditto.
13113         (glyph_height): ditto.
13114         (image_instance_layout): mark layout as clean after laying out.
13115         (update_subwindow): don't mark layout as clean here.
13116
13117         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
13118         should no longer be needed.
13119
13120         * glyphs-x.c (x_update_widget): sanitize asserts.
13121         (x_finalize_image_instance): sanitize assignment to widgets.
13122
13123         * glyphs-widget.c (widget_instantiate): don't need to clear the
13124         layout flag here.
13125
13126 2000-02-13  Martin Buchholz  <martin@xemacs.org>
13127
13128         * sysdep.c (getcwd): Use standard prototype.
13129         * sysdep.h (getcwd): Use standard prototype.
13130
13131         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
13132         (sequence, start, end).
13133         Remove redundant type checking.
13134         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
13135         view of `caller-protects') to avoid a crash where the real fix was
13136         found elsewhere.
13137
13138 2000-02-12  Martin Buchholz  <martin@xemacs.org>
13139
13140         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
13141
13142         * s/sol2.h: Remove feature macro initialization.
13143
13144         * alloc.c (alloc_lcrecord): Add more type checking assertions.
13145         (vector_hash): New.  Code from internal_hash.
13146         * lrecord.h:
13147         Fix up allocation subsystem comments.
13148
13149         * config.h.in: Add __EXTENSIONS__ for Solaris.
13150
13151         * systime.h (EMACS_GETTIMEOFDAY): New.
13152         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
13153         Remove Solaris-specific code.
13154         Use void* for the (ignored) second arg for gettimeofday().
13155
13156         * elhash.c (hash_table_hash): Implement it, finally.
13157         * elhash.c:  Use hashcode_t.
13158
13159         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
13160         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
13161
13162         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
13163         * fns.c (size_bit_vector):
13164         * alloc.c (size_vector):
13165         (make_vector_internal):
13166         (make_bit_vector_internal):
13167         (sweep_bit_vectors_1):
13168         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
13169
13170 2000-02-10  Martin Buchholz  <martin@xemacs.org>
13171
13172         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
13173         Include strings.h to avoid warnings for bzero and strcasecmp.
13174
13175 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13176
13177         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
13178         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
13179
13180         * fns.c (size_bit_vector): New.  Declare bit vectors as a
13181         sequence.
13182
13183 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13184
13185         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
13186         use a value field instead.
13187         (symbol_value_forward_forward): Use value field.
13188         (DEFVAR_SYMVAL_FWD): Use value field.
13189         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
13190         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
13191         (DEFVAR_CONST_INT): Ditto.
13192         (DEFVAR_BOOL): Ditto.
13193         (DEFVAR_CONST_BOOL): Ditto.
13194         (DEFVAR_INT_MAGIC): Ditto.
13195         (DEFVAR_BOOL_MAGIC): Ditto.
13196
13197         * symbols.c (guts_of_unbound_marker): Use value field.
13198         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
13199         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
13200
13201         * lisp.h: Declare dumpopaque and noninteractive1.
13202
13203         * alloc.c (dumpopaque): Added.
13204         (pdump_dump_opaquevec): Added.
13205         (pdump): Call pdump_dump_opaquevec to dump opaque data.
13206         (pdump_load): Reload opaque data.  Sync noninteractive1 with
13207         noninteractive.
13208
13209 2000-02-10  Andy Piper  <andy@xemacs.org>
13210
13211         * glyphs.c (image_instance_layout): if the size changes, mark it
13212         as such.
13213
13214         * redisplay-output.c (redisplay_output_layout): Update the
13215         subwindow here.
13216         (redisplay_output_subwindow): ditto.
13217
13218         * glyphs.c (update_subwindow): make sure we reset flags for
13219         layouts as well as everything else.
13220
13221         * glyphs-widget.c (layout_layout): don't need to set the instances
13222         dimensions here.
13223
13224 2000-02-09  Martin Buchholz  <martin@xemacs.org>
13225
13226         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
13227         not HAVE_DLOPEN, which is a lower-level thing.
13228
13229         * .cvsignore: Ignore gmon.out
13230
13231 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
13232
13233         * .cvsignore: Ignore portable dumper xemacs.dmp file
13234
13235 2000-02-09  Andy Piper  <andy@xemacs.org>
13236
13237         * redisplay-output.c (redisplay_output_layout): be more clever
13238         about when we output based on the changed flags.
13239
13240         * glyphs.h (struct image_instantiator_methods): add update_method.
13241         (struct Lisp_Image_Instance): add changed flags. Declare new
13242         macros for manipulating them.
13243
13244         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
13245         (image_instance_parent_glyph): find an image_instance's parent
13246         glyph or image_instance.
13247         (image_instance_layout): mark the size as changed.
13248         (set_image_instance_dirty_p): new function. mark an image
13249         instance, plus all of its parents, as dirty.
13250         (Fset_image_instance_property): use it.
13251         (Fglyph_animated_timeout_handler): use it.
13252         (update_subwindow): call update_widget and device methods for
13253         update_subwindow. Mark all changed flags as clean.
13254         (Fresize_subwindow): mark size as changed.
13255
13256         * glyphs-x.c (x_finalize_image_instance): try and detect gc
13257         failures.
13258         (x_update_subwindow): only resize subwindows here.
13259         (x_update_widget): new function. Update all changed properties of
13260         a widget.
13261         (x_resize_subwindow): deleted.
13262         (x_widget_set_property): deleted.
13263         (x_progress_gauge_set_property): deleted.
13264         (x_progress_gauge_update): new function. Implement recorded
13265         changes.
13266         (x_tab_control_update): ditto.
13267         (x_tab_control_set_property): deleted.
13268         (console_type_create_glyphs_x): declare new functions.
13269         (image_instantiator_format_create_glyphs_x): ditto.
13270
13271         * glyphs-widget.c (widget_set_property): mark text changed.
13272         (update_widget): new function. Update properties of a widget.
13273         (widget_instantiate): for layouts make sure we set their
13274         children's parent correctly.
13275         (tab_control_set_property): new function. Record changes that will
13276         take place under redisplay's control.
13277         (progress_gauge_set_property): ditto.
13278         (image_instantiator_progress_guage): declare new functions.
13279         (image_instantiator_tab_control): ditto.
13280
13281         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
13282         now.
13283         (mswindows_update_widget): new function. Update all properties on
13284         a widget that have changed.
13285         (mswindows_button_update): new function. Update a button's set
13286         state.
13287         (mswindows_tab_control_update): new function. Update the items in
13288         a tab.
13289         (mswindows_tab_control_set_property): deleted.
13290         (mswindows_progress_gauge_update): new function. Update the
13291         progress gauge's progress.
13292         (mswindows_widget_set_property): deleted. This is all done
13293         asynchronously now.
13294         (mswindows_progress_gauge_set_property): ditto.
13295         (console_type_create_glyphs_mswindows): declare new methods.
13296         (image_instantiator_format_create_glyphs_mswindows): ditto.
13297
13298         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
13299         (msprinter_set_frame_properties): ditto.
13300
13301         * console.h (struct console_methods): Add update_widget_method.
13302
13303 2000-02-09  Andy Piper  <andy@xemacs.org>
13304
13305         * gui-msw.c (Fmswindows_shell_execute): Make
13306         mswindows-shell-execute industrial strength.
13307
13308 2000-02-08  Martin Buchholz  <martin@xemacs.org>
13309
13310         * lrecord.h: Make macro argument `props' match member function `plist'.
13311         * fns.c (Fget):
13312         * fns.c (Fput):
13313         * fns.c (Fremprop):
13314         * fns.c (Fobject_plist):
13315         * alloc.c:
13316         * symbols.c:
13317         Object property list frobbing cleanup.
13318         - Allow any lisp object (compared with `eq'), not just symbols, as
13319           keys in object plists.
13320         - Move symbol plist frobbing into symbols.c, where it belongs.
13321         - Move string plist frobbing into alloc.c, where it belongs.
13322         - Everything's an lrecord now, so no need to test for symbolp, etc.
13323         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
13324
13325         * extents.c: Reorder code to remove declarations.
13326
13327         * frame.h (store_in_alist): Remove useless declaration.
13328
13329 2000-02-07  Martin Buchholz  <martin@xemacs.org>
13330
13331         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
13332         * config.h.in: Add HAVE_XCONVERTCASE.
13333
13334 2000-02-07  Andy Piper  <andy@xemacs.org>
13335
13336         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
13337         it breaks many things.
13338
13339 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13340
13341         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
13342         actually can start a common comment type.
13343         * src/syntax.h (SYNTAX_END_P): ditto for end.
13344
13345 2000-02-07  Martin Buchholz <martin@xemacs.org>
13346
13347         * XEmacs 21.2.28 is released.
13348
13349 2000-02-06  Martin Buchholz  <martin@xemacs.org>
13350
13351         * event-Xt.c (x_keysym_to_character): New.
13352         (maybe_define_x_key_as_self_inserting_character): New.
13353         (x_has_keysym): New.
13354         Auto-define all keys on the keyboard as self-insert-key.
13355
13356 2000-02-02  Martin Buchholz  <martin@xemacs.org>
13357
13358         * menubar.c (vars_of_menubar): A small code simplification.
13359
13360         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
13361
13362         * ExternalShell.c:
13363         * ExternalClient.c:
13364         * EmacsShell-sub.c:
13365         * EmacsManager.c:
13366         * EmacsFrame.c:
13367         Use consistent style for specifying X resources.
13368
13369         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
13370         This makes (dontusethis-set-symbol-value-handler) actually usable.
13371
13372         * lrecord.h (lrecord_decription_type):
13373         * alloc.c (pdump_register_sub):
13374         (pdump_dump_data):
13375         (pdump_reloc_one):
13376         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
13377         Comply with XEmacs coding style.
13378         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
13379         args, and XD_LISP_OBJECT_ARRAY with 3 args.
13380
13381         * keymap.c (Faccessible_keymaps):
13382         Make (accessible-keymaps map "\C-h") do the Right Thing.
13383         Make (accessible-keymaps map []) do the Right Thing.
13384         Make (accessible-keymaps map "") do the Right Thing.
13385         (check_keymap_definition_loop): New function.
13386         (keymap_store_internal): Keep luser from shooting self in foot,
13387           via (define-key ctl-x-4-map "p" global-map).
13388         Remove fullness slot from struct Lisp_Keymap, since hash tables
13389         are now reliable.
13390         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
13391
13392 2000-01-30  Martin Buchholz  <martin@xemacs.org>
13393
13394         * redisplay.c (init_redisplay): Fix small memory leak.
13395         * elhash.h:
13396         * elhash.c (pdump_reorganize_hash_table):
13397         Rename from reorganize_hash_table. Change prototype.
13398         Reuse the original memory for hentries.  Save 100k.
13399         * alloc.c (PDUMP_READ): new macro.
13400         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
13401         * alloc.c: No need to #ifndef before #undef.
13402
13403         * print.c: Allow debug_print() to print readably by modifying
13404         debug_print_readably.  Use consistent variable names.
13405
13406         * .dbxrc: Try to get things to work even if stopped in a function
13407         without source available by explicitly specifying source files.
13408 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13409
13410         * unexnt.c (_start): Removed bogus code which caused loading heap
13411         from differrent executable file.
13412         Removed bogus assignment to _fmode, which caused inconsistencies.
13413
13414 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13415
13416         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
13417         Have spawnve encapsulation regard DONT_ENCAPSULATE.
13418         Do not preliminary `#define signal sigset'.
13419
13420         * systime.h: Do not prototype environ on windows nt and cygwin,
13421         this conflicts with system header.
13422
13423         * syssignal.h: Use correct define for WINDOWSNT
13424
13425         * sysdep.h: Do not prototype environ on windows nt, this conflicts
13426         with system header.
13427
13428         * sysdep.c (near start of file): Fixed commentary and rearranged
13429         ifdefs in readable order.
13430         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
13431         (start_of_text):
13432         (end_of_text):
13433         (end_of_data): Do not compile in if using PDUMP.
13434
13435         * symsinit.h: Prototyped vars_of_nt().
13436
13437         * ntproc.c (windows9x_p): Added, instead of os_subtype.
13438         (find_child_console): Use it.
13439         (sys_kill): Use it.
13440
13441         * ntheap.h: Do not extern os_subtype.
13442
13443         * ntheap.c (cache_system_info): Do not cache unneeded:
13444         nt_major_version, nt_minor_version and os_subtype.
13445         (recreate_heap): Do not compile in when PDUMPing.
13446
13447         * nt.c (geteuid and friends): Use the new varibale
13448         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
13449         (init_user_info): Removed the above mentioned hackery.
13450         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
13451         stat has been fixed in the C runtime.
13452         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
13453
13454         * file-coding.c (struct file_coding_dump): Do not define
13455         ucs_to_mule_table in the struct if not MULE.
13456         (struct struct lrecord_description fcd_description_1): Do not dump
13457         the above.
13458
13459         * emacs.c (main_1): Call vars_of_nt().
13460         (right before Fdump_emacs_data): Don't need lastfile if using both
13461         portabe dumper and system malloc.
13462
13463         * alloc.c (Fmemory_limit): Conditionalized out.
13464         (pdump): Use OPEN_BINARY for the portable dump file.
13465         (pdump_load): Ditto.
13466
13467 2000-02-02  Mike Alexander  <mta@arbortext.com>
13468
13469         * nt.c (convert_time): Set tm_isdst before calling mktime and
13470         avoid calling it at all if the compiler supports 64 bit integers.
13471         Also initialize utc_base_ft before using it.
13472
13473 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
13474
13475         * frame.c (change_frame_size_1): Take f->internal_border_width
13476         into consideration when calculating the width of the frame.
13477
13478 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13479
13480         * window.c (frame_min_height):
13481         (frame_size_valid_p):
13482         (frame_pixsize_valid_p): Added.
13483         (check_frame_size): Generalized.
13484
13485         * window.h: Prototyped the above.
13486
13487         * lisp.h:
13488         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
13489         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
13490         Deleted Vwin32_* and Vbinary_process_* unused variables.
13491
13492         * device-msw.c (msprinter_init_device): Do not get printer font
13493         list; Added DEVMODE functions.
13494
13495         * frame-msw.c: Added lots of printer code.
13496
13497         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
13498         general.c.
13499
13500         * console-msw.h: Added more msprinter device private slots.
13501
13502 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13503
13504         * event-msw.c (key_needs_default_processing_p): Added.
13505         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
13506
13507 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13508
13509         * glyphs.c (image_instance_layout): Mark image instance as clean
13510         after layout.
13511         (glyph_dirty_p): Removed redundant function.
13512         (invalidate_glyph_geometry_maybe): Added.
13513         (update_glyph_cachel_data): Call it.
13514
13515         * glyphs.h: Prototyped it.
13516
13517         * redisplay.c (add_glyph_rune): Call it.
13518         (redisplay_window): Reset glyphs cachels when frame faces have
13519         changed, thus forcing recomputation of built-in border glyphs.
13520
13521 2000-01-30  Martin Buchholz  <martin@xemacs.org>
13522
13523         * Makefile.in.in: Make portable dumper and purify play well together.
13524         Add imperfect, but better than nothing, support for pdump.
13525         Remove xemacs.dmp when temacs is re-generated.
13526         Don't ignore errors when dumping xemacs.
13527
13528         * symbols.c (maybe_call_magic_handler): Remove one magic number.
13529
13530 2000-01-28  Andy Piper  <andy@xemacs.org>
13531
13532         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
13533         (setup_normal_frame): ditto.
13534         (setup_frame_without_minibuffer): ditto.
13535         (setup_minibuffer_frame): ditto.
13536         (delete_frame_internal): ditto.
13537         (Fmake_frame_invisible): ditto.
13538         (Ficonify_frame): ditto.
13539
13540         * window.h: change Fset_window_buffer signature.
13541
13542         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
13543         (Fset_window_buffer): allow recording of buffer if the window is
13544         the selected window.
13545         (window_loop): Use new Fset_window signature.
13546
13547 2000-01-23  Daniel Pittman  <daniel@danann.net>
13548
13549         * config.h.in: Added template for `HAVE_ATHENA_3D'
13550
13551 2000-01-29  Andy Piper  <andy@xemacs.org>
13552
13553         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
13554
13555         * gutter.c (output_gutter): Don't output if the window isn't live.
13556
13557 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13558
13559         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
13560         of 01/12/00: Moved SetFocus back here where it belongs.
13561
13562 2000-01-23  Andy Piper  <andy@xemacs.org>
13563
13564         * s/cygwin32.h: declare printer things.
13565
13566 2000-01-26  Andy Piper  <andy@xemacs.org>
13567
13568         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
13569         Alexander.
13570
13571 2000-01-24  Andy Piper  <andy@xemacs.org>
13572
13573         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
13574         (mswindows_button_instantiate): Make sure glyph is a pixmap.
13575
13576         * glyphs-widget.c (widget_instantiate): Avoid shadows.
13577
13578         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
13579
13580         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
13581
13582         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
13583         (mswindows_output_display_block): Avoid local shadows.
13584
13585         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
13586         (mswindows_enqueue_mouse_button_event): ditto.
13587         (mswindows_handle_gui_wm_command): remove declaration.
13588
13589         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
13590         warnings.
13591
13592         * console-msw.h: Avoid shadows.
13593         (mswindows_get_toolbar_button_text):
13594         (emacs_mswindows_create_stream_pair):
13595         (emacs_mswindows_delete_stream_pair):
13596         (mswindows_handle_toolbar_wm_command): declare.
13597
13598         * device-msw.c (build_syscolor_string): Avoid shadows.
13599
13600 2000-01-23  Andy Piper  <andy@xemacs.org>
13601
13602         * glyphs-widget.c (widget_instantiate): reverse the items for
13603         layouts so that children are in the expected order.
13604
13605 2000-01-28  Martin Buchholz  <martin@xemacs.org>
13606
13607         * ralloc.c: safe_bcopy ==> memmove
13608         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
13609         * s/msdos.h: Remove BCOPY macros.
13610         * insdel.c (gap_right): Remove BCOPY conditional code.
13611         * insdel.c (gap_left): Remove BCOPY conditional code.
13612         XEmacs demands a working ANSI C compiler - hence memmove.
13613
13614         * regex.c (regex_compile): Remove accidental use of trigraphs.
13615
13616 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13617
13618         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
13619         event timestamp.
13620
13621 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13622
13623         * event-msw.c (mswindows_drain_windows_queue): Added the
13624         parameter.
13625         (mswindows_need_event): Commented the call to
13626         mswindows_drain_windows_queue().
13627         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
13628         only.
13629
13630         * console-msw.h: Moved a few function prototypes here from
13631         event-msw.c.
13632
13633         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
13634         parameter from unsigned short to unsigned long.
13635         (Fmswindows_shell_execute): Added return value.
13636
13637 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
13638
13639         * sysdep.c (init_system_name):
13640           process-unix.c (unix_canonicalized_host_name):
13641         Don't call freeaddrinfo() if getaddrinfo() fails.
13642
13643         * process-unix.c (unix_open_unix_network_stream):
13644         Moved the code to get a port # into address loop.
13645
13646 2000-01-27  Martin Buchholz  <martin@xemacs.org>
13647
13648         * buffer.c (reinit_vars_of_buffer):
13649         The right place to initialize conversion_in_dynarr and
13650         conversion_out_dynarr.
13651
13652         * alloc.c (pdump): Use the real open() till sys_open() is functional.
13653
13654         * process-unix.c (unix_canonicalize_host_name): Muleize.
13655         (unix_open_network_stream): Muleize.
13656
13657         * buffer.h: Fix up prototypes for ralloc.c functions.
13658
13659 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
13660         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
13661         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
13662                 instead of gethostbyname()
13663         * process-unix.c: In unix_canonicalize_host_name() and
13664                 unix_open_network_stream(), add code to use getaddrinfo()
13665                 instead of gethostbyname().
13666
13667 2000-01-27  Daniel Pittman <daniel@danann.net>
13668
13669         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
13670         libs when built with flat Athena.
13671
13672 2000-01-27  Martin Buchholz  <martin@xemacs.org>
13673
13674         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
13675         Use coding standards for function prototypes.
13676
13677 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13678
13679         * dialog-msw.c (push_lisp_string_as_unicode):
13680         * doc.c (unparesseuxify_doc_string):
13681         * dired.c (Fuser_name_completion_1):
13682         * dired.c (Fuser_name_all_completions):
13683         * dired.c (free_user_cache):
13684         * dired.c (user_name_completion):
13685         * console-x.c (get_display_arg_connection):
13686         * minibuf.c (clear_echo_area_internal):
13687         * minibuf.c (echo_area_append):
13688         * eldap.c (Fldap_open):
13689         * eldap.c (Fldap_search_internal):
13690         * frame-x.c (x_set_frame_text_value):
13691         * frame-x.c (x_set_frame_properties):
13692         * frame-x.c (x_create_widgets):
13693         * redisplay-tty.c (term_get_fkeys_1):
13694         * objects-x.c (x_parse_nearest_color):
13695         * objects-x.c (x_valid_color_name_p):
13696         * objects-x.c (x_initialize_font_instance):
13697         * objects-x.c (x_list_fonts):
13698         * objects-x.c (x_find_charset_font):
13699         * tooltalk.c (Fadd_tooltalk_message_arg):
13700         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
13701         * tooltalk.c (Fadd_tooltalk_pattern_arg):
13702         * process-unix.c (unix_create_process):
13703         * ntproc.c (sys_spawnve):
13704         * sound.c (Fplay_sound_file):
13705         * sound.c (Fplay_sound):
13706         * buffer.c (init_initial_directory):
13707         * buffer.c (init_buffer):
13708         * editfns.c (init_editfns):
13709         * editfns.c (Ftemp_directory):
13710         * editfns.c (Fuser_full_name):
13711         * editfns.c (uncache_home_directory):
13712         * editfns.c (get_home_directory):
13713         * editfns.c (Fuser_home_directory):
13714         * editfns.c (Fformat_time_string):
13715         * editfns.c (Fcurrent_time_string):
13716         * gui-x.c (button_item_to_widget_value):
13717         * database.c (Fopen_database):
13718         * event-Xt.c (x_to_emacs_keysym):
13719         * event-Xt.c (x_event_to_emacs_event):
13720         * event-Xt.c (describe_event_window):
13721         * event-msw.c (mswindows_wnd_proc):
13722         * glyphs-eimage.c (jpeg_instantiate):
13723         * glyphs-eimage.c (gif_instantiate):
13724         * glyphs-eimage.c (png_instantiate):
13725         * glyphs-eimage.c (tiff_instantiate):
13726         * glyphs-x.c (xbm_instantiate_1):
13727         * glyphs-x.c (x_xbm_instantiate):
13728         * glyphs-x.c (x_xface_instantiate):
13729         * glyphs-x.c (autodetect_instantiate):
13730         * glyphs-x.c (cursor_font_instantiate):
13731         * glyphs-x.c (x_widget_instantiate):
13732         * glyphs-x.c (x_widget_set_property):
13733         * glyphs-x.c (x_widget_property):
13734         * glyphs-x.c (BUILD_GLYPH_INST):
13735         * print.c (write_string_to_stdio_stream):
13736         * print.c (output_string):
13737         * print.c (Falternate_debugging_output):
13738         * print.c (Fexternal_debugging_output):
13739         * glyphs-msw.c (extract_xpm_color_names):
13740         * glyphs-msw.c (mswindows_xpm_instantiate):
13741         * glyphs-msw.c (bmp_instantiate):
13742         * glyphs-msw.c (resource_name_to_resource):
13743         * glyphs-msw.c (mswindows_resource_instantiate):
13744         * glyphs-msw.c (xbm_instantiate_1):
13745         * glyphs-msw.c (mswindows_xbm_instantiate):
13746         * glyphs-msw.c (mswindows_xface_instantiate):
13747         * glyphs-msw.c (mswindows_widget_instantiate):
13748         * glyphs-msw.c (add_tree_item):
13749         * glyphs-msw.c (add_tab_item):
13750         * glyphs-msw.c (mswindows_combo_box_instantiate):
13751         * glyphs-msw.c (mswindows_widget_property):
13752         * glyphs-msw.c (mswindows_combo_box_property):
13753         * glyphs-msw.c (mswindows_widget_set_property):
13754         * console.c (stuff_buffered_input):
13755         * objects-msw.c (mswindows_initialize_color_instance):
13756         * objects-msw.c (mswindows_valid_color_name_p):
13757         * objects-msw.c (mswindows_list_fonts):
13758         * objects-msw.c (mswindows_font_instance_truename):
13759         * bytecode.c (optimize_compiled_function):
13760         * select-x.c (symbol_to_x_atom):
13761         * select-x.c (x_atom_to_symbol):
13762         * select-x.c (hack_motif_clipboard_selection):
13763         * select-x.c (selection_data_to_lisp_data):
13764         * select-x.c (lisp_data_to_selection_data):
13765         * select-x.c (Fx_get_cutbuffer_internal):
13766         * select-x.c (Fx_store_cutbuffer_internal):
13767         * buffer.h (TO_EXTERNAL_FORMAT): New function.
13768         * buffer.h (TO_INTERNAL_FORMAT): New function.
13769         * emacs.c (make_arg_list_1):
13770         * emacs.c (make_argc_argv):
13771         * emacs.c (main_1):
13772         * emacs.c (Fdump_emacs):
13773         * emacs.c (split_string_by_emchar_1):
13774         * file-coding.h:
13775         * lisp.h:
13776         * lstream.h:
13777         * symsinit.h:
13778         * device-x.c (x_init_device):
13779         * device-x.c (Fx_valid_keysym_name_p):
13780         * device-x.c (Fx_get_font_path):
13781         * device-x.c (Fx_set_font_path):
13782         * glyphs.c (bitmap_to_lisp_data):
13783         * glyphs.c (pixmap_to_lisp_data):
13784         * alloc.c (make_ext_string): Use coding system arguments.  Update
13785         all callers.
13786         * alloc.c (build_string):
13787         * callproc.c (child_setup):
13788         * callproc.c (init_callproc):
13789         * fileio.c (lisp_strerror):
13790         * fileio.c (directory_file_name):
13791         * fileio.c (Fexpand_file_name):
13792         * fileio.c (Ffile_truename):
13793         * fileio.c (Fsysnetunam):
13794         * fileio.c (Fdo_auto_save):
13795         * sysdep.c (sys_readdir):
13796         * tests.c: New file.  Allow adding C tests.
13797         Replace GET_* macros with a more comprehensible and flexible
13798         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
13799         Modify all calls.
13800         Any coding system can be used to do format conversion.
13801         Eliminate enum external_data_format.
13802         Eliminate convert_to_external_format.
13803         Eliminate convert_to_internal_format.
13804         Make sure file-name, keyboard, terminal, and ctext are always
13805         defined as coding systems or aliases.  Make
13806         file-name-coding-system, terminal-coding-system, and
13807         keyboard-coding-system magical variables that are equivalent to
13808         defining the corresponding coding system aliases.
13809
13810         * file-coding.c (Fcoding_system_canonical_name_p): New function.
13811         * file-coding.c (Fcoding_system_alias_p): New function.
13812         * file-coding.c (Fcoding_system_aliasee): New function.
13813         * file-coding.c (append_suffix_to_symbol): New function.
13814         * file-coding.c (dangling_coding_system_alias_p): New function.
13815         * file-coding.c (Ffind_coding_system):
13816         * file-coding.c (Fcopy_coding_system):
13817         * file-coding.c (encode_coding_no_conversion):
13818         * file-coding.c (syms_of_file_coding):
13819         * file-coding.c (vars_of_file_coding):
13820         Rewrite coding system alias code.
13821         Allow nested aliases, like symbolic links.
13822         Allow redefinition of coding system aliases.
13823         Prevent existence of dangling coding system aliases.
13824
13825         * dired.c (Fuser_name_completion_1):
13826         * dired.c (Fuser_name_all_completions):
13827         A crash would happen if user did QUIT in the middle of building
13828         user_name_cache.  Remove redundant code in mainline and unwind_protect.
13829
13830         * lisp.h:
13831         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
13832
13833         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
13834         an unsigned char *.  Update all callers.
13835
13836 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13837
13838         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
13839
13840 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13841
13842         * elhash.c (hentry_description): Use more portable definition.
13843         (resize_hash_table): Initialize new hentries using
13844         xnew_array_and_zero, thereby simplifying the code.
13845
13846         * mule-charset.c (make_charset): Make sure entire object is
13847         initialized, to avoid Purify warnings.
13848
13849         * alloc.c (resize_string): Fix unlikely crash with big strings.
13850
13851 2000-01-24  Martin Buchholz  <martin@xemacs.org>
13852
13853         * realpath.c (xrealpath):
13854         Don't call getwd().
13855
13856 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13857
13858         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
13859
13860 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
13861
13862         * unexelfsgi.c (unexec): Change the way we decide which segment
13863         should be extended.
13864
13865         Assumption that .bss section should be outside the PT_LOADable
13866         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
13867         it's present) is inside the 'data' segment. This would fail the
13868         test which was used to find a segment to grow and cover new
13869         heap. Instead of this assumption, I created another one - on IRIX
13870         the segment to grow should start below .bss and it's address
13871         should extent above the end of .bss. Once this segment is
13872         identified, it's grown to accommodate the new heap and new
13873         zero-length .bss section is added at the end of .data2.
13874
13875 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13876
13877         * eval.c (Feval): Wrong number of arguments should use original
13878         function, not the indirect_function version of it.
13879
13880 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13881
13882         * glyphs-x.c (x_button_instantiate): Don't add image if
13883         it is not a pixmap.
13884         (x_locate_pixmap_file): Call Fexpand_file_name when file name
13885         is relative.
13886
13887 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
13888
13889         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
13890         declaration.
13891         (DEFVAR_INT_MAGIC): Ditto.
13892         (DEFVAR_BOOL_MAGIC): Ditto.
13893         * glyphs.h: Reindent backslash.
13894
13895 2000-01-24  Martin Buchholz  <martin@xemacs.org>
13896
13897         * glyphs-widget.c (layout_query_geometry):
13898         (layout_layout): Use correct types for gheight, gwidth.
13899
13900 2000-01-24  Martin Buchholz  <martin@xemacs.org>
13901
13902         * EmacsManager.c (QueryGeometry): Purified.
13903
13904 2000-01-23  Martin Buchholz  <martin@xemacs.org>
13905
13906         * alloc.c (make_float): Make sure entire object is initialized, to
13907         avoid Purify warnings.
13908         (pdump_register_sub): Remove useless assignment.
13909         (pdump): Use xmalloc, not malloc.
13910         (pdump_load): Use xmalloc, not malloc.
13911
13912 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13913
13914         * callproc.c:
13915         * dired-msw.c:
13916         * fileio.c:
13917         * process-nt.c:
13918         * redisplay-msw.c:
13919         * sysdep.c: Removed redundant #include <windows.h>
13920
13921 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13922
13923         * frame.c (delete_frame_internal): Do not delete device when its
13924         implementation so declares.
13925         (delete_frame_internal): Set device selected frame to nil when
13926         last frame goes away.
13927
13928         * device-msw.c (msprinter_device_system_metrics): Implemented.
13929         (mswindows_device_system_metrics): Added 'device-dpi property.
13930
13931         * device.c: (Fdevice_printer_p): Added.
13932         Added 'offset-workspace device metric.
13933
13934         * console.h (device_metrics): Declared DM_offset_workspace.
13935
13936 2000-01-23  Martin Buchholz  <martin@xemacs.org>
13937
13938         * fileio.c (Ffile_truename): Remove pointless and confusing
13939         initialization of elen.
13940
13941         * glyphs-widget.c: Compiler warning fixes.
13942
13943 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
13944
13945         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
13946         instead of a Lisp_Object as argument to make it consistent with
13947         the other LIVE_P macros.
13948         (CHECK_LIVE_PROCESS): New macro.
13949
13950         * process.c: Declare Qprocess_live_p.
13951         (Fprocess_live_p): New function.
13952         (create_process): Use PROCESS_LIVE_P.
13953         (read_process_output): Ditto.
13954         (set_process_filter): Ditto.
13955         (Fdelete_process): Ditto.
13956         (kill_buffer_processes): Ditto
13957         (process_send_signal): Use CHECK_LIVE_PROCESS.
13958         (Fprocess_input_coding_system): Check whether process is still
13959         alive (fix PR#1061).
13960         (Fprocess_output_coding_system): Ditto.
13961         (Fprocess_coding_system): Ditto.
13962         (Fset_process_input_coding_system): Ditto.
13963         (Fset_process_output_coding_system): Ditto.
13964
13965 2000-01-23  Andy Piper  <andy@xemacs.org>
13966
13967         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
13968         layout and widget.
13969
13970         * glyphs.c (mark_image_instance): take into account changed
13971         image_instance format.
13972         (image_instance_equal): ditto.
13973         (image_instance_hash): ditto.
13974
13975         * glyphs-widget.c (widget_instantiate): Incorporate layout
13976         instantiation here. Delay layout of the layout until later.
13977         (layout_instantiate): deleted.
13978         (layout_query_geometry): new function. get the geometry of a
13979         layout.
13980         (layout_layout): layout a layout dynamically.
13981         (image_instantiator_widget): New function - splitting up
13982         image_instantiator_format_create_glyphs_widget for netwinder
13983         compilation.
13984         (image_instantiator_buttons):
13985         (image_instantiator_edit_fields):
13986         (image_instantiator_combo_box):
13987         (image_instantiator_scrollbar):
13988         (image_instantiator_progress_guage):
13989         (image_instantiator_tree_view):
13990         (image_instantiator_tab_control):
13991         (image_instantiator_labels):
13992         (image_instantiator_layout): ditto.
13993         (image_instantiator_format_create_glyphs_widget): Call preceding
13994         functions.
13995
13996 2000-01-22  Martin Buchholz  <martin@xemacs.org>
13997
13998         * process.c (Fset_process_coding_system):
13999         * device-x.c (Fx_keysym_hash_table):
14000         Docstring fixes.
14001
14002         * lstream.c (Lstream_write): Return documented value, not 0.
14003
14004         * fileio.c (directory_file_name):
14005         (Fsubstitute_in_file_name):
14006         (Fsubstitute_insert_file_contents_internal):
14007         (Fwrite_region_internal):
14008         * emacs.c:
14009         * sysdep.c:
14010         * getloadavg.c:
14011         * systty.h:
14012         Remove vestigial APOLLO-conditional code.
14013
14014 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14015
14016         * getpagesize.h: Add guard macros.
14017         * libsst.h: Add guard macros.
14018         * libst.h: Add guard macros.
14019         * line-number.h: Add guard macros.
14020         * ndir.h: Add guard macros.
14021         * sysfloat.h: Add guard macros.
14022         * sysfile.h: Add guard macros.
14023         * sysproc.h: Add guard macros.
14024         * syswait.h: Add guard macros.
14025         * xintrinsic.h: Add guard macros.
14026         * xintrinsicp.h: Add guard macros.
14027         * xmmanager.h: Add guard macros.
14028         * xmmanagerp.h: Add guard macros.
14029         * xmprimitive.h: Add guard macros.
14030         * xmu.h: Add guard macros.
14031         * gpmevent.h: Add copyright statement. Add guard macros.
14032         * miscplay.h: Add guard macros.
14033         * *.h: Use consistent C-standards-approved guard macro names.
14034
14035         * opaque.c (make_opaque): Switch parameter order.
14036         * opaque.h (make_opaque): Switch parameter order.
14037         Update all callers.
14038         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
14039
14040         * config.h.in (type_checking_assert): Added.
14041         (bufpos_checking_assert): Added.
14042
14043 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14044
14045         * alloc.c: Harmless pdump changes.
14046         - Use countof().
14047         - spell alignment correctly.
14048         * sysdep.c: Use countof()
14049
14050 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14051
14052         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
14053         initially_selected_for_input() console method, default to 0.
14054         (semi_canonicalize_console_connection): Try to delegate to
14055         canonicalize_console_connection if no such console method.
14056         (canonicalize_console_connection): Vice versa.
14057         (print_console): Do not print nil connection.
14058
14059         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
14060         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
14061         (XDEVIMPF_FRAMELESS_OK): Added.
14062         (CONSOLE_INHERITS_METHOD): Added.
14063
14064         * console-msw.c (mswindows_canonicalize_console_connection):
14065         Added.
14066         (mswindows_canonicalize_device_connection): Added.
14067
14068         * console-msw.h (struct msprinter_device): Added this struct and
14069         accessor macros.
14070         (mswindows_device): Made fontlist a lisp object.
14071
14072         * device.c (semi_canonicalize_device_connection):  Try to delegate
14073         to canonicalize_device_connection if no such console method.
14074         (canonicalize_device_connection): Vice versa.
14075         (print_device): Do not print nil connection.
14076
14077         * device-msw.c (mswindows_init_device): Call InitCommonControls
14078         when have widgets.
14079         (mswindows_delete_device): Removed fontlist deallocation.
14080         (mswindows_mark_device): Added.
14081
14082         * events.c (event_equal): Added abort() at unreached code.
14083         (event_hash): Ditto.
14084
14085         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
14086         fallback tags of Windows devices.
14087
14088         * general.c (syms_of_general): Initialized Qmsprinter.
14089
14090         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
14091         of fallback tags of Windows devices.
14092
14093         * lisp.h: Declared Qmsprinter.
14094
14095         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
14096         of strings.
14097         (mswindows_list_fonts): Ditto.
14098         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
14099         that it can be used by both mswindows and msprinter devices.
14100         (initialize_font_instance): Added.
14101         (mswindows_initialize_font_instance): Use it.
14102         (msprinter_initialize_font_instance): Added.
14103
14104         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
14105         and implementation flags check.
14106         (redisplay_without_hooks): Changed the call to the above.
14107         (Fredraw_device): Ditto.
14108         (Fredisplay_device): Ditto.
14109
14110         * redisplay-msw.c (get_frame_dc): Implemented.
14111         (get_frame_compdc): Implemented.
14112         (many functions): Use the two functions above to get device
14113         contexts, ether for a window or a printer.
14114
14115 2000-01-21  Olivier Galibert  <galibert@pobox.com>
14116
14117         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
14118         initialization here.
14119         (init_symbols_once_early): Call it.
14120         * emacs.c (main_1): Call it.
14121         * symsinit.h: Declare it.
14122
14123 2000-01-19  Olivier Galibert  <galibert@pobox.com>
14124
14125         * alloc.c: Use a lrecord_header * in the backtrace instead of a
14126         Lisp_Object.
14127         (pdump_backtrace): Ditto.
14128         (pdump_register_object): Ditto.  Cleanup use of the pointers.
14129         (pdump_get_entry): Abort if trying to register a null pointer.
14130         (pdump_dump_data): Cleanup types when relocating.
14131         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
14132         (pdump_dump_rtables): Remove bad casts.
14133         (pdump_load): Cleanup relocation w.r.t union type.  Use a
14134         Lisp_Object instead of a EMACS_INT for the hashtable
14135         reorganization.
14136
14137 2000-01-20  Martin Buchholz  <martin@xemacs.org>
14138
14139         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
14140
14141         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
14142
14143         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
14144
14145         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
14146
14147 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14148
14149         * faces.h (FACE_STRIKETHRU_P): Added.
14150
14151         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
14152         of font variants.
14153
14154         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
14155         (mswindows_set_dc_font): New function, aware of font variants,
14156         separated from mswindows_update_dc.
14157
14158         * objects-msw.h (struct mswindows_font_instance_data): Added
14159         definition.
14160
14161         * objects-msw.c (mswindows_finalize_font_instance): Delete all
14162         cached fonts and the data structure.
14163         (mswindows_initialize_font_instance): Added creation of font data
14164         structure.
14165         (mswindows_print_font_instance): Print at least something.
14166         (mswindows_create_font_variant): Implemented.
14167         (mswindows_get_hfont): Implemented.
14168
14169 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
14170
14171         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
14172         prototyping problem with msvc.
14173
14174         * emacs.c (main_1): added syms_of_gui_mswindows() call
14175
14176         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
14177         syms_of_gui_mswindows() function
14178
14179         * symsinit.h: added the prototype for syms_of_gui_mswindows()
14180
14181 2000-01-18  Martin Buchholz <martin@xemacs.org>
14182
14183         * XEmacs 21.2.27 is released.
14184
14185 2000-01-18  Martin Buchholz  <martin@xemacs.org>
14186
14187         * glyphs-eimage.c (struct tiff_error_struct):
14188         (tiff_error_func):
14189         (tiff_warning_func):
14190         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
14191
14192         * unexmips.c:
14193         * unexhp9k3.c:
14194         * unexfreebsd.c:
14195         * unexec.c: Remove vestigial Lucid C code.
14196         * unexalpha.c:
14197         * unexaix.c:
14198         * termcap.c:
14199         * libsst.c: Ansify.
14200         Remove declarations of errno and strerror().
14201
14202         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
14203
14204         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
14205
14206 2000-01-16  Martin Buchholz  <martin@xemacs.org>
14207
14208         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
14209         Optimize.
14210
14211 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14212
14213         * md5.c:
14214         * file-coding.c:
14215         * file-coding.h:
14216         Change enum eol_type to eol_type_t.
14217
14218 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14219
14220         * gui.c (get_gui_callback): Check cons before accessing car.
14221
14222 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14223
14224         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
14225         (XSETSPECIFIER_TYPE): Ditto.
14226
14227 2000-01-17  Didier Verna  <didier@xemacs.org>
14228
14229         * redisplay.c (generate_fstring_runes): compute string size in
14230         characters, not bytes.
14231
14232 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14233
14234         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
14235
14236 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
14237
14238         * print.c (print_error_message): Call print_prepare().
14239
14240 2000-01-14  Martin Buchholz  <martin@xemacs.org>
14241
14242         * .dbxrc: Renamed from dbxrc.
14243
14244         * events.c (event_to_character):
14245         Use `assert (foo)' instead of `if (!foo) abort()'
14246
14247         * .gdbinit (xtype): Add documentation.
14248         * .gdbinit (check-temacs): New function.
14249         * .gdbinit (check-xemacs): New function.
14250         * dbxrc (check-xemacs): New function.
14251         * dbxrc (check-xemacs): New function.
14252
14253 2000-01-14  Andy Piper  <andy@xemacs.org>
14254
14255         * glyphs-widget.c (widget_query_geometry): Make sure that we
14256         calculate default dimensions correctly.
14257
14258 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14259
14260         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
14261
14262         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
14263         pdump_wire'd variable.
14264
14265         * emacs.c: (main_1): Conditionalized calls to
14266         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
14267
14268 2000-01-13  Martin Buchholz  <martin@xemacs.org>
14269
14270         * window.c (Fset_window_configuration):
14271         * sysdep.c (_start):
14272         * input-method-motif.c (res):
14273         * event-Xt.c (Xt_process_to_emacs_event):
14274         Simple compiler warning fixes.
14275
14276         * bytecode.c (funcall_compiled_function): Use the original
14277         function symbol on the backtrace list in preference to the
14278         compiled_function object in error messages.
14279
14280 2000-01-13  Andy Piper  <andy@xemacs.org>
14281
14282         * glyphs-x.c (update_widget_face): Make sure we update the widget
14283         background as well as foreground.
14284
14285 2000-01-13  Andy Piper  <andy@xemacs.org>
14286
14287         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
14288         fields to subwindow.
14289         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
14290         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
14291         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14292         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14293
14294         * glyphs-widget.c (check_valid_tab_orientation): new function.
14295         (initialize_widget_image_instance): zero orientation and
14296         justification.
14297         (widget_instantiate): pick up orientation.
14298         (tab_control_query_geometry): return appropriate values for
14299         vertical tabs.
14300
14301         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
14302         appropriate creation flags for left, right and bottom tabs.
14303
14304         * s/cygwin32.h: add tab definitions.
14305
14306 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14307
14308         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
14309         frame upon hiding a subwindow.
14310         (mswindows_button_instantiate): Changed the push button style to
14311         BS_PUSHBUTTON.
14312         (mswindows_button_instantiate): Removed button BS_NOTIFY
14313         style.
14314         (mswindows_button_instantiate): Removed redundant check for
14315         a disabled gui item.
14316         (mswindows_button_instantiate): Made use of WS_TABSTOP
14317         consistent: "operable" controls (edit, button, tree, scroll) have
14318         this style, "display-only" ones (static, progress gauge) do
14319         not. This style is currently ignored by XEmacs though. Also,
14320         removed the WS_EX_CONTROLPARENT style - it is not for children,
14321         it is for their parents!
14322         (mswindows_edit_field_instantiate): Ditto.
14323         (mswindows_progress_gauge_instantiate): Ditto.
14324         (mswindows_tree_view_instantiate): Ditto.
14325         (mswindows_tab_control_instantiate): Ditto.
14326         (mswindows_scrollbar_instantiate): Ditto.
14327         (mswindows_combo_box_instantiate): Ditto.
14328         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
14329         style to the "clip" window.
14330         (mswindows_button_instantiate): Removed compilation warning by
14331         equally typing terms of the ?: operator.
14332
14333 2000-01-12  Didier Verna  <didier@xemacs.org>
14334
14335         * redisplay.c (generate_fstring_runes): new parameter holding the
14336         last modeline-format extent.
14337         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
14338         extent, fill the glyph block with it.
14339         (generate_fstring_runes): handle these parameters.
14340         (generate_formatted_string_db): ditto.
14341
14342         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
14343         glyphs'extents in the modeline.
14344
14345 1999-01-11  Mike Woolley  <mike@bulsara.com>
14346
14347         * ntheap.c: Reduced the reserved heap space from 1Gb down to
14348         256Mb, as a workaround for the non-starting problem many people
14349         have experienced.
14350
14351 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14352
14353         * console-tty.c (Fset_console_tty_output_coding_system):
14354         Force redrawing tty frame.
14355
14356 2000-01-10  Didier Verna  <didier@xemacs.org>
14357
14358         * redisplay.c (generate_fstring_runes): fix size computation bug.
14359
14360 2000-01-09  William M. Perry <wmperry@aventail.com>
14361
14362         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
14363
14364 2000-01-09  Andy Piper  <andy@xemacs.org>
14365
14366         * glyphs-msw.c: index -> i to avoid shadows.
14367         (xbm_create_bitmap_from_data): make static.
14368         (check_valid_string_or_int): deleted.
14369         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
14370
14371         * glyphs-x.c (x_update_subwindow): remove unused args.
14372
14373         * glyphs.c (glyph_image_instance): return the thing. Don't set the
14374         back pointer - this is done in allocate_image_instance.
14375         (query_string_font): return Qnil to make the compiler happy.
14376         (unmap_subwindow): set to ~0 to make the compiler happy.
14377         (glyph_query_geometry): comment out until used.
14378         (glyph_layout): ditto.
14379
14380 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14381
14382         * insdel.c (signal_after_change): Remove extraneous unbind_to().