f14e0faf1a5c2aa39731cb5e50cf27debd630167
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * text-coding.c (decode_coding_utf8): Check CCS is specified or
4         not.
5
6 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
7
8         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
9         Q_lowercase, Q_uppercase in UTF-2000.
10
11         * chartab.c (get_char_table): Add special code for the standard
12         case table to use character attribute `->downcase' and
13         `->uppercase' for case operations in UTF-2000.
14
15         * casetab.c (Qflippedcase): New variable in UTF-2000.
16         (Q_lowercase): Likewise.
17         (Q_uppercase): Likewise.
18         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
19         and `->uppercase' in UTF-2000.
20         (complex_vars_of_casetab): Assign attribute name `downcase' to
21         downcase and CANON table of Vstandard_case_table in UTF-2000;
22         assign attribute name `flippedcase' to upcase and EQV table of
23         Vstandard_case_table in UTF-2000.
24
25 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
26
27         * text-coding.c (decode_add_er_char): Support isolated-chars.
28         (char_encode_as_entity_reference): Likewise.
29
30 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
31
32         * emacs.c (Vutf_2000_lisp_directory): New variable.
33         (Vconfigure_utf_2000_lisp_directory): Likewise.
34         (complex_vars_of_emacs): Add new variable
35         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
36
37 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
38
39         * char-ucs.h (DECODE_CHAR): Delete special code for
40         `chinese-big5-1' and `chinese-big5-2'.
41
42         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
43         (Qbig5_2): Likewise.
44         (decode_defined_char): Support CONVERSION_BIG5_1 and
45         CONVERSION_BIG5_2.
46         (decode_builtin_char): Likewise.
47         (charset_code_point): Likewise.
48         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
49         'conversion in UTF-2000.
50         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
51         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
52         `chinese-big5-2' as children of `chinese-big5'.
53
54         * char-ucs.h (CONVERSION_BIG5_1): New macro.
55         (CONVERSION_BIG5_2): New macro.
56
57 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
58
59         * text-coding.c (char_encode_big5): Support entity-reference.
60
61 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
62
63         * text-coding.c (char_encode_as_entity_reference): New function.
64         (char_encode_utf8): Use `char_encode_as_entity_reference'.
65
66 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
67
68         * text-coding.c (decode_coding_big5): Support entity-reference
69         decoding feature.
70
71 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
72
73         * text-coding.c (allocate_coding_system): Initialize initial
74         charsets for CODESYS_UTF8.
75         (Fmake_coding_system): Accept charset-g0, charset-g1 and
76         charset-g2 for CODESYS_UTF8.
77         (decode_coding_utf8): Use charset-g0.
78         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
79         to force variants to map to UCS.
80
81 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
82
83         * text-coding.c (Qutf_8_mcs): New variable.
84         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
85         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
86         instead of `utf-8' in UTF-2000.
87
88 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
89
90         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
91         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
92         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
93         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
94         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
95         CONVERSION_96x96x96x96 are introduced.
96         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
97         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
98         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
99
100         * char-ucs.h (CONVERSION_94): New macro.
101         (CONVERSION_96): New macro.
102         (CONVERSION_94x94): New macro.
103         (CONVERSION_96x96): New macro.
104         (CONVERSION_94x94x94): New macro.
105         (CONVERSION_96x96x96): New macro.
106         (CONVERSION_94x94x94x60): New macro.
107         (CONVERSION_94x94x94x94): New macro.
108         (CONVERSION_96x96x96x96): New macro.
109
110 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
111
112         * chartab.c (Vcharacter_variant_table): Deleted.
113         (Fchar_variants): Use character-attribute `->ucs-variants' instead
114         of `Vcharacter_variant_table'.
115         (Fput_char_attribute): Likewise.
116         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
117         (complex_vars_of_chartab): Likewise.
118
119 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
120
121         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
122
123         * fns.c (Qideographic_structure): New variable.
124         (Qkeyword_char): New variable.
125         (ids_format_unit): New function.
126         (Fideographic_structure_to_ids): New function.
127         (syms_of_fns): Add new symbols `ideographic-structure' and
128         `:char'; add new builtin function `ideographic-structure-to-ids'.
129
130         * data.c (Fchar_ref_p): New function.
131         (syms_of_data): Add new builtin function `char-ref-p'.
132
133         * chartab.h: Add an EXFUN for `Ffind_char'.
134
135 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
136
137         * text-coding.c (Vcharacter_composition_table): Deleted.
138         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
139         in every UTF-2000.
140
141         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
142         UTF-2000.
143         (Vcharacter_composition_table): Deleted.
144         (Fget_composite_char): Use the implementation for external-DB
145         support in every UTF-2000.
146         (Fput_char_attribute): Likewise.
147         (char_attribute_system_db_file): Don't define if external-DB
148         feature is not available.
149         (Fsave_char_attribute_table): Likewise.
150         (Fmount_char_attribute_table): Likewise.
151         (Fclose_char_attribute_table): Likewise.
152         (Freset_char_attribute_table): Likewise.
153         (Fload_char_attribute_table): Likewise.
154         (syms_of_chartab): Don't define `save-char-attribute-table',
155         `mount-char-attribute-table', `reset-char-attribute-table',
156         `close-char-attribute-table' and `load-char-attribute-table' if
157         external-DB feature is not available.
158         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
159
160 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
161
162         * text-coding.c (Qcomposition): Add extern if external-DB feature
163         is supported.
164         (Vcharacter_composition_table): Don't add extern if external-DB
165         feature is supported.
166         (COMPOSE_ADD_CHAR): Modify for new data-representation of
167         character composition rule if external-DB feature is supported.
168
169         * chartab.c (Vcharacter_composition_table): Don't define if
170         external-DB feature is supported.
171         (Qcomposition): New variable.
172         (Fget_composite_char): New implementation for external-DB support.
173         (Fput_char_attribute): Use `composition' property of each
174         character instead of `Vcharacter_composition_table' to store
175         character-composition rules if external-DB feature is supported.
176         (syms_of_chartab): Add new symbol `composition'.
177         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
178         external-DB feature is supported.
179
180 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
181
182         * chartab.c (Vchar_db_stingy_mode): New variable.
183         (load_char_attribute_maybe): Close database if
184         Vchar_db_stingy_mode is not NIL.
185         (Fload_char_attribute_table_map_function): Use
186         `get_char_id_table_0' instead of `get_char_id_table'.
187         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
188
189         * chartab.h (get_char_id_table_0): New inline function.
190         (get_char_id_table): Use `get_char_id_table_0'.
191
192 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
193
194         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
195         and `COMPOSE_ADD_CHAR'.
196         (decode_coding_iso2022): Use `decode_flush_er_chars'.
197
198 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
199
200         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
201         instead of `DECODE_ADD_UCS_CHAR'.
202         (COMPOSE_ADD_CHAR): Likewise.
203
204 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
205
206         * text-coding.c (decode_flush_er_chars): New inline function.
207         (decode_add_er_char): New function.
208         (decode_coding_utf8): Use `decode_flush_er_chars' and
209         `decode_add_er_char'.
210
211 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
212
213         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
214         done before `decode_output_utf8_partial_char'.
215
216         * mule-charset.c (complex_vars_of_mule_charset): Specify
217         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
218         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
219
220 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * mule-charset.c (decode_defined_char): New function; search
223         mother.
224         (decode_builtin_char): Don't search mother if
225         XCHARSET_MAX_CODE(charset) == 0.
226         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
227         == 0 even if code >= XCHARSET_MAX_CODE(charset).
228         (Fdecode_char): Use `decode_defined_char' instead of
229         `DECODE_DEFINED_CHAR'.
230         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
231         mother of `Vcharset_ucs_jis'.
232
233         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
234         instead of `DECODE_DEFINED_CHAR'.
235
236         * char-ucs.h (decode_defined_char): Renamed from
237         `DECODE_DEFINED_CHAR'; changed to normal function.
238         (DECODE_CHAR): Use `decode_defined_char' instead of
239         `DECODE_DEFINED_CHAR'.
240
241         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
242
243 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
244
245         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
246
247         * text-coding.c (Vcoded_charset_entity_reference_alist): New
248         variable.
249         (Quse_entity_reference): New variable.
250         (Qd): New variable.
251         (Qx): New variable.
252         (QX): New variable.
253         (coding_system_description): Add description for
254         `ccs_priority_list'.
255         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
256         (allocate_coding_system): Initialize `ccs_priority_list' in
257         UTF-2000.
258         (Fmake_coding_system): Add description about
259         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
260         (codesys).
261         (Fcoding_system_property): Accept `disable-composition' and
262         `use-entity-reference' in UTF-2000.
263         (struct decoding_stream): Add new member `er_counter' and `er_buf'
264         in UTF-2000.
265         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
266         (decode_coding_utf8): Decode entity-reference if
267         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
268         (char_encode_utf8): Encode non-Unicode characters as
269         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
270         (str->codesys).
271         (syms_of_file_coding): Add new symbols `use-entity-reference',
272         `d', `x', `X'.
273         (vars_of_file_coding): Add new variable
274         `coded-charset-entity-reference-alist'.
275         (complex_vars_of_file_coding): Declare `disable-composition' and
276         `use-entity-reference' to be coding-system-properties in UTF-2000.
277
278         * file-coding.h (struct Lisp_Coding_System): Add new member
279         `use_entity_reference' and `ccs_priority_list'.
280         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
281         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
282         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
283
284 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
285
286         * chartab.c (save_uint8_byte_table): Don't clear the table.
287         (save_uint16_byte_table): Likewise.
288         (save_byte_table): Likewise.
289         (Fmount_char_attribute_table): New function.
290         (syms_of_chartab): Add new builtin function
291         `mount-char-attribute-table'.
292
293 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
294
295         * mule-charset.c (Fsave_charset_mapping_table): Open database as
296         "w+" mode.
297         (load_char_decoding_entry_maybe): Open database as read-only mode.
298
299         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
300         open database as "w+" mode.
301         (load_char_attribute_maybe): Open database as read-only mode.
302         (Fload_char_attribute_table): Likewise.
303
304 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
307         (char_table_description): Delete member `db_file'.
308         (Fmake_char_table): Don't refer `ct->db_file'.
309         (Fcopy_char_table): Likewise.
310         (Fsave_char_attribute_table): Likewise.
311         (Fclose_char_attribute_table): Likewise.
312         (Freset_char_attribute_table): Likewise.
313         (load_char_attribute_maybe): Likewise.
314         (Fload_char_attribute_table): Likewise.
315
316         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
317
318 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
319
320         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
321         (Fsave_char_attribute_table): Don't check `ct->db_file' if
322         `ct->db' is living.
323         (load_char_attribute_maybe): Likewise.
324         (Fload_char_attribute_table): Likewise.
325
326 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
327
328         * chartab.c (Fclose_char_attribute_table): Set Qnil on
329         `ct->db_file' unconditionally.
330
331 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
332
333         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
334         UTF-2000.
335         (char_table_description): Add description for `db_file' and `db'
336         in UTF-2000.
337         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
338         UTF-2000.
339         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
340         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
341         (Fclose_char_attribute_table): New function.
342         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
343         (load_char_attribute_maybe): Change interface; use `cit->db_file'
344         and `cit->db'.
345         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
346         (syms_of_chartab): Add new builtin function
347         `Fclose_char_attribute_table'.
348
349 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
350
351         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
352         `db' in UTF-2000.
353         (load_char_attribute_maybe): Change interface.
354         (get_char_id_table): Modify for `load_char_attribute_maybe'.
355
356 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
357
358         * database.h: Add an EXFUN for `Fdatabase_live_p'.
359
360 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
363         instead of `DECODE_CHAR' for mother; don't use special code for
364         chinese-big5 to use code space of chinese-big5-1 and
365         chinese-big5-2.
366         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
367         `MAX_CHAR_BIG5_CDP' for chinese-big5.
368
369         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
370         (MAX_CHAR_BIG5_CDP): Revival.
371
372 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
373
374         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
375         the XLFD registry-encoding name of `chinese-big5'.
376
377 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
378
379         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
380         (Qchinese_big5_cdp): Deleted.
381         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
382         (complex_vars_of_mule_charset): Delete coded-charset
383         `chinese-big5-cdp'.
384
385         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
386         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
387         `CHARSET_ID_OFFSET - n' for private CCS.
388         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
389         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
390         of `MIN_LEADING_BYTE'.
391         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
392         `(CHARSET_ID_OFFSET - 97)'.
393         (MIN_CHAR_BIG5_CDP): Deleted.
394         (MAX_CHAR_BIG5_CDP): Deleted.
395
396 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
397
398         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
399
400 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
401
402         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
403         (vars_of_mule): Add new variable `utf-2000-version' [moved from
404         chartab.c].
405
406         * chartab.c (Vutf_2000_version): Moved to mule.c.
407         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
408
409 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
410
411         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
412         when HAVE_CHISE_CLIENT is not defined.
413
414         * mule.c (vars_of_mule): Provide feature `chise' when
415         HAVE_CHISE_CLIENT is defined.
416
417 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
418
419         * config.h.in (UTF2000): Add comment.
420         (HAVE_CHISE_CLIENT): New macro.
421
422 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
423
424         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
425         CONSP.
426         (Fput_char_attribute): Likewise.
427         (char_attribute_system_db_file): Encode file-name of attribute.
428         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
429         the initial value.
430
431 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
432
433         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
434         (Fsave_charset_mapping_table): Use
435         `char_attribute_system_db_file'.
436         (load_char_decoding_entry_maybe): Likewise.
437
438         * chartab.h (Qsystem_char_id): New external variable.
439         (char_attribute_system_db_file): New prototype.
440
441         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
442         (char_attribute_system_db_file): New function.
443         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
444         (Freset_char_attribute_table): Likewise.
445         (load_char_attribute_maybe): Likewise.
446         (Fload_char_attribute_table): Likewise.
447         (syms_of_chartab): Add new symbol `system-char-id'.
448
449 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
450
451         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
452         `XCHARSET_GRAPHIC(ccs)'.
453
454 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
455
456         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
457
458 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
459
460         * chartab.c (Q_ucs_variants): New variable.
461         (syms_of_chartab): Add new symbol `->ucs-variants'.
462         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
463         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
464         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
465
466         * mule-charset.c (load_char_decoding_entry_maybe): New function.
467
468         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
469         `HAVE_DATABASE' is defined.
470         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
471         `HAVE_DATABASE' is defined.
472
473 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
474
475         * chartab.c (Fsave_char_attribute_table): Don't clear internal
476         attribute-table.
477         (Freset_char_attribute_table): New function.
478         (syms_of_chartab): Add new builtin function
479         `reset-char-attribute-table'.
480
481 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
482
483         * chartab.c (load_char_attribute_maybe): Don't make directories.
484
485 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
486
487         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
488
489         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
490         for decoding-table.
491
492 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
493
494         * mule-charset.c (Fsave_charset_mapping_table): Use
495         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
496
497         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
498         instead of `XCHARSET_CHARS'.
499
500 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
501
502         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
503         (XCHARSET_BYTE_SIZE): Likewise.
504
505         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
506         mule-charset.c].
507         (XCHARSET_BYTE_SIZE): Likewise.
508
509 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
510
511         * chartab.c (Fput_char_attribute): Use exec-directory instead of
512         data-directory to store database.
513         (Fsave_char_attribute_table): Likewise.
514         (load_char_attribute_maybe): Likewise.
515         (Fload_char_attribute_table): Likewise.
516
517 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
518
519         * mule-charset.c (Fsave_charset_mapping_table): New function.
520         (syms_of_mule_charset): Add new builtin function
521         `save-charset-mapping-table'.
522
523 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
524
525         * char-ucs.h (decoding_table_check_elements): Delete prototype.
526         (get_ccs_octet_table): New inline function.
527         (put_ccs_octet_table): Likewise.
528         (decoding_table_put_char): Use `get_ccs_octet_table' and
529         `put_ccs_octet_table'.
530         (decoding_table_remove_char): Use `decoding_table_put_char'.
531         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
532
533         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
534         into encoding_table.
535         (make_charset): Use Qunbound instead Qnil as initial value of
536         decoding_table.
537
538 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
539
540         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
541         element is Qunloaded.
542         (map_over_uint16_byte_table): Likewise.
543         (map_over_byte_table): Likewise.
544         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
545         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
546         database support, load encoding-table of the specified
547         coded-charset if it is not loaded yet.
548         (save_uint8_byte_table): New function of UTF-2000 with external
549         database support.
550         (save_uint16_byte_table): Likewise.
551         (save_byte_table): Likewise.
552         (Fput_char_attribute): Don't store value into external database
553         even if the external database feature is supported in UTF-2000;
554         set `attribute' as name of char-table if the external database
555         feature is supported.
556         (Fsave_char_attribute_table): New function in UTF-2000.
557         (syms_of_chartab): Add new builtin function
558         `save-char-attribute-table' in UTF-2000.
559
560 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
561
562         * chartab.c (char_attribute_table_to_put): New variable in
563         UTF-2000.
564         (Qput_char_table_map_function): Likewise.
565         (value_to_put): Likewise.
566         (Fput_char_table_map_function): New function in UTF-2000.
567         (put_char_table): Use `Fmap_char_attribute' for
568         CHARTAB_RANGE_CHARSET in UTF-2000.
569         (Fput_char_attribute): Store symbol instead of string in
570         `XCHAR_TABLE_NAME (table)'.
571         (load_char_attribute_maybe): Likewise.
572         (syms_of_chartab): Add new symbol/function
573         `put-char-table-map-function'.
574
575 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
576
577         * database.h: Add new EXFUN for `Fmap_database'.
578
579         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
580         (syms_of_database): Likewise.
581
582         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
583         UTF-2000.
584         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
585         (XCHAR_TABLE_UNLOADED): Likewise.
586
587         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
588         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
589         HAVE_DATABASE is defined.
590         (char_attribute_table_to_load): New variable of UTF-2000 with
591         external database support.
592         (Qload_char_attribute_table_map_function): Likewise.
593         (Fload_char_attribute_table_map_function): New function of
594         UTF-2000 with external database support.
595         (Fload_char_attribute_table): New function of UTF-2000.
596         (Fmap_char_attribute): Call Fload_char_attribute_table if
597         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
598         (syms_of_chartab): Add new symbol and function
599         `load-char-attribute-table-map-function' in UTF-2000 with external
600         database support; add new function `load-char-attribute-table' in
601         UTF-2000.
602
603 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
604
605         * chartab.h (load_char_attribute_maybe): New prototype for
606         UTF-2000 with DATABASE support.
607         (get_char_id_table): Use `load_char_attribute_maybe' if
608         HAVE_DATABASE is defined.
609
610         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
611         with DATABASE support.
612
613 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
614
615         * chartab.c (Fput_char_attribute): Use S-expression as key of
616         external database.
617
618         * chartab.h (get_char_id_table): Use S-expression as key of
619         external database.
620
621 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
624         if an element is not loaded, load the corresponding attributes
625         from an external database.
626         (map_over_uint16_byte_table): Likewise.
627         (map_over_byte_table): Likewise.
628         (map_char_table): Modify for `map_over_uint8_byte_table',
629         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
630         element is not loaded, load the corresponding attributes from an
631         external database.
632         (Fput_char_attribute): Change initial values to Qunloaded.
633
634         * chartab.h (get_char_id_table): If a character attribute is not
635         loaded and the attribute value is not found in an external
636         database, store Qunbound as the attribute value.
637
638 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
639
640         * chartab.c (BT_UINT8_unloaded): New macro.
641         (UINT8_VALUE_P): Accept Qunloaded.
642         (UINT8_ENCODE): Likewise.
643         (UINT8_DECODE): Likewise.
644         (BT_UINT16_unloaded): New macro.
645         (UINT16_VALUE_P): Accept Qunloaded.
646         (UINT16_ENCODE): Likewise.
647         (UINT16_DECODE): Likewise.
648         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
649         BT_UINT16_unloaded.
650         (mark_char_table): Mark `ct->name' in UTF-2000.
651         (char_table_description): Add `name' in UTF-2000.
652         (Fmake_char_table): Initialize `ct->name'.
653         (Fcopy_char_table): Copy `ct->name'.
654         (Fput_char_attribute): Store value into an external database if
655         HAVE_DATABASE is defined.
656
657         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
658         UTF-2000.
659         (CHAR_TABLE_NAME): New macro in UTF-2000.
660         (XCHAR_TABLE_NAME): New macro in UTF-2000.
661         (get_char_id_table): Try to read an external database if Qunloaded
662         is stored in a table.
663
664         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
665         Qunloaded.
666
667 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
668
669         * database.h: Add EXFUN definitions for Fopen_database,
670         Fput_database, Fget_database and Fclose_database.
671
672         * data.c (Qunloaded): New variable in UTF-2000.
673
674         * lisp.h (Qunloaded): New variable in UTF-2000.
675
676 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
677
678         * mule-charset.c (put_char_ccs_code_point): Modify for
679         `decoding_table_remove_char' and `decoding_table_put_char'.
680         (remove_char_ccs): Modify for `decoding_table_remove_char'.
681
682         * char-ucs.h (decoding_table_remove_char): Change arguments to
683         hide decoding_table vector.
684         (decoding_table_put_char): Likewise.
685
686 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
687
688         * mule-charset.c (decoding_table_remove_char): Moved to
689         char-ucs.h.
690         (decoding_table_put_char): Likewise.
691
692         * char-ucs.h (decoding_table_check_elements): New prototype [moved
693         from mule-charset.c].
694         (decoding_table_remove_char): New inline function [moved from
695         mule-charset.c].
696         (decoding_table_put_char): Likewise.
697
698 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
699
700         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
701         extension.
702
703 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
704
705         * mule-charset.c (decode_builtin_char): Support mother charsets.
706
707 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
708
709         * mule-charset.c (Q94x94x60): New variable.
710         (charset_code_point): Support conversion `94x94x60'.
711         (Fmake_charset): Likewise.
712         (syms_of_mule_charset): Add new symbol `94x94x60'.
713
714         * char-ucs.h (CONVERSION_94x94x60): New macro.
715
716 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
717
718         * mule-charset.c (charset_code_point): Unify code about
719         `code-offset'.
720
721 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
722
723         * mule-charset.c (charset_code_point): Merge code about builtin
724         characters into code about mother charsets; don't use
725         `range_charset_code_point'.
726         (range_charset_code_point): Deleted.
727
728 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
729
730         * mule-charset.c (Qcode_offset): New variable.
731         (Fmake_charset): Use `XUINT' to get value of `min-code' and
732         `max-code'; accept new property `code-offset'.
733         (syms_of_mule_charset): Add new symbol `code-offset'.
734
735 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
736
737         * mule-charset.c (range_charset_code_point): Fixed.
738
739 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
740
741         * mule-charset.c (decode_builtin_char): Change semantics of
742         code-offset of coded-charset.
743         (charset_code_point): Likewise.
744         (range_charset_code_point): Likewise.
745         (complex_vars_of_mule_charset): Modify for the change.
746
747 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
748
749         * mule-charset.c (Fencode_char): Reverse arguments.
750
751         * mule-charset.c (charset_code_point): Fixed.
752
753 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
754
755         * mule-charset.c (Vcharset_mojikyo): Deleted.
756         (Vcharset_mojikyo_2022_1): Deleted.
757         (Vcharset_mojikyo_pj_{1..21}): Deleted.
758         (Qmin_code): New variable in UTF-2000.
759         (Qmax_code): Likewise.
760         (Qmother): Likewise.
761         (Qconversion): Likewise.
762         (Q94x60): Likewise.
763         (Qmojikyo): Deleted.
764         (Qmojikyo_2022_1): Deleted.
765         (Qmojikyo_pj_{1..22}): Deleted.
766         (mark_charset): Mark `cs->mother'.
767         (charset_description): Add description for `mother'.
768         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
769         new arguments `mother' and `conversion'; use
770         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
771         (charset_code_point): Moved from char-ucs.h; support `mother'
772         charset feature.
773         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
774         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
775         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
776         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
777         allow 2 as the value of `graphic' in UTF-2000; add new properties
778         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
779         require `final' in UTF-2000; modify for `make_charset'.
780         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
781         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
782         (Fcharset_property): Support `mother', `min-code' and `max-code'.
783         (Fencode_char): New function.
784         (syms_of_mule_charset): Add new builtin function `encode-char' in
785         UTF-2000; add new symbols `min-code', `max-code', `mother',
786         `conversion' and `94x60'; delete symbols `mojikyo',
787         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
788         (complex_vars_of_mule_charset): Modify for `make_charset' change;
789         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
790         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
791
792         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
793         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
794
795         * char-ucs.h (Vcharset_mojikyo): Deleted.
796         (Vcharset_mojikyo_2022_1): Deleted.
797         (LEADING_BYTE_MOJIKYO): Deleted.
798         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
799         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
800         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
801         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
802         add new member `mother'; add new member `conversion'.
803         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
804         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
805         (CHARSET_MOTHER): New macro.
806         (CHARSET_CONVERSION): New macro.
807         (CONVERSION_IDENTICAL): New macro.
808         (CONVERSION_94x60): New macro.
809         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
810         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
811         (XCHARSET_MOTHER): New macro.
812         (XCHARSET_CONVERSION): New macro.
813         (MIN_CHAR_MOJIKYO): Deleted.
814         (MAX_CHAR_MOJIKYO): Deleted.
815         (DECODE_MOJIKYO_2022): Deleted.
816         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
817         (charset_code_point): Changed to non-inline function.
818         (encode_char_1): Use `charset_code_point'.
819         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
820
821 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
822
823         * lread.c (read_compiled_function): Fix prototype.
824         (read_vector): Likewise.
825
826 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
827
828         * lrecord.h (struct lrecord_header): Delete `older'.
829         (set_lheader_implementation): Delete code for `older'.
830         (set_lheader_older_implementation): Deleted.
831         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
832         (OLDER_RECORD_P): Deleted.
833         (OLDER_RECORD_HEADER_P): Deleted.
834         (alloc_older_lcrecord): Deleted.
835         (alloc_older_lcrecord_type): Deleted.
836
837         * alloc.c (all_older_lcrecords): Deleted.
838         (alloc_older_lcrecord): Deleted.
839         (disksave_object_finalization_1): Delete code for older objects.
840         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
841         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
842
843 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * mule-charset.c (decoding_table_put_char): Use `make_vector'
846         instead of `make_older_vector'.
847         (put_char_ccs_code_point): Likewise.
848         (mark_charset): Mark `cs->decoding_table'.
849         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
850
851         * lisp.h (make_older_vector): Deleted.
852         (make_vector_newer): Deleted.
853
854         * config.h.in (HAVE_GGC): Deleted.
855
856         * alloc.c (make_older_vector): Deleted.
857         (make_vector_newer_1): Deleted.
858         (make_vector_newer): Deleted.
859
860 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
863         (Qideograph_daikanwa_2): New variable.
864         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
865         (complex_vars_of_mule_charset): Add new coded-charset
866         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
867         `LEADING_BYTE_DAIKANWA'.
868
869         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
870         (LEADING_BYTE_DAIKANWA_1): New macro.
871         (LEADING_BYTE_DAIKANWA_2): New macro.
872         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
873
874 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
875
876         * mule-charset.c (complex_vars_of_mule_charset): Change
877         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
878         the second revised version.
879
880 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
881
882         * mule-charset.c (Vcharset_ucs_smp): New variable.
883         (Vcharset_ucs_sip): New variable.
884         (Qucs_smp): New variable.
885         (Qucs_sip): New variable.
886         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
887         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
888         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
889         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
890         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
891         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
892
893         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
894         (LEADING_BYTE_UCS_SIP): New macro.
895         (MIN_CHAR_SMP): New macro.
896         (MAX_CHAR_SMP): New macro.
897         (MIN_CHAR_SIP): New macro.
898         (MAX_CHAR_SIP): New macro.
899
900 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
901
902         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
903         utf-2000.
904
905 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
906
907         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
908         value; don't store value into `encoding_table' of `Lisp_Charset'.
909         (mark_charset): `encoding_table' was deleted.
910         (charset_description): Likewise.
911         (make_charset): Likewise.
912         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
913         `put_char_ccs_code_point'.
914
915         * chartab.h (Fput_char_attribute): New EXFUN.
916
917         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
918         is unified with normal symbol space.
919         (Fget_char_attribute): Likewise.
920         (Fput_char_attribute): Likewise; behavior of
921         `put_char_ccs_code_point' is changed.
922
923         * char-ucs.h: Include "elhash.h".
924         (Vchar_attribute_hash_table): New external variable.
925         (struct Lisp_Charset): Delete `encoding_table'.
926         (CHARSET_ENCODING_TABLE): New implementation; refer
927         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
928         `Lisp_Charset'.
929
930 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
931
932         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
933         (cs) == 0.
934
935 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
936
937         * text-coding.c (char_encode_big5): Prefer charset-g1 than
938         `chinese-big5'.
939
940 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
941
942         * chartab.c (uint8_byte_table_description): New constant.
943         (uint8-byte-table): Use `uint8_byte_table_description'.
944         (uint16_byte_table_description): New constant.
945         (uint16-byte-table): Use `uint16_byte_table_description'.
946
947 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
948
949         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
950         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
951
952 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
953
954         * mule-charset.c (Vcharset_ucs_ks): New variable.
955         (Qucs_ks): New variable.
956         (syms_of_mule_charset): Add new symbol `ucs-ks'.
957         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
958
959         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
960
961 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
962
963         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
964         (Fdecode_char): Likewise.
965
966         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
967         chartab.h.
968         (Fdefine_char): Modify for Fdecode_char.
969         (Ffind_char): Likewise.
970
971         * mule-charset.c (Fdecode_char): Add new optional argument
972         `defined-only'.
973         (Fdecode_builtin_char): Modify for `Fdecode_char'.
974
975 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
976
977         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
978         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
979         (allocate_coding_system): Initialize initial-charsets of
980         CODESYS_BIG5 in XEmacs UTF-2000.
981         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
982         CODESYS_BIG5 in XEmacs UTF-2000.
983         (decode_coding_big5): Use initial-charset-g0 and -g1 of
984         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
985
986         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
987         variables.
988         (Qideograph_hanziku_{1 .. 12}): Likewise.
989         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
990         .. 12}'.
991         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
992         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
993         `ideograph-hanziku-{1 .. 12}'.
994
995         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
996         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
997         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
998         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
999         (DECODE_DEFINED_CHAR): New inline function.
1000         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1001
1002 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1003
1004         * mule-charset.c (Vcharset_china3_jef): Renamed from
1005         `Vcharset_japanese_jef_china3'.
1006         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1007         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1008         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1009         (syms_of_mule_charset): Rename `china3-jef' from
1010         `japanese-jef-china3'.
1011         (complex_vars_of_mule_charset): Likewise; rename
1012         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1013
1014         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1015         `LEADING_BYTE_JEF_CHINA3'.
1016         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1017         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1018
1019 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1020
1021         * mule-charset.c (encode_builtin_char_1): Comment out special code
1022         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1023
1024         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1025         (MAX_CHAR_MOJIKYO_0): Comment out.
1026         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1027         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1028         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1029         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1030
1031 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1032
1033         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1034         (Qideograph_cbeta): New variable.
1035         (encode_builtin_char_1): Comment out special code for
1036         coded-charset `mojikyo' and `japanese-jef-china3'.
1037         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1038         (complex_vars_of_mule_charset): Add new coded-charset
1039         `ideograph-cbeta'.
1040
1041         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1042         (MIN_CHAR_CBETA): New macro.
1043         (MAX_CHAR_CBETA): New macro.
1044
1045 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1046
1047         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1048         (LEADING_BYTE_JEF_CHINA3): New macro.
1049         (MIN_CHAR_JEF_CHINA3): New macro.
1050         (MAX_CHAR_JEF_CHINA3): Likewise.
1051         (DECODE_CHAR): Fixed.
1052
1053 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1054
1055         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1056         (Qjapanese_jef_china3): New variable.
1057         (encode_builtin_char_1): Support `japanese-jef-china3'.
1058         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1059         (complex_vars_of_mule_charset): Add new coded-charset
1060         `japanese-jef-china3'.
1061
1062 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1063
1064         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1065         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1066         94^4, 96^3, 96^4, 128^n and 256^n set.
1067         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1068         (map_char_table): Likewise.
1069
1070 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1071
1072         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1073         UTF-2000.
1074
1075 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1076
1077         * chartab.h (get_char_id_table): New inline function.
1078
1079         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1080         function.
1081
1082 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1083
1084         * chartab.h (decode_char_table_range): New prototype in XEmacs
1085         UTF-2000.
1086         (put_char_id_table): New inline function in XEmacs UTF-2000.
1087
1088         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1089         function.
1090         (decode_char_table_range): Delete static declaration in XEmacs
1091         UTF-2000.
1092
1093 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1094
1095         * chartab.c (put_char_id_table): Use `put_char_table'.
1096
1097 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1098
1099         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1100         (map_over_uint16_byte_table): Likewise.
1101         (map_over_byte_table): Likewise.
1102         (map_char_table): Modify for `map_over_uint8_byte_table',
1103         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1104         UTF-2000.
1105
1106 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1107
1108         * chartab.c (struct map_char_table_for_charset_arg): New
1109         structure.
1110         (map_char_table_for_charset_fun): New function.
1111         (map_char_table): Use `map_char_table' for encoding_table of
1112         `range->charset'.
1113
1114 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1115
1116         * chartab.c (map_char_table): Check a character is found in
1117         range->charset instead of non default value is defined in
1118         char-table when range is CHARTAB_RANGE_ROW.
1119
1120 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1121
1122         * chartab.c (map_char_id_table): Deleted.
1123         (Fmap_char_attribute): Use `map_char_table' instead of
1124         `map_char_id_table'.
1125
1126 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1129         UTF-2000.
1130         (update_syntax_table): Deleted in XEmacs UTF-2000.
1131
1132         * syntax.c (find_defun_start): Use `syntax_table' instead of
1133         `mirror_syntax_table' in XEmacs UTF-2000.
1134         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1135         UTF-2000.
1136         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1137         XEmacs UTF-2000.
1138         (Fmatching_paren): Likewise.
1139         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1140         in XEmacs UTF-2000.
1141         (find_start_of_comment): Likewise.
1142         (find_end_of_comment): Likewise.
1143         (Fforward_comment): Likewise.
1144         (scan_lists): Likewise.
1145         (char_quoted): Likewise.
1146         (Fbackward_prefix_chars): Likewise.
1147         (scan_sexps_forward): Likewise.
1148         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1149         (update_syntax_table): Likewise.
1150
1151         * search.c (skip_chars): Use `syntax_table' instead of
1152         `mirror_syntax_table' in XEmacs UTF-2000.
1153         (wordify): Likewise.
1154         (Freplace_match): Likewise.
1155
1156         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1157         `mirror_syntax_table' in XEmacs UTF-2000.
1158         (WORDCHAR_P_UNSAFE): Likewise.
1159         (re_match_2_internal): Likewise.
1160
1161         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1162         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1163
1164         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1165         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1166
1167         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1168         XEmacs UTF-2000.
1169
1170         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1171         UTF-2000.
1172         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1173         (char_table_description): Delete `mirror_table' in XEmacs
1174         UTF-2000.
1175         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1176         UTF-2000.
1177         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1178         (Fcopy_char_table): Likewise.
1179         (put_char_table): Don't call `update_syntax_table' in XEmacs
1180         UTF-2000.
1181
1182         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1183         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1184         (casify_region_internal): Likewise.
1185
1186         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1187
1188         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1189         `mirror_syntax_table' in XEmacs UTF-2000.
1190
1191         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1192         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1193         (Fexpand_abbrev): Likewise.
1194
1195 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1196
1197         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1198
1199 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1200
1201         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1202         (map_over_uint16_byte_table): Likewise.
1203         (map_over_byte_table): Likewise.
1204         (get_char_id_table): Refer `cit->default_value'.
1205         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1206         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1207         of character-id ranges.
1208         (mark_char_table): Mark `ct->default_value'.
1209         (char_table_description): Add `default_value'.
1210         (fill_char_table): Use `default_value'.
1211         (decode_char_table_range): Decode `nil' as
1212         `CHARTAB_RANGE_DEFAULT'.
1213         (get_char_id_table): Refer `cit->default_value'.
1214         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1215         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1216         temporary hack; check value of char-table is bound or not.
1217         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1218
1219         * chartab.h (struct Lisp_Char_Table): Add new member
1220         `default_value' in XEmacs UTF-2000.
1221         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1222         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1223         UTF-2000.
1224
1225 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1226
1227         * chartab.h (Lisp_Char_ID_Table): Deleted.
1228
1229         * chartab.c (char_table_description): Fix typo.
1230         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1231         `Lisp_Char_ID_Table'.
1232
1233 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1234
1235         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1236         `CHAR_ID_TABLE_P'.
1237
1238         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1239         `CHAR_ID_TABLE_P'.
1240
1241         * chartab.h (XCHAR_ID_TABLE): Deleted.
1242         (XSETCHAR_ID_TABLE): Deleted.
1243         (CHAR_ID_TABLE_P): Deleted.
1244
1245         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1246         `CHAR_ID_TABLE_P'.
1247         (Fget_composite_char): Likewise.
1248         (put_char_table): Likewise.
1249         (add_char_attribute_alist_mapper): Fixed.
1250         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1251         `CHAR_ID_TABLE_P'.
1252         (Fget_char_attribute): Likewise.
1253         (Fget_char_attribute): Likewise.
1254         (Fmap_char_attribute): Likewise.
1255
1256         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1257         `CHAR_ID_TABLE_P'.
1258         (encode_char_1): Likewise.
1259
1260 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1261
1262         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1263         `XCHAR_ID_TABLE'.
1264
1265         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1266         instead of `XCHAR_ID_TABLE'.
1267         (remove_char_ccs): Likewise.
1268
1269         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1270         `XCHAR_ID_TABLE'.
1271         (Fget_composite_char): Likewise.
1272         (Fchar_variants): Likewise.
1273         (put_char_table): Likewise.
1274         (add_char_attribute_alist_mapper): Likewise.
1275         (Fchar_attribute_alist): Likewise.
1276         (Fget_char_attribute): Likewise.
1277         (Fput_char_attribute): Likewise.
1278         (Fmap_char_attribute): Likewise.
1279         (Fmap_char_attribute): Likewise.
1280
1281         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1282         `XCHAR_ID_TABLE'.
1283         (encode_char_1): Likewise.
1284
1285 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1286
1287         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1288         `Lisp_Char_ID_Table'.
1289         (mark_char_id_table): Deleted.
1290         (print_char_id_table): Likewise.
1291         (char_id_table_equal): Likewise.
1292         (char_id_table_hash): Likewise.
1293         (char_id_table_description): Likewise.
1294         (char_id_table): Likewise.
1295         (make_char_id_table): Use `Fmake_char_table' and
1296         `fill_char_table'.
1297         (get_char_id_table): Use `Lisp_Char_Table' instead of
1298         `Lisp_Char_ID_Table'.
1299         (put_char_id_table): Likewise.
1300         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1301         `XCHAR_ID_TABLE'.
1302         (Fremove_char_attribute): Likewise.
1303         (syms_of_chartab): Don't define type `char-id-table'.
1304
1305         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1306         (char_id_table): Likewise.
1307         (GC_CHAR_ID_TABLE_P): Likewise.
1308         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1309         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1310         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1311         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1312         (get_char_id_table): Use `Lisp_Char_Table' instead of
1313         `Lisp_Char_ID_Table'.
1314         (put_char_id_table_0): Likewise.
1315         (put_char_id_table): Likewise.
1316
1317 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1318
1319         * chartab.h: Lisp_Byte_Table related codes are moved from
1320         chartab.h.
1321
1322         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1323
1324 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1325
1326         * chartab.h: Don't include "chartab.h".
1327         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1328         (Lisp_Char_ID_Table): Likewise.
1329         (char_id_table): Likewise.
1330         (XCHAR_ID_TABLE): Likewise.
1331         (XSETCHAR_ID_TABLE): Likewise.
1332         (CHAR_ID_TABLE_P): Likewise.
1333         (GC_CHAR_ID_TABLE_P): Likewise.
1334         (get_char_id_table): Likewise.
1335
1336         * char-ucs.h: Include "chartab.h".
1337         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1338         (Lisp_Char_ID_Table): Likewise.
1339         (char_id_table): Likewise.
1340         (XCHAR_ID_TABLE): Likewise.
1341         (XSETCHAR_ID_TABLE): Likewise.
1342         (CHAR_ID_TABLE_P): Likewise.
1343         (GC_CHAR_ID_TABLE_P): Likewise.
1344         (get_char_id_table): Likewise.
1345
1346 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1347
1348         * chartab.c (copy_uint8_byte_table): New function.
1349         (copy_uint16_byte_table): New function.
1350         (copy_byte_table): New function.
1351         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1352         characters to call.
1353         (map_over_uint16_byte_table): Likewise.
1354         (map_over_byte_table): Likewise.
1355         (get_byte_table): Move prototype to chartab.h.
1356         (put_byte_table): Likewise.
1357         (put_char_id_table_0): Moved to chartab.h.
1358         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1359         (char_table_entry_equal): Likewise.
1360         (char_table_entry_hash): Likewise.
1361         (char_table_entry_description): Likewise.
1362         (char_table_entry): Likewise.
1363         (make_char_table_entry): Likewise.
1364         (copy_char_table_entry): Likewise.
1365         (get_non_ascii_char_table_value): Likewise.
1366         (map_over_charset_ascii): Likewise.
1367         (map_over_charset_control_1): Likewise.
1368         (map_over_charset_row): Likewise.
1369         (map_over_other_charset): Likewise.
1370         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1371         (print_char_table): Likewise.
1372         (char_table_equal): Likewise.
1373         (char_table_hash): Likewise.
1374         (char_table_description): Likewise.
1375         (fill_char_table): Likewise.
1376         (Fcopy_char_table): Likewise.
1377         (get_char_table): Likewise.
1378         (Fget_range_char_table): Likewise.
1379         (put_char_table): Likewise.
1380         (map_char_table): Likewise.
1381         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1382         UTF-2000.
1383
1384 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1385
1386         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1387         `Vauto_fill_chars' in XEmacs UTF-2000.
1388
1389         * chartab.h (get_byte_table): New prototype [moved from
1390         chartab.c].
1391         (put_byte_table): Likewise [moved from chartab.c].
1392         (put_char_id_table_0): New inline function [moved from chartab.c].
1393         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1394         (Lisp_Char_Table_Entry): Likewise.
1395         (char_table_entry): Likewise.
1396         (XCHAR_TABLE_ENTRY): Likewise.
1397         (XSETCHAR_TABLE_ENTRY): Likewise.
1398         (CHAR_TABLE_ENTRYP): Likewise.
1399         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1400         (NUM_ASCII_CHARS): Likewise.
1401         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1402         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1403
1404 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1405
1406         * chartab.c (get_char_id_table): Change interface.
1407         (put_char_id_table_0): New function.
1408         (put_char_id_table): Change interface; new implementation.
1409         (Fget_composite_char): Modify for interface change of
1410         `get_char_id_table'.
1411         (Fchar_variants): Likewise.
1412         (add_char_attribute_alist_mapper): Likewise.
1413         (Fchar_attribute_alist): Likewise.
1414         (Fget_char_attribute): Likewise.
1415         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1416         as same as character as the first argument like `put-char-table';
1417         modify for interface change of `put_char_id_table'.
1418         (Fremove_char_attribute): Modify for interface change of
1419         `put_char_id_table'.
1420
1421 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1422
1423         * text-coding.c: Sync up with XEmacs 21.2.41.
1424         (COMPOSE_ADD_CHAR): Modify for interface change of
1425         `get_char_id_table'.
1426
1427         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1428         change of `put_char_id_table'.
1429         (remove_char_ccs): Likewise.
1430
1431         * chartab.h (put_char_id_table): Change interface.
1432
1433         * char-ucs.h (get_char_id_table): Change interface.
1434         (charset_code_point): Modify for interface change of
1435         `get_char_id_table'.
1436         (encode_char_1): Likewise.
1437
1438 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1439
1440         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1441         argument `ccs'.
1442         (map_over_uint16_byte_table): Likewise.
1443         (map_over_byte_table): Likewise.
1444         (map_char_id_table): Add new argument `range' like
1445         `map_char_table'.
1446         (Fmap_char_attribute): Add new argument `range' like
1447         `Fmap_char_table'.
1448
1449 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1450
1451         * chartab.c (map_over_uint8_byte_table): Change interface of
1452         mapping function to use struct chartab_range instead of Emchar.
1453         (map_over_uint16_byte_table): Likewise.
1454         (map_over_byte_table): Likewise.
1455         (map_char_id_table): Likewise.
1456         (struct slow_map_char_id_table_arg): Deleted.
1457         (slow_map_char_id_table_fun): Deleted.
1458         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1459         function `slow_map_char_table_fun' instead of struct
1460         `slow_map_char_id_table_arg' and function
1461         `slow_map_char_id_table_fun'.
1462
1463 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1464
1465         * mule-charset.c: Move char-it-table related codes to chartab.c.
1466         (Vutf_2000_version): Moved to chartab.c.
1467         (Fdefine_char): Likewise.
1468         (Ffind_char): Likewise.
1469         (syms_of_mule_charset): Move types `uint8-byte-table',
1470         `uint16-byte-table', `byte-table' and `char-id-table' to
1471         chartab.c; move functions `char_attribute_list,
1472         `find_char_attribute_table, `char_attribute_alist,
1473         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1474         `map_char_attribute, `define_char, `find_char, `char_variants and
1475         `get_composite_char to chartab.c; move symbols `=>ucs',
1476         `->decomposition', `compat', `isolated', `initial', `medial',
1477         `final', `vertical', `noBreak', `fraction', `super', `sub',
1478         `circle', `square', `wide', `narrow', `small' and `font' to
1479         chartab.c.
1480         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1481         setting codes for `Vcharacter_composition_table' and
1482         `Vcharacter_variant_table' to chartab.c.
1483         (complex_vars_of_mule_charset): Move setting code for
1484         `Vchar_attribute_hash_table' to chartab.c.
1485
1486         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1487         (make_char_id_table): New prototype.
1488         (put_char_id_table): Likewise.
1489         (Fget_char_attribute): Likewise.
1490
1491         * chartab.c: Move char-id-table related code from mule-charset.c.
1492         (Vutf_2000_version): Moved from mule-charset.c.
1493
1494         * char-ucs.h (Qucs): New external variable.
1495         (put_char_ccs_code_point): New prototype.
1496         (remove_char_ccs): Likewise.
1497
1498 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1499
1500         * mule-charset.c (Vcharset_ucs_jis): New variable.
1501         (Qucs_jis): Likewise.
1502         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1503         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1504
1505         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1506
1507 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1508
1509         * mule-charset.c (map_over_uint8_byte_table): New function.
1510         (map_over_uint16_byte_table): Likewise.
1511         (map_over_byte_table): Likewise.
1512         (map_char_id_table): Likewise.
1513         (slow_map_char_id_table_fun): Likewise.
1514         (Fmap_char_attribute): Likewise.
1515         (syms_of_mule_charset): Add new function `map-char-attribute'.
1516
1517 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1518
1519         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1520         (syms_of_mule_charset): Add new function `find-char'.
1521
1522 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1523
1524         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1525         XEmacs UTF-2000.
1526         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1527         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1528         XEmacs UTF-2000.
1529         (complex_vars_of_mule_charset): Add new coded-charset
1530         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1531         `ideograph-gt-pj-*'.
1532
1533         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1534
1535 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1536
1537         * mule-charset.c (encode_builtin_char_1): Purge codes about
1538         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1539         {MIN|MAX}_CHAR_HEBREW.
1540         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1541         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1542
1543         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1544         (MAX_CHAR_GREEK): Purged.
1545         (MIN_CHAR_CYRILLIC): Purged.
1546         (MAX_CHAR_CYRILLIC): Purged.
1547         (MIN_CHAR_HEBREW): Commented out.
1548         (MAX_CHAR_HEBREW): Likewise.
1549
1550 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1551
1552         * mule-charset.c (Qto_ucs): New variable.
1553         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1554         (Fdefine_char): Likewise.
1555         (syms_of_mule_charset): Add new symbol `=>ucs'.
1556
1557 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1558
1559         * mule-charset.c (Fdecode_char): Fixed.
1560
1561 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1562
1563         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1564         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1565         "tcvn5712-1".
1566
1567 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1568
1569         * mule-charset.c (Vcharset_ucs_big5): New variable.
1570         (Qucs_big5): Likewise.
1571         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1572         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1573
1574         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1575
1576 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1577
1578         * mule-charset.c (decode_builtin_char): Check Big5 code range
1579         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1580
1581 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1582
1583         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1584         (Qchinese_gb12345): Likewise.
1585         (Fdecode_builtin_char): Fixed.
1586         (syms_of_mule_charset): Add `chinese-gb12345'.
1587         (complex_vars_of_mule_charset): Add coded-charset
1588         `chinese-gb12345'.
1589
1590         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1591         (LEADING_BYTE_CHINESE_GB12345): New macro.
1592
1593 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1594
1595         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1596         and `latin-viscii-upper' for `latin-viscii'.
1597
1598 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1599
1600         * mule-charset.c (Fdecode_builtin_char): Comment out
1601         regularization code for ISO-IR GR representation.
1602
1603 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1604
1605         * mule-charset.c (decode_builtin_char): New function; renamed from
1606         `make_builtin_char'; return -1 instead of signal.
1607         (Fdecode_builtin_char): Use `decode_builtin_char'.
1608
1609         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1610         `make_builtin_char'.
1611         (DECODE_CHAR): Use `decode_builtin_char' instead of
1612         `make_builtin_char'; use mapping table of `chinese-big5' for
1613         `chinese-big5-{1,2}'.
1614
1615 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1616
1617         * text-coding.c (char_encode_big5): New function.
1618         (char_finish_big5): Likewise.
1619         (reset_encoding_stream): Use `char_encode_big5' and
1620         `char_finish_big5' for CODESYS_BIG5.
1621         (mule_encode): Don't use `encode_coding_big5'.
1622         (encode_coding_big5): Deleted.
1623
1624 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1625
1626         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1627         0x81- in XEmacs UTF-2000.
1628         (detect_coding_big5): Likewise.
1629
1630 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1631
1632         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1633         generate character-id if the CCS property does not have
1634         corresponding predefined character.
1635         (make_builtin_char): Return -1 if corresponding predefined
1636         character is not found.
1637         (Fdecode_char): Return nil if corresponding character is not
1638         found.
1639         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1640         don't map to builtin ucs space.
1641
1642 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1643
1644         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1645         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1646
1647 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1648
1649         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1650         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1651         (Qideograph_gt): Likewise.
1652         (Qideograph_gt_pj_{1..11}): Likewise.
1653         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1654         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1655         `ideograph-gt-pj-11'.
1656         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1657         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1658         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1659
1660         * char-ucs.h (LEADING_BYTE_GT): New macro.
1661         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1662         (MIN_CHAR_GT): Likewise.
1663         (MAX_CHAR_GT): Likewise.
1664
1665 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1666
1667         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1668         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1669
1670         * doprnt.c (unsigned_int_converters): Add `c'.
1671         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1672
1673         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1674         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1675         `MIN_CHAR_MOJIKYO'.
1676         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1677         (MAX_CHAR_MOJIKYO_0): New macro.
1678         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1679
1680 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1681
1682         * mule-charset.c (Fdefine_char): Delete cemented out code.
1683         (encode_builtin_char_1): Modify for new allocation of builtin
1684         Mojikyo characters.
1685
1686         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1687
1688 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1689
1690         * mule-charset.c (Vcharset_ucs_cns): New variable.
1691         (Qucs_cns): New variable.
1692         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1693         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1694
1695 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1696
1697         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1698
1699 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1700
1701         * search.c (search_buffer): Make `charset_base_code' as
1702         character-id >> 6 to eliminate the corresponding last byte in
1703         UTF-8 representation [I'm not sure it is right thing].
1704         (boyer_moore): Likewise.
1705
1706 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1707
1708         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1709         representation in MULE.
1710
1711 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1712
1713         * text-coding.c (Fmake_coding_system): Use
1714         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1715         `EXTERNAL_PROPERTY_LIST_LOOP'.
1716
1717 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1718
1719         * text-coding.c (decode_output_utf8_partial_char): New function.
1720         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1721
1722 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1723
1724         * text-coding.c (decode_coding_utf8): Output original byte
1725         sequence if it is broken; change order of conditions.
1726
1727         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1728         of conditions.
1729
1730         * mb-multibyte.h (BYTE_ASCII_P):
1731         Use bit ops for char-signedness safety.
1732         (BYTE_C0_P): Use bit ops for char-signedness safety.
1733         (BYTE_C1_P): Use bit ops for char-signedness safety.
1734
1735         * character.h: (XCHAR_OR_CHAR_INT):
1736         Always use inline function.
1737         Remove redundant type checking assert() - XINT will abort quite
1738         nicely.
1739
1740 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1741
1742         * text-coding.c: (Fencode_shift_jis_char):
1743         (Fencode_big5_char):
1744         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1745         Replace 0 with '\0' when working with bytes.
1746         Replace initial "(" with "\(" in docstrings.
1747
1748         (Fmake_coding_system):
1749         When type is ccl and value is vector, register it with a proper
1750         symbol.  And checks whether the given ccl program is valid.
1751         (mule_decode): When calling ccl_driver, if src indicates
1752         NULL pointer, set an empty string instead.
1753         (mule_encode): Likewise.
1754
1755         (detect_eol_type):
1756         (detect_coding_sjis):
1757         (decode_coding_sjis):
1758         (detect_coding_big5):
1759         (decode_coding_big5):
1760         (detect_coding_ucs4):
1761         (decode_coding_ucs4):
1762         (detect_coding_utf8):
1763         (decode_coding_utf8):
1764         (detect_coding_iso2022):
1765         (decode_coding_iso2022):
1766         (decode_coding_no_conversion):
1767         (mule_decode):
1768         Make all detecting and decoding functions take an Extbyte * arg.
1769         (text_encode_generic):
1770         (encode_coding_big5):
1771         (encode_coding_no_conversion):
1772         (mule_encode):
1773         Make all encoding functions take a Bufbyte * arg.
1774         Use size_t instead of unsigned int for memory sizes.
1775         Only cast to unsigned char whenever dereferencing Extbyte *.
1776
1777         (struct lrecord_description fcd_description_1): Use countof.
1778         (complex_vars_of_file_coding):
1779         Use countof instead of sizeof.
1780         Use CHECK_NATNUM instead of CHECK_INT.
1781
1782 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1783
1784         * mule-charset.c (Fget_char_attribute): Add new optional argument
1785         `default-value'.
1786         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1787         (remove_char_ccs): Likewise.
1788
1789 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1790
1791         * text-coding.c (char_encode_shift_jis): New implementation in
1792         UTF-2000.
1793         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1794         ...)'.
1795
1796         * mule-charset.c (Vcharset_chinese_big5): New variable in
1797         UTF-2000.
1798         (Qchinese_big5): New variable in UTF-2000.
1799         (BIG5_SAME_ROW): New macro in UTF-2000.
1800         (make_builtin_char): Use builtin characters of
1801         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1802         characters of `Vcharset_chinese_big5'.
1803         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1804         (complex_vars_of_mule_charset): Add new coded-charset
1805         `chinese-big5' in UTF-2000.
1806
1807         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1808         (Vcharset_chinese_big5): New external variable declaration.
1809         (Vcharset_japanese_jisx0208_1990): Likewise.
1810
1811 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1812
1813         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1814         function.
1815         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1816
1817 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1818
1819         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1820         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1821         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1822         `mojikyo-pj-*'.
1823
1824 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1825
1826         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1827
1828 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1829
1830         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1831         to 0.17.
1832
1833 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1834
1835         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1836         for `CHARSET_BY_ATTRIBUTES'.
1837         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1838         `CHARSET_BY_ATTRIBUTES'.
1839
1840         * text-coding.c (struct decoding_stream): Rename member `CH' to
1841         `CPOS'.
1842         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1843         (decode_coding_sjis): Likewise.
1844         (decode_coding_big5): Likewise.
1845         (decode_coding_ucs4): Likewise.
1846         (decode_coding_utf8): Likewise.
1847         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1848         `CHARSET_BY_ATTRIBUTES'.
1849         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1850         `str->counter'; decode 3, 4 bytes sets.
1851         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1852         sets.
1853         (decode_coding_no_conversion): Use `str->cpos' instead of
1854         `str->ch'.
1855
1856         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1857         (Qmojikyo_2022_1): New variable.
1858         (make_charset): Don't use `CHARSET_TYPE_*'.
1859         (range_charset_code_point): Support coded-charset
1860         `mojikyo-2022-1'.
1861         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1862         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1863         `CHARSET_BY_ATTRIBUTES'.
1864         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1865         `CHARSET_BY_ATTRIBUTES'.
1866         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1867         (complex_vars_of_mule_charset): Add new coded-charset
1868         `mojikyo-2022-1'.
1869
1870         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1871         interface; changed to inline function.
1872
1873         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1874         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1875         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1876         (CHARSET_TYPE_94): Deleted.
1877         (CHARSET_TYPE_94X94): Deleted.
1878         (CHARSET_TYPE_96): Deleted.
1879         (CHARSET_TYPE_96X96): Deleted.
1880         (CHARSET_TYPE_128): Deleted.
1881         (CHARSET_TYPE_128X128): Deleted.
1882         (CHARSET_TYPE_256): Deleted.
1883         (CHARSET_TYPE_256X256): Deleted.
1884         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1885         to inline function.
1886         (DECODE_MOJIKYO_2022): New inline function.
1887         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1888         `Vcharset_mojikyo_2022_1'.
1889
1890 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1891
1892         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1893         instead of `EQ'.
1894         (put_byte_table): Likewise.
1895         (char_id_table_equal): Use `get_byte_table' [new implementation].
1896
1897 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1898
1899         * mule-charset.c: Include <limits.h> in UTF-2000.
1900         (BT_UINT8_MIN): New macro in UTF-2000.
1901         (BT_UINT8_MAX): New macro in UTF-2000.
1902         (BT_UINT8_t): New macro in UTF-2000.
1903         (BT_UINT8_nil): New macro in UTF-2000.
1904         (BT_UINT8_unbound): New macro in UTF-2000.
1905         (INT_UINT8_P): New inline function in UTF-2000.
1906         (UINT8_VALUE_P): New inline function in UTF-2000.
1907         (UINT8_ENCODE): New inline function in UTF-2000.
1908         (UINT8_DECODE): New inline function in UTF-2000.
1909         (mark_uint8_byte_table): New function in UTF-2000.
1910         (print_uint8_byte_table): New function in UTF-2000.
1911         (uint8_byte_table_equal): New function in UTF-2000.
1912         (uint8_byte_table_hash): New function in UTF-2000.
1913         (make_uint8_byte_table): New function in UTF-2000.
1914         (uint8_byte_table_same_value_p): New function in UTF-2000.
1915         (BT_UINT16_MIN): New macro in UTF-2000.
1916         (BT_UINT16_MAX): New macro in UTF-2000.
1917         (BT_UINT16_t): New macro in UTF-2000.
1918         (BT_UINT16_nil): New macro in UTF-2000.
1919         (BT_UINT16_unbound): New macro in UTF-2000.
1920         (INT_UINT16_P): New inline function in UTF-2000.
1921         (UINT16_VALUE_P): New inline function in UTF-2000.
1922         (UINT16_ENCODE): New inline function in UTF-2000.
1923         (UINT16_DECODE): New inline function in UTF-2000.
1924         (UINT8_TO_UINT16): New inline function in UTF-2000.
1925         (mark_uint16_byte_table): New function in UTF-2000.
1926         (print_uint16_byte_table): New function in UTF-2000.
1927         (uint16_byte_table_equal): New function in UTF-2000.
1928         (uint16_byte_table_hash): New function in UTF-2000.
1929         (make_uint16_byte_table): New function in UTF-2000.
1930         (uint16_byte_table_same_value_p): New function in UTF-2000.
1931         (print_byte_table): New function in UTF-2000.
1932         (byte-table): Use `print_byte_table' as printer.
1933         (make_byte_table): Delete second argument `older'.
1934         (byte_table_same_value_p): New function in UTF-2000.
1935         (copy_byte_table): Deleted.
1936         (get_byte_table): New function in UTF-2000.
1937         (put_byte_table): New function in UTF-2000.
1938         (print_char_id_table): New function in UTF-2000.
1939         (char-id-table): Use `print_char_id_table' as printer.
1940         (make_char_id_table): Delete second argument `older'.
1941         (get_char_id_table): Use `get_byte_table [new implementation].
1942         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1943         implementation].
1944         (Ffind_char_attribute_table): New function in UTF-2000.
1945         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1946         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1947         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1948         (syms_of_mule_charset): Add new function
1949         `find-char-attribute-table' in UTF-2000.
1950
1951         * lrecord.h (enum lrecord_type): Add
1952         `lrecord_type_uint16_byte_table' and
1953         `lrecord_type_uint8_byte_table'.
1954
1955         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1956         (Lisp_Uint8_Byte_Table): New type.
1957         (XUINT8_BYTE_TABLE): New macro.
1958         (XSETUINT8_BYTE_TABLE): New macro.
1959         (UINT8_BYTE_TABLE_P): New macro.
1960         (GC_UINT8_BYTE_TABLE_P): New macro.
1961         (struct Lisp_Uint16_Byte_Table): New structure.
1962         (Lisp_Uint16_Byte_Table): New type.
1963         (XUINT16_BYTE_TABLE): New macro.
1964         (XSETUINT16_BYTE_TABLE): New macro.
1965         (UINT16_BYTE_TABLE_P): New macro.
1966         (GC_UINT16_BYTE_TABLE_P): New macro.
1967
1968 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1969
1970         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1971         (Vcharacter_ideographic_strokes_table): Deleted.
1972         (Vcharacter_total_strokes_table): Deleted.
1973         (Vcharacter_morohashi_daikanwa_table): Deleted.
1974         (Vcharacter_decomposition_table): Deleted.
1975         (Qname): Deleted because it is duplicated.
1976         (Qideographic_radical): Deleted.
1977         (Qideographic_strokes): Deleted.
1978         (Qtotal_strokes): Deleted.
1979         (Qmorohashi_daikanwa): Deleted.
1980         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1981         `ideographic-radical', `ideographic-strokes', `total-strokes',
1982         `morohashi-daikanwa' and `->decomposition'.
1983         (Fget_char_attribute): Likewise.
1984         (Fput_char_attribute): Likewise; use `make-vector' instead of
1985         `make_older_vector' for `->decomposition' value.
1986         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1987         `ideograph-daikanwa'.
1988         (syms_of_mule_charset): Delete builtin symbols `name',
1989         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1990         `morohashi-daikanwa'.
1991         (vars_of_mule_charset): Don't setup
1992         `Vcharacter_ideographic_radical_table',
1993         `Vcharacter_ideographic_strokes_table',
1994         `Vcharacter_total_strokes_table',
1995         `Vcharacter_morohashi_daikanwa_table' and
1996         `Vcharacter_decomposition_table'.
1997
1998 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1999
2000         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2001         `make_older_vector', `make_vector_newer_1' and
2002         `make_vector_newer'.
2003
2004         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2005         `make_older_vector' and `make_vector_newer'.
2006
2007         * config.h.in (HAVE_GGC): New macro.
2008
2009 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2010
2011         * mule-charset.c (struct char_attribute_list_closure): New
2012         structure in UTF-2000.
2013         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2014         (Fchar_attribute_list): Likewise.
2015         (Fset_charset_mapping_table): Use `make_vector_newer'.
2016         (Fdecode_builtin_char): New function in UTF-2000.
2017         (syms_of_mule_charset): Add new function `char-attribute-list' and
2018         `decode-builtin-char' in UTF-2000.
2019
2020         * lisp.h (make_vector_newer): New prototype.
2021
2022         * alloc.c (make_vector_newer_1): New function.
2023         (make_vector_newer): New function.
2024
2025 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2026
2027         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2028         50100)'.
2029
2030 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2031
2032         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2033         (Vcharacter_attribute_table): Deleted.
2034         (Vcharacter_name_table): Deleted.
2035         (put_char_attribute): Deleted.
2036         (remove_char_attribute): Deleted.
2037         (struct char_attribute_alist_closure): New structure.
2038         (add_char_attribute_alist_mapper): New function.
2039         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2040         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2041         (Fget_char_attribute): Likewise.
2042         (Fput_char_attribute): Likewise.
2043         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2044         of `remove_char_attribute'.
2045         (Fdefine_char): Return character.
2046         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2047         and `Vcharacter_name_table'.
2048         (complex_vars_of_mule_charset): Likewise
2049         `Vchar_attribute_hash_table'.
2050
2051 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2052
2053         * character.h (CHARC_CHARSET): New macro.
2054         (CHARC_CHARSET_ID): New macro.
2055         (CHARC_CODE_POINT): New macro.
2056         (CHARC_COLUMNS): New macro.
2057         (CHARC_TO_CHAR): New inline function.
2058         (CHARC_EQ): New inline function.
2059         (CHARC_ASCII_EQ): New inline function.
2060         (CHARC_IS_SPACE): New inline function.
2061         (ASCII_TO_CHARC): New inline function.
2062
2063         * char-ucs.h (encode_char_2): Deleted.
2064         (ENCODE_CHAR): Use `encode_char_1' again.
2065         (breakup_char_1): Likewise.
2066         (CHAR_TO_CHARC): New inline function.
2067
2068         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2069
2070 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2071
2072         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2073         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2074         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2075         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2076         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2077         `CHARC_IS_SPACE'.
2078         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2079
2080         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2081         `CHARC_CODE_POINT'.
2082         (x_output_display_block): Use `CHARC_CHARSET' and
2083         `CHARC_ASCII_EQ'.
2084
2085         * redisplay-tty.c (tty_output_display_block): Use
2086         `CHARC_ASCII_EQ'.
2087         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2088
2089         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2090
2091         * insdel.c (find_charsets_in_charc_string): Use
2092         `CHARC_CHARSET_ID'.
2093         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2094         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2095         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2096         (convert_charc_string_into_malloced_string): Likewise.
2097
2098 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2099
2100         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2101         instead of <Emchar_dynarr *> for buf; use
2102         `convert_bufbyte_string_into_charc_dynarr' instead of
2103         `convert_bufbyte_string_into_emchar_dynarr'; use
2104         `find_charsets_in_charc_string' instead of
2105         `find_charsets_in_emchar_string'.
2106
2107         * redisplay.h:
2108         - Include "character.h".
2109         (struct rune): New member `cglyph'; delete member `chr'.
2110
2111         * redisplay.c (redisplay_text_width_charc_string): New function;
2112         delete `redisplay_text_width_emchar_string'.
2113         (rtw_charc_dynarr): New variable; renamed from
2114         `rtw_emchar_dynarr'.
2115         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2116         `rtw_emchar_dynarr'; use
2117         `convert_bufbyte_string_into_charc_dynarr' instead of
2118         `convert_bufbyte_string_into_emchar_dynarr'; use
2119         `redisplay_text_width_charc_string' instead of
2120         `redisplay_text_width_emchar_string'.
2121         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2122         instead of `rtw_emchar_dynarr'; use
2123         `convert_bufbyte_string_into_charc_dynarr' instead of
2124         `convert_bufbyte_string_into_emchar_dynarr'.
2125         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2126         `redisplay_text_width_charc_string' instead of
2127         `redisplay_text_width_emchar_string'.
2128         (create_text_block): Modify for <struct rune> change.
2129         (generate_formatted_string_db): Likewise.
2130         (create_string_text_block): Likewise.
2131         (pixel_to_glyph_translation): Likewise.
2132
2133         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2134         instead of <const Emchar *>.
2135         (x_text_width): Likewise.
2136         (x_output_display_block): Use <Charc_dynarr *> instead
2137         <Emchar_dynarr *>; modify for <structure rune> change.
2138         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2139         *>.
2140
2141         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2142         <const Emchar *>; use `charc_string_displayed_columns' instead of
2143         `emchar_string_displayed_columns'.
2144         (tty_output_display_block): Use <Charc_dynarr *> instead of
2145         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2146         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2147         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2148         `tty_output_emchar_dynarr_dynarr'.
2149         (tty_output_charc_dynarr): New function; delete
2150         `tty_output_charc_dynarr'.
2151
2152         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2153         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2154         <Emchar_dynarr *> for buf; use
2155         `convert_bufbyte_string_into_charc_dynarr' instead of
2156         `convert_bufbyte_string_into_emchar_dynarr'.
2157
2158         * frame.c (title_string_charc_dynarr): New variable; renamed from
2159         `title_string_emchar_dynarr'.
2160         (generate_title_string): Use `title_string_charc_dynarr' instead
2161         of `title_string_emchar_dynarr'; use
2162         `convert_charc_string_into_malloced_string' instead of
2163         `convert_emchar_string_into_malloced_string'.
2164         (init_frame): Use `title_string_charc_dynarr' instead of
2165         `title_string_emchar_dynarr'.
2166
2167         * console.h:
2168         - Include "character.h".
2169         (struct console_methods): Use <const Charc *> instead of <const
2170         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2171         <Emchar_dynarr *> in output_string_method.
2172
2173         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2174         <Emchar_dynarr *>.
2175
2176         * console-stream.c (stream_text_width): Use <const Charc *>
2177         instead of <const Emchar *>.
2178
2179         * character.h (Charc_dynarr): New type.
2180
2181         * char-ucs.h (structure Charc): New structure; define new type
2182         `Charc'.
2183
2184         * char-lb.h (DECODE_CHAR): New inline function.
2185         (encode_char_1): New inline function.
2186         (ENCODE_CHAR): New macro.
2187         (structure Charc): New structure; define new type `Charc'.
2188
2189         * char-1byte.h (Vcharset_control_1): New macro.
2190         (Vcharset_latin_iso8859_1): New macro.
2191         (DECODE_CHAR): New inline function.
2192         (encode_char_1): New inline function.
2193         (ENCODE_CHAR): New macro.
2194         (structure Charc): New structure; define new type `Charc'.
2195
2196         * insdel.c (find_charsets_in_charc_string): New function; delete
2197         `find_charsets_in_emchar_string'.
2198         (charc_string_displayed_columns): New function; delete
2199         `emchar_string_displayed_columns'.
2200         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2201         `convert_bufbyte_string_into_emchar_dynarr'.
2202         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2203         `convert_charc_string_into_bufbyte_dynarr'.
2204         (convert_charc_string_into_malloced_string): New function; delete
2205         `convert_charc_string_into_malloced_string'.
2206
2207         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2208         `find_charsets_in_emchar_string'.
2209         (charc_string_displayed_columns): New prototype; delete
2210         `emchar_string_displayed_columns'.
2211         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2212         `convert_charc_string_into_bufbyte_dynarr'.
2213         (convert_charc_string_into_malloced_string): New prototype; delete
2214         `convert_charc_string_into_malloced_string'.
2215
2216 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2217
2218         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2219
2220 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2221
2222         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2223
2224         * char-ucs.h: Use <short> for <Charset_ID>.
2225
2226         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2227         <Charset_ID>.
2228
2229 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2230
2231         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2232         to 0.16.
2233
2234 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2235
2236         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2237         variable.
2238         (Qmorohashi_daikanwa): New variable.
2239         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2240         for `morohashi-daikanwa' attribute.
2241         (Fget_char_attribute): Likewise.
2242         (Fput_char_attribute): Likewise.
2243         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2244         has the same value of `ideograph-daikanwa'.
2245         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2246         (vars_of_mule_charset): Setup
2247         `Vcharacter_morohashi_daikanwa_table'.
2248
2249 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2250
2251         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2252         attributes.
2253         (add_charset_to_list_mapper): Add `key' instead of
2254         `XCHARSET_NAME (value)' to return aliases.
2255
2256 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2257
2258         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2259         variable.
2260         (Vcharacter_ideographic_strokes_table): New variable.
2261         (Qideographic_radical): New variable.
2262         (Qideographic_strokes): New variable.
2263         (Fchar_attribute_alist): Use
2264         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2265         attribute; use `Vcharacter_ideographic_strokes_table' for
2266         `ideographic-strokes' attribute.
2267         (Fget_char_attribute): Likewise.
2268         (Fput_char_attribute): Likewise.
2269         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2270         `ideographic-strokes'.
2271         (vars_of_mule_charset): Setup
2272         `Vcharacter_ideographic_radical_table' and
2273         `Vcharacter_ideographic_strokes_table'.
2274
2275 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2276
2277         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2278         (Qtotal_strokes): New variable.
2279         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2280         `total-strokes' attribute.
2281         (Fget_char_attribute): Likewise.
2282         (Fput_char_attribute): Likewise.
2283         (syms_of_mule_charset): Add new symbol `total-strokes'.
2284         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2285
2286 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2287
2288         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2289         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2290         are found.
2291         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2292         `->decomposition' attribute.
2293         (Fput_char_attribute): Likewise.
2294         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2295
2296 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2297
2298         * mule-charset.c (decoding_table_check_elements): New function.
2299         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2300
2301 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2302
2303         * mule-charset.c (Fset_charset_mapping_table): Use
2304         `put_char_ccs_code_point'.
2305
2306 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2307
2308         * mule-charset.c (decoding_table_put_char): New inline function.
2309         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2310
2311 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2312
2313         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2314         (XCHARSET_BYTE_SIZE): New macro.
2315         (decoding_table_remove_char): New inline function.
2316         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2317         `decoding_table_remove_char'.
2318         (remove_char_ccs): Use `decoding_table_remove_char'.
2319         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2320
2321 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2322
2323         * mule-charset.c (Vcharacter_name_table): New variable.
2324         (Qname): New variable.
2325         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2326         attribute.
2327         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2328         `Vcharacter_name_table' for `name' attribute.
2329         (Fremove_char_attribute): Use function `remove_char_ccs'.
2330         (put_char_ccs_code_point): New function.
2331         (remove_char_ccs): New function.
2332         (syms_of_mule_charset): Add new symbol `name'.
2333         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2334
2335 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2336
2337         * mule-charset.c (make_byte_table): Add new argument `older'.
2338         (make_char_id_table): Likewise.
2339         (copy_char_id_table): Comment out because it is not used.
2340         (put_char_id_table): Modify for `make_byte_table'.
2341         (Fput_char_attribute): Make encoding_table as older object;
2342         inherit older bit of `Vcharacter_composition_table'.
2343         (mark_charset): Don't mark `cs->encoding_table'.
2344         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2345         normal object; make `Vcharacter_composition_table' as an older
2346         object; delete staticpro for `Vcharacter_composition_table'; make
2347         `Vcharacter_variant_table' as a normal object.
2348
2349         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2350         (mark_object): Don't check older object in UTF-2000.
2351
2352         * lrecord.h (struct lrecord_header): Add new member `older' in
2353         UTF-2000.
2354         (set_lheader_implementation): Setup `SLI_header->older' in
2355         UTF-2000.
2356         (set_lheader_older_implementation): New macro in UTF-2000.
2357         (OLDER_RECORD_P): New macro in UTF-2000.
2358         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2359         (alloc_older_lcrecord): New prototype in UTF-2000.
2360         (alloc_older_lcrecord_type): New macro in UTF-2000.
2361
2362 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2363
2364         * mule-charset.c (byte_table_description): Use
2365         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2366         (char_id_table_description): Delete bogus `, 1'.
2367         (Fget_char_attribute): Refer encoding_table of each coded-charset
2368         to get value of coded-charset attribute of a character.
2369         (Fput_char_attribute): Use `make_older_vector' instead of
2370         `make_vector'; use encoding_table of each coded-charset to store
2371         value of coded-charset attribute of a character.
2372         (Fremove_char_attribute): Use encoding_table of each coded-charset
2373         to store value of coded-charset attribute of a character.
2374         (mark_charset): Mark `cs->encoding_table'; don't mark
2375         `cs->decoding_table'.
2376         (charset_description): Add description of new member
2377         `encoding_table'.
2378         (make_charset): Initialize `encoding_table'.
2379
2380         * char-ucs.h (struct Lisp_Charset): Add new member
2381         `encoding_table'.
2382         (CHARSET_ENCODING_TABLE): New macro.
2383         (XCHARSET_ENCODING_TABLE): New macro.
2384         (charset_code_point): New implementation.
2385         (encode_char_1): Likewise.
2386
2387         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2388         (disksave_object_finalization_1): Call finalizers of
2389         `all_older_lcrecords' in UTF-2000.
2390         (make_older_vector): New function in UTF-2000.
2391         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2392         UTF-2000.
2393
2394         * lisp.h (make_older_vector): New prototype in UTF-2000.
2395
2396 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2397
2398         * lrecord.h (enum lrecord_type): Rename
2399         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2400
2401         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2402         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2403         `get_char_code_table'.
2404
2405         * mule-charset.c (mark_char_id_table): Renamed from
2406         `mark_char_code_table'.
2407         (char_id_table_equal): Renamed from `char_code_table_equal'.
2408         (char_id_table_hash): Renamed from `char_code_table_hash'.
2409         (make_char_id_table): Renamed from `make_char_code_table'.
2410         (copy_char_id_table): Renamed from `copy_char_code_table'.
2411         (get_char_id_table): Renamed from `get_char_code_table'.
2412         (put_char_id_table): Renamed from `put_char_code_table'.
2413         (to_char_id): Renamed from `to_char_code'.
2414
2415         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2416         `Lisp_Char_Code_Table'.
2417         (char_id_table): Renamed from `char_code_table'.
2418         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2419         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2420         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2421         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2422         (get_char_id_table): Renamed from `get_char_code_table'.
2423
2424 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2425
2426         * lrecord.h (enum lrecord_type): Rename
2427         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2428
2429         * mule-charset.c (mark_byte_table): Renamed from
2430         `mark_char_byte_table'.
2431         (byte_table_equal): Renamed from `char_byte_table_equal'.
2432         (byte_table_hash): Renamed from `byte_table_hash'.
2433         (make_byte_table): Renamed from `make_byte_table'.
2434         (copy_byte_table): Renamed from `copy_char_byte_table'.
2435
2436         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2437         `Lisp_Char_Byte_Table'.
2438         (byte_table): Renamed from `char_byte_table'.
2439         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2440         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2441         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2442         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2443
2444 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2445
2446         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2447         (dfc_convert_to_internal_format): Likewise.
2448         
2449         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2450         * text-coding.c (Fcoding_system_alias_p): New function.
2451         * text-coding.c (Fcoding_system_aliasee): New function.
2452         * text-coding.c (append_suffix_to_symbol): New function.
2453         * text-coding.c (dangling_coding_system_alias_p): New function.
2454         * text-coding.c (Ffind_coding_system):
2455         * text-coding.c (Fcopy_coding_system):
2456         * text-coding.c (encode_coding_no_conversion):
2457         * text-coding.c (syms_of_file_coding):
2458         * text-coding.c (vars_of_file_coding):
2459         Rewrite coding system alias code.
2460         Allow nested aliases, like symbolic links.
2461         Allow redefinition of coding system aliases.
2462         Prevent existence of dangling coding system aliases.
2463         Eliminate convert_to_external_format.
2464         Eliminate convert_to_internal_format.
2465         
2466         * text-coding.c: Change enum eol_type to eol_type_t.
2467
2468 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2469
2470         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2471         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2472
2473         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2474         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2475
2476 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2477
2478         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2479         `ideograph-daikanwa'.
2480
2481         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2482         (Vcharset_ucs_bmp): Likewise.
2483         (Vcharset_mojikyo): Add new extern variable definition.
2484         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2485         (Vcharset_latin_iso8859_3): Likewise.
2486         (Vcharset_latin_iso8859_4): Likewise.
2487         (Vcharset_latin_iso8859_9): Likewise.
2488         (Vcharset_latin_viscii_lower): Likewise.
2489         (Vcharset_latin_viscii_upper): Likewise.
2490         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2491         `mojikyo' code-point is used to decode.
2492         (encode_char_2): New function [to convert `mojikyo' code-point to
2493         Mojikyo font encoding].
2494         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2495         (breakup_char_1): Likewise.
2496         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2497
2498 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2499
2500         * text-coding.c (Fmake_coding_system): Add document about
2501         `disable-composition' property.
2502
2503 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2504
2505         * text-coding.c (Qdisable_composition): New variable; delete
2506         `Qcomposite'.
2507         (Fmake_coding_system): Add new property `disable-composite';
2508         delete property `composite'.
2509         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2510         instead of `!CODING_SYSTEM_COMPOSITE'.
2511         (syms_of_file_coding): Add new symbol `disable-composition';
2512         delete symbol `composite'.
2513
2514         * file-coding.h (struct Lisp_Coding_System): Add
2515         `disable_composition'; delete `enable_composition'.
2516         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2517         `CODING_SYSTEM_COMPOSITE'.
2518         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2519         `XCODING_SYSTEM_COMPOSITE'.
2520
2521 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2522
2523         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2524         to 0.15.
2525
2526 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2527
2528         * text-coding.c (Qcomposite): New variable.
2529         (Fmake_coding_system): Add new property `composite'.
2530         (struct decoding_stream): Add `combined_char_count',
2531         `combined_chars' and `combining_table' in UTF-2000.
2532         (COMPOSE_FLUSH_CHARS): New macro.
2533         (COMPOSE_ADD_CHAR): New macro.
2534         (reset_decoding_stream): Reset `str->combined_char_count' and
2535         `str->combining_table' in UTF-2000.
2536         (decode_coding_iso2022): Modify for character-decomposition.
2537         (syms_of_file_coding): Add new symbol `composite'.
2538
2539 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2540
2541         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2542         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2543         of `Vcharacter_composition_table' if `->decomposition' property
2544         has only 1 element.
2545         (Qlatin_tcvn5712): New variable.
2546         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2547         (complex_vars_of_mule_charset): Add new coded-charset
2548         `latin-tcvn5712'.
2549
2550         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2551
2552 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2553
2554         * file-coding.h (struct Lisp_Coding_System): Add
2555         `enable_composition'.
2556         (CODING_SYSTEM_COMPOSITE): New macro.
2557         (XCODING_SYSTEM_COMPOSITE): New macro.
2558
2559 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2560
2561         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2562
2563 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2564
2565         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2566         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2567
2568 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2569
2570         * mule-charset.c (Vcharset_mojikyo): New variable.
2571         (Fdefine_char): Don't use coded-charset which does not have
2572         non-builtin character range to allocate character-id.
2573         (Qmojikyo): New variable.
2574         (syms_of_mule_charset): Add new symbol `mojikyo'.
2575         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2576
2577         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2578         (LEADING_BYTE_MOJIKYO): New macro.
2579         (MIN_CHAR_MOJIKYO): New macro.
2580         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2581         (MAX_CHAR_MOJIKYO): New macro.
2582
2583 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2584
2585         * mule-charset.c (remove_char_attribute): Fixed.
2586
2587 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2588
2589         * mule-charset.c (remove_char_attribute): New function.
2590         (Fremove_char_attribute): New function.
2591         (encode_builtin_char_1): Comment out builtin-support for
2592         greek-iso8859-7 and cyrillic-iso8859-5.
2593         (Fdecode_char): Check `code' is an integer.
2594         (syms_of_mule_charset): Add `remove-char-attribute'.
2595         (MIN_CHAR_GREEK): Deleted.
2596         (MAX_CHAR_GREEK): Likewise.
2597         (MIN_CHAR_CYRILLIC): Likewise.
2598         (MAX_CHAR_CYRILLIC): Likewise.
2599         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2600         MAX_CHAR_GREEK for `greek-iso8859-7'.
2601
2602         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2603         (MAX_CHAR_GREEK): Likewise.
2604         (MIN_CHAR_CYRILLIC): Likewise.
2605         (MAX_CHAR_CYRILLIC): Likewise.
2606
2607 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2608
2609         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2610         format is used without `ucs' property.
2611         (Fdecode_char): Fix problem with GR representation.
2612         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2613         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2614
2615 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2616
2617         * mule-charset.c (make_builtin_char): New function.
2618         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2619         (Fset_charset_mapping_table): Modify for new representation of
2620         code-point.
2621         (Fdecode_char): New function.
2622         (syms_of_mule_charset): Add new builtin function `decode-char' in
2623         UTF-2000.
2624
2625         * char-ucs.h (make_builtin_char): New prototype.
2626         (DECODE_CHAR): New inline function.
2627         (MAKE_CHAR): Use `DECODE_CHAR'.
2628
2629 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2630
2631         * text-coding.c (parse_charset_conversion_specs): Use
2632         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2633         `XCHARSET_TYPE'.
2634         (iso2022_designate): Likewise.
2635
2636         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2637         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2638
2639         * mule-charset.c (Vcharset_ucs): New variable.
2640         (print_charset): Change design; use `CHARSET_CHARS' and
2641         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2642         (make_charset): Change signature to specify `chars' and
2643         `dimension' instead of `type'.
2644         (range_charset_code_point): Modify for 256^n-set.
2645         (encode_builtin_char_1): Encode as `ucs' in default.
2646         (Fmake_charset): Modify for `make_charset'.
2647         (Fmake_reverse_direction_charset): Likewise.
2648         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2649         UTF-2000.
2650         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2651         for `make_charset'.
2652
2653         * char-ucs.h (Vcharset_ucs): New variable.
2654         (LEADING_BYTE_UCS): New macro.
2655         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2656         and `chars' to `unsigned short' from `unsigned int'.
2657         (CHARSET_TYPE): Deleted.
2658         (XCHARSET_TYPE): Deleted.
2659
2660 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2661
2662         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2663
2664         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2665         (ENCODE_CHAR): New macro.
2666
2667 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2668
2669         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2670         to 0.14 (Kawachi-Katakami).
2671
2672 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2673
2674         * text-coding.c (char_encode_shift_jis): Modify for
2675         `charset_code_point'.
2676         (char_encode_iso2022): Likewise.
2677
2678         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2679         (integer) instead of list of <Lisp_Object>s (integers) as the
2680         format of code-point of a coded-charset.
2681         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2682         (encode_builtin_char_1): New function; delete
2683         `split_builtin_char'.
2684         (charset_code_point): Return <int> instead of <Lisp_Object>.
2685         (Fsplit_char): Don't use `SPLIT_CHAR'.
2686
2687         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2688         prototype for `split_builtin_char'.
2689         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2690         (charset_code_point): Likewise.
2691         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2692         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2693
2694 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2695
2696         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2697         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2698
2699 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2700
2701         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2702
2703         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2704         (MAX_CHAR_OBS_94x94): Deleted.
2705
2706 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2707
2708         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2709
2710         * char-ucs.h (MAX_CHAR_BMP): New macro.
2711
2712 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2713
2714         * text-coding.c: Sync with r21-2-24.
2715
2716 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2717
2718         * file-coding.c: Modify for UTF-2000.
2719
2720 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2721
2722         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2723         to 0.13 (Takaida).
2724
2725 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2726
2727         * mule-charset.c (split_builtin_char): Delete builtin support for
2728         `katakana-jisx0201'.
2729         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2730         BMP area in builtin representation.
2731
2732         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2733         `Vcharset_katakana_jisx0201'.
2734
2735 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2736
2737         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2738         (Qisolated): New variable.
2739         (Qinitial): New variable.
2740         (Qmedial): New variable.
2741         (Qfinal): New variable.
2742         (Qvertical): New variable.
2743         (Qsmall): New variable.
2744         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2745         `Qvertical' and `Qsmall'.
2746         (Qmojikyo_pj_[1 .. 21]): New variable.
2747         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2748         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2749         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2750         .. 21]'.
2751
2752 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2753
2754         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2755         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2756         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2757
2758 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2759
2760         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2761         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2762         BMP.
2763         (Qjapanese_jisx0208_1990): New variable.
2764         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2765         (complex_vars_of_mule_charset): Add new coded-charset
2766         `japanese-jisx0208-1990'.
2767
2768         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2769         (MIN_CHAR_JIS_X0208_1990): New macro.
2770         (MAX_CHAR_JIS_X0208_1990): New macro.
2771
2772 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2773
2774         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2775         coded-charset is not found.
2776
2777 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2778
2779         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2780         (Fdefine_char): Use `Fmake_char'.
2781
2782 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2783
2784         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2785         (Vcharset_hiragana_jisx0208): Deleted.
2786         (Vcharset_katakana_jisx0208): Deleted.
2787         (Qideograph_daikanwa): New variable.
2788         (Qhiragana_jisx0208): Deleted.
2789         (Qkatakana_jisx0208): Deleted.
2790         (split_builtin_char): Split `ideograph-daikanwa'.
2791         (Fsplit_char): New implementation for UTF-2000.
2792         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2793         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2794         (complex_vars_of_mule_charset): Add new coded-charset
2795         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2796         `katakana-jisx0208'.
2797
2798         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2799         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2800         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2801         (MIN_CHAR_DAIKANWA): New macro.
2802         (MAX_CHAR_DAIKANWA): New macro.
2803
2804 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2805
2806         * data.c (Fstring_to_number): Don't recognize floating point if
2807         base is not 10.
2808
2809 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2810
2811         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2812
2813 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2814
2815         * mule-charset.c (Qsquare): New variable.
2816         (to_char_code): Add `Qsquare'.
2817         (syms_of_mule_charset): Add new symbol `square'.
2818
2819 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2820
2821         * mule-charset.c (Qcircle): New variable.
2822         (to_char_code): Add `Qcircle'.
2823         (syms_of_mule_charset): Add new symbol `circle'.
2824
2825 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2826
2827         * mule-charset.c (Qfont): New variable.
2828         (to_char_code): Add `Qfont'.
2829         (syms_of_mule_charset): Add new symbol `font'.
2830
2831 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2832
2833         * mule-charset.c (Qsub): New variable.
2834         (to_char_code): Add `Qsub'.
2835         (syms_of_mule_charset): Add new symbol `sub'.
2836
2837 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2838
2839         * mule-charset.c (Fput_char_attribute): Convert each element of
2840         VALUE to GL position if ATTRIBUTE is a GR-set,
2841
2842 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2843
2844         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2845         coded-charset is a GR-set.
2846
2847 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2848
2849         * mule-charset.c (Fput_char_attribute): Check each element of
2850         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2851
2852 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2853
2854         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2855         UTF-2000.
2856         (Qethiopic_ucs): New variable in UTF-2000.
2857         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2858         (complex_vars_of_mule_charset): Add new coded-charset
2859         `ethiopic-ucs' in UTF-2000.
2860
2861         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2862         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2863         9)'.
2864         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2865         10)'.
2866         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2867
2868 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2869
2870         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2871         `ascii'.
2872
2873 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2874
2875         * mule-charset.c (Vcharacter_variant_table): New variable.
2876         (Q_ucs): New variable.
2877         (Fchar_variants): New function.
2878         (Fput_char_attribute): Register `->ucs' value to
2879         `Vcharacter_variant_table'.
2880         (syms_of_mule_charset): Add new function `char-variants' and new
2881         symbol `->ucs'.
2882         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2883
2884 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2885
2886         * mule-charset.c (get_char_code_table): Allow negative character
2887         code.
2888         (put_char_code_table): Likewise.
2889         (Vcharacter_composition_table): New variable.
2890         (Q_decomposition): New variable.
2891         (Qwide): New variable.
2892         (Qnarrow): New variable.
2893         (Qcompat): New variable.
2894         (QnoBreak): New variable.
2895         (Qsuper): New variable.
2896         (Qfraction): New variable.
2897         (to_char_code): New function.
2898         (Fget_composite_char): New function.
2899         (Fput_char_attribute): Register `->decomposition' value to
2900         `Vcharacter_composition_table'.
2901         (syms_of_mule_charset): Add new function `get-composite-char', new
2902         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2903         `super' and `fraction'.
2904         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2905
2906 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2907
2908         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2909         character; copy the return value.
2910
2911 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2912
2913         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2914
2915         * mule-charset.c (range_charset_code_point): Must use make_int.
2916         (split_builtin_char): New function.
2917
2918 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2919
2920         * mule-charset.c (char_byte_table): Change name from
2921         "char-code-table" to "char-byte-table".
2922         (mark_char_code_table): New function.
2923         (char_code_table_equal): New function.
2924         (char_code_table_hash): New function.
2925         (char_code_table_description): New constant.
2926         (char_code_table): New type.
2927         (make_char_code_table): New function.
2928         (copy_char_code_table): New function.
2929         (get_char_code_table): Modify for `char_code_table' type.
2930         (put_char_code_table): Likewise.
2931         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2932         (Kashiwara).
2933
2934         * char-ucs.h (char_code_table): New type.
2935         (XCHAR_CODE_TABLE): New macro.
2936         (XSETCHAR_CODE_TABLE): New macro.
2937         (CHAR_CODE_TABLE_P): New macro.
2938         (GC_CHAR_CODE_TABLE_P): New macro.
2939         (struct Lisp_Char_Code_Table): New structure.
2940
2941 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2942
2943         * mule-charset.c (Fmake_charset): Setup byte_offset for
2944         {94|96}^n-set.
2945
2946 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2947
2948         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2949         character.
2950
2951 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2952
2953         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2954         is found.
2955
2956 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2957
2958         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2959         charset, it is regarded as a charset.
2960         (put_char_attribute): New function in UTF-2000.
2961         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2962         charset, mapping-table of the charset is modified.
2963         (Fdefine_char): New function in UTF-2000.
2964         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2965         `Fput_char_attribute'.
2966         (syms_of_mule_charset): Add new function `define-char' and new
2967         symbol `ucs' in UTF-2000.
2968         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2969
2970 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2971
2972         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2973         non-UTF-2000 configuration.
2974
2975 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2976
2977         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2978         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2979
2980         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2981         deleted.
2982         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2983         (Fset_charset_mapping_table): Likewise.
2984
2985         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2986         (CHARSET_ENCODING_TABLE): Delete.
2987         (XCHARSET_ENCODING_TABLE): Delete.
2988         (charset_code_point): New interface.
2989
2990 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2991
2992         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2993         instead of `charset_get_byte1' and `charset_get_byte2'.
2994
2995         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2996         (charset_get_byte2): Deleted.
2997
2998 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2999
3000         * char-ucs.h (SPLIT_CHAR): New inline function.
3001         (breakup_char_1): Use `SPLIT_CHAR'.
3002
3003         * mule-charset.c (range_charset_code_point): New function.
3004         (charset_code_point): New function.
3005
3006         * char-ucs.h (range_charset_code_point): New interface.
3007         (breakup_char_1): Use `range_charset_code_point'.
3008
3009 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3010
3011         * mule-charset.c (Fmake_charset): Delete unused local variable
3012         `code_offset'.
3013
3014         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3015         (breakup_char_1): Find a charset and code-point in
3016         `Vcharacter_attribute_table'.
3017
3018 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3019
3020         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3021         to 0.10 (Yao).
3022
3023 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3024
3025         * mule-charset.c (Vcharacter_attribute_table): New variable.
3026         (Fchar_attribute_alist): New function.
3027         (Fget_char_attribute): New function.
3028         (Fput_char_attribute): New function.
3029         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3030         too.
3031         (syms_of_mule_charset): Add new function `char-attribute-alist',
3032         `get-char-attribute' and `put-char-attribute'.
3033         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3034
3035 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3036
3037         * mule-charset.c (Fmake_charset): Just use
3038         `get_unallocated_leading_byte'.
3039
3040         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3041         sets; don't use final-byte based number for private sets.
3042
3043 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3044
3045         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3046         integer.
3047
3048 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3049
3050         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3051         to 0.9.
3052
3053 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3054
3055         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3056         of `CHAR_LEADING_BYTE' in UTF-2000.
3057
3058         * insdel.c (find_charsets_in_bufbyte_string): Use
3059         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3060         (find_charsets_in_emchar_string): Likewise.
3061
3062         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3063         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3064
3065         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3066         (CHAR_CHARSET_ID): New macro.
3067
3068 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3069
3070         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3071         charset-id - MIN_LEADING_BYTE.
3072         (put_char_table): Likewise.
3073
3074 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3075
3076         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3077         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3078         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3079         (CHARSET_ID_OFFSET): New macro.
3080         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3081         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3082         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3083         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3084         4).
3085         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3086         5).
3087         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3088         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3089         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3090         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3091         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3092
3093 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3094
3095         * mule-charset.c (next_allocated_leading_byte): New variable in
3096         UTF-2000.
3097         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3098         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3099         (get_unallocated_leading_byte): Simply use
3100         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3101         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3102         UTF-2000.
3103
3104         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3105         (MAX_LEADING_BYTE_PRIVATE): New macro.
3106         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3107         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3108
3109 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3110
3111         * mule-charset.c (Fmake_charset): Allocate final-byte based
3112         charset-id for 94-set, 96-set and 94x94-set.
3113
3114 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3115
3116         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3117         ambiguous `else'.
3118         (Fmake_charset): Likewise.
3119         (complex_vars_of_mule_charset): Modify the font registry of
3120         `ucs-bmp' not to match `Ethiopic-Unicode'.
3121
3122 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3123
3124         * mule-charset.c (complex_vars_of_mule_charset): Add font
3125         registory of `ucs-bmp'.
3126
3127 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3128
3129         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3130         coded-charsets in `default-coded-charset-priority-list' when
3131         breaking up a character.
3132
3133         * mule-charset.c (Vcharset_latin_viscii): New variable.
3134         (Qlatin_viscii): New variable.
3135         (make_charset): Don't use `decoding_table'.
3136         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3137         byte_offset.
3138         (Fset_charset_mapping_table): New implementation.
3139         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3140         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3141         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3142         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3143         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3144         charset `latin_viscii'.
3145
3146         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3147         (CHARSET_TYPE_94X94): Change to 1 from 2.
3148         (CHARSET_TYPE_96): Change to 2 from 1.
3149         (CHARSET_TYPE_128): New macro.
3150         (CHARSET_TYPE_128X128): Change to 5 from 4.
3151         (CHARSET_TYPE_256): New macro.
3152         (CHARSET_TYPE_256X256): Change to 7 from 5.
3153         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3154
3155 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3156
3157         * text-coding.c (char_encode_shift_jis): Refer
3158         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3159         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3160
3161         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3162         (char_byte_table_equal): New function in UTF-2000.
3163         (char_byte_table_hash): New function in UTF-2000.
3164         (char_byte_table_description): New constant in UTF-2000.
3165         (char_byte_table): New type in UTF-2000.
3166         (make_char_byte_table): New function in UTF-2000.
3167         (copy_char_byte_table): New function in UTF-2000.
3168         (make_char_code_table): New macro in UTF-2000.
3169         (get_char_code_table): New function in UTF-2000.
3170         (put_char_code_table): New function in UTF-2000.
3171         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3172         (charset_description): Add setting in UTF-2000.
3173         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3174         `CHARSET_TO_BYTE1_TABLE(cs)'.
3175         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3176         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3177         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3178         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3179         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3180         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3181         `CHARSET_TO_BYTE2_TABLE(cs)'.
3182
3183         * char-ucs.h (char_byte_table): New type.
3184         (XCHAR_BYTE_TABLE): New macro.
3185         (XSETCHAR_BYTE_TABLE): New macro.
3186         (CHAR_BYTE_TABLE_P): New macro.
3187         (GC_CHAR_BYTE_TABLE_P): New macro.
3188         (struct Lisp_Char_Byte_Table): New structure.
3189         (get_char_code_table): New interface.
3190         (Emchar_to_byte_table): Deleted.
3191         (get_byte_from_character_table): Deleted.
3192         (struct Lisp_Charset): Add `encoding_table'; delete
3193         `to_byte1_table' and `to_byte2_table'.
3194         (CHARSET_ENCODING_TABLE): New macro.
3195         (CHARSET_TO_BYTE1_TABLE): Deleted.
3196         (CHARSET_TO_BYTE2_TABLE): Deleted.
3197         (XCHARSET_ENCODING_TABLE): New macro.
3198         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3199         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3200
3201 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3202
3203         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3204         `vietnamese-viscii-*'.
3205
3206 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3207
3208         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3209         (Qvietnamese_viscii_upper): New variable.
3210         (Fdefine_charset_alias): New function.
3211         (syms_of_mule_charset): Add new function `define-charset-alias'.
3212         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3213         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3214         `latin-viscii-*'.
3215
3216 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3217
3218         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3219         (MAX_CHAR_OBS_94x94): New macro.
3220         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3221         for 94x94 sets.
3222
3223         * mule-charset.c (put_byte_from_character_table): Change unit size
3224         from 128 to 256.
3225         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3226         not defined.
3227         (Fmake_reverse_direction_charset): Modify dummy argument of
3228         `make_charset' for non-UTF-2000 environment.
3229
3230 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3231
3232         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3233
3234         * mule-charset.c (destroy_byte_from_character_table): New macro.
3235         (latin_jisx0201_to_ucs): Deleted.
3236         (latin_iso8859_2_to_ucs): Deleted.
3237         (latin_iso8859_3_to_ucs): Deleted.
3238         (latin_iso8859_4_to_ucs): Deleted.
3239         (latin_iso8859_9_to_ucs): Deleted.
3240         (latin_viscii_lower_to_ucs): Deleted.
3241         (latin_viscii_upper_to_ucs): Deleted.
3242         (mark_charset): Mark `cs->decoding_table'.
3243         (Fcharset_mapping_table): Fix DOC-string.
3244         (Fset_charset_mapping_table): New function.
3245         (syms_of_mule_charset): Add nwe function
3246         `set-charset-mapping-table'.
3247         (complex_vars_of_mule_charset): Don't setup and use
3248         `latin_*_to_ucs'.
3249
3250 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3251
3252         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3253         charset.
3254
3255 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3256
3257         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3258         (Vcharset_katakana_jisx0208): New variable.
3259         (Qhiragana_jisx0208): New variable.
3260         (Qkatakana_jisx0208): New variable.
3261         (make_charset): Add new argument `byte_offset'.
3262         (charset_get_byte1): Modify for new coded-charset definition; use
3263         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3264         `XCHARSET_BYTE_OFFSET'.
3265         (Fmake_charset): Modify for `make_charset'.
3266         (Fmake_reverse_direction_charset): Likewise.
3267         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3268         `katakana-jisx0208'.
3269         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3270         `.'  in font registry of charset `katakana-jisx0201',
3271         `latin-jisx0201', `vietnamese-viscii-lower' and
3272         `vietnamese-viscii-upper'; modify DOC-string of charset
3273         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3274         registry of charset `japanese-jisx0208' not to use font for JIS
3275         X0208:1990; add new charset `hiragana-jisx0208' and
3276         `katakana-jisx0208'.
3277
3278         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3279         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3280         (struct Lisp_Charset): Add `byte_offset'.
3281         (CHARSET_BYTE_OFFSET): New macro.
3282         (XCHARSET_UCS_MIN): New macro.
3283         (XCHARSET_UCS_MAX): New macro.
3284         (XCHARSET_CODE_OFFSET): New macro.
3285         (XCHARSET_BYTE_OFFSET): New macro.
3286         (MIN_CHAR_HIRAGANA): New macro.
3287         (MAX_CHAR_HIRAGANA): New macro.
3288         (MIN_CHAR_KATAKANA): New macro.
3289         (MAX_CHAR_KATAKANA): New macro.
3290         (MAKE_CHAR): Modify for new coded-charset definition; use
3291         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3292         `XCHARSET_BYTE_OFFSET'.
3293
3294 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3295
3296         * mule-charset.c (CHAR96): Deleted.
3297         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3298         <Lisp_Object>.
3299         (latin_iso8859_2_to_ucs): Likewise.
3300         (latin_iso8859_3_to_ucs): Likewise.
3301         (latin_iso8859_4_to_ucs): Likewise.
3302         (latin_iso8859_9_to_ucs): Likewise.
3303         (latin_viscii_lower_to_ucs): Likewise.
3304         (latin_viscii_upper_to_ucs): Likewise.
3305         (latin_tcvn5712_to_ucs): Commented out.
3306         (make_charset): Change type of argument `decoding_table' from
3307         <Emchar*> to <Lisp_Object> [vector of characters].
3308         (Fmake_charset): Modify for `make_charset'.
3309         (Fmake_reverse_direction_charset): Likewise.
3310         (Fcharset_mapping_table): New function in UTF-2000.
3311         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3312         UTF-2000.
3313         (complex_vars_of_mule_charset): Modify for type change of
3314         `*_to_ucs'; modify for `make_charset'.
3315
3316         * char-ucs.h (struct Lisp_Charset): Change type of
3317         `decoding_table' from <Emchar*> to <Lisp_Object>.
3318         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3319
3320 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3321
3322         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3323         error with non-UTF-2000-Mule.
3324
3325 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3326
3327         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3328         in lisp again].
3329         (Vcharset_chinese_cns11643_4): Likewise.
3330         (Vcharset_chinese_cns11643_5): Likewise.
3331         (Vcharset_chinese_cns11643_6): Likewise.
3332         (Vcharset_chinese_cns11643_7): Likewise.
3333         (Qchinese_cns11643_3): Likewise.
3334         (Qchinese_cns11643_4): Likewise.
3335         (Qchinese_cns11643_5): Likewise.
3336         (Qchinese_cns11643_6): Likewise.
3337         (Qchinese_cns11643_7): Likewise.
3338         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3339         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3340         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3341         (complex_vars_of_mule_charset): Likewise.
3342
3343 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3344
3345         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3346         96-set.
3347         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3348         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3349
3350 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3351
3352         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3353         0xFF60.
3354         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3355         (breakup_char_1): Likewise.
3356
3357         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3358         one of them includes the specified character.
3359
3360 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3361
3362         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3363
3364 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3365
3366         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3367
3368 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3369
3370         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3371         definition for non-UTF-2000 Mule.
3372         (latin_iso8859_3_to_ucs): Likewise.
3373         (latin_iso8859_4_to_ucs): Likewise.
3374         (latin_iso8859_9_to_ucs): Likewise.
3375         (latin_jisx0201_to_ucs): Likewise.
3376         (MIN_CHAR_THAI): Likewise.
3377         (MAX_CHAR_THAI): Likewise.
3378         (MIN_CHAR_GREEK): Likewise.
3379         (MAX_CHAR_GREEK): Likewise.
3380         (MIN_CHAR_HEBREW): Likewise.
3381         (MAX_CHAR_HEBREW): Likewise.
3382         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3383         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3384         (MIN_CHAR_CYRILLIC): Likewise.
3385         (MAX_CHAR_CYRILLIC): Likewise.
3386
3387 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3388
3389         * char-ucs.h (breakup_char_1): Use
3390         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3391         thai-tis620 and katakana-jisx0201 area.
3392
3393 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3394
3395         * char-ucs.h (breakup_char_1): Use
3396         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3397         area.
3398
3399         * text-coding.c (reset_encoding_stream): Fixed.
3400         (char_encode_ucs4): Delete `& 255'.
3401
3402         * char-ucs.h (breakup_char_1): Use
3403         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3404
3405 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3406
3407         * file-coding.c (Fmake_coding_system): Don't set up
3408         `codesys->fixed.size'.
3409         (encode_coding_no_conversion): Don't refer
3410         `str->codesys->fixed.size'.
3411
3412 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3413
3414         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3415         (latin_a_char_to_byte1): Deleted.
3416         (latin_a_char_to_byte2): Deleted.
3417
3418 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3419
3420         * mule-charset.c (make_charset): Add new argument `ucs_min',
3421         `ucs_max' and `code_offset'.
3422         (charset_get_byte1): New implementation [delete specific charset
3423         depended implementations].
3424         (Fmake_charset): Modify for `make_charset'.
3425         (Fmake_reverse_direction_charset): Likewise.
3426         (complex_vars_of_mule_charset): Likewise.
3427
3428         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3429         `code_offset'.
3430         (CHARSET_UCS_MIN): New macro.
3431         (CHARSET_UCS_MAX): New macro.
3432         (CHARSET_CODE_OFFSET): New macro.
3433         (MAKE_CHAR): Delete charset depended definitions [except
3434         katakana-jisx0201].
3435
3436 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3437
3438         * char-ucs.h (breakup_char_1): Use
3439         `Vdefault_coded_charset_priority_list' for C0-Controls,
3440         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3441
3442 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3443
3444         * char-ucs.h (charset_get_byte1): New function.
3445         (XCHARSET_GET_BYTE1): Deleted.
3446         (charset_get_byte2): New function.
3447         (XCHARSET_GET_BYTE2): Deleted.
3448         (Vdefault_coded_charset_priority_list): New external variable.
3449         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3450         `Vdefault_preferred_coded_charset_list'.
3451
3452         * mule-charset.c (charset_get_byte1): New function.
3453         (charset_get_byte2): New function.
3454         (Vdefault_coded_charset_priority_list): New variable.
3455         (vars_of_mule_charset): Add new variable
3456         `default-coded-charset-priority-list'.
3457
3458 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3459
3460         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3461         (XCHARSET_GET_BYTE2): New inline function.
3462         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3463         `XCHARSET_GET_BYTE2'.
3464
3465 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3466
3467         * mule-charset.c (make_charset): Initialize
3468         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3469         NULL if table is not defined.
3470
3471 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3472
3473         * text-coding.c (char_encode_shift_jis): Use
3474         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3475         `ucs_to_latin_jisx0201'.
3476
3477         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3478         (ucs_to_latin_iso8859_2): Deleted.
3479         (ucs_to_latin_iso8859_3): Deleted.
3480         (ucs_to_latin_iso8859_4): Deleted.
3481         (ucs_to_latin_iso8859_9): Deleted.
3482         (ucs_to_latin_viscii_lower): Deleted.
3483         (ucs_to_latin_viscii_upper): Deleted.
3484         (ucs_to_latin_tcvn5712): Deleted.
3485         (make_charset): Add new argument `decoding_table'; set up
3486         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3487         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3488         `decoding_table' is defined in UTF-2000.
3489         (Fmake_charset): Modify for `make_charset'.
3490         (Fmake_reverse_direction_charset): Likewise.
3491         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3492         and `GENERATE_96_SET'.
3493
3494         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3495         (ucs_to_latin_jisx0201): Deleted.
3496         (latin_iso8859_2_to_ucs): Deleted.
3497         (ucs_to_latin_iso8859_2): Deleted.
3498         (latin_iso8859_3_to_ucs): Deleted.
3499         (ucs_to_latin_iso8859_3): Deleted.
3500         (latin_iso8859_4_to_ucs): Deleted.
3501         (ucs_to_latin_iso8859_4): Deleted.
3502         (latin_iso8859_9_to_ucs): Deleted.
3503         (ucs_to_latin_iso8859_9): Deleted.
3504         (latin_viscii_lower_to_ucs): Deleted.
3505         (ucs_to_latin_viscii_lower): Deleted.
3506         (latin_viscii_upper_to_ucs): Deleted.
3507         (ucs_to_latin_viscii_upper): Deleted.
3508         (struct Lisp_Charset): Renamed `encoding_table' to
3509         `to_byte1_table'; add `to_byte2_table'.
3510         (CHARSET_DECODING_TABLE): New macro.
3511         (CHARSET_TO_BYTE1_TABLE): New macro.
3512         (CHARSET_TO_BYTE2_TABLE): New macro.
3513         (XCHARSET_DECODING_TABLE): New macro.
3514         (XCHARSET_TO_BYTE1_TABLE): New macro.
3515         (XCHARSET_TO_BYTE2_TABLE): New macro.
3516         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3517         tables.
3518         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3519         don't use `ucs_to_*' tables.
3520
3521 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3522
3523         * text-coding.c (Fmake_coding_system): Don't set up
3524         `codesys->fixed.size'.
3525         (encode_coding_no_conversion): Use `if' instead of `switch'.
3526
3527         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3528
3529 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3530
3531         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3532         (Fmake_charset): Modify for `make_charset'.
3533         (Fmake_reverse_direction_charset): Likewise.
3534         (complex_vars_of_mule_charset): Likewise.
3535
3536 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3537
3538         * text-coding.c (char_encode_shift_jis): Use table
3539         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3540
3541 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3542
3543         * text-coding.c (text_encode_generic): Use `if' instead of
3544         `switch'.
3545         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3546         decode JIS-Latin.
3547
3548 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3549
3550         * text-coding.c (encode_coding_sjis): Deleted.
3551         (char_encode_shift_jis): New function.
3552         (char_finish_shift_jis): New function.
3553         (reset_encoding_stream): Set up `encode_char' and `finish' for
3554         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3555         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3556         (char_encode_utf8): Treat `eol_type'.
3557
3558 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3559
3560         * file-coding.c (decode_coding_iso2022): Use
3561         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3562
3563 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3564
3565         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3566         to 0.7 (Hirano).
3567
3568 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3569
3570         * char-lb.h (CHAR_COLUMNS): New macro.
3571
3572 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3573
3574         * text-coding.c (char_encode_ucs4): New function.
3575         (char_finish_ucs4): New function.
3576         (encode_coding_ucs4): Deleted.
3577         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3578         (text_encode_generic): Delete local variable `charset' and `half'.
3579         (ucs_to_mule_table): Deleted.
3580         (mule_to_ucs_table): Deleted.
3581         (Fset_ucs_char): Deleted.
3582         (ucs_to_char): Deleted.
3583         (Fucs_char): Deleted.
3584         (Fset_char_ucs): Deleted.
3585         (Fchar_ucs): Deleted.
3586         (decode_ucs4): Deleted.
3587         (mule_char_to_ucs4): Deleted.
3588         (encode_ucs4): Deleted.
3589         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3590         (decode_coding_utf8): Likewise.
3591         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3592         (char_encode_iso2022): Fixed.
3593         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3594         `Fset_char_ucs' and `Fchar_ucs'.
3595         (complex_vars_of_file_coding): Don't initialize
3596         `ucs_to_mule_table'.
3597
3598         * objects-tty.c (tty_initialize_font_instance): Don't use
3599         `XCHARSET_COLUMNS'.
3600
3601         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3602         UTF-2000.
3603
3604         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3605         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3606
3607         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3608         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3609         (emchar_string_displayed_columns): Likewise.
3610
3611         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3612         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3613         (string_column_at_point): Likewise.
3614         (Fmove_to_column): Likewise.
3615
3616         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3617         `encoding_table' and `decoding_table'.
3618         (CHARSET_REP_BYTES): Deleted.
3619         (XCHARSET_REP_BYTES): Deleted.
3620         (XCHARSET_COLUMNS): Deleted.
3621         (CHAR_COLUMNS): New macro.
3622         (lookup_composite_char): Deleted unconditionally.
3623         (composite_char_string): Likewise.
3624
3625 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3626
3627         * char-ucs.h (Emchar_to_byte_table): New type.
3628         (get_byte_from_character_table): New function interface.
3629         (Vcharset_latin_jisx0201): New variable.
3630         (latin_jisx0201_to_ucs): New variable.
3631         (ucs_to_latin_jisx0201): New variable.
3632         (Vcharset_latin_iso8859_2): New variable.
3633         (latin_iso8859_2_to_ucs): New variable.
3634         (ucs_to_latin_iso8859_2): New variable.
3635         (Vcharset_latin_iso8859_3): New variable.
3636         (latin_iso8859_3_to_ucs): New variable.
3637         (ucs_to_latin_iso8859_3): New variable.
3638         (Vcharset_latin_iso8859_4): New variable.
3639         (latin_iso8859_4_to_ucs): New variable.
3640         (ucs_to_latin_iso8859_4): New variable.
3641         (Vcharset_latin_iso8859_9): New variable.
3642         (latin_iso8859_9_to_ucs): New variable.
3643         (ucs_to_latin_iso8859_9): New variable.
3644         (Vcharset_latin_viscii_lower): New variable.
3645         (latin_viscii_lower_to_ucs): New variable.
3646         (ucs_to_latin_viscii_lower): New variable.
3647         (Vcharset_latin_viscii_upper): New variable.
3648         (latin_viscii_upper_to_ucs): New variable.
3649         (ucs_to_latin_viscii_upper): New variable.
3650         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3651         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3652         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3653         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3654         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3655         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3656         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3657         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3658         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3659         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3660
3661         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3662         (Vcharset_latin_viscii_upper): New variable.
3663         (make_byte_from_character_table): New function.
3664         (put_byte_from_character_table): New function.
3665         (get_byte_from_character_table): New function.
3666         (CHAR96): New macro.
3667         (ucs_to_latin_jisx0201): New variable.
3668         (latin_jisx0201_to_ucs): New variable.
3669         (ucs_to_latin_iso8859_2): New variable.
3670         (latin_iso8859_2_to_ucs): New variable.
3671         (ucs_to_latin_iso8859_3): New variable.
3672         (latin_iso8859_3_to_ucs): New variable.
3673         (ucs_to_latin_iso8859_4): New variable.
3674         (latin_iso8859_4_to_ucs): New variable.
3675         (ucs_to_latin_iso8859_9): New variable.
3676         (latin_iso8859_9_to_ucs): New variable.
3677         (ucs_to_latin_viscii_lower): New variable.
3678         (latin_viscii_lower_to_ucs): New variable.
3679         (ucs_to_latin_viscii_upper): New variable.
3680         (latin_viscii_upper_to_ucs): New variable.
3681         (ucs_to_latin_tcvn5712): New variable.
3682         (latin_tcvn5712_to_ucs): New variable.
3683         (Qlatin_viscii_lower): New variable.
3684         (Qlatin_viscii_upper): New variable.
3685         (syms_of_mule_charset): Set up new symbol
3686         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3687         (complex_vars_of_mule_charset): Set up new charset
3688         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3689         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3690         `ucs_to_<CHARSET>' tables.
3691
3692 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3693
3694         * text-coding.c: New file.
3695
3696 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3697
3698         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3699
3700         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3701         (MAKE_CHAR): Modify for `ucs-bmp'.
3702         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3703         non-MULE characters of BMP.
3704
3705 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3706
3707         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3708         to 0.6.
3709
3710 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3711
3712         * lstream.h:
3713         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3714         - Include character.h for `CHAR_ASCII_P'.
3715
3716         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3717
3718         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3719         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3720
3721         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3722         (BYTE_C0_P): Likewise.
3723         (BYTE_C1_P): Likewise.
3724         (Lstream_get_emchar_1): Likewise.
3725         (Lstream_fput_emchar): Likewise.
3726         (Lstream_funget_emchar): Likewise.
3727         (copy_internal_to_external): Likewise.
3728         (copy_external_to_internal): Likewise.
3729
3730         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3731         (BYTE_C0_P): Likewise.
3732         (BYTE_C1_P): Likewise.
3733         (Lstream_get_emchar_1): Likewise.
3734         (Lstream_fput_emchar): Likewise.
3735         (Lstream_funget_emchar): Likewise.
3736         (copy_internal_to_external): Likewise.
3737         (copy_external_to_internal): Likewise.
3738
3739         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3740         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3741
3742         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3743         (BYTE_ASCII_P): Moved to mb-1byte.h.
3744
3745 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3746
3747         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3748
3749         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3750         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3751         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3752         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3753         (VALIDATE_CHARPTR_FORWARD): Likewise.
3754         (simple_charptr_emchar): Moved to mb-multibyte.h.
3755         (simple_set_charptr_emchar): Likewise.
3756         (simple_charptr_copy_char): Likewise.
3757         (non_ascii_charptr_emchar): Likewise.
3758         (non_ascii_set_charptr_emchar): Likewise.
3759         (non_ascii_charptr_copy_char): Likewise.
3760         (charptr_emchar): Moved to mb-*byte.h.
3761         (set_charptr_emchar): Likewise.
3762         (charptr_copy_char): Likewise.
3763
3764         * mb-1byte.h, mb-multibyte.h: New files.
3765
3766 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3767
3768         * mb-utf-8.h (MULTIBYTE): New macro.
3769         (MAX_EMCHAR_LEN): Moved from buffer.h.
3770         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3771
3772         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3773
3774         * mb-lb.h, multibyte.h: New files.
3775
3776         * char-1byte.h (Charset_ID): Moved from buffer.h.
3777         (MIN_LEADING_BYTE): Likewise.
3778         (LEADING_BYTE_ASCII): Likewise.
3779         (NUM_LEADING_BYTES): Likewise.
3780         (CHARSETP): Likewise.
3781         (CHARSET_BY_LEADING_BYTE): Likewise.
3782         (XCHARSET_LEADING_BYTE): Likewise.
3783         (XCHARSET_GRAPHIC): Likewise.
3784         (XCHARSET_COLUMNS): Likewise.
3785         (XCHARSET_DIMENSION): Likewise.
3786         (CHAR_CHARSET): Likewise.
3787         (CHAR_LEADING_BYTE): Likewise.
3788         (BREAKUP_CHAR): Likewise.
3789         (Vcharset_ascii): Likewise.
3790
3791         * buffer.h: Include multibyte.h unconditionally.
3792         (VALID_CHARPTR_P): Moved to multibyte.h.
3793         (ASSERT_VALID_CHARPTR): Likewise.
3794         (REAL_INC_CHARPTR): Likewise.
3795         (REAL_INC_CHARBYTIND): Likewise.
3796         (REAL_DEC_CHARPTR): Likewise.
3797         (INC_CHARPTR): Likewise.
3798         (INC_CHARBYTIND): Likewise.
3799         (DEC_CHARPTR): Likewise.
3800         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3801         (VALIDATE_CHARPTR_FORWARD): Likewise.
3802         (charptr_n_addr): Likewise.
3803         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3804         (simple_charptr_emchar): Moved to multibyte.h.
3805         (simple_set_charptr_emchar): Likewise.
3806         (simple_charptr_copy_char): Likewise.
3807         (non_ascii_charptr_emchar): Likewise.
3808         (non_ascii_set_charptr_emchar): Likewise.
3809         (non_ascii_charptr_copy_char): Likewise.
3810         (charptr_emchar): Likewise.
3811         (set_charptr_emchar): Likewise.
3812         (charptr_copy_char): Likewise.
3813         (charptr_emchar_n): Likewise.
3814         (Charset_ID): Moved to char-1byte.h.
3815         (Vcharset_ascii): Likewise.
3816         (CHAR_CHARSET): Likewise.
3817         (CHAR_LEADING_BYTE): Likewise.
3818         (LEADING_BYTE_ASCII): Likewise.
3819         (NUM_LEADING_BYTES): Likewise.
3820         (MIN_LEADING_BYTE): Likewise.
3821         (CHARSETP): Likewise.
3822         (CHARSET_BY_LEADING_BYTE): Likewise.
3823         (XCHARSET_LEADING_BYTE): Likewise.
3824         (XCHARSET_GRAPHIC): Likewise.
3825         (XCHARSET_COLUMNS): Likewise.
3826         (XCHARSET_DIMENSION): Likewise.
3827         (BREAKUP_CHAR): Likewise.
3828
3829 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3830
3831         * character.h: Add document about interface for characters.
3832
3833         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3834         (MAKE_CHAR): Delete comment about
3835         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3836         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3837         (BREAKUP_CHAR): Modify name of arguments.
3838         (CHAR_CHARSET): Modify name of argument.
3839
3840         * buffer.h: Delete document about Emchar accessors.
3841
3842 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3843
3844         * character.h (CHAR_INTP): Moved from buffer.h
3845         (CHAR_OR_CHAR_INTP): Likewise.
3846         (XCHAR_OR_CHAR_INT): Likewise.
3847         (CHECK_CHAR_COERCE_INT): Likewise.
3848
3849         * buffer.h (CHAR_INTP): Moved to character.h
3850         (CHAR_OR_CHAR_INTP): Likewise.
3851         (XCHAR_OR_CHAR_INT): Likewise.
3852         (CHECK_CHAR_COERCE_INT): Likewise.
3853
3854 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3855
3856         * character.h:
3857         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3858         - Include char-1byte.h, char-lb.h or char-ucs.h.
3859
3860         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3861
3862         * buffer.h: Include character unconditionally.
3863         (valid_char_p): Moved to char-*.h.
3864         (non_ascii_valid_char_p): Moved to char-lb.h.
3865
3866         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3867
3868 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3869
3870         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3871         in UTF-2000 because it is not ported yet and not to use
3872         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3873         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3874         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3875
3876         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3877         (CHAR_ASCII_P): Moved from character.h.
3878
3879         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3880         (CHAR_ASCII_P): Likewise.
3881         (CHAR_FIELD1_MASK): Deleted.
3882         (CHAR_FIELD2_MASK): Deleted.
3883         (CHAR_FIELD3_MASK): Deleted.
3884         (MAX_CHAR_BASIC_LATIN): New macro.
3885         (CHAR_FIELD1): Deleted.
3886         (CHAR_FIELD2_INTERNAL): Deleted.
3887         (CHAR_FIELD3_INTERNAL): Deleted.
3888         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3889         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3890         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3891         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3892         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3893         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3894         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3895         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3896         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3897         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3898         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3899         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3900         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3901         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3902         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3903         (MIN_CHAR_COMPOSITION): Deleted.
3904         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3905         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3906
3907 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3908
3909         * buffer.h: Include mb-utf-8.h in UTF-2000.
3910
3911         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3912
3913         * mb-utf-8.h: New file.
3914
3915 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3916
3917         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3918         instead of `int'.
3919
3920         * mule-charset.h, buffer.h (Charset_ID): New type.
3921
3922 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3923
3924         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3925         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3926         instead of `MULE_CHAR_PRIVATE_OFFSET',
3927         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3928         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3929         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3930
3931         * character.h (Vcharset_japanese_jisx0212): New variable
3932         definition.
3933
3934 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3935
3936         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3937         (charset_by_attributes): Delete array about direction.
3938         (latin_a_char_to_charset): New variable in UTF-2000.
3939         (latin_a_char_to_byte1): New variable in UTF-2000.
3940         (latin_a_char_to_byte2): New variable in UTF-2000.
3941         (Qucs_bmp): New variable.
3942         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3943         `Bufbyte'.
3944         (next_allocated_2_byte_leading_byte): Likewise.
3945         (non_ascii_set_charptr_emchar): Likewise.
3946         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3947         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3948         `charset_by_attributes'.
3949         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3950         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3951         and `CHARSET_BY_LEADING_BYTE'.
3952         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3953         `utf-2000-version' to `vars_of_mule_charset'.
3954         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3955         define `leading-code-private-11' in UTF-2000; move setting of
3956         `utf-2000-version' from `syms_of_mule_charset'.
3957         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3958         UTF-2000.
3959
3960         * character.h (Charset_ID): New type.
3961         (LEADING_BYTE_UCS_BMP): New macro.
3962         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3963         (CHARSET_ID_OFFSET_94): New macro.
3964         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3965         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3966         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3967         final-byte.
3968         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3969         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3970         (CHARSET_ID_OFFSET_96): New macro.
3971         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3972         CHARSET_ID_OFFSET_96 and final-byte.
3973         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3974         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3975         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3976         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3977         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3978         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3979         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3980         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3981         (LEADING_BYTE_THAI_TIS620): Likewise.
3982         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3983         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3984         (CHARSET_ID_OFFSET_94x94): New macro.
3985         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3986         CHARSET_ID_OFFSET_94x94 and final-byte.
3987         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3988         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3989         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3990         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3991         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3992         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3993         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3994         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3995         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3996         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3997         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3998         (CHARSET_TYPE_128X128): New macro.
3999         (CHARSET_TYPE_256X256): New macro.
4000         (XCHARSET_PRIVATE_P): Delete unconditionally.
4001         (charset_by_attributes): Delete array about direction.
4002         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4003         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4004         (MIN_CHAR_94): New macro.
4005         (MAX_CHAR_94): New macro.
4006         (MIN_CHAR_96): New macro.
4007         (MAX_CHAR_96): New macro.
4008         (MIN_CHAR_94x94): New macro.
4009         (MAX_CHAR_94x94): New macro.
4010         (MIN_CHAR_96x96): New macro.
4011         (MAX_CHAR_96x96): New macro.
4012         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4013         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4014         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4015         - 32)'.
4016         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4017         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4018         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4019         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4020         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4021         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4022         `XCHARSET_LEADING_BYTE' to make code-point.
4023         (latin_a_char_to_charset): New variable.
4024         (latin_a_char_to_byte1): New variable.
4025         (latin_a_char_to_byte2): New variable.
4026         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4027         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4028         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4029
4030         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4031         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4032         (find_charsets_in_emchar_string): Likewise.
4033         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4034
4035         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4036         `int'.
4037         (decode_coding_iso2022): Likewise.
4038
4039         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4040         of `unsigned char'.
4041
4042         * redisplay.c (redisplay_text_width_emchar_string): Use
4043         `Charset_ID' instead of `unsigned char'.
4044         (redisplay_frame_text_width_string): Likewise.
4045
4046         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4047         `unsigned char'.
4048
4049         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4050         instead of `unsigned char'.
4051         (face_cachel_charset_font_metric_info): Likewise.
4052
4053         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4054         (get_non_ascii_char_table_value): Likewise.
4055         (get_char_table): Likewise.
4056         (put_char_table): Likewise.
4057         (map_over_other_charset): Likewise.
4058         (map_char_table): Likewise.
4059
4060         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4061         instead of `unsigned char'.
4062
4063 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4064
4065         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4066         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4067
4068         * mule-charset.c (leading_code_private_11): Don't define in
4069         UTF-2000.
4070
4071         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4072         in UTF-2000 because it is not ported yet and not to use
4073         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4074
4075 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4076
4077         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4078
4079 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4080
4081         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4082         in UTF-2000.
4083
4084         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4085         of unsigned char to store leading-byte.
4086
4087         * chartab.c (get_non_ascii_char_table_value): Don't use
4088         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4089
4090         * file-coding.c (encode_coding_big5): Delete bogus implementation
4091         in UTF2000.
4092
4093         * character.h (LEADING_BYTE_*): Delete definition for
4094         non-UTF-2000.
4095         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4096         (LEADING_BYTE_PREFIX_P): Deleted.
4097         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4098         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4099         (BUFBYTE_LEADING_BYTE_P): Deleted.
4100         (CHARSET_PRIVATE_P): Deleted unconditionally.
4101         (rep_bytes_by_first_byte): Deleted unconditionally.
4102         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4103         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4104         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4105         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4106         (CHAR_FIELD2): Deleted.
4107         (CHAR_FIELD3): Deleted.
4108         (MAKE_CHAR): Delete definition for non-UTF-2000.
4109         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4110         (breakup_char_1): New implementation.
4111         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4112         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4113
4114 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4115
4116         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4117         condition.
4118
4119 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4120
4121         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4122         (CHARSET_PRIVATE_P): Likewise.
4123         (XCHARSET_PRIVATE_P): Likewise.
4124         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4125
4126         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4127         UTF2000.
4128         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4129
4130 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4131
4132         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4133         (NUM_LEADING_BYTES): Changed from 128 to 256.
4134         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4135         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4136         UTF2000.
4137         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4138
4139         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4140         UTF2000.
4141         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4142         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4143         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4144         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4145         (Qchinese_cns11643_3): New variable in UTF2000.
4146         (Qchinese_cns11643_4): New variable in UTF2000.
4147         (Qchinese_cns11643_5): New variable in UTF2000.
4148         (Qchinese_cns11643_6): New variable in UTF2000.
4149         (Qchinese_cns11643_7): New variable in UTF2000.
4150         (syms_of_mule_charset): Define `chinese-cns11643-3',
4151         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4152         and `chinese-cns11643-7' in UTF2000.
4153         (vars_of_mule_charset): Initialize
4154         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4155         + 1 in UTF2000.
4156         (complex_vars_of_mule_charset): Setup charset
4157         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4158         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4159
4160 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4161
4162         * mule-charset.c: Move setting for `leading-code-private-11' from
4163         `syms_of_mule_charset' to `vars_of_mule_charset'.
4164
4165 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4166
4167         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4168         and `NUM_LEADING_BYTES' in assert.
4169
4170 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4171
4172         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4173         instead of 128.
4174         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4175         `NUM_LEADING_BYTES' instead of 128.
4176
4177 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4178
4179         * mule-charset.h (charset_by_leading_byte): Use
4180         `NUM_LEADING_BYTES' instead of 128.
4181         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4182
4183         * mule-charset.c (charset_by_leading_byte): Use
4184         `NUM_LEADING_BYTES' instead of 128.
4185         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4186
4187         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4188         128.
4189
4190 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4191
4192         * mule-charset.c (syms_of_mule_charset): Update to
4193         0.4 (Shin-Imamiya).
4194
4195 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4196
4197         * file-coding.c (encode_coding_sjis): New implementation for
4198         UTF2000.  (decode_coding_sjis): Ditto.
4199
4200 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4201
4202         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4203         Don't define in UTF2000.
4204
4205         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4206         defined.
4207
4208         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4209         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4210         MULE.
4211
4212 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4213
4214         * config.h.in (CHAR_IS_UCS4): New macro.
4215
4216         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4217         conventional MULE representation.
4218         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4219
4220         * mule-charset.h: Reverted to original.
4221
4222         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4223         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4224         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4225
4226         * character.h: New file.
4227
4228         * file-coding.c (Fmake_coding_system): Set 1 to
4229         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4230         defined.
4231         (encode_coding_no_conversion): New implementation for UTF2000.
4232
4233         * file-coding.h (struct Lisp_Coding_System): Add new member
4234         `fixed.size'.
4235
4236 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4237
4238         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4239         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4240         (encode_coding_iso2022): New implementation for UTF2000.
4241
4242 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4243
4244         * mule-canna.c (c2mu): New implementation for UTF2000.
4245         (m2c): Likewise.
4246
4247 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4248
4249         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4250
4251 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4252
4253         * file-coding.c (reset_encoding_stream): Set 0 to
4254         `str->iso2022.current_char_boundary' in UTF2000.
4255         (encode_utf8): Don't define in UTF2000.
4256         (encode_coding_utf8): New implementation for UTF-8 representation
4257         of UTF2000.
4258         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4259
4260 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4261
4262         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4263
4264         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4265         UTF2000.
4266         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4267
4268         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4269
4270         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4271         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4272         as UTF-8 in UTF2000.
4273         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4274         (non_ascii_valid_char_p): Don't define in UTF2000.
4275         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4276         (Lstream_get_emchar_1): Likewise.
4277         (utf-2000-version): New variable in UTF2000.
4278
4279         * lread.c (read_escape): Add new reader `u'.
4280
4281         * insdel.c (three_to_one_table): Don't define in UTF2000.
4282         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4283         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4284         UTF2000.
4285         (bytind_to_bufpos_func): Likewise.
4286         (buffer_mule_signal_inserted_region): Likewise.
4287         (vars_of_insdel): Don't initialize `three_to_one_table'.
4288         (init_buffer_text): Use `buf->text->mule_size' instead of
4289         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4290         UTF2000.
4291
4292         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4293         UTF-8 representation in UTF2000.
4294         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4295         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4296         (decode_coding_iso2022): Don't define local variable `lb' in
4297         UTF2000; don't use LEADING_BYTE in UTF2000; use
4298         `DECODE_ADD_UCS_CHAR' in UTF2000.
4299         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4300
4301         * config.h.in (UTF2000): New macro.
4302
4303         * buffer.h (struct buffer_text): Add new member `mule_size' and
4304         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4305         (valid_char_p): Return always 1 in UTF2000.
4306         (MAX_EMCHAR_LEN): 6 in UTF2000.
4307         (three_to_one_table): Don't define in UTF2000.
4308         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4309         UTF2000.
4310         (real_bytind_to_bufpos): Likewise.
4311
4312         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4313
4314 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4315
4316         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4317         representation change.
4318         (Vutf_2000_version): New variable.
4319         (leading_code_private_11): New variable.
4320         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4321         `leading-code-private-11'.
4322
4323         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4324         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4325         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4326         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4327         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4328         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4329         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4330         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4331         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4332         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4333         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4334         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4335         (MIN_CHAR_GREEK): New macro.
4336         (MAX_CHAR_GREEK): New macro.
4337         (MIN_CHAR_CYRILLIC): New macro.
4338         (MAX_CHAR_CYRILLIC): New macro.
4339         (MIN_CHAR_HEBREW): New macro.
4340         (MAX_CHAR_HEBREW): New macro.
4341         (MIN_CHAR_THAI): New macro.
4342         (MAX_CHAR_THAI): New macro.
4343         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4344         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4345         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4346         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4347         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4348         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4349         (CHAR_FIELD2): New inline function.
4350         (CHAR_FIELD3): New inline function.
4351         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4352         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4353         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4354         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4355         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4356         (MIN_CHAR_COMPOSITION): Likewise.
4357         (CHAR_LEADING_BYTE): Modified for character representation change.
4358         (MAKE_CHAR): Likewise.
4359
4360         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4361         (Vcharset_greek_iso8859_7): Likewise.
4362         (Vcharset_cyrillic_iso8859_5): Likewise.
4363         (Vcharset_hebrew_iso8859_8): Likewise.
4364         (Vcharset_thai_tis620): Likewise.
4365         (Vcharset_katakana_jisx0201): Likewise.
4366
4367 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
4368
4369         * XEmacs 21.4.8 "Honest Recruiter" is released.
4370
4371 2002-05-07  Nix  <nix@esperi.demon.co.uk>
4372
4373         Supersedes 2002-04-17 patch.
4374
4375         * process.h (PROCESS_LIVE_P): Use the process status as
4376         evidence of health, not the state of the input stream.
4377         (PROCESS_READABLE_P): Say if the process is readable
4378         from. (It may be dead nonetheless.)
4379         (CHECK_READABLE_PROCESS): Test for that condition.
4380
4381         * process.c (create_process): Use PROCESS_READABLE_P.
4382         (read_process_output, set_process_filter): Likewise.
4383
4384         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
4385         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
4386
4387         This code is #if 0'd, this is not the time to add new functions:
4388
4389         * process.c (Fprocess_readable_p): Report readability status.
4390         * process.c (Qprocess_readable_p): New, associated symbol...
4391         * process.c (syms_of_process): ... initialize it.
4392
4393 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
4394
4395         * XEmacs 21.4.7 "Economic Science" is released.
4396
4397 2002-04-17  Nix  <nix@esperi.demon.co.uk>
4398
4399         * process.h (PROCESS_LIVE_P): Use the process status as
4400         evidence of health, not the state of the input stream.
4401
4402 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
4403
4404         * sysdep.c (sys_siglist): change "signum" to "signal"
4405
4406 2001-04-21  Martin Buchholz  <martin@xemacs.org>
4407
4408         * s/darwin.h: New file.
4409         Thanks to Greg Parker <gparker@cs.stanford.edu>.
4410         
4411 2002-04-23  Andreas Jaeger  <aj@suse.de>
4412
4413         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
4414         which use lib64 for 64-bit libs.
4415         (START_FILES): Likewise.
4416
4417 2002-02-11  Mike Sperber  <mike@xemacs.org>
4418
4419         * device-x.c: 
4420         (x_IO_error_handler):
4421         (x_init_device): Temporarily keep device in static variable
4422         `device_being_initialized' so we can recover gracefully from
4423         internal XOpenDevice failure.  (XOpenDevice is documented to
4424         return NULL on failure, but sometimes calls the IO error handler
4425         instead.)
4426
4427 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
4428
4429         * dired.c (Ffile_name_all_completions): Change documentation --
4430         remove reference to completion-ignored-extensions.
4431         * dired.c (vars_of_dired): Change documentation for
4432         completion-ignored-extensions -- remove reference to
4433         file-name-all-completions.
4434
4435 2002-03-06  Jerry James  <james@xemacs.org>
4436
4437         * emodules.c (emodules_load): Fix multiple loading of same module.
4438
4439 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
4440         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
4441         RTLD_LAZY to avoid incorrect symbol binding when using nested
4442         shared libraries on Solaris.
4443
4444 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
4445
4446         * fileio.c (Ffind_file_name_handler): Improve docstring.
4447
4448 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
4449
4450         * fns.c (Fmapconcat): Improve docstring.
4451
4452 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
4453
4454         * device-gtk.c: Add prototype for
4455         emacs_gtk_selection_clear_event_handle.
4456         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
4457         selection.  Setup signal handler for "selection_clear_event"
4458         (emacs_gtk_selection_clear_event_handle).
4459
4460         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
4461         other applications owning the clipboard (based on
4462         x_handle_selection_clear).
4463
4464 2001-12-23  William M. Perry  <wmperry@gnu.org>
4465
4466         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
4467         
4468 2002-01-04  Martin Buchholz  <martin@xemacs.org>
4469
4470         * keymap.c (define_key_alternate_name): Parenthesize EQ.
4471
4472 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
4473
4474         * XEmacs 21.4.6 "Common Lisp" is released.
4475
4476 2001-12-16  Torsten Duwe  <duwe@caldera.de>
4477
4478         * search.c (Freplace_match): Add missing sub-expression functionality.
4479
4480         * buffer.c (decode_buffer): Add a check for pointer type to
4481         decode_buffer, before gcc's CSE optimization reorders a
4482         dereference in front of the allow_string test.
4483
4484 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
4485
4486         * window.c (window_loop): Fix bug that sometimes prevented
4487         window_loop() from iterating across multiple devices.  Also, at
4488         Ben's request, changed infloop-detecting code to abort() instead
4489         of silently terminating window_loop().
4490
4491 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
4492
4493         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
4494         * editfns.c (make_time): New function.
4495         (Fencode_time): Use it instead of wasteful_word_to_lisp.
4496         * lisp.h (make_time): Prototype and comment it.
4497         * dired.c (wasteful_word_to_lisp): Deprecate.
4498         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
4499
4500 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
4501
4502         * fileio.c (auto_save_1): Use current coding system, not
4503         escape-quoted.
4504
4505 2001-11-13  Ben Wing  <ben@xemacs.org>
4506
4507         * window.c:
4508         * window.c (window_truncation_on):
4509         * window.c (syms_of_window):
4510         truncate-partial-width-windows should respect the buffer being
4511         displayed, like other redisplay vars.
4512
4513 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
4514
4515         * event-stream.c (Fread_key_sequence): save current buffer.
4516
4517 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
4518
4519         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
4520
4521 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
4522
4523         * alloc.c (lcrecord_stats): Add space for types defined in modules.
4524
4525 2001-10-26  Mike Alexander  <mta@arbortext.com>
4526
4527         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
4528
4529 2001-10-25  Andy Piper  <andy@xemacs.org>
4530
4531         * ChangeLog:
4532         * dialog-msw.c (handle_directory_proc): new function.
4533          (handle_directory_dialog_box): new fucntion.
4534          (handle_file_dialog_box): use new directory dialog support.
4535          (mswindows_make_dialog_box_internal): ditto.
4536         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
4537         handling.
4538         (mswindows_find_frame): make global.
4539         * fileio.c (Fexpand_file_name): build fix.
4540         * general-slots.h: add Qdirectory.
4541         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
4542         handling.
4543         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
4544         cygwin not leaving win32 paths unchanged.
4545         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
4546         cygwin runtime to do path conversion.
4547         (Fmswindows_shell_execute): fix cygwin handling of URLs.
4548         (syms_of_win32): add new function.
4549         * window.c (window_loop): build fix.
4550
4551 2001-10-15  Andy Piper  <andy@xemacs.org>
4552
4553         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
4554
4555 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
4556
4557         * XEmacs 21.4.5 "Civil Service" is released.
4558
4559 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
4560
4561         * glyphs-x.c: Force buffer-tab highlight update when moving the
4562         buffer, avoiding an ugly black border, used for keyboard focus
4563         indication, on a widget that can never have keyboard focus, the
4564         buffer tab.
4565
4566 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
4567
4568         * process-unix.c (unix_open_multicast_group): Remove too much
4569         conversion between host and network byte order.
4570
4571 2001-09-10  Nix  <nix@esperi.demon.co.uk>
4572
4573         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
4574         before replacing them.
4575
4576         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
4577         operation.
4578
4579         * src/window.c (undedicate_windows): Use it.
4580         * src/window.h: Add prototype.
4581
4582 2001-09-17  Ben Wing  <ben@xemacs.org>
4583
4584         * fileio.c (normalize_filename):
4585         * fileio.c (Fexpand_file_name):
4586         Fix various C++ compile errors in Andy's recent code.
4587         
4588         * callint.c (Fcall_interactively):
4589         * editfns.c (Ftemp_directory):
4590         * editfns.c (Fuser_full_name):
4591         * emacs.c (argmatch):
4592         * lread.c (locate_file_map_suffixes):
4593         * redisplay-x.c (x_ring_bell):
4594         Fix sign-compare warnings.
4595         
4596 2001-09-08  Andy Piper  <andy@xemacs.org>
4597
4598         * fileio.c (normalize_filename): copied from nt.c
4599         * (Ffile_name_directory): enable win32 paths under cygwin.
4600         * (Ffile_name_nondirectory): ditto.
4601         * (directory_file_name): ditto.
4602         * (Fexpand_file_name): ditto.
4603         * (Ffile_truename): ditto.
4604         * (Fsubstitute_in_file_name): ditto.
4605         * (Ffile_name_absolute_p): ditto.
4606         * (Ffile_readable_p): ditto.
4607
4608 2001-09-08  Andy Piper  <andy@xemacs.org>
4609
4610         * device-msw.c (mswindows_finish_init_device): remove dde
4611         initialization.
4612         * device-msw.c (mswindows_init_dde): factor out from
4613         mswindows_finish_init_device()
4614         * device-msw.c (init_mswindows_very_early): new function
4615         initialize but don't enable dde.
4616         * emacs.c (main_1): call init_mswindows_very_early.
4617         * event-msw.c:
4618         * event-msw.c (mswindows_dde_callback): only execute when we are
4619         ready.
4620         * symsinit.h: declare init_mswindows_very_early.
4621
4622 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4623
4624         [sjt: This has been in 21.5 for months with no complaints.]
4625
4626         * console.h (struct console_methods): Added flags member.
4627         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
4628         (CONMETH_IMPL_FLAG):
4629         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
4630         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
4631
4632         * device.c (window_system_pixelated_geometry): Use the above macros.
4633
4634         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
4635         implememntation flag.
4636         * device.h (DEVICE_DISPLAY_P): Use it.
4637
4638         * frame.c (delete_frame_internal): Use the above macro.
4639
4640         * redisplay.c (redisplay_device): Use it.
4641         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
4642         (redisplay_frame): Ditto.
4643
4644         * device-msw.c (mswindows_device_implementation_flags): Removed.
4645         (msprinter_device_implementation_flags): Removed.
4646         (console_type_create_device_mswindows): Removed references to
4647         implementation_flags methods, set implementation flags here.
4648         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
4649
4650         * device-gtk.c (gtk_device_implementation_flags): Removed method.
4651         (console_type_create_device_gtk): Removed method declaration.
4652         Added commented out statement which semantically matches the
4653         commented out statement in the above removed method.
4654
4655 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
4656
4657         The attached patch fixes a few warnings. 
4658
4659         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
4660         * src/frame-gtk.c: guard against GNOME calls in GTK only
4661         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
4662         * src/select-gtk.c: prototype lisp_to_time
4663
4664 2001-06-08  Ben Wing  <ben@xemacs.org>
4665
4666         ------ gc-in-window-procedure fixes ------
4667         
4668         * alloc.c:
4669         * alloc.c (struct post_gc_action):
4670         * alloc.c (register_post_gc_action):
4671         * alloc.c (run_post_gc_actions):
4672         * alloc.c (garbage_collect_1):
4673         Create "post-gc actions", to avoid those dreaded "GC during window
4674         procedure" problems.
4675
4676         * event-msw.c:
4677         Abort, clean and simple, when GC in window procedure.  We want
4678         to flush these puppies out.
4679
4680         * glyphs-msw.c:
4681         * glyphs-msw.c (finalize_destroy_window):
4682         * glyphs-msw.c (mswindows_finalize_image_instance):
4683         Use a post-gc action when destroying subwindows.
4684
4685         * lisp.h:
4686         Declare register_post_gc_action().
4687
4688         * scrollbar-msw.c:
4689         * scrollbar-msw.c (unshow_that_mofo):
4690         Use a post-gc action when unshowing scrollbar windows, if in gc.
4691
4692         * redisplay.c (mark_redisplay):
4693         Add comment about the utter evilness of what's going down here.
4694
4695         ------ cygwin setitimer fixes ------
4696         
4697         * Makefile.in.in (sheap_objs):
4698         * Makefile.in.in (profile_objs):
4699         * Makefile.in.in (objs):
4700         Compile profile.c only when HAVE_SETITIMER.
4701         
4702         * nt.c (mswindows_sigset):
4703         * nt.c (mswindows_sighold):
4704         * nt.c (mswindows_sigrelse):
4705         * nt.c (mswindows_sigpause):
4706         * nt.c (mswindows_raise):
4707         * nt.c (close_file_data):
4708         Style fixes.
4709         
4710         * nt.c:
4711         Move setitimer() emulation to win32.c, because Cygwin needs it too.
4712         
4713         * profile.c:
4714         * profile.c (Fstart_profiling):
4715         * profile.c (Fstop_profiling):
4716         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
4717         instead of just plain setitimer().
4718         
4719         * signal.c:
4720         * signal.c (set_one_shot_timer):
4721         * signal.c (alarm):
4722         Define qxe_setitimer() as an encapsulation around setitimer() --
4723         call setitimer() directly unless Cygwin or MS Win, in which case
4724         we use our simulated version in win32.c.
4725         
4726         * systime.h:
4727         * systime.h (struct itimerval):
4728         * systime.h (ITIMER_REAL):
4729         Prototype mswindows_setitimer() and qxe_setitimer().  Long
4730         comment about "qxe" and the policy regarding encapsulation.
4731
4732         * win32.c:
4733         * win32.c (setitimer_helper_proc):
4734         * win32.c (setitimer_helper_period):
4735         * win32.c (setitimer_helper):
4736         * win32.c (mswindows_setitimer):
4737         Move setitimer() emulation here, so Cygwin can use it.
4738         Rename a couple of functions and variables to be longer and more
4739         descriptive.  In setitimer_helper_proc(), send the signal
4740         using either mswindows_raise() or (on Cygwin) kill().  If for
4741         some reason we are still getting lockups, we'll change the kill()
4742         to directly invoke the signal handlers.
4743
4744         ------ windows shell fixes ------
4745         
4746         * callproc.c:
4747         * ntproc.c:
4748         Comments about how these two files must die.
4749
4750         * callproc.c (init_callproc):
4751         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
4752         not just COMSPEC. (more correct and closer to FSF.) Don't
4753         force a value for SHELL into the environment. (Comments added
4754         to explain why not.)
4755         
4756         * nt.c (init_user_info):
4757         Don't shove a fabricated SHELL into the environment.  See above.
4758
4759 2001-06-01  Ben Wing  <ben@xemacs.org>
4760
4761         * Makefile.in.in (ldflags):
4762         eliminate that pesky "defaulting to 00401000" warning.
4763         * nt.h:
4764         eliminate warnings.
4765
4766 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
4767
4768         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
4769         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
4770
4771 2001-04-24  Jerry James <james@xemacs.org>
4772
4773         * faces.h: pass parameters to Fadd_spec_to_specifier in the
4774         correct order.
4775
4776 2001-06-01  Ben Wing  <ben@xemacs.org>
4777
4778         * event-msw.c (debug_mswin_messages):
4779         conditionalize the messages that were causing compile errors.
4780         (if only macros could generate #ifdef statements ...)
4781
4782 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
4783
4784         * XEmacs 21.4.4 "Artificial Intelligence" is released.
4785
4786 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
4787
4788         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
4789
4790 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
4791
4792         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
4793         * process-unix.c (unix_canonicalize_host_name):
4794         sysdep.c (init_system_name):
4795         Use it to conditionally support IPv6 canonicalization.
4796
4797 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
4798
4799         * event-msw.c:
4800         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
4801
4802 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
4803
4804         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
4805         attempt is made to scroll when no scroll bar is available.
4806
4807 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
4808
4809         * input-method-motif.c (XIM_delete_frame): New callback.
4810         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
4811         got deleted from 21.4.3.)
4812
4813 2001-06-01  Ben Wing  <ben@xemacs.org>
4814
4815         * nt.c (mswindows_utime):
4816         * nt.c (close_file_data):
4817         fix off-by-one-indirection error.
4818
4819 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
4820
4821         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
4822         because set_file_times() now takes Lisp_Object path, instead of
4823         char*.
4824         * nt.c: Include buffer.h.
4825         * nt.c (convert_from_time_t): New.
4826         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
4827         not set mtime correctly.
4828         * nt.h: Declare mswindows_utime().
4829         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
4830         path, instead of char*.
4831         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
4832
4833 2001-05-30  Ben Wing  <ben@xemacs.org>
4834
4835         For 21.4:
4836
4837         (Stephen, just take all event-msw.c patches.  This includes
4838         the "iconify" fix below.)
4839
4840         * event-msw.c:
4841         * event-msw.c (mswindows_dequeue_dispatch_event):
4842         * event-msw.c (assert):
4843         * event-msw.c (emacs_mswindows_quit_p):
4844         * event-msw.c (debug_mswin_messages):
4845         * event-msw.c (debug_output_mswin_message):
4846         * event-msw.c (vars_of_event_mswindows):
4847         Fix yet more problems with C-g handling.
4848         Implement debug-mswindows-events.
4849         
4850 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4851
4852         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
4853         
4854 2001-05-23  Ben Wing  <ben@xemacs.org>
4855
4856         * event-msw.c (winsock_writer):
4857         * event-msw.c (winsock_closer):
4858         prior kludgy code was clobbering the buffer, thinking it was
4859         "unused" space to store an unneeded return value; instead, use
4860         the variable we've already got staring us in the face.
4861
4862 2001-05-17  Andy Piper  <andy@xemacs.org>
4863
4864         * sysfile.h: don't assume that file attributes are boolean
4865
4866 2001-05-23  Ben Wing  <ben@xemacs.org>
4867
4868         * device-msw.c (msprinter_init_device):
4869         signal an error rather than crash with an unavailable network
4870         printer (from Mike Alexander).
4871         
4872         * event-msw.c:
4873         * event-msw.c (struct winsock_stream):
4874         * event-msw.c (winsock_writer):
4875         * event-msw.c (winsock_closer):
4876         * event-msw.c (make_winsock_stream_1):
4877         cleanup headers.  fix (hopefully) an error with data corruption
4878         when sending to a network connection.
4879
4880         * fileio.c (Fexpand_file_name): Fix evil code that attempts
4881         to handle the ~user prefix by (a) always assuming we're referencing
4882         ourselves and not even verifying the user -- hence any file with
4883         a tilde as its first char is invalid! (b) if there wasn't a slash
4884         following the filename, the pointer was set *past* the end of
4885         file and we started reading from uninitialized memory.  Now we
4886         simply treat these as files, always.
4887
4888         * buffer.c (common_init_complex_vars_of_buffer): comment change.
4889         
4890 2001-05-19  Ben Wing  <ben@xemacs.org>
4891
4892         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
4893
4894         * process-nt.c:
4895         * process-nt.c (vars_of_process_nt):
4896         remove unused mswindows-quote-process-args.  rec for 21.4.
4897         
4898 2001-05-12  Ben Wing  <ben@xemacs.org>
4899
4900         * event-msw.c (mswindows_dde_callback):
4901         * event-msw.c (mswindows_wnd_proc):
4902         eliminate cygwin warnings.
4903
4904 2001-05-06  Ben Wing  <ben@xemacs.org>
4905
4906         * console-msw.h:
4907         * device-msw.c:
4908         * device-msw.c (print_dialog_worker):
4909         * device-msw.c (mswindows_handle_print_dialog_box):
4910         * device-msw.c (syms_of_device_mswindows):
4911         * dialog-msw.c (mswindows_make_dialog_box_internal):
4912         * general-slots.h:
4913         implement printing the selection when it's selected.
4914
4915 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
4916
4917         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
4918
4919 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
4920
4921         * lisp.h (EMACS_INT_MAX): This should be one bit less since
4922         EMACS_INT is signed.
4923
4924 2001-04-15  Michael Lausch  <mla@1012surf.net>
4925
4926         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
4927         gtk_widget_request_size() to give scrollbar >0 width for
4928         GTK >1.2.8.
4929
4930 2001-05-30  William M. Perry  <wmperry@gnu.org>
4931
4932         * event-gtk.c: Check for buttons as modifier keys.
4933
4934 2001-05-25  Craig Lanning  <CraigL@Knology.net>
4935
4936         * s\mingw32.h:
4937         Properly find MinGW's <process.h> inside Cygwin's restructured
4938         include directories.  Don't try to include <cygwin/version.h>
4939         since we are dropping support for MinGW in versions of Cygwin
4940         earlier than b21.
4941         * nt.c:
4942         Drop support for MinGW in versions of Cygwin before b21.
4943         * sysdep.c:
4944         Properly find MinGW's <process.h> inside Cygwin's restructured
4945         include directories.
4946         * syswindows.h:
4947         Drop support for MinGW in versions of Cygwin before b21.
4948         * unexcw.c:
4949         Even though a.out.h is no longer detected by configure, allow
4950         MinGW to use it until we figure out how to do the job with Win32.
4951
4952 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
4953
4954         * syntax.c (find_start_of_comment):
4955         Fix `unbalanced parentheses' bug when dealing with mixed comment
4956         styles in c++/java/etc. mode
4957
4958 2001-05-29  Mike Alexander  <mta@arbortext.com>
4959
4960         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
4961         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
4962
4963 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
4964
4965         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
4966
4967 2001-03-31  Mike Sperber <mike@xemacs.org>
4968
4969         * search.c (Freplace_match): Support FSF-style specification of
4970         match subexpression when applied to a buffer.
4971
4972 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
4973
4974         * event-stream.c (is_scrollbar_event): add missing semicolon
4975
4976 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
4977
4978         * Makefile.in.in: Use TAR macro instead of hardcoding
4979           tar.  Allows use of GNU tar instead of system tar
4980
4981 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
4982
4983         * event-stream.c (is_scrollbar_event): add missing semicolon
4984
4985 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
4986
4987         * XEmacs 21.4.3 "Academic Rigor" is released.
4988
4989 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
4990
4991         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
4992
4993 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
4994
4995         * buffer.c (Vcase_fold_search): Remove obsolete
4996           comment about non ASCII case-fold-search.  This
4997           bug has been fixed by case-table changes.
4998
4999 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
5000
5001         * event-msw.c: Restore include of events-mod.h.
5002
5003 2001-04-22   zhaoway  <zw@debian.org>
5004
5005         * event-stream.c (is_scrollbar_event): Noop returning 0 if
5006         !HAVE_SCROLLBARS.
5007
5008 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
5009
5010         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
5011
5012 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
5013
5014         * mule-charset.c (Fmake_charset): Add missing else.
5015
5016 2001-04-23  Ben Wing  <ben@xemacs.org>
5017
5018         * event-msw.c (FAKE_MOD_QUIT):
5019         * event-msw.c (mswindows_dequeue_dispatch_event):
5020         * event-msw.c (mswindows_wnd_proc):
5021         * event-msw.c (emacs_mswindows_quit_p):
5022         Get critical quit working.
5023
5024 2001-05-05  Ben Wing  <ben@xemacs.org>
5025
5026         * console-msw.h:
5027         * device-msw.c:
5028         * device-msw.c (mswindows_get_default_margin):
5029         * frame-msw.c (mswindows_size_frame_internal):
5030         * frame-msw.c (msprinter_init_frame_1):
5031         * frame-msw.c (vars_of_frame_mswindows):
5032         Change top/bottom margin defaults to 0.5 inches.
5033
5034 2001-05-01  Martin Buchholz  <martin@xemacs.org>
5035
5036         Fix link error with gcc 3.0 on Linux.
5037         * terminfo.c (UP): Remove.
5038         * terminfo.c (BC): Remove.
5039         * terminfo.c (PC): Remove.
5040         They weren't used, and in any case, these symbols should be
5041         defined in the *library*.
5042
5043 2001-05-03  Martin Buchholz  <martin@xemacs.org>
5044
5045         * s/aix4.h: Fix crash with xlc -O3.
5046         Improve comment explaining how -O3 works.
5047
5048 2001-04-15  Ben Wing  <ben@xemacs.org>
5049
5050         * event-stream.c:
5051         * event-stream.c (Fnext_event):
5052         * event-stream.c (is_scrollbar_event):
5053         * event-stream.c (execute_command_event):
5054         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
5055         crash' problem.  His fix introduces other problems.  We filter
5056         out scrollbar events specifically, making them somewhat invisible
5057         to command-building, and not appearing in `this-command-keys'.
5058         More work is still needed (see comments in event-stream.c), but
5059         this fixes all the major problems.
5060
5061 2001-04-20  Ben Wing  <ben@xemacs.org>
5062
5063         * .cvsignore: Added stuff for Windows.
5064
5065 2001-04-28  Ben Wing  <ben@xemacs.org>
5066
5067         * buffer.c (Ferase_buffer):
5068         * editfns.c (buffer_insert1):
5069         * editfns.c (Finsert_before_markers):
5070         * editfns.c (Finsert_string):
5071         * editfns.c (Finsert_char):
5072         * editfns.c (Fdelete_region):
5073         * editfns.c (Fwiden):
5074         * editfns.c (Fnarrow_to_region):
5075         remove bogus lines setting zmacs_region_stays to 0.
5076         
5077 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5078
5079         * process-unix.c (unix_open_network_stream): If connect() fails
5080         invalidate file descriptor after closing it.
5081
5082 2001-03-08  Mike Alexander  <mta@arbortext.com>
5083
5084         * event-msw.c (mswindows_need_event_in_modal_loop):
5085         Don't dispatch a message if we didn't get one.
5086         (mswindows_need_event):
5087         Terminate the correct process when one exits instead of the first
5088         one on Vprocess_list and look for process termination when in
5089         mswindows_protect_modal_loop.
5090
5091 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
5092
5093         * XEmacs 21.4.1 "Copyleft" is released.
5094
5095 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5096
5097         * input-method-motif.c (XIM_delete_frame): New callback.
5098         (XIM_init_frame): Register it.
5099
5100 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5101
5102         * XEmacs 21.4.0 "Solid Vapor" is released.
5103
5104 2001-04-15  Ben Wing  <ben@xemacs.org>
5105
5106         * cmdloop.c (call_command_loop):
5107         Fix braino in bit-rotting code.
5108         
5109 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
5110
5111         * extents.c (Fset_extent_endpoints): Force creation of extent info
5112         in buffer_or_string.
5113
5114         * extents.c (process_extents_for_insertion_mapper): Correctly
5115         check for open-open zero-length extents.
5116
5117 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5118
5119         * lisp.h: New typedefs Memory_count, Element_count.
5120         * regex.c:
5121         * regex.h:
5122         Sign-compare warning elimination: several unsigned -> signed.
5123         Based on work by Ben Wing <ben@xemacs.org>.
5124
5125 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
5126
5127         * XEmacs 21.2.47 "Zephir" is released.
5128
5129 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
5130
5131         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
5132
5133 2001-04-03  Mike Sperber <mike@xemacs.org>
5134
5135         * search.c: Revert previous patch due because of release.
5136
5137 2001-03-30  Ben Wing  <ben@xemacs.org>
5138
5139         * s\cygwin32.h:
5140         Add missing killpg prototype.
5141
5142         * elhash.c:
5143         Add a comment about fixing problems when a new entry is added
5144         while mapping.
5145
5146         * frame-msw.c (mswindows_init_frame_1):
5147         Fix compile warnings.
5148
5149         * menubar.c (vars_of_menubar):
5150         Provide `menu-accelerator-support' to indicate that we properly
5151         support %_ in menu specifications, so that package code can
5152         conditionalize on this (and remove %_ from menu specifications
5153         on older versions).
5154
5155         * event-msw.c:
5156         * scrollbar-msw.c:
5157         * scrollbar-msw.c (can_scroll):
5158         * scrollbar-msw.h:
5159         Fix handling of mouse wheel under Windows to follow standards --
5160         now scrolls window under pointer, not selected window.
5161
5162 2001-03-31  Mike Sperber <mike@xemacs.org>
5163
5164         * search.c (Freplace_match): Support FSF-style specification of
5165         match subexpression when applied to a buffer.
5166
5167 2001-03-15  Martin Buchholz  <martin@xemacs.org>
5168
5169         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
5170         function to modify KEYMAP, so map over a copy of the hash table.
5171
5172 2001-03-21  Martin Buchholz <martin@xemacs.org>
5173
5174         * XEmacs 21.2.46 "Urania" is released.
5175
5176 2001-03-20  Dan Holmsand  <dan@eyebee.com>
5177
5178         * realpath.c (xrealpath): Make file-truename work with symlinks to
5179         /cygdrive paths on cygwin. Always lowercase drive-letters on
5180         native windows.
5181         (cygwin_readlink): Don't try to find canonical filename unless
5182         file exists.
5183
5184 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
5185
5186         * ChangeLog: Log GTK merge.
5187
5188         * dumper.c:
5189         * select-x.c:
5190         * specifier.c:
5191         * symeval.h:
5192         Revert gratuitous whitespace changes from GTK merge.
5193
5194         * emacs.c: Document end of complex #ifdef @ l. 1495.
5195
5196
5197 2001-03-12  Andy Piper  <andy@xemacs.org>
5198
5199         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
5200         have to do likewise.
5201
5202 2001-03-12  Andy Piper  <andy@xemacs.org>
5203
5204         * sysdep.c: we only support mingw now.
5205
5206 2001-03-09  Andy Piper  <andy@xemacs.org>
5207
5208         * unexcw.c (copy_executable_and_dump_data_section): making approx
5209         overrun a warning only.
5210
5211 2001-03-10  William M. Perry  <wmperry@aventail.com>
5212
5213         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
5214         satisfy Stephen's identical-after-cpp plea.
5215
5216 2001-03-02  Ben Wing  <ben@xemacs.org>
5217
5218         * cmds.c:
5219         * cmds.c (Fforward_char):
5220         * syntax.c:
5221         * window.c:
5222
5223         Augment documentation of the most common motion commands to make
5224         note of the shifted-motion support.
5225         
5226 2001-03-02  Ben Wing  <ben@xemacs.org>
5227
5228         * nt.c (mswindows_fstat):
5229         * nt.c (mswindows_stat):
5230         * search.c (boyer_moore):
5231         Fix compile warnings under Windows.
5232         
5233         * sysdep.c (sys_readdir):
5234         Fix buggy filename-conversion code under Mule.
5235
5236 2001-03-09  William M. Perry  <wmperry@aventail.com>
5237
5238         * Makefile.in.in:
5239         * config.h.in:
5240         * console.c:
5241         * console.h:
5242         * device.c:
5243         * device.h:
5244         * dragdrop.c:
5245         * emacs.c:
5246         * event-stream.c:
5247         * events.c:
5248         * events.h:
5249         * faces.c:
5250         * frame.h:
5251         * general-slots.h:
5252         * glyphs.c:
5253         * gutter.c:
5254         * inline.c:
5255         * lisp.h:
5256         * lrecord.h:
5257         * make-src-depend:
5258         * redisplay-output.c:
5259         * redisplay.c:
5260         * symsinit.h:
5261         * sysfile.h:
5262         * toolbar.c:
5263         * window.c:
5264         The Great GTK Merge.
5265
5266         * ChangeLog.GTK:
5267         * console-gtk.c:
5268         * console-gtk.h:
5269         * device-gtk.c:
5270         * emacs-marshals.c:
5271         * emacs-widget-accessors.c:
5272         * event-gtk.c:
5273         * frame-gtk.c:
5274         * gccache-gtk.c:
5275         * gccache-gtk.h:
5276         * glade.c:
5277         * glyphs-gtk.c:
5278         * glyphs-gtk.h:
5279         * gtk-glue.c:
5280         * gtk-xemacs.c:
5281         * gtk-xemacs.h:
5282         * gui-gtk.c:
5283         * gui-gtk.h:
5284         * menubar-gtk.c:
5285         * native-gtk-toolbar.c:
5286         * objects-gtk.c:
5287         * objects-gtk.h:
5288         * redisplay-gtk.c:
5289         * scrollbar-gtk.c:
5290         * scrollbar-gtk.h:
5291         * select-gtk.c:
5292         * toolbar-gtk.c:
5293         * ui-byhand.c:
5294         * ui-gtk.c:
5295         * ui-gtk.h:
5296         The Great GTK Merge: new files.
5297
5298 2001-02-26  Ben Wing  <ben@xemacs.org>
5299
5300         Reapplied Lstream change.
5301
5302 2001-02-26  Ben Wing  <ben@xemacs.org>
5303
5304         Undid the last change, since it is more controversial than I
5305         thought.  It should be back in at some point soon.
5306         
5307 2001-02-25  Ben Wing  <ben@xemacs.org>
5308
5309         * buffer.c:
5310         * callproc.c (Fold_call_process_internal):
5311         * event-msw.c (ntpipe_slurp_reader):
5312         * event-msw.c (ntpipe_shove_writer):
5313         * event-msw.c (winsock_reader):
5314         * event-msw.c (winsock_writer):
5315         * file-coding.c:
5316         * file-coding.c (detect_eol_type):
5317         * file-coding.c (detect_coding_type):
5318         * file-coding.c (determine_real_coding_system):
5319         * file-coding.c (Fdetect_coding_region):
5320         * file-coding.c (decoding_reader):
5321         * file-coding.c (decoding_writer):
5322         * file-coding.c (mule_decode):
5323         * file-coding.c (Fdecode_coding_region):
5324         * file-coding.c (encoding_reader):
5325         * file-coding.c (encoding_writer):
5326         * file-coding.c (mule_encode):
5327         * file-coding.c (Fencode_coding_region):
5328         * file-coding.c (detect_coding_sjis):
5329         * file-coding.c (decode_coding_sjis):
5330         * file-coding.c (encode_coding_sjis):
5331         * file-coding.c (detect_coding_big5):
5332         * file-coding.c (decode_coding_big5):
5333         * file-coding.c (encode_coding_big5):
5334         * file-coding.c (detect_coding_ucs4):
5335         * file-coding.c (decode_coding_ucs4):
5336         * file-coding.c (encode_coding_ucs4):
5337         * file-coding.c (detect_coding_utf8):
5338         * file-coding.c (decode_coding_utf8):
5339         * file-coding.c (encode_coding_utf8):
5340         * file-coding.c (detect_coding_iso2022):
5341         * file-coding.c (decode_coding_iso2022):
5342         * file-coding.c (encode_coding_iso2022):
5343         * file-coding.c (decode_coding_no_conversion):
5344         * file-coding.c (encode_coding_no_conversion):
5345         * glyphs-x.c (write_lisp_string_to_temp_file):
5346         * gpmevent.c (tty_get_foreign_selection):
5347         * lisp.h:
5348         * lstream.c:
5349         * lstream.c (Lstream_flush_out):
5350         * lstream.c (Lstream_adding):
5351         * lstream.c (Lstream_write_1):
5352         * lstream.c (Lstream_write):
5353         * lstream.c (Lstream_raw_read):
5354         * lstream.c (Lstream_read_more):
5355         * lstream.c (Lstream_read):
5356         * lstream.c (Lstream_unread):
5357         * lstream.c (Lstream_fputc):
5358         * lstream.c (stdio_reader):
5359         * lstream.c (stdio_writer):
5360         * lstream.c (filedesc_reader):
5361         * lstream.c (filedesc_writer):
5362         * lstream.c (lisp_string_reader):
5363         * lstream.c (struct fixed_buffer_stream):
5364         * lstream.c (make_fixed_buffer_input_stream):
5365         * lstream.c (make_fixed_buffer_output_stream):
5366         * lstream.c (fixed_buffer_reader):
5367         * lstream.c (fixed_buffer_writer):
5368         * lstream.c (struct resizing_buffer_stream):
5369         * lstream.c (resizing_buffer_writer):
5370         * lstream.c (dynarr_writer):
5371         * lstream.c (lisp_buffer_reader):
5372         * lstream.c (lisp_buffer_writer):
5373         * lstream.h:
5374         * lstream.h (lstream_implementation):
5375         * lstream.h (struct lstream):
5376         * md5.c (Fmd5):
5377         * process-nt.c (nt_send_process):
5378         * process-unix.c (unix_send_process):
5379         
5380         Correct Lstream lossage due to mixing of signed and unsigned
5381         quantities.  All Lstream uses of size_t and ssize_t are now a
5382         single signed data type Lstream_data_count.  This fixes problems
5383         under Windows with sending large quantities of data to a process,
5384         and may well fix other subtle bugs.
5385
5386 2001-02-23  Martin Buchholz <martin@xemacs.org>
5387
5388         * XEmacs 21.2.45 "Thelxepeia" is released.
5389
5390 2001-02-21  Martin Buchholz  <martin@xemacs.org>
5391
5392         * lisp-union.h (XSETINT): 
5393         (XSETCHAR):
5394         (XSETOBJ): 
5395         Reverse previous change of 2001-02-06.
5396
5397 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
5398
5399         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
5400         buffers.
5401         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5402         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
5403         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
5404         * regex.c (POS_AS_IN_BUFFER): removed
5405         * regex.c (re_search_2):
5406         * regex.c (re_match_2):
5407         Don't use an offset of 1 when calculating buffer positions, since
5408         `BI_BUF_BEGV' does it already.
5409
5410 2001-02-18  Wim Dumon  <wim@easics.be>
5411
5412         * insdel.c (prepare_to_modify_buffer): Also check for
5413         supersession when clash-detection is enabled. 
5414
5415 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
5416
5417         * regex.c (re_match_2_internal):
5418         Convert temp characters from 'const unsigned char' to 're_char'.
5419         Fix crashing bug with extended characters under mule.
5420         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
5421         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
5422         font-lock, pdump, and new syntax-table code.
5423         * syntax.c (find_start_of_comment):
5424         (find_end_of_comment):
5425         (forward-comment):
5426         Fix crashing bugs involving moving beyond end of buffer.
5427         * syntax.c (find_start_of_comment):
5428         Fixed logic to allow proper detection of cases where the same
5429         character is used to end both a two-char comment start and a
5430         two-char comment end sequence. Fixes `(forward-comment -1)'.
5431         * syntax.c (find_start_of_comment):
5432         Return position just past last comment-end character for all cases
5433         (previously was only done for two-char comment-end sequences).
5434         * syntax.c (forward-comment):
5435         Take value returned from `find_end_of_comment', rather than
5436         incrementing it.
5437         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5438         Properly deal with BUFFERP (syntax_cache.object)
5439
5440 2001-02-17  Martin Buchholz  <martin@xemacs.org>
5441
5442         * alloc.c (Fgarbage_collect): 
5443         * alloc.c (make_bit_vector_from_byte_vector):
5444         -Wsign-compare-correctness.
5445
5446 2001-02-16  Martin Buchholz  <martin@xemacs.org>
5447
5448         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
5449         (XSETCHAR): Likewise.
5450         (XSETOBJ): Likewise.
5451
5452 2001-02-15  Martin Buchholz  <martin@xemacs.org>
5453
5454         * mule-canna.c (canna-func-delete_previous): 
5455         Rename to canna-func-delete-previous.
5456
5457 2001-02-14  Martin Buchholz  <martin@xemacs.org>
5458
5459         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
5460
5461 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
5462
5463         * font-lock.c (find_context): Fix C++ compile errors introduced by
5464         recent patch
5465
5466 2001-02-13  Martin Buchholz  <martin@xemacs.org>
5467
5468         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
5469         pragma, but earlier ones barf on the same pragma.
5470
5471 2001-02-06  Mike Sperber <mike@xemacs.org>
5472
5473         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
5474         `configure-mule-lisp-directory'.
5475
5476 2001-02-12  Martin Buchholz  <martin@xemacs.org>
5477
5478         Make sure dump-id.c is compiled in the same way as other .c's.
5479         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
5480         * dump-id.h: Remove.
5481         * emacs.c: Move dump-id.h into dumper.h.
5482         * dumper.h: Move dump-id.h into dumper.h.
5483         * Makefile.in.in:
5484         Use standard .c.o rule for building dump-id.o.
5485         Remove preprocessor flags from link command.
5486         Add dump-id.o to ${otherobjs} if PDUMP.
5487
5488 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
5489
5490         Port FSF 20.7 syntax table improvements.
5491         * syntax.c.
5492         * syntax.h.
5493
5494         Fixups for new syntax table stuff.
5495         * dired.c: Include syntax.c.
5496         (Fdirectory_files): Initialize regex_match_object and
5497         regex_emacs_buffer.
5498         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
5499         and Fget_char_property.
5500
5501         Use ported FSF 20.7 syntax table improvements.
5502         * font-lock.c.
5503         * regex.c.
5504         * search.c.
5505         
5506 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5507
5508         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
5509         Unixware's enum boolean from sys/types.h.
5510
5511 2001-02-10  Martin Buchholz  <martin@xemacs.org>
5512
5513         Fix support for building with latest Purify.
5514         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
5515         (PURIFY_FLAGS): Likewise.
5516
5517 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5518
5519         * fileio.c (lisp_string_set_file_times): New.
5520         * fileio.c (Fcopy_file): Use it.
5521         Fixes bug:
5522         (copy-file filename non-ascii-filename t t)
5523         ==> No such file or directory, non-ascii-filename
5524
5525 2001-02-10  Martin Buchholz  <martin@xemacs.org>
5526
5527         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
5528         USHRT_MAX seems clearer than ~0 anyways.
5529
5530 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5531
5532         dumper improvements.  Inspired by Olivier.
5533         * dumper.c (pdump_max_align): New.
5534         * dumper.c (pdump_add_entry): Use pdump_max_align.
5535         * dumper.c (pdump_get_entry_list): Likewise.
5536         * dumper.c (pdump_scan_by_alignment): Likewise.
5537         Don't iterate through unnecessary alignments.
5538         * dumper.c (pdump_file_get): No need to align result of malloc().
5539         * dumper.c (pdump_mallocadr): Remove.  
5540         The result of malloc() is guaranteed to be maximally aligned.
5541         * dumper.c: s/elmt/elt/g;
5542         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
5543         * dumper.c (pdump_alert_undump_object): Likewise.
5544         * dumper.c (pdump_align_table): 
5545         Don't support alignments > 64.
5546         Store ALIGNOF's, not shift counts, in table.
5547
5548 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5549
5550         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
5551         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
5552         * systime.h: Use HAVE_UTIME.
5553         * sysdep.c (struct utimbuf): Remove.
5554         * sysdep.c (set_file_times): Prefer utime() to utimes().
5555         * config.h.in (HAVE_UTIME): New.
5556         * config.h.in (HAVE_UTIME_H): Remove.
5557         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
5558
5559 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5560
5561         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
5562
5563 2001-02-08  Martin Buchholz  <martin@xemacs.org>
5564
5565         * s/irix6-0.h: Use the standard system memmove, not bcopy.
5566
5567 2001-02-08  Martin Buchholz <martin@xemacs.org>
5568
5569         * XEmacs 21.2.44 "Thalia" is released.
5570
5571 2001-02-06  Martin Buchholz  <martin@xemacs.org>
5572
5573         Fixes crashes in kill-emacs on some systems.
5574         * process-unix.c (unix_kill_child_process):
5575         It's OK for kill() to fail with ESRCH.
5576
5577 2001-02-07  Martin Buchholz  <martin@xemacs.org>
5578
5579         Contortions to make .gdbinit tricks work on most systems.
5580         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
5581         * alloc.c (dbg_valmask): Make non-const.
5582         * alloc.c (dbg_typemask): Make non-const.
5583         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
5584         * alloc.c (dbg_valbits): Make non-const.
5585         * alloc.c (dbg_gctypebits): Make non-const.
5586         * .gdbinit (decode_object): Make it work with AIX cc.
5587
5588 2001-02-06  Martin Buchholz  <martin@xemacs.org>
5589
5590         * elhash.c (make_general_lisp_hash_table):
5591         Use simpler and more efficient calloc to clear entries.
5592
5593 2001-02-07  Martin Buchholz  <martin@xemacs.org>
5594
5595         * window.c (window_scroll): Work around an AIX C compiler bug.
5596         Fixes 'scroll-up' does nothing problem with xlC.
5597
5598 2001-02-05  Martin Buchholz  <martin@xemacs.org>
5599
5600         * .gdbinit: Remove obsolete comment.
5601
5602 2001-01-31  Mike Alexander  <mta@arbortext.com>
5603
5604         * select.c (Fown_selection_internal): Set owned_p for device
5605         method correctly.
5606
5607 2001-02-01  Martin Buchholz  <martin@xemacs.org>
5608
5609         Port to g++ 2.97.
5610         "not" cannot be used as a macro name as it is an operator in C++
5611         * config.h.in: Stop #defining `not'.
5612         * chartab.c (check_category_char): not ==> not_p
5613         * chartab.h: Likewise.
5614         * regex.c (re_match_2_internal): Likewise.
5615
5616 2001-02-02  Martin Buchholz  <martin@xemacs.org>
5617
5618         * lisp-disunion.h: Fix up comments.
5619
5620 2001-01-31  Martin Buchholz  <martin@xemacs.org>
5621
5622         * keymap.c (define_key_check_and_coerce_keysym):
5623         (syms_of_keymap):
5624         Support mouse-6 and mouse-7 bindings in the obvious way.
5625
5626 2001-02-01  Martin Buchholz  <martin@xemacs.org>
5627
5628         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
5629
5630 2001-01-30  Martin Buchholz  <martin@xemacs.org>
5631
5632         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
5633         Previous patch missed DEFVAR_INT_MAGIC.
5634         Make sure future DEFVAR_foo use correct types.
5635         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
5636         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
5637         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
5638         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
5639         * (DEFVAR_INT): Likewise.
5640         * redisplay.c (vertical_clip): Should be of type Fixnum.
5641         * redisplay.c (horizontal_clip): Likewise.
5642         * lisp.h (dump_add_opaque_int): New.
5643         (dump_add_opaque_fixnum): New.
5644
5645 2001-01-29  Andy Piper  <andy@xemacs.org>
5646
5647         * glyphs-widget.c (check_valid_int_or_function): allow symbols
5648         since they can be eval'ed
5649
5650 2001-01-29  Martin Buchholz  <martin@xemacs.org>
5651
5652         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
5653         Oops, XEmacs redefines `class'.  Use `typename' instead.
5654
5655 2001-01-28  Martin Buchholz  <martin@xemacs.org>
5656
5657         * dumper.c: Fix C++ compile errors.
5658
5659 2001-01-29  Martin Buchholz  <martin@xemacs.org>
5660
5661         * tparam.c: Use correct prototypes.
5662
5663 2001-01-28  Martin Buchholz  <martin@xemacs.org>
5664
5665         * sysproc.h: #include util.h for NetBSD's openpty.
5666
5667 2001-01-27  Martin Buchholz  <martin@xemacs.org>
5668
5669         More 64-bit correctness.
5670         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
5671         Use a typedef `fixnum' for the type used for DEFVAR_INT.
5672         Fix up comments.
5673         This finally finishes the 64-bit SGI port.
5674         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
5675         * symbols.c: Fix up comments and type casts.
5676         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
5677         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
5678         * symeval.h (Fixnum): New type.
5679         * symeval.h (symbol_value_type): Fix up comment.
5680
5681         * commands.h:
5682         * nt.c:
5683         * emacs.c:
5684         * data.c:
5685         * redisplay.c:
5686         * abbrev.c:
5687         * dired-msw.c:
5688         * event-Xt.c:
5689         * eldap.c:
5690         * window.c:
5691         * sound.c:
5692         * event-stream.c:
5693         * eval.c:
5694         * buffer.c:
5695         * mule-canna.c: A million DEFVAR_INTs here...
5696         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
5697         * extents.c:
5698         * cmdloop.c:
5699         * lisp.h:
5700         * select-x.c:
5701         * console-x.h:
5702         * event-msw.c:
5703         * mule-wnnfns.c:
5704         * hpplay.c:
5705         * ralloc.c:
5706         * alloc.c:
5707         * keymap.c:
5708         * profile.c:
5709         s/int/Fixnum/g in DEFVAR_INT declarations.
5710
5711 2001-01-26  Martin Buchholz  <martin@xemacs.org>
5712
5713         Port pdump to SGI alignment-sensitive environment.
5714         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
5715         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
5716         properly aligned.
5717         Define and use aligned reading and writing macros.
5718         Use buffered stdio instead of posix i/o for faster dumping.
5719         Eliminate kludgy 256 byte space for header.
5720         Read and write from dump file using structs for alignment safety.
5721         * dumper.c (pdump_align_stream): New.
5722         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
5723         * dumper.c (PDUMP_READ_ALIGNED): New.
5724         * dumper.c (PDUMP_WRITE_ALIGNED): New.
5725         * dumper.c (pdump_static_Lisp_Object): New struct.
5726         * dumper.c (pdump_static_pointer): New struct.
5727         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
5728         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
5729         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
5730         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
5731
5732         * dumper.c (pdump_backtrace):
5733         * dumper.c (pdump_get_indirect_count):
5734         * dumper.c (pdump_register_object):
5735         * dumper.c (pdump_register_struct):
5736         * dumper.c (pdump_reloc_one):
5737         * dumper.c (pdump_scan_by_alignment):
5738         * dumper.c (pdump_dump_from_root_struct_ptrs):
5739         * dumper.c (pdump_dump_opaques):
5740         * dumper.c (pdump_dump_rtables):
5741         * dumper.c (pdump_dump_from_root_objects):
5742         * dumper.c (pdump):
5743         * dumper.c (pdump_load_finish):
5744         Use aligned reading and writing.
5745
5746         * dumper.c (pdump_free): Make static.
5747         * dumper.c (pdump_hFile): Likewise.
5748         * dumper.c (pdump_hMap): Likewise.
5749
5750 2001-01-26  Martin Buchholz <martin@xemacs.org>
5751
5752         * XEmacs 21.2.43 "Terspichore" is released.
5753
5754 2001-01-25  Martin Buchholz  <martin@xemacs.org>
5755
5756         Type fiddling for window_config.saved_windows_count
5757         * window.c (struct window_config): 
5758         Make saved_windows_count member unsigned.
5759         * window.c (sizeof_window_config_for_n_windows): 
5760         Make parameter unsigned.
5761         * window.c (mark_window_config):
5762         * window.c (window_config_equal):
5763         * window.c (free_window_configuration):
5764         * window.c (Fset_window_configuration):
5765         * window.c (count_windows):
5766         * window.c (Fcurrent_window_configuration):
5767         * window.c (reinit_vars_of_window):
5768         Update all callers and users.
5769
5770 2001-01-25  Martin Buchholz  <martin@xemacs.org>
5771
5772         Alignment correctness for flexible arrays.
5773         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
5774         Make alignment-correct. Add interesting comments.
5775         * alloc.c (size_vector):
5776         * alloc.c (make_vector_internal):
5777         * alloc.c (make_bit_vector_internal):
5778         * alloc.c (sweep_bit_vectors_1):
5779         * fns.c (size_bit_vector):
5780         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
5781         * window.c (sizeof_window_config_for_n_windows): 
5782         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
5783
5784 2001-01-24  Martin Buchholz  <martin@xemacs.org>
5785
5786         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
5787
5788 2001-01-23  Andy Piper  <andy@xemacs.org>
5789
5790         * select.c (Fown_selection_internal): pass owned_p
5791
5792         * select-msw.c (mswindows_own_selection): New Signature.
5793
5794         * console.h (struct console_methods): add owned_p to
5795         _own_selection.
5796
5797         * select-x.c (x_own_selection): pass owned_p
5798         (hack_motif_clipboard_selection): use owned_p
5799         (vars_of_select_x): new variable -
5800         x_selection_strict_motif_ownership.
5801
5802 2001-01-23  Martin Buchholz  <martin@xemacs.org>
5803
5804         * specifier.h (specifier_data_offset): Remove pointless parens.
5805         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
5806
5807 2001-01-24  Martin Buchholz  <martin@xemacs.org>
5808
5809         Make Lisp_Object sizeof methods be alignment-correct.
5810         pdump must restore objects to the same alignment as the C compiler
5811         assumes.  It really matters on SGIs.
5812         * lstream.c (aligned_sizeof_lstream): New.
5813         (sizeof_lstream): Use aligned_sizeof_lstream.
5814         (Lstream_new): Likewise.
5815         * opaque.c (aligned_sizeof_opaque): New.
5816         (sizeof_opaque): Use aligned_sizeof_opaque.
5817         (make_opaque): Likewise.
5818         * specifier.c (aligned_sizeof_specifier): New.
5819         (sizeof_specifier): Use aligned_sizeof_specifier.
5820         (make_specifier_internal): Likewise.
5821
5822 2001-01-23  Martin Buchholz  <martin@xemacs.org>
5823
5824         * lstream.h (struct lstream): Use max_align_t for trailing data.
5825         * specifier.h (struct Lisp_Specifier): Likewise.
5826
5827 2001-01-22  Martin Buchholz  <martin@xemacs.org>
5828
5829         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
5830         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
5831         (CCL_SUSPEND): Likewise.
5832         (CCL_INVALID_CMD): Likewise.
5833         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
5834         (ccl_driver): Likewise.
5835         (CCL_WRITE_CHAR): Macro hygiene.
5836         (CCL_WRITE_STRING): Macro hygiene.
5837
5838 2001-01-22  Martin Buchholz  <martin@xemacs.org>
5839
5840         Port "portable" dumper to SunOS 4 and HP-UX.
5841         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
5842         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
5843         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
5844
5845 2001-01-22  Martin Buchholz  <martin@xemacs.org>
5846
5847         * lisp.h (ALIGNOF): A better definition for C++.
5848
5849 2001-01-20  Martin Buchholz  <martin@xemacs.org>
5850
5851         Macro hygiene.
5852         Fix printf warnings: int format, long int arg.
5853         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
5854         (PUSH_FAILURE_POINT): Use correct printf formats.
5855         (POP_FAILURE_POINT): Use correct printf formats.  
5856         Use do {...} while (0)
5857
5858 2001-01-20  Martin Buchholz <martin@xemacs.org>
5859
5860         * XEmacs 21.2.42 "Poseidon" is released.
5861
5862 2001-01-20  Martin Buchholz  <martin@xemacs.org>
5863
5864         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
5865
5866 2001-01-19  Martin Buchholz  <martin@xemacs.org>
5867
5868         De-kludgify FIXED_TYPE free list frobbing.
5869         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
5870         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
5871         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
5872         * alloc.c (Lisp_Free): New pseudo lisp object definition.
5873         * alloc.c (LRECORD_FREE_P): New.
5874         * alloc.c (MARK_LRECORD_AS_FREE): New.
5875         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
5876         * alloc.c (STRUCT_FREE_P): Deleted.
5877         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
5878         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
5879         * alloc.c (STRING_CHARS_FREE_P): New.
5880         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
5881         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
5882         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
5883         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
5884         * alloc.c (resize_string): Use new definitions.
5885         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
5886         * alloc.c (verify_string_chars_integrity): Use new definitions.
5887         * alloc.c (compact_string_chars): Use new definitions.
5888         * alloc.c: Update monster comments.
5889         * lrecord.h (lrecord_type): Add some new lrecord types for
5890         alloc.c's use.
5891
5892 2001-01-18  Martin Buchholz  <martin@xemacs.org>
5893
5894         Improve alignment hackery.
5895         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
5896         (max_align_t): Moved from opaque.h - general purpose.
5897         (ALIGN_PTR): Use size_t, not long.
5898         * opaque.h (max_align_t): Move to lisp.h.
5899
5900 2001-01-18  Norbert Koch  <nk@LF.net>
5901
5902         * gui.h: Fix and add prototypes to fix build problems.
5903
5904 2001-01-18  Martin Buchholz  <martin@xemacs.org>
5905
5906         temacs is going away, so `dump-temacs' is now a bad name.
5907         * .dbxrc (dump-temacs): Rename to `dmp'.
5908         * .gdbinit (dump-temacs): Rename to `dmp'.
5909
5910 2001-01-17  Andy Piper  <andy@xemacs.org>
5911
5912         * glyphs.c (print_image_instance): comment to make martin happy.
5913
5914         * glyphs-x.c (x_redisplay_widget): update faces after a frame
5915         change.
5916
5917         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
5918         activation.
5919         (mswindows_tab_control_redisplay): warning suppression.
5920
5921         * glyphs-widget.c (widget_update): re-write to cope with updated
5922         items.
5923         (widget_instantiate): use new gui_item functions.
5924         (tab_control_update): deleted.
5925         (progress_gauge_update): deleted.
5926         (image_instantiator_progress_guage): take out update reference.
5927         (image_instantiator_tree_view): ditto.
5928         (image_instantiator_tab_control): ditto.
5929
5930         * gui.c (widget_gui_parse_item_keywords): new function. Do things
5931         Right the new way.
5932         (gui_item_add_keyval_pair): re-write to cope with descriptors and
5933         return whether anything was changed.
5934         (update_gui_item_keywords): as it sounds.
5935
5936         * gui.h: declare widget_gui_parse_item_keywords.
5937
5938         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
5939         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
5940
5941 2001-01-17  Martin Buchholz <martin@xemacs.org>
5942
5943         * XEmacs 21.2.41 "Polyhymnia" is released.
5944
5945 2001-01-16  Didier Verna  <didier@xemacs.org>
5946
5947         * glyphs.c (image_instantiate): don't use fallbacks when
5948         instantiating a face's background pixmap by inheritance.
5949
5950 2001-01-14  Mike Sperber <mike@xemacs.org>
5951
5952         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
5953         Conditionalize accordingly.
5954
5955 2001-01-16  Martin Buchholz  <martin@xemacs.org>
5956
5957         * dumper.c (pdump_file_get): Fix a compiler warning.
5958
5959 2001-01-15  Martin Buchholz  <martin@xemacs.org>
5960
5961         Make Purify happy when pdumping.
5962         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
5963         iniitalizing all bits of new lisp object memory.
5964         * symbols.c (Fmake_local_variable): Likewise.
5965         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
5966         * symbols.c (Fdefvaralias): Likewise.
5967         * mule-charset.c (vars_of_mule_charset): Likewise.
5968
5969 2001-01-15  Martin Buchholz  <martin@xemacs.org>
5970         Add the `-nd' flag when running pre-dump operations under the debugger.
5971         * .dbxrc (run-temacs): Add `-nd'.
5972         * .dbxrc (update-elc): Likewise.
5973         * .dbxrc (dump-temacs): Likewise.
5974         * .gdbinit (run-temacs): Likewise.
5975         * .gdbinit (check-temacs): Likewise.
5976         * .gdbinit (update-elc): Likewise.
5977         * .gdbinit (dump-temacs): Likewise.
5978
5979 2001-01-14  Martin Buchholz  <martin@xemacs.org>
5980
5981         Allow building 64-bit executables on AIX with GNU malloc, e.g.
5982         export OBJECT_MODE=64
5983         configure --pdump --use-union-type=no
5984         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
5985         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
5986
5987         * miscplay.c (sndcnv8U_2mono):
5988         Avoid two uses of `++' in the same expression.
5989         Suppresses a GCC warning.
5990
5991 2001-01-13  Martin Buchholz  <martin@xemacs.org>
5992
5993         Make sure future compilers don't miscompile alloc.c.
5994         * alloc.c:
5995         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
5996         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
5997
5998 2001-01-12  Martin Buchholz  <martin@xemacs.org>
5999
6000         * dumper.c: A little post-pdump-rename comment fixup.
6001
6002 2001-01-09  Jerry James  <james@eecs.ku.edu>
6003
6004         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
6005
6006 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6007
6008         * *.[ch]: Globally rename symbols using the following `pdump-rename'
6009         script:
6010         #!/bin/sh
6011         replace_symbol () {
6012           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
6013         }
6014
6015         replace_symbol pdump_wire_lists pdump_weak_object_chains
6016         replace_symbol pdump_wire_list dump_add_weak_object_chain
6017
6018         replace_symbol pdump_wires pdump_root_objects
6019         replace_symbol pdump_wire dump_add_root_object
6020
6021         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
6022         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
6023
6024         replace_symbol dumpstructinfos pdump_root_struct_ptrs
6025         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
6026         replace_symbol dumpstructinfo pdump_root_struct_ptr
6027         replace_symbol dumpstruct dump_add_root_struct_ptr
6028
6029         replace_symbol dumpopaque dump_add_opaque
6030         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
6031         replace_symbol dumpopaqueinfos pdump_opaques
6032         replace_symbol dumpopaqueinfo pdump_opaque
6033
6034         replace_symbol nb_structdump nb_root_struct_ptrs
6035         replace_symbol nb_opaquedump nb_opaques
6036
6037         replace_symbol align_table pdump_align_table
6038         replace_symbol dump_header pdump_header
6039
6040         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
6041         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
6042
6043
6044 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6045
6046         * s/aix4.h: Keep the C for AIX compiler from overaggressively
6047         optimizing bytecount_to_charcount().
6048
6049 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6050
6051         * config.h.in:
6052         (HAVE_DLFCN_H): Removed.
6053         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
6054
6055 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6056
6057         Portable dumper maintainability improvements.
6058         * alloc.c (staticpro):
6059         * alloc.c (staticpro_nodump):
6060         * alloc.c (garbage_collect_1):
6061         * alloc.c (reinit_alloc_once_early):
6062         * alloc.c (init_alloc_once_early):
6063         * alloc.c: Move dumper functions to alloc.c.
6064         * dumper.c (pdump_backtrace):
6065         * dumper.c (pdump_dump_structs):
6066         * dumper.c (pdump_dump_opaques):
6067         * dumper.c (pdump_dump_rtables):
6068         * dumper.c (pdump_dump_wired):
6069         * dumper.c (pdump):
6070         * dumper.c (pdump_load_check):
6071         * dumper.c (pdump_load_finish):
6072         * dumper.c (pdump_file_unmap):
6073         * dumper.c (pdump_file_get):
6074         * dumper.c (pdump_resource_free):
6075         * dumper.c (pdump_resource_get):
6076         * dumper.c (pdump_file_free):
6077         * dumper.c (pdump_file_try):
6078         * dumper.c (pdump_load):
6079         Remove fixed size limits on staticpro(), staticpro_nodump(),
6080         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
6081         Remove custom code for dumping lrecord_implementations_table - use
6082         dumpopaque instead.
6083         Remove (most of the) custom code for dumping staticpros - dump it
6084         like any other dynarr.
6085
6086         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
6087         * dumper.c: Moved functions from alloc.c.
6088         * alloc.c (dumpstruct): Moved to dumper.c.
6089         * alloc.c (dumpopaque): Likewise.
6090         * alloc.c (pdump_wire): Likewise.
6091         * alloc.c (pdump_wire_list): Likewise.
6092
6093         * lisp.h (Dynarr_sizeof): New.
6094         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
6095         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
6096         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
6097
6098         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
6099         * lisp.h (dumpopaque): ditto.
6100         * lisp.h (pdump_wire): ditto.
6101         * lisp.h (pdump_wire_list): ditto.
6102
6103 2001-01-09  Martin Buchholz  <martin@xemacs.org>
6104
6105         * make-src-depend (PrintPatternDeps):
6106         Use `sort' to make output independent of perl version.
6107
6108 2001-01-08  Martin Buchholz  <martin@xemacs.org>
6109
6110         Port to Netbsd 1.5.
6111         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
6112         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
6113
6114 2001-01-03  Didier Verna  <didier@xemacs.org>
6115
6116         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
6117         that `focus_frame' is alive before thinking of calling
6118         `redisplay_redraw_cursor' on it.
6119
6120 2001-01-08  Martin Buchholz <martin@xemacs.org>
6121
6122         * XEmacs 21.2.40 is released.
6123
6124 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6125
6126         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
6127
6128 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6129
6130         * alloc.c (dbg_valmask): Make const.
6131         * alloc.c (dbg_typemask): Make const.
6132         * alloc.c (dbg_USE_UNION_TYPE): Make const.
6133         * alloc.c (dbg_valbits): Make const.
6134         * alloc.c (dbg_gctypebits): Make const.
6135
6136 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
6137
6138         * redisplay-x.c (x_bevel_area):
6139         redisplay.h (struct rune):
6140         Typo fixes in comments.
6141
6142 2001-01-05  Andy Piper  <andy@xemacs.org>
6143
6144         * glyphs-x.c (x_redisplay_widget): use size changed for offset
6145         adjustment.
6146
6147         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
6148
6149 2001-01-05  Martin Buchholz  <martin@xemacs.org>
6150
6151         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
6152
6153         * mule-ccl.c (stack_idx_of_map_multiple):
6154         Non const global data must not be initialized!
6155         Found by MIYASHITA Hisashi.
6156
6157 2001-01-02  Andy Piper  <andy@xemacs.org>
6158
6159         * frame.c (change_frame_size): make sure frame size is always
6160         marked as changed.
6161
6162         * glyphs.c (image_instance_layout): minor code reuse.
6163
6164         * window.c (Fcurrent_window_configuration): revert previous
6165         change.
6166
6167 2001-01-02  Martin Buchholz  <martin@xemacs.org>
6168
6169         * glyphs.h:
6170         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
6171
6172 2000-12-31  Andy Piper  <andy@xemacs.org>
6173
6174         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
6175         when widget gets unmapped.
6176
6177         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
6178         function. Make sure widgets losing focus don't just drop it.
6179         (handle_focus_event_1): record the widget with focus.
6180
6181 2000-12-31  Andy Piper  <andy@xemacs.org>
6182
6183         * window.c (allocate_window): use
6184         make_image_instance_cache_hash_table.
6185         (make_dummy_parent): ditto.
6186         (Fset_window_configuration): ditto.
6187
6188         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
6189
6190         * glyphs.c (process_image_string_instantiator): use
6191         INSTANTIATOR_TYPE.
6192         (get_image_instantiator_governing_domain): ditto.
6193         (normalize_image_instantiator): ditto.
6194         (instantiate_image_instantiator): ditto.
6195         (make_image_instance_1): ditto.
6196         (image_instantiate): ditto. Key on glyph *and* instantiator type.
6197         (instantiator_eq_equal): new function for use with instance hash
6198         tables.
6199         (instantiator_eq_hash): ditto.
6200         (make_image_instance_cache_hash_table): create a suitable hash
6201         table for storing image instances.
6202
6203         * elhash.h (hash_table_weakness): new internal weakness type
6204         HASH_TABLE_KEY_CAR_VALUE_WEAK.
6205         declare new functions.
6206
6207         * elhash.c (finish_marking_weak_hash_tables): introduce yet
6208         another weakness type for glyphs.
6209         (make_standard_lisp_hash_table): new function split out from
6210         make_general_lisp_hash_table.
6211         (make_lisp_hash_table): call make_standard_lisp_hash_table.
6212         (hash_table_instantiate): ditto.
6213         (Fmake_hash_table): ditto.
6214
6215 2000-12-31  Martin Buchholz <martin@xemacs.org>
6216
6217         * XEmacs 21.2.39 is released.
6218
6219 2000-12-29  Andy Piper  <andy@xemacs.org>
6220
6221         * menubar.c (menubar_visible_p_changed): signal the frame changed.
6222
6223         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
6224         the frame has changed so that we pick up geometry changes such as
6225         menubar visibility.
6226
6227 2000-12-28  Andy Piper  <andy@xemacs.org>
6228
6229         * lastfile.c (my_ebss): make a char array so we can pad the
6230         bss. Fixes cygwin unexec.
6231
6232         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
6233
6234 2000-12-26  Andy Piper  <andy@xemacs.org>
6235
6236         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
6237         comments and try and be more precise about a non-/SIGIO world.
6238         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
6239         SIGIO.
6240
6241         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
6242         we don't normalize to zero width or height.
6243
6244 2000-12-24  Andy Piper  <andy@xemacs.org>
6245
6246         * Makefile.in.in (ldflags): add -mwindows when appropriate.
6247
6248 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
6249
6250         * s/sco5.h: SCO 5 has pty support.
6251
6252 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
6253
6254         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
6255         input-method-xlib.c contains whole contents of input-method-xfs.c,
6256         so we can use input-method-xlib.c's code for USE_XFONTSET
6257         using #ifdefs.
6258         * input-method-xfs.c: removed.
6259
6260 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
6261
6262         * file-coding.h (enum coding_category_type): reorder enumerators to
6263         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
6264         (now one greater than largest real coding_category_type enumerator).
6265         * file-coding.c (coding_category_symbol, coding_category_by_priority,
6266         coding_category_system, fcd_descriptihon_1, decode_coding_category,
6267         Fcoding_category_list, Fset_coding_priority_list,
6268         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
6269         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
6270
6271 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6272
6273         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
6274         * redisplay-output.c (redisplay_output_window): Clear top of window
6275         when face is changed.
6276         * redisplay-x.c (x_redraw_exposed_window): Call
6277         redisplay_clear_top_of_window.
6278         * redisplay.h: Publish redisplay_clear_top_of_window.
6279
6280 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6281
6282         * buffer.c (Fkill_buffer): Map over all devices.
6283         * window.c (window_loop): Remove UNSHOW_BUFFER code.
6284         (list_windows): New function.
6285         (list_all_windows): Ditto.
6286         (Freplace_buffer_in_windows): Use them.
6287
6288 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
6289
6290         * database.c (berkdb_subtype): Recognize new subtype `queue'.
6291         (Fopen_database): Use `db_create' instead of `db_open'.
6292         (syms_of_database): Initialize Qqueue.
6293
6294 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
6295
6296         * buffer.c (common_init_complex_vars_of_buffer): Initialize
6297         buffer_local_face_property.
6298         * buffer.h (struct buffer): New member buffer_local_face_property.
6299         * window.c (Fset_window_buffer):  Mark window's face as changed
6300         when buffer has buffer local face.
6301         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
6302         * objects.c (color_after_change): Set buffer_local_face_property
6303         when locale of face specifier is buffer.
6304         * objects.c (font_after_change): Ditto.
6305         * objects.c (face_boolean_after_change): Ditto.
6306         * glyphs.c (image_after_change): Ditto.
6307
6308 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6309
6310         * nt.c (mswindows_fstat): Report file permissions, volume serial
6311         number, etc. Code adapted from FSF Emacs 20.7.
6312
6313 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6314
6315         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
6316         of stat when we don't have symbolic links, to make sure
6317         mswindows_stat is called on mswindows.
6318
6319 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6320
6321         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
6322
6323 2000-12-12  Martin Buchholz  <martin@xemacs.org>
6324
6325         * doprnt.c (emacs_doprnt_1): More printing fixes.
6326         Make printing of numbers compatible with libc and FSF Emacs.
6327         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
6328         Use the system printf to do most of the hard work of formatting,
6329         instead of doprnt_1().
6330         Calculate memory to allocate for format string.
6331         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
6332         (doprnt_1): Cleaner code and documentation.
6333
6334 2000-12-01  Jerry James  <james@eecs.ukans.edu>
6335
6336         * Makefile.in.in: Use the loop variable to install headers.
6337
6338 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6339
6340         * window.c (Fsplit_window): Don't invalidate face cache.
6341
6342 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6343
6344         * minibuf.c (Fall_completions): Undo the previous change
6345         which removed checking elements start with space.
6346
6347 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6348
6349         * mule-canna.c: Didier suppression.
6350
6351 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6352
6353         * mule-canna.c: rename static unsigned char buf[] to key_buffer
6354         (warning suppression).  Add English comment translations.
6355
6356 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6357
6358         * unexelfsgi.c (unexec): Better test for mmap failure.
6359
6360 2000-12-05  Martin Buchholz <martin@xemacs.org>
6361
6362         * XEmacs 21.2.38 is released.
6363
6364 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6365
6366         * redisplay.c (bar-cursor): Make a user variable.
6367
6368         * symsinit.h: Add init_postgresql_from_environment.
6369
6370 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6371
6372         * regex.c: Convert to clean C.
6373
6374 2000-12-05  Dan Holmsand  <dan@eyebee.com>
6375
6376         * realpath.c:
6377         Don't #include sysfile.h. Revert to duplicating PATH_MAX
6378         initialization.
6379         (sys_readlink): renamed to system_readlink to avoid conflict with
6380         the other sys_readlink.
6381
6382 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
6383
6384         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
6385
6386 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
6387
6388         * postgresql.c (init_postgresql_from_environment): new function.
6389         (vars_of_postgresql): Move code initializing Lisp variables out and
6390         into init_postgresql_from_environment.
6391         emacs.c (main_1): Call init_postgresql_from_environment if and only
6392         if running a dumped XEmacs.
6393
6394 2000-08-31  Dan Holmsand  <dan@eyebee.com>
6395
6396         * buffer.c: Make find-file-compare-truenames default to true on
6397         windows.
6398
6399         * realpath.c (win32_abs_start):
6400         (cygwin_readlink):
6401         (win32_readlink): New functions.
6402         (xrealpath): Return really real filenames on windows.
6403
6404         * fileio.c (Ffile_truename): Make file-truename work on windows.
6405
6406 2000-11-29  Didier Verna  <didier@xemacs.org>
6407
6408         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
6409         * faces.c (update_face_cachel_data): use it.
6410         * faces.c (add_face_cachel): use it. Complete background pixmap
6411         frobbing in face cache if `update_face_cachel_data' has not done so.
6412
6413 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
6414
6415         * search.c (string_match_1): Don't set last_thing_searched
6416         when search failed.
6417
6418 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
6419
6420         * buffer.c: Include casetab.h
6421         (common_init_complex_vars_of_buffer): Use new case-table object.
6422         * buffer.h: Include casetab.h
6423         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
6424         (DOWNCASE_TABLE_OF): Ditto.
6425         * bufslots.h: Remove char-tables and add case-table.
6426         * casetab.c: Include casetab.h
6427         (CASE_TABLE_P): Removed.
6428         (mark_case_table): New function.
6429         (allocate_case_table): New function.
6430         (Fcase_table_p): Use new case-table.
6431         (case_table_char): New function.
6432         (Fget_case_table): Ditto.
6433         (Fput_case_table): Ditto.
6434         (Fput_case_table_pair): Ditto.
6435         (Fcopy_case_table): Ditto.
6436         (Fcurrent_case_table): Return case-table.
6437         (Fstandard_case_table): Return case-table.
6438         (Fset_case_table): Fix doc-string.
6439         (set_case_table): Use case-table
6440         (syms_of_casetab): DEFSUBR new functions.
6441         (complex_vars_of_casetab): Set up standard case-table.
6442         * casetab.h: New file.
6443         * editfns.c: Include casetab.h
6444         (Fcompare_buffer_substrings): Use case-table.
6445         * inline.c: Include casetab.h
6446         * lisp.h: Remove bogus extern.
6447         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
6448         * search.c: Include casetab.h
6449         (TRANSLATE_ASCII): Removed.
6450         (TRANSLATE): Unconditionally translate character.
6451         (looking_at_1): Use case-table.
6452         (string_match_1): Ditto.
6453         (fast_string_match): Ditto.
6454         (search_command): Ditto.
6455         (search_buffer): Separate boyer_moore.  Check whether
6456         boyer_moore is possible.
6457         (simple_search): New function.
6458         (boyer_moore): Separated from search_buffer. Translate char.
6459
6460 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
6461
6462         * regex.c (RE_TR_ASCII): Removed.
6463         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
6464         (PATFETCH): Call PATFETCH_RAW.
6465         (PATFETCH_RAW): Fetch Emchar.
6466         (PATUNFETCH): Decrement charptr.
6467         (GET_BUFFER_SPACE): Rename b to buf_end.
6468         (BUF_PUSH): Ditto.
6469         (BUF_PUSH_2): Ditto.
6470         (BUF_PUSH_3): Ditto.
6471         (EXTEND_BUFFER): Ditto.
6472         (SET_LIST_BIT): Ditto.
6473         (regex_compile): Ditto.  Translate non ASCII char.
6474         (compile_range): Ditto.
6475         (re_search_2): Ditto.
6476         (re_match_2_internal): Compare Emchar.
6477         (bcmp_translate): Ditto.
6478
6479 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
6480
6481         * lisp.h (basic char/int typedefs):  comment improvement.
6482
6483 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
6484
6485         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
6486         unstomp inhibit_site_lisp.  Improve comments.
6487
6488 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
6489
6490         * mule-charset.c (Fcharset_property):  improve type checking, comments.
6491
6492 2000-11-28  Andy Piper  <andy@xemacs.org>
6493
6494         * redisplay-output.c (redisplay_output_subwindow): make sure we do
6495         clipped display for windows in the gutter also.
6496         (redisplay_display_boxes_in_window_p): change semantics of return
6497         codes to be more intuitive.
6498
6499         * gutter.h: declare display_boxes_in_gutter_p.
6500
6501         * gutter.c (display_boxes_in_gutter_p): new function for
6502         redisplay.
6503
6504 2000-11-22  Andy Piper  <andy@xemacs.org>
6505
6506         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
6507         autodetect domain.
6508
6509 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
6510
6511         * callproc.c (Fold_call_process_internal):
6512         * gpm.c (Freceive_gpm_event):
6513         (tty_get_foreign_selection): Might be just warning supression.
6514         * fileio.c (Fwrite_region_internal):
6515         (Fset_visited_file_modtime):
6516         * keymap.c (event_matches_key_specifier_p):
6517         Initialize GCPROed variable.
6518
6519         * menubar-x.c (command_builder_find_menu_accelerator):
6520         Initialize before use.
6521
6522 2000-11-23  Andy Piper  <andy@xemacs.org>
6523
6524         * unexcw.c (unexec): make the resulting executable executable.
6525
6526 2000-11-21  Martin Buchholz  <martin@xemacs.org>
6527
6528         * doc.c (get_doc_string):
6529         Use size_t, not int, for result of XSTRING_LENGTH.
6530
6531         * cmds.c (Fdelete_char):
6532         * cmds.c (Fpoint_at_eol):
6533         * cmds.c (Fself_insert_command):
6534         Use EMACS_INT, not int, for result of XINT.
6535         Someday, someone will want to insert more than 2**31 identical characters.
6536
6537         * cmds.c (Fdelete_char):
6538         * cmds.c (Fdelete_backward_char):
6539         * syntax.c (Fforward_word):
6540         * syntax.c (Fforward_comment):
6541         Make COUNT argument optional, for consistency with forward-char et al.
6542
6543 2000-11-22  Martin Buchholz  <martin@xemacs.org>
6544
6545         * lisp.h:
6546         * print.c (long_to_string):
6547         Return a useful value: the pointer at end of data written.
6548
6549         * doprnt.c:
6550         Use `static const char * const' for constant strings.
6551         (union printf_arg): Delete `i', `ui' members.
6552         (get_doprnt_args):
6553         (emacs_doprnt_1):
6554         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
6555         Do all printf-ing via the `l' specifier.
6556         Use EMACS_INT instead of int.
6557         Optimize.
6558
6559 2000-11-20  Didier Verna  <didier@xemacs.org>
6560
6561         * faces.c (update_face_cachel_data): don't frob the background
6562         pixmap when the window is being created. The face is needed but
6563         does not exist yet.
6564
6565 2000-11-20  Andy Piper  <andy@xemacs.org>
6566
6567         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
6568         messing with a debug environment.
6569
6570 2000-11-20  Martin Buchholz  <martin@xemacs.org>
6571
6572         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
6573
6574 2000-11-20  Martin Buchholz  <martin@xemacs.org>
6575
6576         * casetab.c (Fcase_table_p): Fix compile error and crash.
6577
6578 2000-11-18  Philip Aston  <philipa@mail.com>
6579
6580         * s/cygwin32.h: Cygwin has SVR4-like pty support.
6581
6582 2000-11-18  Martin Buchholz  <martin@xemacs.org>
6583
6584         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
6585         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
6586
6587 2000-11-17  Martin Buchholz  <martin@xemacs.org>
6588
6589         * config.h.in: Define HAVE_ELF_H if elf.h exists.
6590         * unexelf.c: Use HAVE_ELF_H.
6591         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
6592         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
6593         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
6594         Greg Harrington <greg_harrington@hotmail.com> provided a machine
6595         for testing.
6596         So this is an unexelfsgi.c from a different line of development.
6597
6598 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
6599
6600         * regex.c (RE_TR_ASCII): New function.
6601         (RE_TRANSLATE): Call it.
6602
6603 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
6604
6605         * buffer.h (TRT_TABLE_OF): Remove assert.
6606         (IN_TRT_TABLE_DOMAIN): Removed.
6607
6608 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6609
6610         * free-hook.c (log_gcpro):
6611         (show_gcprohist): Add support for GCPRO5.
6612
6613 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
6614
6615         * emacs.c (main_1): Improve -sd error message when --pdump=no.
6616
6617 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
6618
6619         * symeval.h: Declare flush_all_buffer_local_cache.
6620
6621         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
6622         (flush_buffer_local_cache): Added.
6623         (flush_all_buffer_local_cache): Added.
6624
6625         * lrecord.h: Remove unused XD_LO_RESET_NIL.
6626
6627         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
6628         (pdump_dump_data): Ditto.
6629         (pdump_reloc_one): Ditto.
6630         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
6631         before dumping.
6632
6633
6634 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
6635
6636         * buffer.c: Remove if 0'ed entry.
6637         * buffer.h: Rewrite TRT to use char-table.
6638         * bufslots.h: Remove mirror tables.
6639         * casetab.c: Remove mirror tables.
6640         (CASE_TABLE_P): New macro.
6641         (Fcase_table_p): Element of a case table is string or char-table.
6642         (make_mirror_trt_table): Removed.
6643         (set_case_table): Setup char-table from strings for backward
6644         compatibility.
6645         * dired.c (Fdirectory_files):
6646         * dired-msw.c: (mswindows_get_files):
6647         * lisp.h: Change prototype of re_pattern_buffer.
6648         * regex.c: (RE_TRANSLATE): New macro.
6649         (TRANSLATE_P): Ditto.
6650         Change translate to type RE_TRANSLATE_TYPE.
6651         * regex.h: Define RE_TRANSLATE_TYPE
6652         * search.c (TRANSLATE): New macro.
6653         (TRANSLATE_ASCII): New macro.
6654         Translate table is changed to Lisp_Object.
6655         (signal_failure): Inhibit return.
6656
6657 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
6658
6659         * device-msw.c:
6660         * eldap.c:
6661         * event-Xt.c:
6662         * event-stream.c:
6663         * print.c:
6664         Do UNGCPRO before return.
6665
6666 2000-11-14  Martin Buchholz <martin@xemacs.org>
6667
6668         * XEmacs 21.2.37 is released.
6669
6670 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
6671
6672         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
6673         Add comments about discarded return value.
6674
6675 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
6676
6677         * callint.c:
6678         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
6679
6680 2000-10-27  Andy Piper  <andy@xemacs.org>
6681
6682         * gutter.c (Fset_default_gutter_position): default left and right
6683         gutters to visible.
6684         (calculate_gutter_size): calculate resonable heuristic for left
6685         and right gutter sizes.
6686         (specifier_vars_of_gutter): change left and right gutter sizes to
6687         autodetect.
6688         (calculate_gutter_size_from_display_lines): new function.
6689         (output_gutter): check for resizing on left and right gutters.
6690         (clear_gutter): don't special case top and left gutters.
6691         (specifier_vars_of_gutter): use new signature for
6692         set_specifier_caching.
6693
6694         * glyphs-x.c (x_redisplay_widget): spelling fix.
6695         * glyphs.c (specifier_vars_of_glyphs):
6696         * menubar.c (specifier_vars_of_menubar):
6697         * redisplay.c (specifier_vars_of_redisplay):
6698         * toolbar.c (specifier_vars_of_toolbar):
6699         * window.c (specifier_vars_of_window):
6700         * scrollbar.c (specifier_vars_of_scrollbar):
6701         (complex_vars_of_scrollbar): use new signature for
6702         set_specifier_caching.
6703
6704         * specifier.c (set_specifier_caching): include recompute flag.
6705         (recompute_one_cached_specifier_in_window): always recompute if
6706         flag set.
6707         (recompute_one_cached_specifier_in_frame): ditto.
6708
6709         * specifier.h (struct specifier_caching): add recompute flag.
6710
6711 2000-10-24  Andy Piper  <andy@xemacs.org>
6712
6713         * unexcw.c (copy_executable_and_dump_data_section): add new
6714         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
6715         5.0 happy.
6716
6717 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
6718
6719         * console-x.h (x_device): New member modifier_release_time.
6720         * event-Xt.c (x_handle_sticky_modifiers):
6721         Bound interval modifier keys are sticky.
6722         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
6723         * events.h: extern it.
6724
6725 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
6726
6727         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
6728
6729 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
6730
6731         * event-stream.c (execute_command_event): Preserve current_events
6732         and the like when event is misc-user-event.
6733         Inhibit quit during the call to maybe_echo_keys.
6734
6735 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6736
6737         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
6738         symlink when buffer is killed.
6739         (inhibit_clash_detection): New variable.
6740
6741 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
6742
6743         * console.c (Fset_input_method): Trigger redisplay on tty.
6744
6745 2000-11-07  Martin Buchholz  <martin@xemacs.org>
6746
6747         * process.c (Fprocess_status): Revert to previous behavior:
6748         (process-status "nosuchprocess") ==> nil
6749
6750 2000-11-06  Martin Buchholz  <martin@xemacs.org>
6751
6752         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
6753         Work around another GCC 2.95.2 optimizer bug.
6754
6755 2000-11-02  Martin Buchholz  <martin@xemacs.org>
6756
6757         * process.c (Fget_process): Use LIST_LOOP_2.
6758         (kill_buffer_processes): Use LIST_LOOP_2.
6759
6760         * minibuf.c (Fall_completions):
6761         Delete old non-functional code for FSF fourth argument.
6762
6763         * frame.c (frame_matches_frame_spec):
6764         Renamed from `frame_matches_frametype'.  Update all callers.
6765         (device_matches_device_spec):
6766         Renamed from 'device_matches_console_spec'.  Update all callers.
6767
6768         * doc.c (Fsubstitute_command_keys):
6769         Remove buffer overflow crash.  Small code cleanups.
6770
6771         * casetab.c (check_case_table): Simpler code.
6772
6773         * window.c (Freplace_buffer_in_windows):
6774         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
6775         (and similar implementation) as Fdelete_windows_on.
6776         Update all callers.
6777
6778         * alloc.c (Fmake_list):
6779         * alloc.c (make_vector):
6780         * alloc.c (Fmake_vector):
6781         * alloc.c (make_bit_vector):
6782         * alloc.c (Fmake_bit_vector):
6783         * alloc.c (Fbit_vector):
6784         * alloc.c (Fmake_string):
6785         * alloc.c (Fpurecopy):
6786         * alloc.c (Fmemory_limit):
6787         * buffer.c:
6788         * buffer.c (Fget_buffer):
6789         * buffer.c (Fkill_buffer):
6790         * buffer.c (complex_vars_of_buffer):
6791         * bytecode.c (Fcompiled_function_stack_depth):
6792         * callint.c (Fprefix_numeric_value):
6793         * event-stream.c:
6794         * event-stream.c (Fread_key_sequence):
6795         * casetab.c:
6796         * casetab.c (Fcase_table_p):
6797         * casetab.c (check_case_table):
6798         * casetab.c (Fset_case_table):
6799         * casetab.c (Fset_standard_case_table):
6800         * chartab.c:
6801         * chartab.c (Fchar_table_type):
6802         * chartab.c (Freset_char_table):
6803         * chartab.c (Fget_char_table):
6804         * chartab.c (Fget_range_char_table):
6805         * chartab.c (Fput_char_table):
6806         * chartab.c (Fmap_char_table):
6807         * chartab.c (Fcategory_table_p):
6808         * chartab.c (Fcheck_category_at):
6809         * chartab.c (Fchar_in_category_p):
6810         * chartab.c (Fcategory_table):
6811         * chartab.c (Fcopy_category_table):
6812         * chartab.c (Fset_category_table):
6813         * chartab.c (Fcategory_designator_p):
6814         * chartab.c (Fcategory_table_value_p):
6815         * cmds.c (Fdelete_char):
6816         * cmds.c (Fdelete_backward_char):
6817         * cmds.c (Fself_insert_command):
6818         * cmds.c (Fself_insert_internal):
6819         * console.c (Fvalid_console_type_p):
6820         * console.c (Fcdfw_console):
6821         * console.c (Fconsole_type):
6822         * console.c (Fconsole_name):
6823         * console.c (Fconsole_device_list):
6824         * console.c (Fconsole_on_window_system_p):
6825         * data.c:
6826         * data.c (Feq):
6827         * data.c (Fold_eq):
6828         * data.c (Fsubr_interactive):
6829         * data.c (Fchar_to_int):
6830         * data.c (Fint_to_char):
6831         * data.c (Fsetcar):
6832         * data.c (Fsetcdr):
6833         * data.c (Fnumber_to_string):
6834         * data.c (Fstring_to_number):
6835         * data.c (Frem):
6836         * database.c (mark_database):
6837         * database.c (finalize_database):
6838         * database.c (Fdatabase_live_p):
6839         * database.c (Fdatabasep):
6840         * device-x.c (Fx_get_resource):
6841         * device.c (Fdfw_device):
6842         * dired.c:
6843         * dired.c (Ffile_name_completion):
6844         * dired.c (Ffile_name_all_completions):
6845         * dired.c (Fuser_name_completion):
6846         * dired.c (Fuser_name_completion_1):
6847         * dired.c (Fuser_name_all_completions):
6848         * doc.c (Fdocumentation):
6849         * doc.c (Fdocumentation_property):
6850         * doc.c (Fsubstitute_command_keys):
6851         * editfns.c:
6852         * editfns.c (Fchar_to_string):
6853         * editfns.c (Fstring_to_char):
6854         * editfns.c (Ftemp_directory):
6855         * editfns.c (Finsert_char):
6856         * editfns.c (Fbuffer_substring_no_properties):
6857         * editfns.c (Fnarrow_to_region):
6858         * editfns.c (Fchar_equal):
6859         * editfns.c (Fchar_Equal):
6860         * editfns.c (Ftranspose_regions):
6861         * emacs.c (Fdump_emacs):
6862         * eval.c (Fthrow):
6863         * eval.c (Fcommand_execute):
6864         * eval.c (Fautoload):
6865         * eval.c (Fbacktrace):
6866         * eval.c (Fbacktrace_frame):
6867         * events.c:
6868         * events.c (Fcopy_event):
6869         * events.c (Fcharacter_to_event):
6870         * events.c (Fevent_button):
6871         * events.c (Fevent_process):
6872         * extents.c:
6873         * extents.c (Fnext_extent_change):
6874         * extents.c (Fextent_property):
6875         * faces.c (Ffacep):
6876         * faces.c (Fmake_face):
6877         * file-coding.c:
6878         * file-coding.c (Fencode_shift_jis_char):
6879         * file-coding.c (Fencode_big5_char):
6880         * fileio.c (Ffile_name_directory):
6881         * fileio.c (Ffile_name_nondirectory):
6882         * fileio.c (Ffile_name_as_directory):
6883         * fileio.c (Fdirectory_file_name):
6884         * fileio.c (Ffile_truename):
6885         * fileio.c (Fsubstitute_in_file_name):
6886         * fileio.c (Ffile_modes):
6887         * fileio.c (Fset_file_modes):
6888         * fileio.c (Fset_default_file_modes):
6889         * fileio.c (Fverify_visited_file_modtime):
6890         * floatfns.c (Facos):
6891         * floatfns.c (Fasin):
6892         * floatfns.c (Fatan):
6893         * floatfns.c (Fcos):
6894         * floatfns.c (Fsin):
6895         * floatfns.c (Ftan):
6896         * floatfns.c (Fbessel_j0):
6897         * floatfns.c (Fbessel_j1):
6898         * floatfns.c (Fbessel_jn):
6899         * floatfns.c (Fbessel_y0):
6900         * floatfns.c (Fbessel_y1):
6901         * floatfns.c (Fbessel_yn):
6902         * floatfns.c (Ferf):
6903         * floatfns.c (Ferfc):
6904         * floatfns.c (Flog_gamma):
6905         * floatfns.c (Fexp):
6906         * floatfns.c (Fexpt):
6907         * floatfns.c (Flog):
6908         * floatfns.c (Flog10):
6909         * floatfns.c (Fsqrt):
6910         * floatfns.c (Fcube_root):
6911         * floatfns.c (Facosh):
6912         * floatfns.c (Fasinh):
6913         * floatfns.c (Fatanh):
6914         * floatfns.c (Fcosh):
6915         * floatfns.c (Fsinh):
6916         * floatfns.c (Ftanh):
6917         * floatfns.c (Fabs):
6918         * floatfns.c (Ffloat):
6919         * floatfns.c (Flogb):
6920         * floatfns.c (Fceiling):
6921         * floatfns.c (Ffloor):
6922         * floatfns.c (Fround):
6923         * floatfns.c (Ftruncate):
6924         * floatfns.c (Ffceiling):
6925         * floatfns.c (Fffloor):
6926         * floatfns.c (Ffround):
6927         * floatfns.c (Fftruncate):
6928         * fns.c (Fstring_equal):
6929         * fns.c (Fstring_lessp):
6930         * fns.c (concat2):
6931         * fns.c (concat3):
6932         * fns.c (vconcat2):
6933         * fns.c (vconcat3):
6934         * fns.c (Fsubstring):
6935         * fns.c (Fassoc):
6936         * fns.c (Fold_assoc):
6937         * fns.c (assoc_no_quit):
6938         * fns.c (Fassq):
6939         * fns.c (Fold_assq):
6940         * fns.c (assq_no_quit):
6941         * fns.c (Frassoc):
6942         * fns.c (Fold_rassoc):
6943         * fns.c (Frassq):
6944         * fns.c (Fold_rassq):
6945         * fns.c (rassq_no_quit):
6946         * fns.c (Fremassoc):
6947         * fns.c (remassoc_no_quit):
6948         * fns.c (Fremassq):
6949         * fns.c (remassq_no_quit):
6950         * fns.c (Fremrassoc):
6951         * fns.c (Fremrassq):
6952         * fns.c (remrassq_no_quit):
6953         * fns.c (Fsort):
6954         * fns.c (Fplist_get):
6955         * fns.c (Fplist_put):
6956         * fns.c (Fplist_remprop):
6957         * fns.c (Fplist_member):
6958         * fns.c (Flax_plist_get):
6959         * fns.c (Flax_plist_put):
6960         * fns.c (Flax_plist_remprop):
6961         * fns.c (Flax_plist_member):
6962         * fns.c (Fequal):
6963         * fns.c (Fold_equal):
6964         * fns.c (Frequire):
6965         * fns.c (Fbase64_encode_region):
6966         * fns.c (Fbase64_encode_string):
6967         * fns.c (Fbase64_decode_region):
6968         * frame.c:
6969         * frame.c (frame_matches_frame_spec):
6970         * frame.c (device_matches_device_spec):
6971         * frame.c (next_frame):
6972         * frame.c (previous_frame):
6973         * frame.c (Fnext_frame):
6974         * frame.c (Fprevious_frame):
6975         * frame.c (Fframe_property):
6976         * frame.c (Fset_frame_height):
6977         * frame.c (Fset_frame_size):
6978         * frame.h:
6979         * glyphs.c:
6980         * glyphs.c (if):
6981         * glyphs.c (decode_error_behavior_flag):
6982         * glyphs.c (Fmake_image_instance):
6983         * indent.c (Findent_to):
6984         * intl.c (Fignore_defer_gettext):
6985         * keymap.c (Fkeymapp):
6986         * keymap.c (Flookup_key):
6987         * lread.c:
6988         * lread.c (Fload_internal):
6989         * lread.c (Feval_buffer):
6990         * lread.c (Feval_region):
6991         * macros.c (Fexecute_kbd_macro):
6992         * marker.c (set_marker_internal):
6993         * marker.c (Fset_marker):
6994         * marker.c (set_marker_restricted):
6995         * marker.c (Fcopy_marker):
6996         * marker.c (noseeum_copy_marker):
6997         * menubar.c:
6998         * menubar.c (Fpopup_menu):
6999         * minibuf.c:
7000         * mule-charset.c (Fcharset_name):
7001         * mule-charset.c (Fchar_charset):
7002         * mule-charset.c (Fchar_octet):
7003         * mule-charset.c (Fsplit_char):
7004         * mule-wnnfns.c (Fwnn_open):
7005         * mule-wnnfns.c (Fwnn_dict_comment):
7006         * mule-wnnfns.c (Fwnn_quit_henkan):
7007         * mule-wnnfns.c (Fwnn_word_toroku):
7008         * mule-wnnfns.c (Fwnn_word_sakujo):
7009         * mule-wnnfns.c (Fwnn_word_use):
7010         * mule-wnnfns.c (Fwnn_hindo_set):
7011         * objects.c:
7012         * objects.c (Fmake_color_instance):
7013         * objects.c (Fmake_font_instance):
7014         * print.c (Fwrite_char):
7015         * process.c:
7016         * process.c (mark_process):
7017         * process.c (print_process):
7018         * process.c (get_process_from_usid):
7019         * process.c (Fprocessp):
7020         * process.c (Fprocess_live_p):
7021         * process.c (Fget_process):
7022         * process.c (Fget_buffer_process):
7023         * process.c (get_process):
7024         * process.c (Fprocess_id):
7025         * process.c (Fprocess_name):
7026         * process.c (Fprocess_command):
7027         * process.c (init_process_io_handles):
7028         * process.c (start_process_unwind):
7029         * process.c (Fstart_process_internal):
7030         * process.c (Fopen_multicast_group_internal):
7031         * process.c (Fset_process_window_size):
7032         * process.c (read_process_output):
7033         * process.c (send_process):
7034         * process.c (Fprocess_tty_name):
7035         * process.c (Fset_process_buffer):
7036         * process.c (Fprocess_buffer):
7037         * process.c (Fprocess_mark):
7038         * process.c (set_process_filter):
7039         * process.c (Fset_process_filter):
7040         * process.c (Fprocess_filter):
7041         * process.c (Fprocess_send_region):
7042         * process.c (Fprocess_send_string):
7043         * process.c (exec_sentinel):
7044         * process.c (Fset_process_sentinel):
7045         * process.c (Fprocess_sentinel):
7046         * process.c (status_notify):
7047         * process.c (Fprocess_status):
7048         * process.c (Fprocess_exit_status):
7049         * process.c (process_send_signal):
7050         * process.c (Fprocess_send_eof):
7051         * process.c (deactivate_process):
7052         * process.c (remove_process):
7053         * process.c (Fdelete_process):
7054         * process.c (kill_buffer_processes):
7055         * process.c (Fprocess_kill_without_query):
7056         * process.c (Fprocess_kill_without_query_p):
7057         * rangetab.c:
7058         * rangetab.c (Fget_range_table):
7059         * rangetab.c (Fput_range_table):
7060         * rangetab.c (Fremove_range_table):
7061         * rangetab.c (Fclear_range_table):
7062         * search.c:
7063         * search.c (Fskip_chars_forward):
7064         * search.c (Fskip_chars_backward):
7065         * search.c (Fskip_syntax_forward):
7066         * search.c (Fskip_syntax_backward):
7067         * search.c (search_command):
7068         * search.c (Freplace_match):
7069         * search.c (Fregexp_quote):
7070         * select.c (Fown_selection_internal):
7071         * select.c (Fselection_owner_p):
7072         * select.c (Fselection_exists_p):
7073         * select.c (Fget_selection_internal):
7074         * specifier.c:
7075         * symbols.c:
7076         * symbols.c (Fintern):
7077         * symbols.c (Fintern_soft):
7078         * symbols.c (Funintern):
7079         * symbols.c (Fapropos_internal):
7080         * symbols.c (Fset_default):
7081         * syntax.c:
7082         * syntax.c (Fsyntax_table_p):
7083         * syntax.c (Fcopy_syntax_table):
7084         * syntax.c (Fset_syntax_table):
7085         * syntax.c (Fchar_syntax):
7086         * syntax.c (syntax_match):
7087         * syntax.c (Fmatching_paren):
7088         * syntax.c (Fforward_word):
7089         * syntax.c (scan_lists):
7090         * syntax.c (Fscan_lists):
7091         * syntax.c (Fscan_sexps):
7092         * syntax.c (Fparse_partial_sexp):
7093         * toolbar.c (Fcheck_toolbar_button_syntax):
7094         * tooltalk.doc:
7095         * window.c:
7096         * window.c (Fwindowp):
7097         * window.c (Fwindow_live_p):
7098         * window.c (Fwindow_point):
7099         * window.c (Fdelete_window):
7100         * window.c (Fnext_window):
7101         * window.c (Fprevious_window):
7102         * window.c (Fother_window):
7103         * window.c (window_loop):
7104         * window.c (Fget_lru_window):
7105         * window.c (Fsplit_window):
7106         * window.c (Fenlarge_window):
7107         * window.c (Fenlarge_window_pixels):
7108         * window.c (Fshrink_window):
7109         * window.c (Fshrink_window_pixels):
7110         * window.c (change_window_height):
7111         * window.c (Fwindow_configuration_p):
7112         * window.c (Fcurrent_window_configuration):
7113         * window.h:
7114         * casefiddle.c (casify_object):
7115         * casefiddle.c (Fupcase):
7116         * casefiddle.c (Fdowncase):
7117         * casefiddle.c (Fcapitalize):
7118         * casefiddle.c (Fupcase_initials):
7119         * casefiddle.c (casify_region_internal):
7120         * casefiddle.c (casify_region):
7121         * casefiddle.c (Fupcase_region):
7122         * casefiddle.c (Fdowncase_region):
7123         * casefiddle.c (Fcapitalize_region):
7124         * casefiddle.c (Fupcase_initials_region):
7125         * casefiddle.c (Fupcase_word):
7126         * casefiddle.c (Fdowncase_word):
7127         * casefiddle.c (Fcapitalize_word):
7128         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
7129         Replace 0 with '\0' when working with bytes.
7130         Replace initial "(" with "\(" in docstrings.
7131
7132 2000-11-01  Martin Buchholz  <martin@xemacs.org>
7133
7134         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
7135
7136         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
7137
7138 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7139
7140         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
7141
7142 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7143
7144         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
7145         correctly.
7146
7147 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7148
7149         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
7150         (inhibit_auto_save_session): New variable.
7151         (vars_of_fileio): Declare and initialize them.
7152         * fileio.c (Fdo_auto_save): Don't create session file if
7153         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
7154
7155 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7156
7157         * sgiplay.c (play_internal): C++ compilability.
7158         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
7159         * callproc.c (Fold_call_process_internal):
7160         Remove unused vars `env', `first'.
7161         * scrollbar.c (update_scrollbar_instance):
7162         #### unused var `current_window'.
7163         * redisplay-tty.c: Put currently unused vars insert_mode_on,
7164         etc. within #ifdef NOT_YET.
7165         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
7166         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
7167         * specifier.c (specifier_instance):
7168         #### unused var `tag'.
7169         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
7170
7171 2000-10-27  Martin Buchholz  <martin@xemacs.org>
7172
7173         * fns.c (Fbutlast):
7174         * fns.c (list_sort):
7175         * fns.c (Ffillarray):
7176         * fns.c (bytecode_nconc2):
7177         * fns.c (Fnconc):
7178         * fns.c (mapcar1):
7179         * fns.c (Fmapconcat):
7180         Be pedantically 64-bit correct.  For the time when someone will
7181         want to have a list with length > 2**32.
7182
7183         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7184         Work around MIPSpro compiler bug.
7185
7186         * process-unix.c (unix_kill_child_process): Add snarky comment.
7187         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
7188
7189         * config.h.in: Oops, _getpt ==> _getpty
7190
7191 2000-10-26  Martin Buchholz  <martin@xemacs.org>
7192
7193         * config.h.in:
7194         * regex.c:
7195         Use void*, not char*, as return type of alloca().
7196
7197         * alloc.c (free_marker): Side effect inside assert expression!
7198
7199 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
7200
7201         * mule-charset.c (Fset_charset_ccl_program): To check
7202         if the given ccl program is valid, use setup_ccl_program()
7203         instead of CHECK_VECTOR().
7204         (Fmake_charset): Likewise.
7205
7206 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
7207
7208         * faces.c (get_extent_fragment_face_cache_index):
7209         Fix cachel.merged_faces memory leak.
7210
7211 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
7212
7213         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
7214         Reset MSB of octets obtained by DECODE_SJIS
7215         because of the incompatibility with Emacs.
7216         (ccl_driver)<CCL_ENCODE_SJIS>:
7217         Set MSB of octets before passing them to
7218         ENCODE_SJIS because of the incompatibility
7219         with Emacs.
7220
7221 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
7222
7223         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
7224         (DECLARE_LRECORD): Undo the last change.
7225         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
7226
7227 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
7228
7229         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
7230         the implementation to lrecord_implementations_table.
7231
7232 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
7233
7234         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
7235         initial value of `lrecord_type_##c_name' and
7236         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
7237         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
7238         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
7239         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
7240         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
7241
7242 2000-10-17  Martin Buchholz  <martin@xemacs.org>
7243
7244         * miscplay.c (sndcnv8S_2mono):
7245         (sndcnv2monounsigned):
7246         (sndcnvULaw_2linear):
7247         (sndcnv16swap):
7248         Remove implementation-defined behavior.
7249
7250 2000-10-12  Martin Buchholz  <martin@xemacs.org>
7251
7252         * input-method-xlib.c: Warning suppression.
7253
7254 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
7255
7256         * mule-ccl.c: Sync up with Emacs 21.0.90.
7257         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
7258         Do nothing.
7259         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
7260         Likewise.
7261         (ccl_driver[WriteMultibyteChar2]): Bug fix.
7262         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
7263         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
7264         leading char belongs to official 2-dimensional charset.
7265         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
7266         write the given character as is.  Otherwise,
7267         if it is a multibyte char, convert it by
7268         non_ascii_set_charptr_emchar, then write it.
7269         (CCL_WRITE_STRING): Likewise.
7270         (ccl_get_compiled_code): New function.
7271         (setup_ccl_program): When ccl_prog is invalid,
7272         return -1.
7273         (Fregister_code_conversion_map): New function.
7274         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
7275
7276         * mule-ccl.h: Sync up with Emacs 21.0.90.
7277         (Fregister_ccl_program): export it.
7278
7279         * redisplay-msw.c (separate_textual_runs):
7280         If ccl program is not valid, don't do ccl conversion.
7281
7282         * redisplay-x.c (separate_textual_runs): Ditto.
7283
7284         * file-coding.c (Fmake_coding_system):
7285         When type is ccl and value is vector, register it
7286         with a proper symbol.  And checks whether the
7287         given ccl program is valid.
7288         (mule_decode): When calling ccl_driver, if src indicates
7289         NULL pointer, set an empty string instead.
7290         (mule_encode): Likewise.
7291
7292 2000-10-11  Martin Buchholz  <martin@xemacs.org>
7293
7294         The following large batch of changes gets us back to a state of
7295         C++ compilability.  Extbyte is now a char, which means that
7296         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
7297
7298         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
7299
7300         * sound.c (Fplay_sound): Type correctness.
7301
7302         * select-x.c (hack_motif_clipboard_selection): Type correctness.
7303         (x_get_window_property): Type correctness.
7304         (receive_incremental_selection): unsigned char ==> Extbyte
7305         (selection_data_to_lisp_data): unsigned char ==> Extbyte
7306         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
7307         (Fx_store_cutbuffer_internal): Type correctness.
7308
7309         * process-unix.c (try_to_initialize_subtty): Type correctness.
7310
7311         * objects-x.c (x_print_color_instance): Type correctness.
7312         (x_print_font_instance): Type correctness.
7313         (x_list_fonts): SExtbyte ==> Extbyte.
7314         (valid_x_font_name_p): SExtbyte ==> Extbyte.
7315         (x_find_charset_font): SExtbyte ==> Extbyte.
7316         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
7317         (truename_via_XListFonts): SExtbyte ==> Extbyte.
7318         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
7319         Use bufbyte_strcmp.
7320
7321         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
7322         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
7323         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
7324         (BYTE_C0_P): Use bit ops for char-signedness safety.
7325         (BYTE_C1_P): Use bit ops for char-signedness safety.
7326         (CHARSET_BY_LEADING_BYTE):
7327         (CHARSET_BY_ATTRIBUTES):
7328         Always use inline function.
7329         Use type_checking_assert.
7330         Hide chlook.
7331
7332         * mule-charset.c (non_ascii_charptr_copy_char):
7333         Modify to work with both ASCII and non-ASCII characters.
7334         Improve docs and variable names.
7335         Replace over-clever fall-through switch with a simple loop.
7336         (Lstream_get_emchar_1):
7337         Replace over-clever fall-through switch with a simple loop.
7338
7339         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7340         Warning suppression.
7341
7342         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
7343         the return value of Lstream_getc, which could be EOF as well.
7344
7345         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
7346
7347         * lisp.h: Make Extbyte a char, not unsigned char, so that external
7348         APIs can be used on Extbytes without casts.  Risky!
7349         (SExtbyte): Remove.
7350         (UExtbyte): Remove.
7351
7352         * input-method-xlib.c (XIM_init_device):
7353         Use Xlib.h instead of IntrinsicP.h.
7354         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
7355         which will break in X11R7.
7356         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
7357         to call XRegisterIMInstantiateCallback with correct types.
7358
7359         * gui-x.c (button_item_to_widget_value): Type correctness.
7360
7361         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
7362
7363         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
7364         (xbm_instantiate_1): Type correctness.
7365         (BUILD_GLYPH_INST):  Type correctness.
7366
7367         * fileio.c (Fsubstitute_in_file_name): Type correctness.
7368
7369         * file-coding.c:
7370         (decode_coding_sjis):
7371         (decode_coding_big5):
7372         (decode_coding_ucs4):
7373         (decode_coding_utf8):
7374         (decode_coding_iso2022):
7375         (decode_coding_no_conversion):
7376         Make all decoding functions take an Extbyte * arg.
7377         (encode_coding_sjis):
7378         (encode_coding_big5):
7379         (encode_coding_ucs4):
7380         (encode_coding_utf8):
7381         (encode_coding_iso2022):
7382         (encode_coding_no_conversion):
7383         Make all encoding functions take a Bufbyte * arg.
7384         Use size_t instead of unsigned int for memory sizes.
7385         Only cast to unsigned char whenever dereferencing Extbyte *.
7386
7387         * doc.c (unparesseuxify_doc_string): Type correctness.
7388
7389         * console-x.c (split_up_display_spec):
7390         Rewrite without using details of internal string representation.
7391         (x_semi_canonicalize_device_connection): Type correctness.
7392
7393         * config.h.in:
7394         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
7395         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
7396         (HAVE_XFREE386): Removed.
7397
7398         * buffer.h (DEC_CHARPTR): `const' correctness.
7399         (bufbyte_strcmp): New.
7400         (bufbyte_memcmp): New.
7401
7402         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
7403
7404         * buffer.h (XCHAR_OR_CHAR_INT):
7405         Always use inline function.
7406         Remove redundant type checking assert() - XINT will abort quite nicely.
7407
7408 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
7409
7410         * search.c (Freplace_match): Set newtext to an empty string.
7411
7412 2000-10-10  Martin Buchholz  <martin@xemacs.org>
7413
7414         * s/decosf1-3.h: Remove #include of stropts.h
7415         * s/ptx.h: Remove #include of stropts.h
7416         * s/usg5-4.h: Remove #include of stropts.h
7417         * sysproc.h:
7418         * config.h.in:
7419         Use stropts.h, not sys/stropts.h.
7420         Use strtio.h, not sys/strtio.h.
7421
7422 2000-10-04  Martin Buchholz <martin@xemacs.org>
7423
7424         * XEmacs 21.2.36 is released.
7425
7426 2000-09-21  Andy Piper  <andy@xemacs.org>
7427
7428         * glyphs-x.c (x_redisplay_widget): make sure non-structural
7429         changes still involve copying the widget tree.
7430         (update_widget_face): make sure a change is register in the widget
7431         tree. Call update_tab_widget_face appropriately.
7432         (update_tab_widget_face): ditto.
7433         (x_tab_control_redisplay): make sure non-structural changes still
7434         involve copying the widget tree.
7435
7436 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
7437
7438         * lread.c (locate_file): Check the path element is non-nil.
7439
7440 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7441
7442         * lisp.h: Warning suppression for SCO compilers.
7443
7444         * redisplay-tty.c (reset_tty_modes): Fix crash.
7445         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
7446
7447 2000-09-27  Martin Buchholz  <martin@xemacs.org>
7448
7449         Big signal/process handling overhaul.  Bugs fixed:
7450         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
7451         M-x comint-kill-subjob should work for both values nil and t of
7452         process-connection-type. It was broken on most platforms.
7453         Testing on Irix and Cygwin still needed.  Other plaforms tested.
7454         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
7455         * process-unix.c: Signal/Process handling overhaul.
7456         (pty_name): make 64 bytes, as `expect' does, for paranoia.
7457         (allocate_pty): Use all available modern methods of allocating
7458         ptys, falling back to old style BSD allocation as a last resort.
7459         Use allegedly more secure Unix98 pty allocation by default.
7460         (allocate_pty_the_old_fashioned_way): New. the last resort.
7461         (unix_create_process): Push ptem, ldterm, ttcompat where
7462         available.  Autoconfiscate.
7463         (try_to_initialize_subtty): New.
7464         (unix_kill_child_process): Proper signal handling for ptys on most
7465         platforms, using special knowledge of AIX, BSD, etc...
7466         (unix_create_process): Always disconnect_controlling_terminal() for
7467         subprocesses, whether using ptys or not.
7468         * process.h: Remove old getpt-dependent PTY code.
7469         * process.c (Fprocess_send_signal): New, obvious generic function.
7470         (decode_signal): New.
7471         (Finterrupt_process):
7472         (Fkill_process):
7473         (Fquit_process):
7474         (Fstop_process):
7475         (Fcontinue_process):
7476         (Fsignal_process): Use decode_signal.
7477         (process_send_signal):
7478         Many docstring corrections.
7479         Allow any signal to be sent to a process object.
7480         * config.h.in: Add symbols for big signal/process overhaul.
7481         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
7482         * sysproc.h: Include process-related headers, where available:
7483         sys/stropts.h sys/strtio.h pty.h libutil.h
7484         * s/irix4-0.h:
7485         * s/irix5-0.h:
7486         * s/cygwin32.h:
7487         * s/gnu.h:
7488         * s/linux.h:
7489         * s/hpux.h:
7490         * s/aix3-1.h:
7491         Remove old S&M pty stuff.
7492         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
7493         * systty.h: Simplify cpp hackery, improve comments.
7494         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
7495
7496         * editfns.c (Fformat_time_string):
7497         Be a little more paranoid with the return value of ctime.
7498
7499         * fileio.c (check_executable):
7500         (check_writable):
7501         Use symbolic constants X_OK, W_OK.
7502
7503         * console-x.c (split_up_display_spec): Fix a warning.
7504
7505 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7506
7507         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
7508         * ntproc.c (sys_spawnve): make_string ==> build_string
7509         Small clarity improvements.
7510
7511 2000-09-30  Martin Buchholz  <martin@xemacs.org>
7512
7513         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
7514
7515         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
7516
7517         * config.h.in (HAVE_STRCASECMP): Remove.
7518
7519 2000-09-29  Martin Buchholz  <martin@xemacs.org>
7520
7521         * redisplay-output.c (redisplay_output_pixmap):
7522         Cleaner and possibly more 64-bit correct code.
7523
7524 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7525
7526         * dumper.c (pdump_load_finish): move restoration of
7527         `noninteractive1' to emacs.c (main_1).
7528         * emacs.c (main_1): protect LISP-visible command-line flags
7529         from pdump_load().
7530
7531 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
7532
7533         * Makefile.in.in (versionclean):  Use EXE_TARGET and
7534         DUMP_TARGET instead of literal program names.
7535
7536 2000-09-20  Martin Buchholz  <martin@xemacs.org>
7537
7538         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
7539
7540 2000-09-19  Martin Buchholz  <martin@xemacs.org>
7541
7542         * *: Spelling mega-patch
7543
7544 2000-09-19  Martin Buchholz  <martin@xemacs.org>
7545
7546         * fns.c (bad_bad_turtle):
7547         Delete "Eek!" comment, since we fixed the bug to which it refers.
7548
7549 2000-09-16  Martin Buchholz  <martin@xemacs.org>
7550
7551         * alloca.c: Replace REGISTER with register.
7552
7553 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
7554
7555         * file-coding.c (ucs_to_char): Use countof.
7556
7557 2000-09-16  Martin Buchholz  <martin@xemacs.org>
7558
7559         * file-coding.c: (ucs_to_char):
7560         (complex_vars_of_file_coding):
7561         Use countof instead of sizeof.
7562         Use CHECK_NATNUM instead of CHECK_INT.
7563
7564         * sysdep.c (strcasecmp): Remove.
7565         * device-x.c (ascii_strcasecmp): New.
7566         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
7567         Avoid using non-standard non-portable strcasecmp.
7568
7569 2000-09-16  Martin Buchholz  <martin@xemacs.org>
7570
7571         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
7572         * font-lock.c: remove reference to emacsfns.h.
7573         * search.c: small doc improvement.
7574         * event-Xt.c: correct file names in comments.
7575         * console-x.h Correct file names in comments.
7576         * frame.c: Correct file names in comments.
7577         * event-stream.c: remove Energize from comments.
7578
7579 2000-09-15  Martin Buchholz  <martin@xemacs.org>
7580
7581         * symeval.h (DEFERROR_STANDARD):
7582         (DEFERROR):
7583         (DEFSYMBOL):
7584         (DEFSYMBOL_NO_DUMP):
7585         (DEFSYMBOL_MULTIWORD_PREDICATE):
7586         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
7587         (DEFKEYWORD):
7588         The construct &##name is not sensible C.
7589         Fixes compilation errors with Unixware native compiler.
7590
7591 2000-09-14  Martin Buchholz  <martin@xemacs.org>
7592
7593         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
7594         (next_frame_internal): Removed.  We now just have next_frame.
7595         (next_frame):
7596         Write a simpler and cleaner one-pass algorithm.
7597         Remove called_from_delete_device arg and #ifdefed-out code.
7598         (previous_frame):
7599         Renamed from prev_frame.  Update callers.
7600         Cleaned up to have an analogous implementation to next_frame.
7601         (other_visible_frames_internal): Remove the
7602         called_from_delete_device bogus arg, and hence, remove this
7603         function.  Just use other_visible_frames().
7604
7605         * window.c (Fnext_window):
7606         Prettify docstring.
7607         Since next_frame() is guaranteed to return a frame, remove check
7608         for nil inserted in previous patch.
7609         (Fprevious_window):
7610         Prettify docstring.
7611         Make code look more like Fnext_window.
7612         (window_loop):
7613         Respect the `console' arg when iterating through windows.
7614         Fixes bug: (get-buffer-window buffer t device) not respecting
7615         the `device' arg.
7616         This function needs more work, as others have pointed out.
7617
7618         * frame.h: Rename prev_frame to previous_frame.
7619         device_matches_console_spec no longer takes a `frame' arg.
7620
7621         * s/gnu.h:
7622         * s/linux.h:
7623         * s/hpux.h:
7624         Use EMACS_BLOCK_SIGNAL instead of sigblock.
7625         From "Golubev I. N." <gin@mo.msk.ru>.
7626
7627         * make-src-depend: Fix typo.
7628
7629 2000-09-13  Martin Buchholz  <martin@xemacs.org>
7630
7631         * window.c (Fnext_window):
7632         next_frame() might return nil, not a frame.
7633         Fixes this crash:
7634         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
7635
7636         * frame.c (next_frame_internal):
7637         We've passed a frame if we've passed its device.
7638         Fixes this crash:
7639         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
7640 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
7641
7642 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7643
7644         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7645         Allow option to suppress accelerators in menu/dialog items.
7646         (populate_or_checksum_helper): Pass dialog title through above.
7647
7648 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7649
7650         * event-msw.c (mswindows_key_to_emacs_keysym):
7651         Add "pause" key, fix "menu" key.
7652
7653 2000-09-09  Martin Buchholz  <martin@xemacs.org>
7654
7655         * eval.c (reinit_vars_of_eval):
7656         Increase max_lisp_eval_depth to 1000,
7657         required for thai-xtis.el to byte-compile under some circumstances.
7658
7659 2000-09-04  Martin Buchholz  <martin@xemacs.org>
7660
7661         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
7662         From Kenichi Handa.
7663
7664 2000-09-01  Martin Buchholz  <martin@xemacs.org>
7665
7666         * make-src-depend: Make the generated Makefiles smaller.
7667
7668         * s/hpux.h (SETUP_SLAVE_PTY):
7669         Provide a %d in the format string for the errno argument.
7670
7671         * editfns.c (Ftemp_directory):
7672         Warning fix.
7673         Avoid buffer overrun on very long file name.
7674
7675         * input-method-xlib.c (XIM_init_device):
7676         6th parameter of XRegisterIMInstantiateCallback has different
7677         pointer types on different OSes, so simply cast to (void *).
7678
7679         * unexhp9k800.c: Warning fixes.  Fiddly changes.
7680
7681         * sysdll.c (dll_open):
7682         shl_load will hang hard if passed a NULL filename.
7683         Simply return NULL for compatibility with dlopen.
7684         * sysdll.c: Conform to XEmacs coding standards.
7685
7686         * sysdep.c (get_pty_max_bytes):
7687         Support pty input lines longer than 512 bytes on HP-UX 10.20.
7688
7689 2000-08-31  Martin Buchholz  <martin@xemacs.org>
7690
7691         * tooltalk.c: Add #include <syssignal.h>
7692
7693 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
7694
7695         * s/hpux.h: Don't use undefined function sigunblock().
7696
7697 2000-08-31  Martin Buchholz  <martin@xemacs.org>
7698
7699         * config.h.in: Add HAVE_BALLOON_HELP.
7700         * emacs.c: Use HAVE_BALLOON_HELP.
7701         * Makefile.in.in (x_objs):
7702         Make Balloon Help conditional on finding shape.h.
7703
7704 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
7705
7706         * syntax.c (regex_emacs_buffer_p): New variable.
7707         * syntax.h (regex_emacs_buffer_p): extern.
7708         * search.c (looking_at_1):
7709         (string_match_1):
7710         (fast_string_match):
7711         (search_buffer): Set regex_emacs_buffer_p.
7712         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
7713         when before_dot, at_dot, after_dot.
7714
7715 2000-08-23  Andy Piper  <andy@xemacs.org>
7716
7717         * gui-x.c (popup_selection_callback): Only set action_occurred
7718         when we really have an image instance.
7719         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
7720
7721 2000-08-23  Andy Piper  <andy@xemacs.org>
7722
7723         * gui-msw.c (mswindows_handle_gui_wm_command): set
7724         action_occurred.
7725         * gui-x.c (popup_selection_callback): ditto.
7726
7727         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
7728         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
7729         (struct Lisp_Image_Instance): add action_occurred flag.
7730
7731         * glyphs.c (redisplay_subwindow): use action_occurred flag.
7732         (image_instance_changed): ditto.
7733         (reset_frame_subwindow_instance_cache): only unmap windows - do
7734         not remove them from the cache also.
7735
7736         * glyphs-widget.c (tab_control_update): better debug.
7737         (progress_gauge_update): ditto.
7738         (layout_update): ditto.
7739         (layout_instantiate): ditto.
7740         (tab_control_order_only_changed): cope with null pending items.
7741
7742         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
7743         debug. Force selection of an item when an action occurred. Cope
7744         with null pending_items.
7745         (mswindows_progress_gauge_redisplay): better debug.
7746         * glyphs-x.c (x_tab_control_redisplay): ditto.
7747
7748         * redisplay.c (redisplay_frame): reset the frame cache if the
7749         frame is garbaged.
7750
7751         * window.c (Fset_window_configuration): potentially re-enable
7752         frame cache reset.
7753         (window_unmap_subwindows): need to finalize instances here since
7754         it is only used in mark_window_as_deleted.
7755
7756 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
7757
7758         * nas.c (SndOpenDataForReading):
7759         nas.c (WaveOpenDataForReading):
7760         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
7761         Somehow escaped from the 2000-08-14 patch.
7762
7763 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7764
7765         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
7766         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
7767
7768 2000-08-21  Andy Piper  <andy@xemacs.org>
7769
7770         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
7771         window if it is not already displayed.
7772
7773         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
7774         it is not already displayed.
7775
7776         * window.c (Fset_window_configuration): don't reset the frame
7777         cache.
7778
7779         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
7780         instances from the frame cache if we are actually finalizing them.
7781         (reset_frame_subwindow_instance_cache): reset frame cache only
7782         after unmapping everything.
7783         (map_subwindow): set displayed flag after mapping.
7784
7785 2000-08-21  Martin Buchholz  <martin@xemacs.org>
7786
7787         * data.c (indirect_function):
7788         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
7789
7790         * eval.c (function_argcount):
7791         Use original function when signaling errors.
7792
7793 2000-08-18  Andy Piper  <andy@xemacs.org>
7794
7795         * frame.c (delete_frame_internal): use new
7796         free_frame_subwindow_instances name.
7797
7798         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
7799         (add_tab_item): make return type correct.
7800         (mswindows_tab_control_instantiate): assert index of tab.
7801         (mswindows_tab_control_redisplay): Re-code to use
7802         gui_item_equal_sans_selected and gui_item_list_find_selected.
7803
7804         * glyphs-widget.c (tab_control_update): Correct comment.
7805
7806         * window.c (window_unmap_subwindows): use new
7807         unmap_subwindow_instance_cache_mapper.
7808         (window_unmap_subwindows_cache_mapper): deleted.
7809         (Fset_window_configuration): comparisons should now be with
7810         EQ. Preserve the subwindow instance cache across configuration
7811         changes.
7812         (allocate_window): ditto.
7813         (make_dummy_parent): ditto.
7814
7815         * glyphs.c (free_frame_subwindow_instances): rename from
7816         free_frame_subwindow_instance_cache. finalize all instances rather
7817         than just those in the display cache.
7818         (finalize_all_subwindow_instances): walk windows unmapping and
7819         finalizing subwindows.
7820         (unmap_subwindow_instance_cache_mapper): moved from
7821         window.c. Allow finalization as well as unmapping.
7822
7823         * gui.c (gui_item_list_find_selected): new function.
7824
7825         * gui.h (gui_item_list_find_selected): declare.
7826
7827         * glyphs-x.c (x_tab_control_redisplay): pick tab
7828         explicitly. Re-code to use gui_item_equal_sans_selected and
7829         gui_item_list_find_selected.
7830
7831         * glyphs-x.h: add lwlib-utils.h
7832
7833         * buffer.c (Frecord_buffer): undo previous change.
7834
7835 2000-08-09  Vin Shelton  <acs@xemacs.org>
7836
7837         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
7838         possible.  Create temporary files more securely.  The patch was
7839         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
7840         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
7841         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
7842         for details.
7843
7844 2000-08-07  Ben Wing  <ben@xemacs.org>
7845
7846         * getloadavg.c: remove duplicate (and windows-breaking)
7847         includes of fcntl.h and sys/file.h.
7848
7849         * nt.c: remove duplicate getloadavg() definition.
7850
7851         * sysdll.h (Qdll_filename_encoding): add missing stand-in
7852         encodings.
7853
7854 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7855
7856         * eval.c (function_argcount): If function needs to be autoloaded
7857         actually use the loaded definition.
7858         GCPRO function.
7859
7860 2000-08-05  Ben Wing  <ben@xemacs.org>
7861
7862         * getloadavg.c: add prototype for getloadavg().  remove
7863         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
7864         of the code).  remove duplicate header includes.
7865
7866         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
7867
7868         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
7869         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
7870         useful load average.
7871
7872         * alloc.c (reinit_alloc_once_early): removed references to
7873         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
7874         the lisp vars are the only things referencing the malloc_sbrk_*
7875         vars, and they were already if 0'd out.  these vars only exist
7876         in the older malloc.c, which is basically unused, and they're
7877         only for informational purposes.
7878
7879         * m\*.h: removed useless VIRT_ADDR_VARIES.
7880
7881         * m\powerpc.h: removed stray NO_ARG_ARRAY.
7882
7883 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
7884
7885         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
7886         color if the image is a mono pixmap.
7887
7888 2000-07-30  Ben Wing  <ben@xemacs.org>
7889
7890         * Makefile.in.in (release):
7891         Remove stray @.
7892
7893         * buffer.c (directory_is_current_directory):
7894         * dired-msw.c (mswindows_get_files):
7895         * dired.c:
7896         * dired.c (Fdirectory_files):
7897         * dired.c (file_name_completion_stat):
7898         * dired.c (Ffile_attributes):
7899         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
7900         preprocessor tricks, to avoid problems on some machines
7901         (e.g. SCO).
7902
7903         * callproc.c (egetenv): GC docs.
7904
7905         * console-msw.h:
7906         * console-msw.h (struct mswindows_dialog_id):
7907         * lrecord.h (lrecord_type):
7908         New object for use with MSW dialogs.
7909
7910         * console.h (struct console_methods):
7911         New enable/disable frame methods, for proper modal dialogs.
7912
7913         * device-msw.c (msprinter_default_printer): Fix to follow
7914         proper Mule conventions.
7915
7916         * device-msw.c:
7917         * device-msw.c (signal_open_printer_error):
7918         * device-msw.c (msprinter_init_device):
7919         * device-msw.c (ensure_not_printing):
7920         * device-msw.c (plist_get_margin):
7921         * device-msw.c (Fmsprinter_select_settings):
7922         * device-msw.c (finalize_devmode):
7923         * device-msw.c (Fmsprinter_settings_despecialize):
7924         * device-msw.c (signal_enum_priner_error):
7925         * extents.c (decode_extent):
7926         * extents.c (decode_map_extents_flags):
7927         * extents.c (decode_extent_at_flag):
7928         * extents.c (Fextent_at):
7929         * extents.c (Fextents_at):
7930         * extents.c (symbol_to_glyph_layout):
7931         [[[[2]]]] Use structured errors.
7932
7933         * dialog-msw.c:
7934         * dialog-msw.c (mswindows_is_dialog_msg):
7935         * dialog-msw.c (mark_mswindows_dialog_id):
7936         * dialog-msw.c (dialog_proc):
7937         * dialog-msw.c (handle_question_dialog_box):
7938         * dialog-msw.c (syms_of_dialog_mswindows):
7939         Define new object to clean up marking; use it as a dialog identifier.
7940         Call new delete-dialog-box-hook.
7941
7942         * dialog-x.c (dbox_selection_callback):
7943         * dialog-x.c (dbox_descriptor_to_widget_value):
7944         * dialog-x.c (x_make_dialog_box_internal):
7945         Call new delete-dialog-box-hook.
7946         Return an id.
7947
7948         * dialog.c:
7949         * dialog.c (syms_of_dialog):
7950         * dialog.c (vars_of_dialog):
7951         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
7952
7953         * eval.c:
7954         * eval.c (signal_call_debugger):
7955         when noninteractive, output stack traces on the console instead
7956         of in a (never-seen) buffer.
7957
7958         * eval.c (signal_type_error):
7959         * eval.c (invalid_argument_2):
7960         * lisp.h:
7961         new funs for use w/structured errors.
7962
7963         * event-Xt.c:
7964         * event-Xt.c (x_to_emacs_keysym):
7965         * event-Xt.c (describe_event):
7966         * event-Xt.c (emacs_Xt_event_handler):
7967         * event-Xt.c (vars_of_event_Xt):
7968         * event-msw.c:
7969         * event-msw.c (mswindows_wnd_proc):
7970         * event-msw.c (vars_of_event_mswindows):
7971         rename {x,mswindows}-debug-events to debug-{}-events for
7972         consistency with other debug-foo variables.
7973
7974         * event-stream.c:
7975         document next-event more clearly.
7976
7977         * fileio.c (Ffile_name_directory):
7978         * fileio.c (Ffile_name_nondirectory):
7979         * fileio.c (Funhandled_file_name_directory):
7980         * fileio.c (file_name_as_directory):
7981         * fileio.c (Ffile_name_as_directory):
7982         * fileio.c (directory_file_name):
7983         * fileio.c (Fdirectory_file_name):
7984         * fileio.c (Fmake_temp_name):
7985         * fileio.c (Ffile_truename):
7986         * fileio.c (Fsubstitute_in_file_name):
7987         * fileio.c (expand_and_dir_to_file):
7988         * fileio.c (barf_or_query_if_file_exists):
7989         * fileio.c (check_executable):
7990         * fileio.c (Ffile_exists_p):
7991         * fileio.c (Ffile_writable_p):
7992         * fileio.c (Ffile_directory_p):
7993         * fileio.c (Ffile_regular_p):
7994         * fileio.c (Ffile_modes):
7995         * fileio.c (Ffile_newer_than_file_p):
7996         * fileio.c (Fverify_visited_file_modtime):
7997         * fileio.c (Fset_visited_file_modtime):
7998         * fileio.c (auto_save_1):
7999         (1). (2).
8000         fix up gcpro's.
8001
8002         * frame-msw.c:
8003         * frame-msw.c (mswindows_init_frame_1):
8004         * frame-msw.c (mswindows_enable_frame):
8005         * frame-msw.c (error_frame_unsizable):
8006         * frame-msw.c (msprinter_init_frame_1):
8007         * frame-msw.c (msprinter_init_frame_3):
8008         * frame-msw.c (console_type_create_frame_mswindows):
8009         (2).
8010         implement new enable/disable frame methods.
8011
8012         * frame-x.c:
8013         * frame-x.c (x_enable_frame):
8014         * frame-x.c (console_type_create_frame_x):
8015         implement new enable/disable frame methods.
8016
8017         * frame.c:
8018         * frame.c (Fdisable_frame):
8019         * frame.c (syms_of_frame):
8020         * frame.h (struct frame):
8021         implement new enable/disable frame methods/functions.
8022
8023         * general-slots.h:
8024         add initial-focus.
8025
8026         * glyphs-msw.c (mswindows_widget_instantiate):
8027         comment that initial-focus should be implemented.
8028
8029         * glyphs-widget.c:
8030         * glyphs-widget.c (check_valid_instantiator):
8031         * glyphs-widget.c (check_valid_orientation):
8032         * glyphs-widget.c (check_valid_tab_orientation):
8033         * glyphs-widget.c (check_valid_justification):
8034         * glyphs-widget.c (check_valid_border):
8035         * glyphs-widget.c (check_valid_callback):
8036         * glyphs-widget.c (check_valid_int_or_function):
8037         * glyphs-widget.c (check_valid_string_or_vector):
8038         * glyphs-widget.c (check_valid_item_list_1):
8039         * glyphs-widget.c (widget_validate):
8040         * glyphs-widget.c (combo_box_validate):
8041         * glyphs-widget.c (widget_instantiate):
8042         * glyphs-widget.c (syms_of_glyphs_widget):
8043         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
8044         * glyphs-widget.c (image_instantiator_combo_box):
8045         * glyphs-widget.c (image_instantiator_scrollbar):
8046         * glyphs-widget.c (image_instantiator_tab_control):
8047         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
8048         (2).
8049         support (unimplemented) keyword initial-focus.
8050         reindent long macros.
8051
8052         * glyphs-x.c (x_redisplay_widget):
8053         * glyphs-x.c (x_button_instantiate):
8054         * glyphs-x.c (x_button_redisplay):
8055         * glyphs-x.c (x_progress_gauge_instantiate):
8056         * glyphs-x.c (x_edit_field_instantiate):
8057         * glyphs-x.c (x_combo_box_instantiate):
8058         * glyphs-x.c (x_tab_control_instantiate):
8059         * glyphs-x.c (x_label_instantiate):
8060         * gui-x.c:
8061         * gui-x.c (button_item_to_widget_value):
8062         * gui-x.c (gui_items_to_widget_values_1):
8063         * gui-x.c (gui_item_children_to_widget_values):
8064         * gui-x.c (gui_items_to_widget_values):
8065         * gui-x.h:
8066         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8067         add new flag to gui-parsing routines to indicate whether
8068         accelerator specs should be supported.
8069
8070         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
8071
8072         * glyphs.h (struct Lisp_Image_Instance):
8073         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
8074         add initial-focus flag.
8075
8076         * gui.c:
8077         * gui.c (syms_of_gui):
8078         * gui.c (vars_of_gui):
8079         clean up menu-no-selection-hook.
8080
8081         * gui.h:
8082         support delete-dialog-box-hook.
8083
8084         * lread.c (Fload_internal):
8085         * lread.c (locate_file_in_directory_mapper):
8086         (1).
8087
8088         * lrecord.h:
8089         * lrecord.h (struct toolbar_button):
8090         * lrecord.h (syms_of_toolbar):
8091         document how to create a new object.
8092
8093         * menubar-msw.c (mswindows_char_is_accelerator):
8094         may be called on frames w/o menus.
8095
8096         * menubar.c (vars_of_menubar):
8097         clean up :filter docs.
8098
8099         * nt.c (readdir):
8100         * ntproc.c:
8101         (1).
8102
8103         * process-nt.c:
8104         * process-nt.c (validate_signal_number):
8105         * process-nt.c (signal_cannot_launch):
8106         * process-nt.c (nt_create_process):
8107         * process-nt.c (nt_send_process):
8108         * process-nt.c (nt_kill_child_process):
8109         * process-nt.c (nt_open_network_stream):
8110         * process-nt.c (syms_of_process_nt):
8111         (2).
8112         delete quote-handling.  call new lisp code that does it better.
8113
8114         * process-unix.c (connect_to_file_descriptor):
8115         * process-unix.c (allocate_pty):
8116         * process-unix.c (unix_send_process):
8117         * process-unix.c (unix_kill_child_process):
8118         * process-unix.c (unix_open_network_stream):
8119         * process-unix.c (unix_open_multicast_group):
8120         (1). (2).
8121
8122         * process.c:
8123         * process.c (Fstart_process_internal):
8124         (2).  need to canonicalize process path even if absolute.
8125
8126         * select-msw.c (symbol_to_ms_cf):
8127         * select-msw.c (ms_cf_to_symbol):
8128         * select-msw.c (cf_is_autofreed):
8129         * select-msw.c (mswindows_destroy_selection):
8130         * select.c:
8131         * select.c (syms_of_select):
8132         * select.h:
8133         support dibv5, fix bugs. (from Mike Alexander)
8134
8135         * select.c (Fget_selection_internal):
8136         * select.c (select_convert_out):
8137
8138         * sysdep.c:
8139         * sysdep.c (xemacs_stat):
8140         renamed.
8141
8142         * sysdep.c (mkdir):
8143         * sysdep.c (rmdir):
8144         but keep original stat() here because we provide encapsulation
8145         around these funs.
8146
8147         * sysfile.h:
8148         * sysfile.h (fstat):
8149         remove stat garbage.
8150
8151         * syswindows.h:
8152         fix X/MSW conflict.
8153         don't include tchar.h.  it's inappropriate because it makes
8154         compile-time distinctions when we want runtime distinctions.
8155         (we provide our own tchar replacements)
8156
8157         * toolbar.c:
8158         use default object printer for toolbar-button.
8159
8160         * unexcw.c:
8161         make sure we don't encapsulate.
8162
8163         * window.c (vars_of_window):
8164         emphasize that temp-buffer-show-hook is obsolete.
8165
8166 2000-08-05  Martin Buchholz  <martin@xemacs.org>
8167
8168         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
8169         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
8170
8171         * events.c (Fevent_timestamp_lessp):
8172         Not 64-bit clean.  Use EMACS_INT, not int.
8173
8174 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
8175
8176         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
8177         unsigned int and changed the last enum to
8178         lrecord_type_last_built_in_type.
8179         (lrecord_implementations_table): changed prototype to know how
8180         long the array is supposed to be.
8181         (lrecord_type_count): new unsigned int to keep track of the
8182         current number of lisp lrecord types.
8183         (DEFINE_EXTERNAL_LRECORD):
8184         (DECLARE_EXTERNAL_LRECORD): Added these two for external
8185         dynamic-modules to declare new lisp types. They are the same
8186         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
8187         int for each new type, and increment lrecord_type_count by 1.
8188
8189         * alloc.c (lrecord_implementations_table): Changed to reference
8190         lrecord_type_last_built_in_type for the size of the array.
8191         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
8192
8193 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8194
8195         * glyphs.h (check_valid_item_list): Renamed from
8196         check_valid_item_list_1.
8197
8198 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
8199
8200         * select.c (Qselect_coerce): New.
8201         * select.c (Vselection_coercion_alist): New.
8202         * select.c (syms_of_select): Declare.
8203         * select.c (get-selection-internal): Use it.
8204         Use the new select-coerce functionality.
8205
8206         * select.c (select_coerce): New.
8207         * select.h (select_coerce): Declare.
8208         New function to coerce one type of data into another.
8209
8210 2000-08-03  Martin Buchholz  <martin@xemacs.org>
8211
8212         * callproc.c (Fcall_process_internal):
8213         (Fcall_process_internal):
8214         * process-unix.c (unix_create_process):
8215         Save and restore the value of errno, so that error messages are accurate.
8216
8217 2000-08-01  Martin Buchholz  <martin@xemacs.org>
8218
8219         * elhash.c (print_hash_table):
8220         Fix printing of hash tables to also use `key-and-value' instead of `t'.
8221         Prettify docstrings and indentation.
8222
8223 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8224
8225         * window.c (Fwindow_pixel_edges): Subtract frame border and
8226         gutter size.
8227
8228 2000-07-31  Andy Piper  <andy@xemacs.org>
8229
8230         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
8231         will acknowledge the change.
8232
8233         * glyphs.h: declare tab_control_order_only_changed.
8234
8235         * glyphs-x.c (x_tab_control_redisplay): use
8236         tab_control_order_only_changed.
8237
8238         * glyphs-widget.c (tab_control_order_only_changed): new function.
8239
8240         * glyphs-msw.c (mswindows_tab_control_redisplay): use
8241         tab_control_order_only_changed.
8242
8243         * gui.c (gui_item_equal_sans_selected): new function.
8244         (gui_item_equal): use it.
8245
8246         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
8247         :properties in favor of :items..
8248
8249         * glyphs-widget.c (check_valid_item_list): rename from
8250         check_valid_item_list_1.
8251         (check_valid_item_list_1): renamed.
8252         (combo_box_validate): deprecate :properties in favor of :items.
8253         (widget_instantiate): ditto.
8254         (tab_control_update): ditto.
8255         (image_instantiator_combo_box): ditto.
8256         (image_instantiator_tree_view): ditto.
8257         (image_instantiator_tab_control): ditto.
8258         (layout_post_instantiate): remove dead code.
8259
8260         * print.c (debug_print_no_newline): only write to debugger if in
8261         WIN32_NATIVE.
8262
8263         * elhash.c (Fmake_hash_table): update doc string.
8264
8265         * event-msw.c (mswindows_wnd_proc): don't allow processing of
8266         messages whilst in GC. This at least stops XEmacs crashing but has
8267         the potential for wierd behaviour.
8268
8269 2000-07-31  Martin Buchholz  <martin@xemacs.org>
8270
8271         * config.h.in:
8272         Make existence of s&m files optional.
8273
8274         * s/bsd386.h: Remove HAVE_GETLOADAVG.
8275         * s/freebsd.h: Remove HAVE_GETLOADAVG.
8276         * s/gnu.h: Remove HAVE_GETLOADAVG.
8277         * s/netbsd.h: Remove HAVE_GETLOADAVG.
8278         * s/sol2.h: Remove HAVE_GETLOADAVG.
8279         * lisp.h: Remove getloadavg() declaration.
8280         * fns.c:
8281         Include <sys/loadavg.h> if available.
8282         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
8283         * config.h.in:  Group together getloadavg()-related macros.
8284         Use only configure-time tests to detect getloadavg().
8285
8286 2000-07-30  Martin Buchholz  <martin@xemacs.org>
8287
8288         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
8289
8290 2000-07-25  Andy Piper  <andy@xemacs.org>
8291
8292         * syswindows.h: add tchar.h for native builds.
8293
8294         * frame.c (syms_of_frame): remove set-glyph-image.
8295
8296         * general-slots.h: add Qset_glyph_image.
8297
8298         * glyphs-widget.c (layout_update): add domain arg to
8299         set-glyph-image.
8300         (syms_of_glyphs_widget): remove set-glyph-image.
8301
8302 2000-07-23  Ben Wing  <ben@xemacs.org>
8303
8304         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
8305         Vpopup_frame_list.
8306
8307 2000-07-22  Andy Piper  <andy@xemacs.org>
8308
8309         * symsinit.h: add syms_of_win32().
8310
8311         * gui-msw.c (syms_of_gui_mswindows): remove
8312         Fmswindows_shell_execute.
8313         (Fmswindows_shell_execute): moved to win32.c.
8314
8315         * emacs.c (main_1): add syms_of_win32 ().
8316
8317         * win32.c (init_potentially_nonexistent_functions): rewrite in
8318         compiler-friendly terms.
8319         (Fmswindows_shell_execute): move here from gui-msw.c.
8320         (syms_of_win32): new.
8321
8322         * device-msw.c (Fmswindows_printer_list): clean up args to
8323         EnumPrinters.
8324         Don't include tchar under cygwin or mingw.
8325         (msprinter_default_printer): make cygwin-friendly.
8326
8327 2000-07-21  Andy Piper  <andy@xemacs.org>
8328
8329         * glyphs-widget.c (image_instantiator_tree_view): use tab
8330         control's update function.
8331         (layout_property): new function. Retrieve items.
8332
8333         * glyphs-msw.c (mswindows_tree_view_redisplay): new
8334         function. Re-populate the tree view from the pending items.
8335
8336         * glyphs.c (instantiate_image_instantiator): Make sure the domain
8337         is designated the parent if the domain is an image instance. This
8338         is needed so that dirtiness can be cascade up the hierarchy and
8339         thus for layout children to be redisplayed correctly.
8340         (allocate_image_instance): rename glyph -> parent.
8341
8342         * redisplay.h: change redisplay_output_layout signature.
8343
8344         * redisplay-msw.c (mswindows_output_display_block): use domain
8345         arg.
8346
8347         * redisplay-x.c (x_output_display_block): use domain arg.
8348
8349 2000-07-10  Andy Piper  <andy@xemacs.org>
8350
8351         * window.c (Fset_window_configuration): add comment.
8352
8353         * redisplay-output.c (compare_runes):
8354         (redisplay_output_subwindow): redisplay rather than update subwindow.
8355         (redisplay_output_layout): ditto.
8356
8357         * redisplay-msw.c (mswindows_frame_output_end):
8358         (mswindows_frame_output_end): make defer window pos optional.
8359
8360         * lisp.h: add Flast.
8361
8362         * glyphs.h (struct image_instantiator_methods): add dest_mask top
8363         normalize method. Change update method to be for changed
8364         instantiators. Add redisplay method. Change signature of layout
8365         method.
8366         (struct Lisp_Image_Instance): add instantiator.
8367         (IMAGE_INSTANCE_INSTANTIATOR): new.
8368         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
8369         (XIMAGE_INSTANCE_INSTANTIATOR): new.
8370         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
8371
8372         * glyphs.c:
8373         (find_instantiator_differences): new function.
8374         (Fset_instantiator_property): new convenience function.
8375         (check_image_instance_structure): strictly check for vector
8376         instantiators.
8377         (normalize_image_instantiator): make non-static.
8378         (instantiate_image_instantiator): pass on dest_mask and use new
8379         signatures for image_instance_layout and friends.
8380         (mark_image_instance): mark the instantiator. Mark the subwindow
8381         face not the widget face.
8382         (image_instance_equal): add instantiator.
8383         (image_instance_hash): ditto.
8384         (allocate_image_instance): ditto.
8385         (Fset_image_instance_property): removed.
8386         (Fimage_instance_file_name): ditto.
8387         (Fcolorize_image_instance): ditto.
8388         (image_instance_layout): add offsets to be set.
8389         (update_image_instance): new function. update an image instance
8390         from its changed instantiator.
8391         (inherit_normalize): add dest_mask.
8392         (xbm_normalize): ditto.
8393         (xface_normalize): ditto.
8394         (xpm_normalize): ditto.
8395         (text_update): set_property -> update.
8396         (image_instantiate): use the glyph identity as a hash key, not the
8397         instantiator.
8398         (glyph_width): use new image_instance_layout signature.
8399         (glyph_ascent): ditto.
8400         (glyph_descent): ditto.
8401         (glyph_height): ditto.
8402         (glyph_query_geometry): ressurrect.
8403         (glyph_layout): ditto.
8404         (redisplay_subwindow): update -> redisplay.
8405         (syms_of_glyphs): add Fset_instantiator_property.
8406         (image_instantiator_format_create): set_property -> update.
8407
8408         * glyphs-x.c:
8409         (autodetect_normalize): add dest_maks to signature.
8410         (x_redisplay_subwindow): update -> redisplay.
8411         (x_redisplay_widget): ditto.
8412         (x_button_redisplay): ditto.
8413         (x_progress_gauge_redisplay): ditto.
8414         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
8415         stacking order.
8416         (console_type_create_glyphs_x): update -> redisplay.
8417         (image_instantiator_format_create_glyphs_x): ditto.
8418
8419         * glyphs-widget.c:
8420         (check_valid_instantiator): disallow glyphs in the instantiator,
8421         they must now be vectors.
8422         (check_valid_instantiator_list): ditto.
8423         (glyph_instantiator_to_glyph): use internal symbol rather than
8424         intern.
8425         (widget_update): renamed from widget_set_property. Call cascaded
8426         update methods.
8427         (redisplay_widget): renamed from update_widget.
8428         (widget_layout): image_instance_layout now takes position as well
8429         as size.
8430         (widget_normalize): ditto.
8431         (widget_instantiate): ditto.
8432         (tab_control_query_geometry) ditto.:
8433         (tab_control_update): renamed from tab_control_set_property.
8434         (progress_gauge_update): set_property -> update.
8435         (layout_normalize): rewrite so that child instantiators are
8436         normalized also.
8437         (layout_update): new function. Create glyphs from the normalized
8438         children and cope with any other layout keywords. We do not
8439         instantiate children here that will be take care of by
8440         redisplay_output_layout.
8441         (layout_instantiate): call layout_update and not much else.
8442         (layout_post_instantiate): not sure whether this is needed
8443         anymore.
8444         (layout_query_geometry): query glyph geometry rather than
8445         image_instance geometry.
8446         (layout_layout): set offsets from pass in parameters. Use glyph
8447         geometry and layout functions rather than image instance ones.
8448         (native_layout_layout): ditto.
8449         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
8450         (image_instantiator_widget): set_property -> update.
8451         (image_instantiator_buttons): ditto.
8452         (image_instantiator_progress_guage): ditto.
8453         (image_instantiator_tab_control): ditto.
8454         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
8455         (image_instantiator_layout): add update method.
8456
8457         * glyphs-msw.c (bmp_normalize):
8458         (mswindows_resource_normalize): add dest_mask so that it can be
8459         proprogated by layout_normalize.
8460         (begin_defer_window_pos): make optional because it may not be the
8461         right thing to do and it introduces differences with X.
8462         (mswindows_unmap_subwindow): ditto.
8463         (mswindows_map_subwindow): ditto.
8464         (mswindows_redisplay_subwindow): renamed from
8465         mswindows_update_subwindow.
8466         (mswindows_redisplay_widget): ditto.
8467         (mswindows_button_redisplay): renamed from
8468         mswindows_button_update. Update is now what the instantiation
8469         function does for a changed instantiator.
8470         (mswindows_progress_gauge_instantiate): set the progress value
8471         here if appropriate.
8472         (mswindows_tab_control_redisplay): cope with re-ordering of the
8473         members of the tab widget by simply selecting the new top
8474         widget. This makes things appear ok if you click on a tab.
8475         (mswindows_combo_box_instantiate): image_instance_layout now takes
8476         position as well as size.
8477         (mswindows_progress_gauge_redisplay): renamed from
8478         mswindows_progress_gauge_update.
8479         (console_type_create_glyphs_mswindows): fix update -> redisplay.
8480         (image_instantiator_format_create_glyphs_mswindows): ditto.
8481
8482         * glyphs-eimage.c (jpeg_normalize):
8483         (gif_normalize):
8484         (png_normalize):
8485         (tiff_normalize): add dest_mask so that it can be proprogated by
8486         layout_normalize.
8487
8488         * elhash.c:
8489         (print_hash_table):
8490         (hash_table_weakness_validate):
8491         (decode_hash_table_weakness):
8492         (Fhash_table_weakness):
8493         (Fhash_table_type):
8494         (syms_of_elhash): use Ben's naming scheme for hashtable types..
8495
8496         * console.h (struct console_methods): move update_* to
8497         redisplay_*.
8498
8499 2000-07-20  Ben Wing  <ben@xemacs.org>
8500
8501         * *.[ch] (XSETOBJ): remove unused middle argument.
8502         lisp-disunion.h: correct wrap_object() to one argument.
8503
8504 2000-07-15  Ben Wing  <ben@xemacs.org>
8505
8506         * s/cygwin32.h:
8507         * s/cygwin32.h (CYGWIN_CONV_PATH):
8508         Add missing logb prototype for v1.1.
8509         Use post-b20 names and alias to pre-b20 names when pre-b20.
8510
8511         * s/windowsnt.h: [5].
8512
8513 2000-07-15  Ben Wing  <ben@xemacs.org>
8514
8515         * Makefile.in.in (x_objs):
8516         * Makefile.in.in (sheap_objs):
8517         * Makefile.in.in (objs):
8518         added win32.o, cosmetic cleanups.
8519
8520         * alloc.c (Fmake_byte_code):
8521         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
8522         etc. macros which declare their own args now.
8523
8524         * alloc.c (syms_of_alloc):
8525         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
8526
8527         * buffer.c:
8528         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
8529
8530         * buffer.c (Fget_file_buffer):
8531         Fixed GCPRO problem.
8532
8533         * buffer.c (get_truename_buffer):
8534         Fixed comment about GC checking.
8535
8536         * buffer.c (syms_of_buffer):
8537         Undeclared those dedicated frame funs.
8538         [2].
8539
8540         * buffer.h:
8541         Define convenience macros for internal/external conversions.
8542         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
8543         and Qenvironment_variable_encoding for cleaner code.
8544
8545         * bufslots.h:
8546         Remove dedicated-frame; in lisp.
8547
8548         * bytecode.c (funcall_compiled_function):
8549         [1].
8550
8551         * bytecode.c (syms_of_bytecode):
8552         [2].
8553
8554         * console-msw.c:
8555         * console-msw.c (mswindows_show_console): Rewrote.
8556
8557         * console-msw.c (Fmswindows_debugging_output): New.
8558         Sends to OutputDebugString (special MSWin debugger interface).
8559
8560         * console-msw.c (Fmswindows_message_box):
8561         Fixed stupid bugs so it works when called from kill-emacs.
8562
8563         * console-msw.c (syms_of_console_mswindows):
8564         Declare Fmswindows_debugging_output.
8565
8566         * console-msw.h:
8567         New MSWin prototypes.
8568
8569         * console-msw.h (struct mswindows_frame):
8570         New entry last-click-mods for improved button-modifier support.
8571
8572         * console-msw.h (FRAME_MSWINDOWS_POPUP):
8573         New struct entry `popup' with corresponding accessor.
8574
8575         * console-x.c:
8576         * console-x.c (split_up_display_spec):
8577         * console-x.c (get_display_arg_connection):
8578         * console-x.c (x_semi_canonicalize_console_connection):
8579         * console-x.c (x_canonicalize_device_connection):
8580         [[[6]]]: Change char to more specific type.
8581         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
8582
8583         * console-x.c (x_semi_canonicalize_console_connection):
8584         * console-x.c (x_canonicalize_device_connection):
8585         [[[9]]]: Fix up error signalling to use new structured error system.
8586
8587         * console-x.h:
8588         [[[4]]]: Define codesys aliases:
8589         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
8590         Qx_color_name_encoding, Qx_display_name_encoding.
8591
8592         * console.h (struct console_methods):
8593         New method make_dialog_box_internal supersedes older
8594         popup_dialog_box method.
8595
8596         * data.c:
8597         Define many new errors, part of new structured errors.
8598
8599         * data.c (init_errors_once_early):
8600         * data.c (syms_of_data):
8601         [2].
8602
8603         * device-msw.c (mswindows_init_device):
8604         [[[5]]]: Cleanup to support NT 3.51.
8605
8606         * device-msw.c (decode_devmode): Cleanup.
8607
8608         * device-msw.c (mswindows_handle_print_setup_dialog_box):
8609         * device-msw.c (mswindows_handle_print_dialog_box):
8610         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8611         * device-msw.c (syms_of_device_mswindows):
8612         Delete the dialog box primitives recently introduced by Kirill and
8613         instead interface to general dialog box interface.
8614
8615         * device-x.c:
8616         * device-x.c (compute_x_app_name):
8617         * device-x.c (x_init_device):
8618         * device-x.c (Fx_valid_keysym_name_p):
8619         * device-x.c (Fx_set_font_path):
8620         [6].
8621         [7].
8622
8623         * device.h (wrap_device): New.
8624         First of its kind; meant to replace XSETDEVICE.
8625
8626         * dialog-msw.c: Many file-dialog symbols.
8627
8628         * dialog-msw.c (mswindows_register_popup_frame): New.
8629         * dialog-msw.c (mswindows_is_dialog_msg): New.
8630         For supporting kbd traversal in dialog boxes.
8631
8632         * dialog-msw.c (dialog_proc):
8633         Support hitting ESC in dialogs.
8634
8635         * dialog-msw.c (struct):
8636         Common dialog box errors.
8637
8638         * dialog-msw.c (handle_file_dialog_box): New.
8639         Add file dialog code.
8640
8641         * dialog-msw.c (handle_question_dialog_box):
8642         Redo existing code to support new question dialog syntax.
8643
8644         * dialog-msw.c (console_type_create_dialog_mswindows):
8645         We support new dialog console method.
8646
8647         * dialog-msw.c (syms_of_dialog_mswindows):
8648         * dialog-msw.c (vars_of_dialog_mswindows):
8649         New file dialog symbols, vars.
8650
8651         * dialog-x.c:
8652         * dialog-x.c (maybe_run_dbox_text_callback):
8653         * dialog-x.c (dbox_descriptor_to_widget_value):
8654         * dialog-x.c (x_make_dialog_box_internal):
8655         * dialog-x.c (console_type_create_dialog_x):
8656         Mule-ize entire file.
8657         Redo to support question dialog syntax.
8658         [6].
8659
8660         * dialog.c:
8661         * dialog.c (Fmake_dialog_box_internal):
8662         * dialog.c (syms_of_dialog):
8663         Kill old popup-dialog-box, replace with new primitive.
8664         Just call device method or signal error.
8665
8666         * eldap.c (Fldap_open):
8667         * eldap.c (Fldap_search_basic):
8668         * eldap.c (Fldap_add):
8669         * eldap.c (Fldap_modify):
8670         [1].
8671         [7].
8672
8673         * emacs.c:
8674         * emacs.c (make_arg_list_1):
8675         * emacs.c (make_arg_list):
8676         Mule-ize call to dll_init().
8677         [6].
8678         [8].
8679
8680         * emacs.c (make_argc_argv):
8681         * emacs.c (free_argc_argv):
8682         * emacs.c (init_cmdargs):
8683         * emacs.c (main_1):
8684         * emacs.c (Fkill_emacs):
8685         * emacs.c (Fdump_emacs):
8686         Update comments about what can be used in syms_* etc.
8687         Call init_win32() when necessary.
8688         Fix up MS Win dialog box in kill-buffer to actually work right.
8689         [7].
8690
8691         * eval.c:
8692         * eval.c (For):
8693         * eval.c (Fand):
8694         * eval.c (Fprogn):
8695         * eval.c (Fprog1):
8696         * eval.c (Fprog2):
8697         * eval.c (FletX):
8698         * eval.c (Flet):
8699         * eval.c (condition_case_3):
8700         * eval.c (Feval):
8701         * eval.c (function_argcount):
8702         * eval.c (funcall_lambda):
8703         [1].
8704
8705         * eval.c (type_error): New.
8706         * eval.c (maybe_type_error): New.
8707         * eval.c (continuable_type_error): New.
8708         * eval.c (maybe_continuable_type_error): New.
8709         * eval.c (type_error_with_frob): New.
8710         * eval.c (maybe_type_error_with_frob): New.
8711         * eval.c (continuable_type_error_with_frob): New.
8712         * eval.c (maybe_continuable_type_error_with_frob): New.
8713         New functions for use with structured errors.
8714
8715         * event-Xt.c:
8716         * event-Xt.c (x_event_to_emacs_event):
8717         Buttons are now modifiers too.
8718
8719         * event-Xt.c (emacs_Xt_current_event_timestamp):
8720         Implement new event method.
8721         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
8722
8723         * event-msw.c:
8724         * event-msw.c (ntpipe_shove_writer): [5].
8725         * event-msw.c (mswindows_enqueue_mouse_button_event):
8726         * event-msw.c (mswindows_drain_windows_queue):
8727         * event-msw.c (mswindows_wnd_proc): [7].
8728         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
8729         * event-msw.c (mswindows_modifier_state):
8730         Throughout: support new button modifiers.
8731
8732         * event-msw.c (emacs_mswindows_current_event_timestamp):
8733         Implement new event method.
8734         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
8735
8736         * event-stream.c:
8737         * event-stream.c (event_stream_current_event_timestamp): New.
8738         * event-stream.c (maybe_kbd_translate): New functionality.
8739         * event-stream.c (vars_of_event_stream):
8740         Document new kbd-translate-table functionality.
8741
8742         * event-stream.c (Fcurrent_event_timestamp): New.
8743         New primitive for use in fabricated events.
8744         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
8745
8746         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
8747
8748         * events.c:
8749         * events.c (Fmake_event):
8750         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
8751         [1].
8752         [9].
8753
8754         * events.c (format_event_object): fix gcc warnings.
8755
8756         * events.c (Fevent_timestamp): Document new primitives.
8757
8758         * events.c (TIMESTAMP_HALFSPACE): New.
8759
8760         * events.c (Fevent_timestamp_lessp): New.  New primitive for
8761         comparing timestamps correctly (half-space algorithm).
8762
8763         * events.c (Fevent_modifier_bits): Doc fix.
8764
8765         * events.c (Fevent_modifiers): Major doc addition.
8766         * events.c (event_x_y_pixel_internal): Typo fix.
8767         * events.c (syms_of_events): Declare new primitives.
8768
8769         * events.h:
8770         Update long comment for button modifiers, timestamps.
8771
8772         * events.h (struct event_stream):
8773         New current_event_timestamp method.
8774
8775         * extents.c:
8776         * extents.c (extent_in_region_p):
8777         * extents.c (decode_extent):
8778         * extents.c (Fset_extent_parent):
8779         * extents.c (decode_map_extents_flags):
8780         Fix gcc warnings.
8781         [9].
8782
8783         * extents.c (struct extent_at_arg):
8784         * extents.c (decode_extent_at_flag):
8785         * extents.c (extent_at_mapper):
8786         * extents.c (extent_at_bytind):
8787         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
8788         * extents.c (Fextents_at): New primitive. [9].
8789         * extents.c (symbol_to_glyph_layout): [9].
8790         Support new primitive `extents-at'.
8791
8792
8793         * extents.c (get_text_property_bytind):
8794         extent_at_bytind has another arg.
8795         [9].
8796
8797         * extents.c (syms_of_extents): New primitive.
8798
8799         * file-coding.c (Fmake_coding_system): [1].
8800         * file-coding.c (subsidiary_coding_system): fix gcc warning
8801         * file-coding.c (syms_of_file_coding): [2].
8802
8803         * fileio.c (Fexpand_file_name):
8804         * fileio.c (Fsysnetunam):
8805         * fileio.c (Ffile_exists_p):
8806         * fileio.c (Ffile_executable_p):
8807         * fileio.c (Fverify_visited_file_modtime):
8808         Clean up GCPROing.
8809
8810         * fileio.c (syms_of_fileio): [2].
8811
8812         * filelock.c (lock_file_1):
8813         * filelock.c (current_lock_owner):
8814         * filelock.c (lock_if_free):
8815         * filelock.c (lock_file):
8816         * filelock.c (unlock_file):
8817         Clean up GCPROing.
8818
8819         * fns.c (concat): Fix gcc warning.
8820
8821         * fns.c (Fmember):
8822         * fns.c (Fold_member):
8823         * fns.c (Fmemq):
8824         * fns.c (Fold_memq):
8825         * fns.c (memq_no_quit):
8826         * fns.c (Fassoc):
8827         * fns.c (Fold_assoc):
8828         * fns.c (Fassq):
8829         * fns.c (Fold_assq):
8830         * fns.c (assq_no_quit):
8831         * fns.c (Frassoc):
8832         * fns.c (Fold_rassoc):
8833         * fns.c (Frassq):
8834         * fns.c (Fold_rassq):
8835         * fns.c (rassq_no_quit):
8836         * fns.c (Fdelete):
8837         * fns.c (Fold_delete):
8838         * fns.c (Fdelq):
8839         * fns.c (Fold_delq):
8840         * fns.c (delq_no_quit):
8841         * fns.c (Fremassoc):
8842         * fns.c (Fremassq):
8843         * fns.c (remassq_no_quit):
8844         * fns.c (Fremrassoc):
8845         * fns.c (Fremrassq):
8846         * fns.c (remrassq_no_quit):
8847         * fns.c (Freverse):
8848         * fns.c (mapcar1):
8849         [1].
8850
8851         * frame-msw.c (mswindows_init_frame_1):
8852         * frame-msw.c (mswindows_delete_frame):
8853         Register popups with dialog code so keyboard traversing works.
8854
8855         * frame-tty.c (tty_raise_frame_no_select): [1].
8856
8857         * frame-x.c:
8858         * frame-x.c (x_set_frame_text_value):
8859         * frame-x.c (x_set_frame_properties):
8860         * frame-x.c (x_create_widgets):
8861         [7].
8862
8863         * frame.c:
8864         * frame.c (Fmouse_pixel_position): Minor doc fixes.
8865
8866         * frame.h (wrap_frame): New.
8867         Macro like wrap_device.
8868
8869         * general.c:
8870         * general.c (SYMBOL):
8871         * general.c (syms_of_general):
8872         Major reorg.  This is now just a wrapper and symbols themselves
8873         are listed in general-slots.h.
8874
8875         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
8876         * glyphs-msw.c (mswindows_resource_instantiate): [5].
8877
8878         * glyphs-msw.c (mswindows_native_layout_instantiate):
8879         Add DS_CONTROL so keyboard traversal will work.
8880
8881         * glyphs-widget.c:
8882         * glyphs-widget.c (syms_of_glyphs_widget):
8883         Move some symbols to general-slots.h.
8884
8885         * glyphs-x.c:
8886         * glyphs-x.c (xbm_instantiate_1):
8887         * glyphs-x.c (x_xbm_instantiate):
8888         * glyphs-x.c (x_xface_instantiate):
8889         * glyphs-x.c (autodetect_instantiate):
8890         * glyphs-x.c (cursor_font_instantiate):
8891         * glyphs-x.c (x_update_widget):
8892         * glyphs-x.c (x_widget_instantiate):
8893         * glyphs.c (bitmap_to_lisp_data):
8894         * glyphs.c (pixmap_to_lisp_data):
8895         [7].
8896
8897         * glyphs.c (syms_of_glyphs):
8898         [2].
8899
8900         * gui-x.c:
8901         * gui-x.c (print_widget_value):
8902         * gui-x.c (menu_separator_style_and_to_external):
8903         * gui-x.c (add_accel_and_to_external):
8904         * gui-x.c (button_item_to_widget_value):
8905         * gui-x.c (gui_items_to_widget_values_1):
8906         * gui-x.c (gui_items_to_widget_values):
8907         * gui-x.c (syms_of_gui_x):
8908         * gui-x.c (vars_of_gui_x):
8909         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
8910         [9].
8911
8912         * gui-x.h:
8913         Muleize, prototype changes matching gui-x.c.
8914
8915         * gui.c:
8916         * gui.c (separator_string_p):
8917         * gui.c (gui_item_add_keyval_pair):
8918         * gui.c (make_gui_item_from_keywords_internal):
8919         * gui.c (signal_too_long_error):
8920         * gui.c (parse_gui_item_tree_item):
8921         * gui.c (syms_of_gui):
8922         * gui.c (vars_of_gui):
8923         * gui.h:
8924         menu-no-selection-hook moved here (used by MSWin).
8925         Move some symbols to general-slots.h.
8926         [6].
8927         [9].
8928
8929         * insdel.c (get_buffer_pos_char):
8930         * insdel.c (get_buffer_range_char):
8931         Add GC comments.
8932
8933         * keymap.c (keymap_lookup_directly):
8934         * keymap.c (keymap_store):
8935         * keymap.c (ensure_meta_prefix_char_keymapp):
8936         * keymap.c (describe_map):
8937         * keymap.h:
8938         Support new button modifiers.
8939
8940         * lisp-disunion.h (wrap_object):
8941         * lisp-disunion.h (XSETOBJ):
8942         Rename make_obj to wrap_object.
8943
8944         * lisp-union.h:
8945         * lisp-union.h (make_int):
8946         * lisp-union.h (make_char):
8947         Support wrap_object.
8948
8949         * lisp.h:
8950         * lisp.h (LIST_LOOP):
8951         * lisp.h (EXTERNAL_LIST_LOOP):
8952         * lisp.h (LIST_LOOP_2):
8953         * lisp.h (EXTERNAL_LIST_LOOP_1):
8954         * lisp.h (EXTERNAL_LIST_LOOP_2):
8955         * lisp.h (EXTERNAL_LIST_LOOP_3):
8956         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
8957         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8958         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
8959         * lisp.h (EXTERNAL_ALIST_LOOP_5):
8960         * lisp.h (EXTERNAL_ALIST_LOOP_6):
8961         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
8962         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
8963         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
8964         * lisp.h (struct Lisp_Symbol):
8965         * lisp.h (maybe_continuable_error_with_frob):
8966         Fix up section comments.
8967         Add new types for char to indicate usage.
8968         Delete symbols auto-generated from general-slots.h.
8969         Add prototypes for structured error functions.
8970         Add long comments describing looping macros and change interface
8971         so that lvalues are automatically declared.
8972         Add NO_DECLARE macro in case callers want to declare lvalues
8973         themselves.
8974
8975         * lread.c (read_syntax_error):
8976         * lread.c (continuable_read_syntax_error):
8977         * lread.c (read_structure):
8978         * lread.c (sequence_reader):
8979         * lread.c (read_list_conser):
8980         * lread.c (read_compiled_function):
8981         Rename syntax_error and continuable_syntax_error to avoid clash
8982         with same-named structured error functions.
8983
8984         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8985         * menubar-msw.c (populate_menu_add_item):
8986         * menubar-msw.c (populate_or_checksum_helper):
8987         [5].
8988         [9].
8989
8990         * menubar-x.c:
8991         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8992         Mule-ize whole file.
8993
8994         * menubar.c (Fnormalize_menu_item_name): Add optimization.
8995
8996         * mule-charset.c (Fmake_charset):
8997         * mule-wnnfns.c (Fwnn_set_param):
8998         [1].
8999
9000         * ntproc.c (create_child):
9001         * ntproc.c (Fwin32_set_current_locale):
9002         Add comments portending doom.
9003
9004         * objects-msw.c:
9005         * objects-msw.c (old_font_enum_callback_2):
9006         * objects-msw.c (font_enum_callback_1):
9007         * objects-msw.c (mswindows_enumerate_fonts):
9008         [5].
9009
9010         * objects-x.c:
9011         * objects-x.c (allocate_nearest_color):
9012         * objects-x.c (x_parse_nearest_color):
9013         * objects-x.c (x_initialize_color_instance):
9014         * objects-x.c (x_print_color_instance):
9015         * objects-x.c (x_finalize_color_instance):
9016         * objects-x.c (x_valid_color_name_p):
9017         * objects-x.c (x_initialize_font_instance):
9018         * objects-x.c (x_print_font_instance):
9019         * objects-x.c (valid_x_font_name_p):
9020         * objects-x.c (truename_via_FONT_prop):
9021         * objects-x.c (truename_via_random_props):
9022         * objects-x.c (truename_via_XListFonts):
9023         * objects-x.c (x_font_truename):
9024         * objects-x.c (x_font_instance_truename):
9025         * objects-x.c (x_font_instance_properties):
9026         * objects-x.c (x_list_fonts):
9027         * objects-x.c (x_find_charset_font):
9028         Mule-ize entire file.
9029         [7].
9030
9031         * objects-x.h:
9032         Mule-verify.
9033
9034         * print.c:
9035         * print.c (std_handle_out_external):
9036         * print.c (debug_print_no_newline):
9037         * print.c (syms_of_print):
9038         Output to all debugger kinds in debug-print.
9039         Fix console-output code under MSWin to actually work.
9040
9041         * process-nt.c (send_signal):
9042         * process-nt.c (nt_create_process):
9043         Use newer Unicode macros.
9044
9045         * process-unix.c (unix_create_process):
9046         * process-unix.c (unix_canonicalize_host_name):
9047         * process-unix.c (unix_open_network_stream):
9048         [7].
9049
9050         * scrollbar-x.c:
9051         Mule-verify.
9052
9053         * search.c (syms_of_search):
9054         [2].
9055
9056         * select-msw.c (mswindows_destroy_selection):
9057         Use LIST_LOOP_2.
9058
9059         * select-x.c (symbol_to_x_atom):
9060         [7].
9061
9062         * select.c (syms_of_select):
9063         [2].
9064
9065         * sound.c (Fplay_sound_file):
9066         [7].
9067
9068         * specifier.c:
9069         * specifier.c (decode_specifier_type):
9070         * specifier.c (Fvalid_specifier_locale_type_p):
9071         * specifier.c (check_valid_locale_or_locale_type):
9072         * specifier.c (decode_locale):
9073         * specifier.c (decode_locale_type):
9074         * specifier.c (decode_locale_list):
9075         * specifier.c (check_valid_domain):
9076         * specifier.c (decode_specifier_tag_set):
9077         * specifier.c (Fcanonicalize_tag_set):
9078         * specifier.c (Fdefine_specifier_tag):
9079         * specifier.c (Fspecifier_tag_predicate):
9080         * specifier.c (check_valid_inst_list):
9081         * specifier.c (check_valid_spec_list):
9082         * specifier.c (decode_how_to_add_specification):
9083         * specifier.c (check_modifiable_specifier):
9084         * specifier.c (specifier_add_spec):
9085         * specifier.c (boolean_validate):
9086         * specifier.c (display_table_validate):
9087         [9].
9088
9089         * specifier.c (syms_of_specifier):
9090         Move some symbols to general-slots.h.
9091         [2].
9092
9093         * symbols.c:
9094         * symbols.c (Fmapatoms):
9095         * symbols.c (Fapropos_internal):
9096         Add GCPROs.
9097
9098         * symbols.c (set_default_buffer_slot_variable):
9099         * symbols.c (set_default_console_slot_variable):
9100         [1].
9101
9102         * symbols.c (defsymbol_massage_name_1):
9103         * symbols.c (defkeyword_massage_name):
9104         * symbols.c (deferror_1):
9105         * symbols.c (deferror):
9106         * symbols.c (deferror_massage_name_and_message):
9107         * symeval.h:
9108         * symeval.h (DEFSYMBOL):
9109         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
9110
9111         * symbols.c (syms_of_symbols):
9112         [2].
9113
9114         * symsinit.h:
9115         * symsinit.h (init_win32): New.
9116         Also new is syms_of_dialog_mswindows.
9117
9118         * syswindows.h:
9119         Add new Unicode macros, missing Cygwin wide-char functions,
9120         convenience conversion macros for Qmswindows_tstr, macros for
9121         encapsulating required MSWin <-> Cygwin filename conversions,
9122         prototype for dynamically-extracted (not in NT 3.51) functions.
9123
9124         * toolbar-x.c:
9125         Mule-verify.
9126
9127         * tooltalk.c (Fadd_tooltalk_message_arg):
9128         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
9129         * tooltalk.c (Fadd_tooltalk_pattern_arg):
9130         [7].
9131
9132         * tooltalk.c (syms_of_tooltalk):
9133         [2].
9134
9135         * unexnt.c:
9136         * unexnt.c (unexec):
9137         Fix up headers, declaration of unexec() to be more standard.
9138
9139 2000-07-20  Martin Buchholz  <martin@xemacs.org>
9140
9141         * offix.h: Revert change to guard macros - they're used in offix.c!
9142
9143 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9144
9145         * lisp.h: Defsubred Fdelete.
9146
9147         * console-msw.h:  (msprinter_default_printer): Added.
9148
9149         * console-msw.c (msprinter_canonicalize_console_connection):
9150         (msprinter_canonicalize_device_connection): Added.
9151
9152         * device-msw.c (msprinter_default_printer):
9153         (Fmswingows_get_default_printer):
9154         (signal_enum_priner_error):
9155         (Fmswingows_printer_list): Added.
9156
9157 2000-07-19  Martin Buchholz <martin@xemacs.org>
9158
9159         * XEmacs 21.2.35 is released.
9160
9161 2000-07-19  Martin Buchholz  <martin@xemacs.org>
9162
9163         * select-x.c (x_handle_selection_request):
9164         Text selected in xemacs and pasted into xterm failed to appear.
9165         Spelling fixes and cosmetic changes.
9166
9167 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9168
9169         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
9170         XEmacs frame (fix for doubling chars in dialog boxes).
9171
9172 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9173
9174         * select.c (select_convert_in, select_convert_out):
9175         Don't call intern() every time.
9176
9177         * select.c (Qselect_convert_in, Qselect_convert_out): New.
9178         * select.c (vars_of_select): Initialise them.
9179
9180 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9181
9182         * select.c (selection-coercible-types): New.
9183
9184         * select.c (own-selection-internal):
9185         * select.c (get-selection-internal):
9186         MULE bug fix - these should default to COMPOUND_TEXT and not
9187         STRING for MULE. I think.
9188
9189         * select.c (select_convert_out): Use selection-coercible-types
9190         to find types that we can attempt to perform coercions on.
9191
9192 2000-07-18  Martin Buchholz  <martin@xemacs.org>
9193
9194         * mule-wnnfns.c:
9195         * mule-canna.c:
9196         Add coding: cookie to identify encoding.
9197
9198         * mule-canna.c (CANNA_mode_keys): make static.
9199         Use proper prototypes, even for functions of no arguments.
9200         Remove external prototype for Fding().
9201
9202         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
9203
9204         * select.c (syms_of_select): Add missing DEFSUBR.
9205
9206 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9207
9208         * select.c (get_selection_internal, own_selection_internal):
9209         Make the type default to STRING, rather than placing a nil type
9210         into Vselection_alist.
9211
9212 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9213
9214         * gpmevent.c (tty_selection_exists_p):
9215         * gpmevent.c (tty_own_selection):
9216         Updated parameter lists.
9217
9218 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
9219
9220         * select.h (selection-alist): Removed declaration.
9221
9222         * select.h (get_local_selection):
9223         * select.c (get_local_selection):
9224         Made static.
9225
9226         * select.h (convert_selection): Removed declaration.
9227         * select.c (convert_selection): Removed.
9228         This function belongs in Lisp.
9229
9230         * select.h (select_convert_in): Declare.
9231         * select.h (select_convert_out): Declare.
9232         * select.c (select_convert_in): New.
9233         * select.c (select_convert_out): New.
9234         New conversion functions for other files to call.
9235
9236         * select.h (select_notify_buffer_kill): Declare.
9237         * select.c (select_notify_buffer_kill): New.
9238         New functions that get called from kill-buffer.
9239
9240         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
9241         X-specific lisp code.
9242
9243         * select.h: Declare some of the lisp-visible functions for
9244         external use.
9245
9246         * select.c (clean_local_selection_data): Removed. This was
9247         a disgusting function, and previously should have been in
9248         select-x.c in any case. The functionality is now provided
9249         in select-convert-from-integer (select.el).
9250
9251         * select.c (available-selection-types): Fixed stupidity where
9252         INTEGER and ATOM got added twice. Also add STRING when we see an
9253         extent.
9254
9255         * select.c (get-selection-internal): Removed symbol stripping. No
9256         longer causes conversion when data comes from the internal cache.
9257
9258         * select.c (syms_of_select): Added new functions.
9259
9260         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
9261         error checking - previously this called abort!
9262
9263         * select-x.c (x_own_selection): Changed comment.
9264
9265         * select-x.c (x_handle_selection_request): Use select_convert_out.
9266         Don't mess with selection-alist; it's an internal variable of select.c.
9267
9268         * select-x.c (x_get_foreign_selection): Use select_convert_in.
9269
9270         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
9271         rather than messing with selection-alist.
9272
9273         * select-msw.c (mswindows_get_foreign_selection):
9274         Use TO_INTERNAL_FORMAT rather than hacking.
9275
9276 2000-07-14  Martin Buchholz  <martin@xemacs.org>
9277
9278         * process-unix.c (unix_open_multicast_group):
9279         (unix_open_multicast_group): Remove useless casts.
9280
9281 2000-07-13  Martin Buchholz  <martin@xemacs.org>
9282
9283         * sound.c (Fplay_sound): Fix `unused variable' warning.
9284
9285         * emacs.c (main): Use correct type for _environ on SCO5.
9286
9287 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
9288
9289         * console.h (own_selection_method):
9290         * console.h (selection_exists_p_method):
9291         * console.h (available_selection_types_method): New.
9292         * console.h (register_selection_data_type_method): New.
9293         * console.h (selection_data_type_name): New.
9294
9295         * console-msw.h (mswindows_destroy_selection): Declare it.  New
9296         function & alist to track GlobalAlloc()'d handles that need
9297         releasing when the clipboard data gets replaced or emptied.
9298
9299         * event-msw.c (mswindows_wnd_proc): Call it.
9300
9301         * lisp.h, general.c (Qappend): New symbol representing a
9302         `how-to-add' mode.
9303
9304         * select.c (own-selection-internal):
9305         * select.c (selection-exists-p):
9306         * select.c (available-selection-types): New.
9307         * select.c (register-selection-data-type): New.
9308         * select.c (selection-data-type-name): New.  New functions to deal
9309         with device-specific selection data formats.
9310         * select.c (selection-converter-out-alist): Renamed.
9311         * select.c (selection-converter-in-alist): New.
9312         * select.c (selection-appender-alist): New.  Added new alists.
9313         * select.c (syms_of_select, vars_of_select): Added new symbols &
9314         variables.
9315         * select.c (get_local_selection): Split.
9316         * select.c: Removed spurious type checking - selections may now be
9317         of any type, not just strings.
9318         * select.c (own-selection-internal):
9319
9320         * select.h, select.c (convert_selection): New. Created
9321         convert_selection() function based on get_local_selection().
9322         * select.h, select.c (QCF_*): New symbols representing mswindows
9323         clipboard formats.
9324         * select.h, select.c (Qreplace_all, Qreplace_existing): New
9325         symbols representing `how-to-add' modes.
9326
9327         * select-msw.c (x_sym_p): New.
9328         * select-msw.c (symbol_to_ms_cf): New.
9329         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
9330         symbols & clipboard formats. Can also handle string names.
9331         * select-msw.c (mswindows_own_selection):
9332         * select-msw.c (mswindows_selection_exists_p):
9333         Added `data-type' parameter. Use it.
9334         * select-msw.c (mswindows_available_selection_types): New.
9335         * select-msw.c (mswindows_register_selection_data_type): New.
9336         * select-msw.c (mswindows_selection_data_type_name): New.
9337         * select-msw.c (mswindows_own_selection):
9338         * select-msw.c (mswindows_get_foreign_selection):
9339         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
9340         * select-msw.c (console_create_select_mswindows): Added new methods.
9341         * select-msw.c (mswindows_destroy_selection): New.
9342         * select-msw.c (Vhandle_alist): New list.
9343         * select-msw.c (mswindows_own_selection):
9344
9345         * select-x.c (x_own_selection):
9346         * select-x.c (x_selection_exists_p):
9347         * select-x.c: Added some comments about maybe using new
9348         functionality.
9349         * select-x.c (x_own_selection):
9350
9351         * specifier.c: Remove definition of Qappend (now in general.c)
9352         * specifier.c (syms_of_specifier): Remove Qappend.
9353
9354 2000-07-12  Martin Buchholz  <martin@xemacs.org>
9355
9356         * config.h.in: Add socklen_t.
9357
9358         * s/decosf4-0.h: No special compiler flags needed or desired.
9359         In particular, undefine _BSD for DEC OSF 4.0.
9360
9361 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9362
9363         * redisplay-msw.c (msprinter_frame_output_end): Added.
9364         (console_type_create_redisplay_mswindows): Referred the above.
9365
9366         * frame.c (setup_frame_without_minibuffer): Do not create a
9367         default minibuffer frame on a printer device.
9368
9369         * frame-msw.c (apply_dc_geometry): Added.
9370         (msprinter_start_page):
9371         (msprinter_init_frame_3):
9372         (msprinter_eject_page): Use it.
9373
9374         * console-msw.h (struct msprinter_frame): Added pix_left and top,
9375         and removed residual duplex and orientation properties.
9376
9377 2000-07-11  Martin Buchholz  <martin@xemacs.org>
9378
9379         * eval.c (function_argcount): Work around a DEC CC compiler bug.
9380
9381         * unexalpha.c: Remove system prototypes from C sources!
9382
9383 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
9384
9385         * eval.c: Remove references to M-x edit-options in DEFUNs for
9386         `defvar' and `defconst'.
9387
9388 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9389
9390         * config.h.in: Remove SMART_INCLUDE hackery.
9391
9392         PostgreSQL hacking:
9393         * config.h.in: Don't use SMART_INCLUDE.
9394
9395         * postgresql.h: Include libpq-fe.h here.  Fix typo.
9396         * inline.c: Simply #include "postgresql.h"
9397         * postgresql.c:
9398         - Don't use SMART_INCLUDE
9399         - Use simply "const".
9400         - Use standard doc string conventions.
9401         - Use correct type for result of PQstatus.
9402
9403 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9404
9405         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
9406
9407         C++ compilation changes.
9408         * config.h.in (EXTERN_C): Define.
9409         * config.h.in (not): This is also a C++ keyword.
9410         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
9411         * cm.c: Use EXTERN_C.
9412         * redisplay-tty.c: Use EXTERN_C.
9413         * sysdep.c: Use EXTERN_C.  Remove Gould support.
9414
9415 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9416
9417         * general.c: Remove duplicate definition for Qfunction.
9418
9419 2000-07-08  Ben Wing  <ben@xemacs.org>
9420
9421         * device-msw.c (msprinter_init_device):
9422         * device-msw.c (sync_printer_with_devmode):
9423         * device-msw.c (handle_devmode_changes):
9424         * device-msw.c (print_dialog_worker):
9425         * device-msw.c (Fmsprinter_apply_settings):
9426         * device-msw.c (hash_devmode):
9427         * device-msw.c (Fmsprinter_settings_despecialize):
9428         use Qmswindows_tstr, not Qctext.
9429
9430         * vm-limit.c (check_memory_limits):
9431         avoid infinite loop printing warning messages.
9432
9433 2000-07-05  Craig Lanning  <lanning@scra.org>
9434
9435         * Makefile.in.in: Add support for including the Windows resources
9436         when building with the cygwin and mingw targets.
9437
9438         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
9439         not set or not correct.
9440         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
9441         (init_initial_directory): Don't try to use $PWD on the
9442         WIN32_NATIVE target.
9443
9444         * s\cygwin32.h:
9445         [[Add -mwindows to eliminate console window.]] not required --ben
9446         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9447         (MAIL_USE_POP): removed; now handled by configure.
9448
9449         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
9450         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
9451         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9452         (MAIL_USE_POP): removed; now handled by configure.
9453         (ENCAPSULATE_STAT): from Dan Holmsand, added.
9454         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
9455         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
9456         constant string.
9457         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
9458         up from <winsock.h> via systime.h.
9459         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
9460         (getpagesize): from Dan Holmsand, added.
9461         Added #endif which was left dangling by Ben's mega patch; added
9462         comment to help prevent this in the future.
9463
9464         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
9465
9466 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9467
9468         * console-msw.h (struct mswindows_device): Removed unnecessary
9469         cached device geometry values.
9470         Added update_tick and an accessor macro.
9471         (Lisp_Devmode): Added lrecord declaration.
9472         (struct msprinter_device): Contain devmode as a Lisp object.
9473         Added mswindows_get_selected_frame_hwnd();
9474
9475         * console.h (struct console_methods): Indentation nitpicking.
9476
9477         * device-msw.c (mswindows_init_device): Do not initialize geometry
9478         cache. Initialize update tick.
9479         (mswindows_device_system_metrics): Ask the device for its geometry.
9480         (global_free_2_maybe):
9481         (devmode_to_hglobal):
9482         (handle_printer_changes):
9483         (ensure_not_printing):
9484         (print_dialog_worker):
9485         (Fmsprinter_print_setup_dialog):
9486         (Fmsprinter_print_dialog):
9487         (plist_get_margin):
9488         (plist_set_margin):
9489         (Fmsprinter_page_setup_dialog): Added functions.
9490         (sync_printer_with_devmode):
9491         (handle_devmode_changes):
9492         (Fmsprinter_get_settings):
9493         (Fmsprinter_select_settings):
9494         (Fmsprinter_apply_settings):
9495         (allocate_devmode):
9496         (Fmsprinter_settings_copy):
9497         (Fmsprinter_settings_despecialize):
9498         (print_devmode):
9499         (finalize_devmode):
9500         (equal_devmode):
9501         (hash_devmode): Added functions
9502         (syms_of_device_mswindows): Init devmode lrecord class.
9503
9504         * device.h: Added an exfun for find-device.
9505
9506         * event-msw.c (mswindows_wnd_proc): Do not update the cached
9507         geometry; although, recreate the device compatible DC.
9508
9509         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
9510         (msprinter_init_frame_3):
9511         (msprinter_frame_property):
9512         (msprinter_internal_frame_property_p):
9513         (msprinter_frame_properties):
9514         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
9515         print job properties (will move to device settings).
9516
9517         * lisp.h: Added symbols.
9518
9519         * general.c (syms_of_general): Declared them.
9520
9521         * hash.c (string_hash): Added.
9522
9523         * lrecord.h (lrecord_type): Added devmode lrecord type.
9524
9525 2000-07-02  Mike Sperber <mike@xemacs.org>
9526
9527         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
9528         FreeBSD 4.0.
9529
9530 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
9531
9532         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
9533         integer.
9534
9535 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
9536
9537         * data.c (Fstring_to_number): Don't recognize floating point if
9538         base is not 10.
9539
9540 2000-06-22  Martin Buchholz  <martin@xemacs.org>
9541
9542         * glyphs-widget.c (tab_control_query_geometry):
9543         (widget_query_geometry):
9544         (button_query_geometry):
9545         * glyphs.c (text_query_geometry):
9546         Enforce type correctness.
9547
9548 2000-06-18  Martin Buchholz  <martin@xemacs.org>
9549
9550         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
9551         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
9552
9553 2000-06-17  Martin Buchholz  <martin@xemacs.org>
9554
9555         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
9556         conflicts with gcc's fixincluded version of FOO.h.
9557
9558         * glyphs.h (image_instance_geometry): Remove trailing `,'
9559
9560 2000-06-08  Mike Alexander  <mta@arbortext.com>
9561
9562         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
9563         (shove_thread): Don't write the same output twice
9564         (make_ntpipe_output_stream): Increase priority of shove thread
9565         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
9566         chance to run
9567         (ntpipe_shove_closer): Don't delete the pipe until we're done with
9568         it.
9569
9570 2000-06-12  Ben Wing  <ben@xemacs.org>
9571
9572         * s\mingw32.h (sigset):
9573         * s\windowsnt.h (sigset):
9574         rename msw_ to mswindows_ for consistency with general convention.
9575
9576 2000-06-12  Ben Wing  <ben@xemacs.org>
9577
9578         * console-msw.c:
9579         * console-msw.c (mswindows_get_console_hwnd):
9580         * console-msw.c (mswindows_ensure_console_allocated):
9581         * console-msw.c (mswindows_hide_console):
9582         * console-msw.c (mswindows_show_console):
9583         * console-msw.c (mswindows_ensure_console_buffered):
9584         * console-msw.c (mswindows_output_console_string):
9585         * console-msw.c (mswindows_windows9x_p):
9586         * console-msw.h:
9587         * device-msw.c (mswindows_get_workspace_coords):
9588         * device-msw.c (mswindows_device_system_metrics):
9589         * dialog-msw.c (mswindows_popup_dialog_box):
9590         * event-msw.c (mswindows_wnd_proc):
9591         * frame-msw.c (mswindows_size_frame_internal):
9592         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9593         * menubar-msw.c (displayable_menu_item):
9594         * menubar-msw.c (mswindows_char_is_accelerator):
9595         * nt.c:
9596         * nt.c (mswindows_sigset):
9597         * nt.c (mswindows_sigrelse):
9598         * nt.c (mswindows_sigpause):
9599         * nt.c (mswindows_raise):
9600         * nt.c (timer_proc):
9601         * ntproc.c:
9602         * ntproc.c (find_child_console):
9603         * ntproc.c (sys_kill):
9604         * print.c:
9605         * print.c (std_handle_out_external):
9606         * process-nt.c (find_child_console):
9607         * process-nt.c (send_signal_the_95_way):
9608         * process-nt.c (ensure_console_window_exists):
9609         * process-nt.c (nt_create_process):
9610         * syssignal.h:
9611         rename msw_ to mswindows_ for consistency with general convention.
9612
9613         * emacs.c:
9614         * dumper.c:
9615         include nt.h, not syswindows.h.
9616
9617         * nt.c (mswindows_fstat):
9618         * nt.c (mswindows_stat):
9619         prefix mswindows_ instead of attempting to directly override the
9620         library functions.  fix declarations.
9621
9622         * nt.h:
9623         include syswindows.h.  move some sysdep.h stuff here.
9624
9625         * ntheap.h:
9626         include syswindows.h, not <windows.h>.
9627
9628         * ntplay.c:
9629         clean up headers.
9630
9631         * sysdep.c:
9632         clean up headers.
9633
9634         * sysdep.c (sys_fstat):
9635         * sysdep.c (sys_stat):
9636         call mswindows versions when appropriate.
9637
9638         * sysdep.h:
9639         move mswin decls to nt.h.
9640
9641         * syswindows.h:
9642         add long comment describing appropriate use of the various windows
9643         headers.
9644
9645 2000-06-11  Ben Wing  <ben@xemacs.org>
9646
9647         * device-x.c: Correct doc string for sixth arg of x-get-resource.
9648
9649 2000-06-10  Ben Wing  <ben@xemacs.org>
9650
9651         * Makefile.in.in (release):
9652         Correction to make sure xemacs.exe always dumped when correct.
9653
9654         * alloca.c:
9655         * balloon_help.c:
9656         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
9657
9658         * buffer.c (set_buffer_internal):
9659         [[[[2]]]]: Remove HAVE_FEP code.
9660
9661         * buffer.c (init_initial_directory):
9662         [3].
9663
9664         * bytecode.c:
9665         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
9666         individual files.
9667
9668         * callproc.c:
9669         * callproc.c (call_process_cleanup):
9670         * callproc.c (Fold_call_process_internal):
9671         * callproc.c (child_setup):
9672         * callproc.c (getenv_internal):
9673         * callproc.c (init_callproc):
9674         * callproc.c (vars_of_callproc):
9675         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
9676         __CYGWIN32__ -> CYGWIN.
9677         DOS_NT -> WIN32_NATIVE.
9678         Remove MSDOS support/references, converting to WIN32_NATIVE
9679           where correct.
9680         __MINGW32__ -> MINGW.
9681         Fix windows.h includes.
9682         Remove bogus HAVE_NTGUI.
9683
9684         * config.h.in:
9685         [2].
9686
9687         * console-msw.c:
9688         mswindows_message_outputted added for use in allowing startup
9689         errors on the console to be seen.
9690
9691         * console-msw.c (msw_ensure_console_allocated):
9692         * console-msw.c (msw_output_console_string):
9693         * console-msw.c (DHEADER):
9694         * console-msw.c (DOPAQUE_DATA):
9695         * console-msw.c (DEVENT):
9696         * console-msw.c (DCONS):
9697         * console-msw.c (DCONSCDR):
9698         * console-msw.c (DSTRING):
9699         * console-msw.c (DVECTOR):
9700         * console-msw.c (DSYMBOL):
9701         * console-msw.c (DSYMNAME):
9702         Fix warnings.
9703
9704         * console-stream.c (stream_init_console):
9705         Fix text/binary problems.
9706
9707         * device-msw.c:
9708         * device-msw.c (mswindows_finish_init_device):
9709         * device-msw.c (mswindows_delete_device):
9710         [1].
9711
9712         * device.c (handle_asynch_device_change):
9713         [3].
9714
9715         * dgif_lib.c:
9716         * dgif_lib.c (DGifOpenFileName):
9717         * dgif_lib.c (DGifOpenFileHandle):
9718         * dgif_lib.c (DGifGetLine):
9719         * dgif_lib.c (DGifGetPixel):
9720         Added config.h/lisp.h, fix up includes.
9721         [1].
9722
9723         * dired-msw.c:
9724         [4].
9725
9726         * dired.c:
9727         * dired.c (file_name_completion):
9728         * dired.c (Ffile_attributes):
9729         * dired.c (syms_of_dired):
9730         [1].
9731
9732         * dumper.c:
9733         * dumper.c (pdump_file_unmap):
9734         * dumper.c (pdump_load):
9735         [1].
9736
9737         * editfns.c:
9738         * editfns.c (Ftemp_directory):
9739         * editfns.c (user_login_name):
9740         * editfns.c (Fuser_real_login_name):
9741         * editfns.c (get_home_directory):
9742         [1].
9743
9744         * elhash.c (finish_marking_weak_hash_tables):
9745         [[[[5]]]]: Fix GCC warnings.
9746
9747         * emacs.c:
9748         * emacs.c (mswindows_handle_hardware_exceptions):
9749         * emacs.c (make_arg_list_1):
9750         * emacs.c (main_1):
9751         * emacs.c (Fkill_emacs):
9752         * emacs.c (Fdump_emacs):
9753         [1].
9754         Fix problems with nested crashes, add long comment.
9755
9756         * event-Xt.c (init_event_Xt_late):
9757         [1].
9758
9759         * event-msw.c:
9760         * event-msw.c (mswindows_dde_callback):
9761         * event-msw.c (mswindows_handle_sticky_modifiers):
9762         * event-msw.c (mswindows_wnd_proc):
9763         [1].
9764         [5].
9765
9766         * events.c (character_to_event):
9767         [1].
9768
9769         * fileio.c:
9770         * fileio.c (Ffile_name_directory):
9771         * fileio.c (Ffile_name_nondirectory):
9772         * fileio.c (directory_file_name):
9773         * fileio.c (Fexpand_file_name):
9774         * fileio.c (Fsubstitute_in_file_name):
9775         * fileio.c (Ffile_name_absolute_p):
9776         * fileio.c (check_executable):
9777         * fileio.c (Ffile_readable_p):
9778         * fileio.c (Ffile_accessible_directory_p):
9779         * fileio.c (Ffile_modes):
9780         * fileio.c (Funix_sync):
9781         * fileio.c (vars_of_fileio):
9782         [1]. [4].
9783
9784         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
9785
9786         Expand getdefdir defn.
9787         Fix bogus rename() comment.
9788
9789         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
9790         to use standard XEmacs include files, e.g. sysfile.h, rather
9791         than system-specific includes.
9792
9793         * fns.c:
9794         * fns.c (Fsubseq):
9795         [5]. [6].
9796
9797         * frame.c (vars_of_frame):
9798         [1].
9799
9800         * getloadavg.c:
9801         * getloadavg.c (getloadavg):
9802         [1]. [6].
9803         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
9804         (We don't use it elsewhere in the code; just add a comment.)
9805
9806         * gif_io.c:
9807         [6].
9808         Add config.h.
9809
9810         * glyphs-msw.c:
9811         * glyphs-msw.c (mswindows_resource_instantiate):
9812         [1].
9813
9814         * glyphs-x.c (x_native_layout_instantiate):
9815         [5].
9816
9817         * gui-msw.c (Fmswindows_shell_execute):
9818         [1].
9819
9820         * insdel.c:
9821         [4].
9822
9823         * lisp.h:
9824         [4]. [5].
9825
9826         * lread.c (locate_file_in_directory_mapper):
9827         [1].
9828
9829         * lstream.c:
9830         [4].
9831
9832         * mem-limits.h:
9833         * mem-limits.h (get_lim_data):
9834         [1].
9835
9836         * menubar-msw.c:
9837         [4].
9838
9839         * ndir.h:
9840         [1].
9841
9842         * nt.c:
9843         * nt.c (getwd):
9844         * nt.c (closedir):
9845         * nt.c (rva_to_section):
9846         * nt.c (mswindows_executable_type):
9847         [1]. [6].
9848         Fix closedir() defn.
9849
9850         * nt.h:
9851         [[[[8]]]]: *_OK defs moved to sysfile.h.
9852
9853         * ntproc.c:
9854         [6]. [7].
9855
9856         * objects-x.c:
9857         [4].
9858
9859         * print.c:
9860         * print.c (std_handle_out_external):
9861         [1]. [4].
9862
9863         * process-nt.c:
9864         * process-nt.c (nt_create_process):
9865         [6].
9866         try to fix process quoting somewhat.
9867
9868         * process-unix.c (unix_create_process):
9869         [1].
9870
9871         * process.c:
9872         * process.c (vars_of_process):
9873         Add Vnull_device.
9874
9875         * process.h:
9876         [1].
9877
9878         * realpath.c:
9879         * realpath.c (xrealpath):
9880         [1].
9881
9882         * redisplay-tty.c (init_tty_for_redisplay):
9883         [3].
9884
9885         * redisplay.c:
9886         [4]. [6].
9887
9888         * scrollbar-msw.c:
9889         [4].
9890
9891         * sheap.c:
9892         * sheap.c (more_static_core):
9893         * sheap.c (report_sheap_usage):
9894         [5]. [6].
9895
9896         * signal.c:
9897         * signal.c (alarm_signal):
9898         [1]. [6].
9899
9900         * sound.c:
9901         [6].
9902
9903         * strftime.c:
9904         * strftime.c (zone_name):
9905         [1]. [5].
9906
9907         * symsinit.h (init_sunpro):
9908         [1].
9909
9910         * syscommctrl.h:
9911         commctrl.h not in Cygwin b20.1.
9912
9913         * sysdep.c:
9914         * sysdep.c (endif):
9915         * sysdep.c (sys_subshell):
9916         * sysdep.c (init_baud_rate):
9917         * sysdep.c (emacs_get_tty):
9918         * sysdep.c (emacs_set_tty):
9919         * sysdep.c (tty_init_sys_modes_on_device):
9920         * sysdep.c (init_system_name):
9921         * sysdep.c (sys_open):
9922         * sysdep.c (interruptible_open):
9923         * sysdep.c (sys_fopen):
9924         * sysdep.c (sys_mkdir):
9925         * sysdep.c (sys_rename):
9926         * sysdep.c (get_process_times_1):
9927         [1]. [6].
9928
9929         * sysdep.h:
9930         [1].
9931
9932         * sysdir.h:
9933         * sysdir.h (DIRENTRY_NONEMPTY):
9934         [1]. [6].
9935
9936         * sysdll.c (dll_init):
9937         * sysdll.h:
9938         [1].
9939
9940         * sysfile.h:
9941         [1]. [6]. [8].
9942         added text/binary defs.
9943
9944         * sysfloat.h:
9945         [1].
9946
9947         * sysproc.h:
9948         * sysproc.h (EDESTADDRREQ):
9949         * sysproc.h (poll_fds_for_input):
9950         [1]. [6].
9951
9952         * syspwd.h:
9953         [6].
9954
9955         * syssignal.h:
9956         [1].
9957
9958         * systime.h:
9959         [1]. [6].
9960
9961         * systty.h:
9962         [1].
9963
9964         * syswindows.h:
9965         [1].
9966         Always define WIN32_LEAN_AND_MEAN.
9967
9968         * unexcw.c (unexec):
9969         [5].
9970
9971         * unexec.c:
9972         * unexec.c (copy_text_and_data):
9973         * unexec.c (adjust_lnnoptrs):
9974         [1].
9975
9976         * unexnt.c:
9977         * unexnt.c (_start):
9978         [1].
9979
9980 2000-06-07  Ben Wing  <ben@xemacs.org>
9981
9982         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
9983         was used only as a model.  We've long since extracted any useful
9984         logic or code out of this. (I just did an exhaustive search.)
9985
9986         * s\msdos.h: Removed.
9987
9988         * s\windows95.h: Removed.
9989
9990 2000-06-10  Ben Wing  <ben@xemacs.org>
9991
9992         * s\cygwin32.h:
9993         [1]. [5].
9994         Don't use extern with fun defs.
9995
9996         * s\mingw32.h:
9997         [1]. [7].
9998         Remove nt\inc include.
9999         Remove getdisk, getdefdir. (The former is unused, the latter
10000         expanded in fileio.h.)
10001
10002         * s\windowsnt.h:
10003         * s\windowsnt.h (WIN32_NATIVE):
10004         * s\windowsnt.h (HAVE_STRCASECMP):
10005         [1]. [7].
10006         Add long comment about preprocessor changes.
10007         Remove getdisk, getdefdir. (The former is unused, the latter
10008         expanded in fileio.h.)
10009
10010 2000-06-10  Ben Wing  <ben@xemacs.org>
10011
10012         * m\arm.h:
10013         * m\delta.h:
10014         * m\intel386.h:
10015         * m\sequent.h:
10016         * m\template.h:
10017         * m\windowsnt.h:
10018         [1].
10019         Remove bogus/unused NO_SOCK_SIGIO.
10020
10021 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
10022
10023         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
10024         not an Emchar.
10025
10026 2000-06-04  Mike Sperber <mike@xemacs.org>
10027
10028         * casetab.c (set_case_table): For `set-standard-case-table',
10029         actually deposit the new case tables where the rest of XEmacs can
10030         see them.
10031
10032 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
10033
10034         * data.c (Faset): Don't cast XCHAR() to unsigned char.
10035
10036 2000-06-05  Ben Wing  <ben@xemacs.org>
10037
10038         * callproc.c (child_setup): Don't do close_load_descs() under
10039         MS Windows.  Put in a comment explaining why.
10040
10041 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
10042
10043         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
10044         Toolkit shell" which breaks `kill-compilation' on Windows NT
10045         native, retaining STDERR handling improvements.
10046
10047 2000-06-01  Andreas Jaeger  <aj@suse.de>
10048
10049         * s/s390.h: Support for S390, based on a patch by Martin
10050         Schwidefsky <schwidefsky@de.ibm.com>.
10051
10052 2000-05-30  Andy Piper  <andy@xemacs.org>
10053
10054         * window.c (allocate_window):
10055         (make_dummy_parent):
10056         (Fset_window_configuration): use new hashtable type.
10057
10058         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
10059         (struct image_instantiator_methods):
10060         (struct Lisp_Image_Instance): make instance geometry signed.
10061
10062         * glyphs.c (instantiate_image_instantiator):
10063         (image_instance_query_geometry):
10064         (image_instance_layout):
10065         (image_instance_layout):
10066         (query_string_geometry):
10067         (text_query_geometry):
10068         (image_instantiate):
10069         (image_instantiate):
10070         (cache_subwindow_instance_in_frame_maybe):
10071         (subwindow_query_geometry): make instance geometry signed.
10072
10073         * glyphs-widget.c (widget_query_geometry):
10074         (widget_layout):
10075         (button_query_geometry):
10076         (tree_view_query_geometry):
10077         (tab_control_query_geometry):
10078         (layout_query_geometry):
10079         (layout_layout):
10080         (native_layout_layout): make instance geometry signed.
10081
10082 2000-05-29  Olivier Galibert  <galibert@pobox.com>
10083
10084         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
10085         constant.
10086
10087         * general.c (syms_of_general): Add Qfull_assoc symbol.
10088
10089         * data.c (finish_marking_weak_lists): Mark full-assoc lists
10090         correctly.
10091         (decode_weak_list_type): Decode full-assoc type.
10092         (encode_weak_list_type): Encode full-assoc type.
10093         (Fmake_weak_list): Update doc string.
10094
10095 2000-05-30  Andy Piper  <andy@xemacs.org>
10096
10097         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
10098
10099         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
10100         (decode_hash_table_weakness): ditto.
10101         (Fhash_table_weakness): ditto.
10102         (Fhash_table_type): ditto.
10103         (finish_marking_weak_hash_tables): ditto.
10104         (hash_table_weakness_validate): ditto.
10105         (syms_of_elhash): ditto.
10106
10107 2000-05-28  Martin Buchholz <martin@xemacs.org>
10108
10109         * XEmacs 21.2.34 is released.
10110
10111 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10112
10113         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
10114         start cache.
10115         (updating_line_start_cache): Gone.
10116         (regenerate_window): Replace resetting of VERTICAL_CLIP by
10117         generic code to force a minimum of 1 line laid out in the
10118         CMOTION_DISP case.
10119
10120 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10121
10122         * glyphs.c (instantiate_image_instantiator): Check for initialized
10123         height & width no longer special cases IMAGE_NOTHING.
10124         (nothing_instantiate): Set height and width of instance.
10125
10126 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10127
10128         * unexelf.c (unexec): Search for ".data" section.
10129         Initialize new_data2_offset from old_data_index.
10130         Remove redundant check for ElfW.
10131
10132 2000-05-23  Andy Piper  <andy@xemacs.org>
10133
10134         * glyphs.c (get_image_instantiator_governing_domain): allow more
10135         specific domains as the governing domain rather than expecting an
10136         exact match. This fixes problems with layouts.
10137
10138 2000-05-22  Andy Piper  <andy@xemacs.org>
10139
10140         * redisplay-output.c (compare_runes): check for non-images
10141
10142         * glyphs.c (set_glyph_dirty_p): ditto.
10143         (update_glyph_cachel_data): ditto.
10144
10145         * glyphs-widget.c (layout_post_instantiate): ditto.
10146         (layout_post_instantiate): ditto.
10147
10148         * event-msw.c (mswindows_wnd_proc): warning removal.
10149
10150 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
10151
10152         * s\mingw32.h: Added #undef for CLASH_DETECTION.
10153
10154         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
10155
10156         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
10157
10158         * nt.c (rva_to_section): mingw32 needs rva_to_section.
10159         (mswindows_executable_type): mingw32 now has enough headers for
10160         this to work.
10161
10162 2000-05-20  Andy Piper  <andy@xemacs.org>
10163
10164         * console-msw.c (mswindows_output_last_error): ; -> ,
10165
10166 2000-05-12  Andy Piper  <andy@xemacs.org>
10167
10168         * console-msw.c (FROB): compare ints with ints.
10169
10170 2000-05-11  Andy Piper  <andy@xemacs.org>
10171
10172         * glyphs-x.c (x_finalize_image_instance): make minimal build
10173         happy.
10174
10175 2000-05-20  Ben Wing  <ben@xemacs.org>
10176
10177         * event-Xt.c:
10178         * event-Xt.c (vars_of_event_Xt):
10179         move modifier-keys-are-sticky to event-stream.c.
10180
10181         * event-msw.c:
10182         * event-msw.c (mswindows_enqueue_mouse_button_event):
10183         * event-msw.c (key_needs_default_processing_p):
10184         * event-msw.c (XEMSW_LCONTROL):
10185         * event-msw.c (mswindows_handle_sticky_modifiers):
10186         * event-msw.c (FROB):
10187         * event-msw.c (clear_sticky_modifiers):
10188         * event-msw.c (output_modifier_keyboard_state):
10189         * event-msw.c (output_alt_keyboard_state):
10190         * event-msw.c (mswindows_wnd_proc):
10191         * event-msw.c (mswindows_modifier_state):
10192         * event-msw.c (emacs_mswindows_handle_magic_event):
10193         implement sticky modifiers.
10194
10195         * event-stream.c:
10196         * event-stream.c (vars_of_event_stream):
10197         move modifier-keys-are-sticky here.
10198
10199         * lisp.h:
10200         add CHECK_FUNCTION.
10201
10202         * rangetab.c:
10203         implement map-range-table.
10204
10205
10206 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
10207
10208         * redisplay-tty.c (reset_tty_modes):
10209         (tty_redisplay_shutdown): Adjust argument type to
10210         tty_frame_output_end.
10211
10212 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10213
10214         * eval.c (Fbacktrace): Don't output a line with only right
10215         parenthesis.
10216
10217 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
10218
10219         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
10220         (Fpq_reset_poll): Ditto.
10221
10222 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
10223
10224         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
10225
10226 2000-05-16  Ben Wing  <ben@xemacs.org>
10227
10228         * buffer.c:
10229         * buffer.c (dfc_convert_to/from_internal_format):
10230         * buffer.c (reinit_vars_of_buffer):
10231         Fix conversion functions to allow reentrancy.
10232
10233         * console-msw.c:
10234         * console-msw.c (mswindows_output_last_error):
10235         New fun, generally useful -- output a human-readable
10236         version of GetLastError() on the console.
10237
10238         * console-msw.h:
10239         * console-msw.h (struct mswindows_frame):
10240         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
10241
10242         * console-stream.c (stream_output_begin):
10243         * console-stream.c (stream_output_end):
10244         * console-stream.c (stream_output_vertical_divider):
10245         * console-stream.c (stream_clear_region):
10246         * console-stream.c (stream_flash):
10247         * console-stream.c (console_type_create_stream):
10248         Delete blank stream methods, not needed.
10249
10250         * console.h (struct console_methods):
10251         Split begin/end methods into window and frame.
10252
10253         * event-msw.c:
10254         * event-msw.c (mswindows_handle_paint):
10255         * event-msw.c (output_alt_keyboard_state):
10256         * event-msw.c (mswindows_wnd_proc):
10257         * event-msw.c (vars_of_event_mswindows):
10258         Comment about problems with ignored-expose.
10259         Define mswindows-debug-events; not really implemented.
10260
10261         * frame-msw.c (mswindows_init_frame_1):
10262         random cleanups.
10263
10264         * glyphs-msw.c:
10265         * glyphs-msw.c (begin_defer_window_pos):
10266         * glyphs-msw.c (mswindows_unmap_subwindow):
10267         * glyphs-msw.c (mswindows_map_subwindow):
10268         * glyphs-msw.c (mswindows_resize_subwindow):
10269         Use DeferWindowPos to reduce flashing when mapping/unmapping.
10270
10271         * glyphs.c (make_image_instance_1):
10272         Fix crash.
10273
10274         * gutter.c (Fredisplay_gutter_area):
10275         Use new begin/end methods.
10276
10277         * lisp.h (Dynarr_new2):
10278         New creation fun.
10279
10280         * redisplay-msw.c:
10281         * redisplay-msw.c (mswindows_frame_output_begin):
10282         * redisplay-msw.c (mswindows_frame_output_end):
10283         * redisplay-msw.c (console_type_create_redisplay_mswindows):
10284         New begin/end methods -- handle DeferWindowPos.
10285
10286         * redisplay-output.c (redisplay_move_cursor):
10287         * redisplay-output.c (redraw_cursor_in_window):
10288         * redisplay-output.c (redisplay_update_line):
10289         * redisplay-output.c (redisplay_output_window):
10290         New begin/end methods.
10291
10292         * redisplay-tty.c:
10293         * redisplay-tty.c (tty_frame_output_begin):
10294         * redisplay-tty.c (tty_frame_output_end):
10295         * redisplay-tty.c (console_type_create_redisplay_tty):
10296         New begin/end methods.
10297
10298         * redisplay-x.c:
10299         * redisplay-x.c (x_window_output_begin):
10300         * redisplay-x.c (x_window_output_end):
10301         * redisplay-x.c (console_type_create_redisplay_x):
10302         New begin/end methods.
10303
10304         * redisplay.c (redisplay_frame):
10305         * redisplay.c (Fredisplay_echo_area):
10306         New begin/end methods.
10307         use MAYBE_DEVMETH for clear_frame; it may not exist.
10308
10309         * window.h (WINDOW_XFRAME):
10310         WINDOW_XFOO macros -- get locale and decode struct pointer.
10311
10312
10313 2000-05-12  Ben Wing  <ben@xemacs.org>
10314
10315         * emacs.c:
10316         * emacs.c (ensure_no_quitting_from_now_on):
10317         * emacs.c (fatal_error_signal):
10318         * emacs.c (mswindows_handle_hardware_exceptions):
10319         * emacs.c (main):
10320         * emacs.c (Fkill_emacs):
10321         * emacs.c (shut_down_emacs):
10322         * emacs.c (assert_failed):
10323         various improvements in fatal error handling.
10324
10325         * eval.c:
10326         move preparing_for_armageddon to emacs.c.
10327
10328         * lisp.h:
10329         declare fatal_error_in_progress.
10330
10331         * print.c:
10332         * print.c (std_handle_out_external):
10333         * print.c (std_handle_out_va):
10334         * print.c (stderr_out):
10335         * print.c (stdout_out):
10336         use console under mswin when no standard output.
10337         don't do code conversion during fatal error.
10338
10339         * scrollbar.c (Fscrollbar_page_up):
10340         * scrollbar.c (Fscrollbar_page_down):
10341         fix missing else.  reindent.
10342
10343 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
10344
10345         Emergency fix.
10346
10347         * glyphs.h (GLYPH_CACHEL_DESCENT):
10348         (GLYPH_CACHEL_DESCENT):
10349         (GLYPH_CACHEL_DESCENT):
10350         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
10351         used in case these are inline functions.
10352         Use more absurd values to error check.
10353
10354         include window.h for error check functions.
10355
10356 2000-05-11  Ben Wing  <ben@xemacs.org>
10357
10358         * cmdloop.c (Freally_early_error_handler):
10359         Display message box under windows; otherwise, message will disappear
10360         before it can be viewed.
10361
10362         * console-msw.c:
10363         * console-msw.c (Fmswindows_message_box):
10364         * console-msw.c (FROB):
10365         * console-msw.c (syms_of_console_mswindows):
10366         Define new fun `mswindows-message-box'.
10367         #### I will merge this into `popup-dialog-box'; just give me
10368         a bit of time.
10369
10370         * general.c:
10371         * general.c (syms_of_general):
10372         Some new symbols used in `mswindows-message-box'.
10373
10374         * glyphs.c:
10375         * glyphs.c (Fset_image_instance_property):
10376         put warning in this fun.
10377
10378         * glyphs.h:
10379         * glyphs.h (GLYPH_CACHEL_WIDTH):
10380         * glyphs.h (GLYPH_CACHEL_ASCENT):
10381         * glyphs.h (GLYPH_CACHEL):
10382         * glyphs.h (GLYPH_CACHEL_GLYPH):
10383         define error-checking versions to try to catch a bug i've seen --
10384         redisplay gets in an infinite loop because the glyph width of the
10385         continuation glyph is 65535.
10386
10387         * lisp.h:
10388         Extern message-box stuff.
10389
10390         * window.c (allocate_window):
10391         * window.c (make_dummy_parent):
10392         * window.c (Fset_window_configuration):
10393         Use EQUAL not EQ for subwindow caches to make them work a bit
10394         better. (Something is still very broken.)
10395
10396
10397 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10398
10399         * glyphs.c (image_instantiate): Suppress gcc warnings.
10400         (Fmake_image_instance): Fix doc string.
10401         * specifier.c (Fmake_specifier): Ditto.
10402
10403 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
10404
10405         * paths.h.in (PATH_LOCK): Removed.
10406         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
10407         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
10408
10409 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10410
10411         * fns.c (Ffeaturep): Update e-mail address in doc-string.
10412         Document (featurep '(and xemacs 21.02)).
10413
10414 2000-05-09  Ben Wing  <ben@xemacs.org>
10415
10416         * buffer.c (complex_vars_of_buffer):
10417         update modeline-format doc.
10418
10419         * device.h:
10420         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
10421
10422         * emacs.c:
10423         timeline of all released versions of Emacs, for use in creating
10424         authorship comments and in synching up.
10425
10426         * glyphs-widget.c (image_instantiator_buttons):
10427         * glyphs-widget.c (image_instantiator_edit_fields):
10428         * glyphs-widget.c (image_instantiator_combo_box):
10429         * glyphs-widget.c (image_instantiator_scrollbar):
10430         * glyphs-widget.c (image_instantiator_progress_guage):
10431         * glyphs-widget.c (image_instantiator_tree_view):
10432         * glyphs-widget.c (image_instantiator_tab_control):
10433         * glyphs-widget.c (image_instantiator_labels):
10434         * glyphs-widget.c (image_instantiator_layout):
10435         * glyphs-widget.c (image_instantiator_native_layout):
10436         rename decode_domain method to governing_domain.
10437
10438         * glyphs.c:
10439         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
10440         * glyphs.c (add_entry_to_device_ii_format_list):
10441         make sure we don't put an entry more than once into the list.
10442         * glyphs.c (check_instance_cache_mapper):
10443         *************************************************************
10444         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
10445         HAVE BEEN GETTING.
10446         *************************************************************
10447         * glyphs.c (get_image_instantiator_governing_domain):
10448         clean up, expand on new concept of governing domain.
10449         * glyphs.c (instantiate_image_instantiator):
10450         * glyphs.c (allocate_image_instance):
10451         use governing_domain instead of cache_domain in naming.
10452         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
10453         * glyphs.c (make_image_instance_1):
10454         * glyphs.c (Fmake_image_instance):
10455         allow for any domain (not just device), and process the
10456         governing domain correctly.  very big doc fix.
10457         * glyphs.c (Fimage_instance_domain):
10458         new primitive, to retrieve the governing domain of an image instance.
10459         * glyphs.c (image_instantiate):
10460         use new governing_domain stuff.  this fixes a crash you could get
10461         by instantiating certain widget glyphs in frame locales. (should
10462         signal an error instead of crashing.)
10463         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
10464         * glyphs.c (Fglyphp): clean up doc.
10465         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
10466         * glyphs.c (syms_of_glyphs):
10467         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
10468         * glyphs.c (image_instantiator_format_create): add some comments about
10469         bogus code.
10470         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
10471         for current-display-table. (Apparently Hrjove implemented in 1998 a
10472         design I wrote up in 1996, but didn't update the doc string.)
10473
10474         * glyphs.h: clean up a doc string.
10475         * glyphs.h (governing_domain):
10476         * glyphs.h (struct image_instantiator_methods):
10477         changes for governing_domain stuff.
10478
10479         * gutter.c:
10480         * gutter.c (Fgutter_specifier_p):
10481         * gutter.c (Fgutter_size_specifier_p):
10482         * gutter.c (Fgutter_visible_specifier_p):
10483         * objects.c:
10484         * objects.c (Fcolor_specifier_p):
10485         * objects.c (Ffont_specifier_p):
10486         * objects.c (Fface_boolean_specifier_p):
10487         doc strings moved to make-*-specifier.
10488
10489         * redisplay.c (add_disp_table_entry_runes_1):
10490         * redisplay.c (generate_fstring_runes):
10491         * redisplay.c (screen):
10492         add random comments and doc strings.
10493
10494         * specifier.c:
10495         * specifier.c (Fmake_specifier):
10496         major overhaul of this doc string.
10497
10498         * specifier.c (Fvalid_specifier_domain_p):
10499         comment about the bogosity of image instances being domains.
10500         * specifier.c (decode_domain):
10501         now non-static, used in glyphs.c.
10502         * specifier.c (specifier_instance):
10503         comment about the bogosity of image instances being domains.
10504         * specifier.c (Fgeneric_specifier_p):
10505         move doc string to make-generic-specifier.
10506         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
10507         rebackslashify.
10508
10509         * specifier.h:
10510         * specifier.h (DOMAIN_FRAME):
10511         * specifier.h (DOMAIN_LIVE_P):
10512         * specifier.h (DOMAIN_XDEVICE):
10513         rebackslashify.
10514         add comments about problems with these macros.
10515         prototype for decode_domain.
10516
10517         * toolbar.c:
10518         * toolbar.c (Ftoolbar_specifier_p):
10519         move doc string to `make-toolbar-specifier'.
10520
10521         * window.c (window_unmap_subwindows_cache_mapper):
10522         *************************************************************
10523         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
10524         HAVE BEEN GETTING.
10525         *************************************************************
10526
10527 2000-05-09  Andy Piper  <andy@xemacs.org>
10528
10529         * glyphs.h: declare reset_frame_subwindow_instance_cache.
10530
10531         * window.c (Fset_window_configuration): reset the frame subwindow
10532         cache and re-initialize the window subwindow caches.
10533
10534         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
10535
10536 2000-05-09  Ben Wing  <ben@xemacs.org>
10537
10538         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
10539         DWORD.
10540
10541 2000-04-26  Mike Woolley  <mike@bulsara.com>
10542
10543         * ntheap.c: Changed recreate_heap to limit the amount reserved
10544         for the heap to that which is actually available. Also now
10545         displays a message box (with some dignostics) in the event that
10546         it still can't start.
10547
10548 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10549
10550         * callproc.c (Fold_call_process_internal): GCPRO path
10551
10552 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
10553
10554         Patch by Bill Perry.
10555
10556         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
10557         back data instead of #ifdef.
10558         (Fscrollbar_page_down): ditto.
10559
10560 2000-05-07  Ben Wing  <ben@xemacs.org>
10561
10562         * buffer.h:
10563         Kludge for defining Qmswindows_tstr.
10564
10565         * nt.c:
10566         * nt.c (open_input_file):
10567         * nt.c (open_output_file):
10568         * nt.c (rva_to_section):
10569         * nt.c (mswindows_executable_type):
10570         Move all memory-mapped-file routines here (some were in unexnt.c,
10571         which is bad because they are used by process-nt.c, and unexnt
10572         won't be around when portable dumping).  Synched the above routines
10573         with FSF 20.6.
10574
10575         * nt.h:
10576         Removed ifdef'd out bogus code.
10577         Fixed some prototypes.
10578
10579         * nt.h (file_data):
10580         * nt.h (OFFSET_TO_RVA):
10581         * nt.h (RVA_TO_OFFSET):
10582         * nt.h (RVA_TO_PTR):
10583         Moved the memory-mapped-file structures, macros and prototypes
10584         here, to parallel nt.c.  ntheap.h should really be removed
10585         entirely, and it's a non-portable-dumper specific file.
10586
10587         * ntheap.h (round_to_next):
10588         Moved the memory-mapped-file structures, macros and prototypes
10589         to nt.h.
10590
10591         * ntproc.c (compare_env):
10592         Moved rva_to_section and mswindows_executable_type to nt.c.
10593         Moved compare_env to process-nt.c.
10594         ntproc.c will die, one day.
10595
10596         * ntproc.c (sys_spawnve):
10597         Account for win32_ -> mswindows_.
10598
10599         * process-nt.c:
10600         * process-nt.c (struct nt_process_data):
10601         * process-nt.c (ensure_console_window_exists):
10602         * process-nt.c (compare_env):
10603         * process-nt.c (nt_create_process):
10604         * process-nt.c (nt_kill_process_by_pid):
10605         * process-nt.c (syms_of_process_nt):
10606         * process-nt.c (vars_of_process_nt):
10607         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
10608         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
10609         changes).  Eliminate our old `nt-quote-process-args' mechanism.
10610         Synch up nt_create_process with FSF 20.6 sys_spawnve.
10611         Move compare_env here from ntproc.c.
10612
10613         * process.c (Fprocess_send_region):
10614         Takes an optional fourth argument, BUFFER, which should fix some
10615         problems with call-process.
10616
10617         * syscommctrl.h:
10618         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
10619
10620         * syswindows.h:
10621         Move ICC_BAR_CLASSES to syscommctrl.h.
10622         Add preliminary macros for MSWindows/Mule.  More to come.
10623
10624         * unexnt.c:
10625         * unexnt.c (unexec):
10626         open_output_file moved to nt.c.
10627
10628
10629 2000-05-05  Andy Piper  <andy@xemacs.org>
10630
10631         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
10632         instance from the frame cache also since GC may catch up too late
10633         to make frame deletion sane.
10634
10635 2000-05-04  Andy Piper  <andy@xemacs.org>
10636
10637         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
10638         (x_finalize_image_instance): ungcpro on deletion.
10639
10640         * glyphs.c (image_instantiator_format_create): give pointers a
10641         query geometry method so that the geometry is at least set.
10642
10643         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
10644         initialize layouts if using widgets.
10645
10646 2000-05-03  Andy Piper  <andy@xemacs.org>
10647
10648         * nt.c: remove bogus reference to sysmmsystem.h
10649
10650         * gui-x.c (popup_selection_callback): fix no selection abort.
10651
10652 2000-05-02  Andy Piper  <andy@xemacs.org>
10653
10654         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
10655         (mswindows_widget_instantiate): ditto.
10656
10657         * glyphs-widget.c (initialize_widget_image_instance): initialize
10658         children correctly.
10659         (widget_instantiate): cope with children and items in the same
10660         instance.
10661
10662         * glyphs.c (mark_image_instance): cope with children as a first
10663         class member.
10664         (image_instance_equal): ditto.
10665         (image_instance_hash): ditto.
10666         (image_instance_changed): ditto.
10667
10668 2000-04-30  Andy Piper  <andy@xemacs.org>
10669
10670         * glyphs.c (subwindow_query_geometry): new function. Return some
10671         defaults.
10672         (subwindow_instantiate): don't assign dimensions if none have been
10673         given.
10674         (image_instantiator_format_create): add subwindow_query_geometry.
10675         (print_image_instance): cope with layouts as widgets.
10676
10677 2000-04-29  Andy Piper  <andy@xemacs.org>
10678
10679         * frame.c (delete_frame_internal): call
10680         free_frame_subwindow_instance_cache so that all subwindows are
10681         finalized before their parent.
10682         (mark_frame): remove subwindow_cachels.
10683         (Fmake_frame): remove subwindow_cachel manipulation.
10684         (allocate_frame_core): subwindow_instance_cache is a weak list.
10685         (delete_frame_internal): set subwindow_instance_cache to nil.
10686
10687         * glyphs-msw.c (mswindows_finalize_image_instance): make double
10688         finalization safe.
10689         (mswindows_finalize_image_instance): use the device
10690         not the domain as the domain may have died already.
10691
10692         * glyphs-x.c (x_finalize_image_instance): ditto.
10693         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
10694         HEIGHT.
10695
10696         * redisplay-output.c (redisplay_unmap_subwindows): update for
10697         subwindow instance cache as a weak list.
10698         (redisplay_unmap_subwindows_maybe): ditto.
10699         (redisplay_unmap_subwindows_except_us): ditto.
10700
10701         * glyphs.c (unmap_subwindow): error checking will check the domain
10702         so don't deal with it here. Don't use cachels anymore.
10703         (map_subwindow): ditto.
10704         (update_subwindow_cachel_data): remove old accessor names.
10705         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
10706         (Fresize_subwindow): don't update cachel.
10707         (mark_subwindow_cachels):
10708         (update_subwindow_cachel_data):
10709         (add_subwindow_cachel):
10710         (get_subwindow_cachel_index):
10711         (update_subwindow_cachel):
10712         (reset_subwindow_cachels):
10713         (mark_subwindow_cachels_as_not_updated): deleted.
10714         (cache_subwindow_instance_in_frame_maybe): new function. Add a
10715         subwindow instance to the frame cache.
10716         (find_matching_subwindow): update for subwindow instance cache as
10717         a weak list.
10718         (update_widget_instances): ditto.
10719         (image_instance_type_to_mask):inlined.
10720         (free_frame_subwindow_instance_cache): new function. finalize all
10721         subwindows that are instantiated.
10722
10723         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
10724         of cachel information.
10725         (IMAGE_INSTANCE_DISPLAY_X):
10726         (IMAGE_INSTANCE_DISPLAY_Y):
10727         (IMAGE_INSTANCE_DISPLAY_WIDTH):
10728         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
10729         (XIMAGE_INSTANCE_DISPLAY_X):
10730         (XIMAGE_INSTANCE_DISPLAY_Y):
10731         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
10732         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
10733         remove subwindow_cachel structure and function references.
10734         (image_instance_type_to_mask): inline from glyphs.c
10735
10736         * redisplay.c (redisplay_frame): remove subwindow_cachel
10737         references.
10738
10739         * frame.h (struct frame): remove subwindow_cachels.
10740         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
10741
10742         * frameslots.h: add subwindow_instance_cache.
10743
10744         * window.c (replace_window): check subwindow cache of replacement.
10745         (window_unmap_subwindows_cache_mapper):
10746         (window_unmap_subwindows): new functions. Unmap all subwindows
10747         cached on this window.
10748         (mark_window_as_deleted): unmap all subwindows.
10749
10750 2000-04-27  Andy Piper  <andy@xemacs.org>
10751
10752         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
10753
10754         * glyphs-widget.c (widget_layout): return something.
10755         (layout_layout): return something. Fail if not initialized.
10756         (layout_query_geometry): ditto.
10757         (image_instantiator_native_layout): new function. Initialized the
10758         native layout type.
10759         (widget_instantiate): don't do layout stuff here.
10760
10761         * glyphs.c (instantiate_image_instantiator): reorded calling or
10762         instantiate and post_instantiate with layout in between.
10763         (image_instance_layout): be more selective about deciding whether
10764         the layout has been done or not.
10765
10766         * glyphs.h (struct image_instantiator_methods): return a value
10767         from layout_method.
10768
10769 2000-04-26  Andy Piper  <andy@xemacs.org>
10770
10771         * glyphs.c (allocate_image_instance): make initial width and
10772         height unspecified. Set initialized to 0.
10773
10774         * syscommctrl.h new file. Encapsulates commctrl.h.
10775
10776         * syswindows.h new file. Encapsulates windows.h.
10777
10778         * ntplay.c: use new syswindows.h and syscommctrl.h header.
10779         * nt.c: ditto.
10780         * console-msw.h: ditto.
10781
10782         * redisplay-tty.c (tty_output_display_block): remove layout references.
10783
10784         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
10785         window handle rather than just the frame.
10786
10787         * glyphs.c (mark_image_instance): remove layout references.
10788         (print_image_instance): ditto.
10789         (image_instance_equal): ditto.
10790         (image_instance_hash): ditto.
10791         (decode_image_instance_type): ditto.
10792         (encode_image_instance_type): ditto.
10793         (image_instantiate): ditto.
10794         (allocate_glyph): ditto.
10795         (Fimage_instance_height): ditto.
10796         (Fimage_instance_width): ditto.
10797         (update_subwindow): ditto.
10798
10799         * redisplay-x.c (x_output_display_block): recode for layouts as
10800         widgets.
10801
10802         * redisplay-output.c (redisplay_output_layout): recode for layouts
10803         as widgets.
10804         (compare_runes): remove layout references.
10805
10806         * redisplay-msw.c (mswindows_output_display_block): recode for
10807         layouts as widgets.
10808
10809         * glyphs-widget.c (image_instantiator_layout): remove
10810         layout_possible_dest_types.
10811         (layout_possible_dest_types): deleted.
10812
10813         * glyphs.h (image_instance_type): remove layout references.
10814         (struct Lisp_Image_Instance): ditto. Add initialized flag.
10815         (IMAGE_INSTANCE_INITIALIZED): new accessor.
10816         (XIMAGE_INSTANCE_INITIALIZED): ditto.
10817
10818 2000-04-25  Andy Piper  <andy@xemacs.org>
10819
10820         * glyphs-widget.c (image_instantiator_buttons):
10821         (image_instantiator_edit_fields):
10822         (image_instantiator_combo_box):
10823         (image_instantiator_scrollbar):
10824         (image_instantiator_progress_guage):
10825         (image_instantiator_tree_view):
10826         (image_instantiator_tab_control):
10827         (image_instantiator_labels):
10828         (image_instantiator_layout): call default post_instantiate method.
10829         (widget_post_instantiate): new function. Simply lays out the
10830         widgets.
10831
10832         * glyphs.h (struct image_instantiator_methods): add
10833         post_instantiate method.
10834
10835         * glyphs.c (instantiate_image_instantiator): add post_instantiate
10836         method calls.
10837
10838 2000-04-23  Andy Piper  <andy@xemacs.org>
10839
10840         * glyphs.h (struct image_instantiator_methods): add
10841         decode_domain_method.
10842         (struct Lisp_Image_Instance): remove subwindow frame - it can be
10843         derived from the domain.
10844         (IMAGE_INSTANCE_FRAME): new accessor.
10845         (XIMAGE_INSTANCE_FRAME): ditto.
10846
10847         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
10848         instead of _SUBWINDOW_FRAME.
10849         (finalize_image_instance): ditto.
10850         (Fimage_instance_foreground): ditto.
10851         (Fimage_instance_background): ditto.
10852         (image_instantiate): ditto.
10853         (update_subwindow_cachel): ditto.
10854         (update_subwindow): ditto.
10855         (unmap_subwindow): ditto.
10856         (map_subwindow): ditto
10857         (subwindow_instantiate): ditto.
10858         * glyphs-msw.c (mswindows_update_widget): ditto.
10859         (mswindows_progress_gauge_instantiate): ditto.
10860         (mswindows_tab_control_update): ditto.
10861         * glyphs-x.c (x_update_widget): ditto.
10862         (x_widget_instantiate): ditto.
10863         (x_tab_control_instantiate): ditto.
10864         (x_tab_control_update): ditto.
10865         * event-msw.c (mswindows_wnd_proc): ditto
10866
10867         * glyphs-widget.c (image_instantiator_layout): use
10868         subwindow_decode_domain.
10869         (image_instantiator_buttons): ditto.
10870         (image_instantiator_edit_fields): ditto.
10871         (image_instantiator_combo_box): ditto.
10872         (image_instantiator_scrollbar): ditto.
10873         (image_instantiator_progress_guage): ditto.
10874         (image_instantiator_tree_view): ditto.
10875         (image_instantiator_tab_control): ditto.
10876         (image_instantiator_labels): ditto.
10877         (image_instantiator_layout): ditto.
10878
10879         * glyphs.c: add instance error checking to many functions.
10880         (instantiate_image_instantiator): decode device from cache_domain.
10881         (image_instantiate): partially rewrite by using
10882         decode_image_instantiator_domain to determine what domain the
10883         instance needs to be cached in.
10884         (decode_image_instantiator_domain): new function. Determine what
10885         domain the image needs to be cached in.
10886         (check_window_subwindow_cache): new error checking function.
10887         (check_instance_cache_mapper): ditto.
10888         (check_image_instance_structure): ditto.
10889         (subwindow_decode_domain): new function. Encodes a window as a
10890         subwindow's cache domain.
10891         (image_instantiator_format_create): use it for text and
10892         subwindows.
10893
10894 2000-04-21  Andy Piper  <andy@xemacs.org>
10895
10896         * glyphs.c (image_instance_device): new function.
10897         (image_instance_frame): new function.
10898         (image_instance_window): new function.
10899         (image_instance_live_p): new function.
10900
10901         * window.c (mark_window_as_deleted): reset the subwindow_instance_
10902         cache to nil.
10903
10904         * glyphs.h (struct Lisp_Image_Instance): device->domain.
10905         (IMAGE_INSTANCE_DOMAIN): new accessor.
10906         (XIMAGE_INSTANCE_DOMAIN): ditto.
10907
10908         * glyphs-x.c (x_finalize_image_instance): device->domain.
10909
10910         * glyphs-msw.c (init_image_instance_geometry): device->domain.
10911         (mswindows_finalize_image_instance): ditto.
10912
10913         * glyphs-eimage.c (jpeg_instantiate): device->domain.
10914         (gif_instantiate): ditto.
10915         (png_instantiate): ditto.
10916         (tiff_instantiate): ditto.
10917
10918         * glyphs.c (instantiate_image_instantiator): use domain rather
10919         than device.
10920         (mark_image_instance): device -> domain.
10921         (print_image_instance): ditto.
10922         (finalize_image_instance): ditto.
10923         (image_instance_equal): ditto.
10924         (allocate_image_instance): ditto.
10925         (Fcolorize_image_instance): ditto.
10926         (query_string_geometry): ditto.
10927         (image_instantiate): ditto
10928         (query_string_font): ditto.
10929         (image_instantiate): ditto.
10930         (update_subwindow): ditto.
10931         (unmap_subwindow): ditto.
10932         (map_subwindow): ditto.
10933         (subwindow_instantiate): ditto.
10934
10935         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
10936         (DOMAIN_FRAME): ditto.
10937         (DOMAIN_WINDOW): ditto.
10938         (DOMAIN_LIVE_P): ditto.
10939         (XDOMAIN_DEVICE): ditto.
10940         (XDOMAIN_FRAME): ditto.
10941         (XDOMAIN_WINDOW): ditto.
10942
10943         * specifier.c (Fvalid_specifier_domain_p): add image instances as
10944         a valid specifier domain.
10945
10946 2000-04-19  Andy Piper  <andy@xemacs.org>
10947
10948         * glyphs-widget.c (syms_of_glyphs_widget): remove
10949         widget-callback-current-channel.
10950         (vars_of_glyphs_widget): ditto.
10951         * glyphs.h: ditto
10952
10953         * gui.c (get_gui_callback): revert to previous behaviour.
10954
10955 2000-04-18  Andy Piper  <andy@xemacs.org>
10956
10957         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
10958         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
10959         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
10960
10961         * glyphs.c (image_instance_equal): add margin_width.
10962         (image_instance_hash): ditto.
10963
10964         * glyphs-widget.c (widget_instantiate): deal with margin-width.
10965         (layout_query_geometry): ditto.
10966         (layout_layout): ditto.
10967         (syms_of_glyphs_widget): add margin-width.
10968         (image_instantiator_layout): allow margin-width.
10969
10970         * glyphs.c (update_widget_instances): make a normal function.
10971         (syms_of_glyphs): remove Qupdate_widget_instances.
10972         * glyphs.h: ditto.
10973
10974         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
10975         so that we don't corrupt ideas about the last event or
10976         command. Remove widget-callback-current-channel fiddling.
10977         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10978
10979 2000-05-01  Martin Buchholz <martin@xemacs.org>
10980
10981         * XEmacs 21.2.33 is released.
10982
10983 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
10984
10985         * make-src-depend: Allow dots in header file name.
10986
10987 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
10988
10989         * mule-charset.h (struct charset_lookup): Add
10990         next_allocated_1_byte_leading_byte and
10991         next_allocated_2_byte_leading_byte.
10992         * mule-charset.c: Move above two variables so that those values
10993         will be dumped.
10994
10995 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
10996
10997         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
10998         when string length is zero.
10999         (find_charsets_in_emchar_string): Ditto.
11000
11001 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
11002
11003         * lisp.h: extern Qdialog and Qmenubar.
11004
11005         * gui-x.c: added events.h.
11006                 also fixed typo which made the file uncompilable.
11007
11008         * general.c: Added Qmenubar and Qdialog
11009
11010 2000-04-28  Ben Wing  <ben@xemacs.org>
11011
11012         * frame-msw.c (mswindows_init_frame_1):
11013         * frame-msw.c (mswindows_mark_frame):
11014         * event-msw.c (mswindows_enqueue_dispatch_event):
11015         * console-msw.h:
11016         * console-msw.h (struct mswindows_frame):
11017         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
11018         there are now three hash tables for callbacks.
11019         mswindows_enqueue_dispatch_event is no longer static.
11020
11021         * dialog-x.c (maybe_run_dbox_text_callback):
11022         * dialog-x.c (dbox_descriptor_to_widget_value):
11023         switch to new cons3 form for callbacks.
11024
11025         * glyphs-msw.c (mswindows_register_gui_item):
11026         * glyphs-msw.c (mswindows_widget_instantiate):
11027         * glyphs-msw.c (add_tree_item):
11028         * glyphs-msw.c (add_tab_item):
11029         new image instance parameter, so it can be passed to callback-ex.
11030         respect :callback-ex as well as :callback.
11031
11032         * glyphs-widget.c (VALID_GUI_KEYWORDS):
11033         add :callback-ex.
11034
11035         * glyphs.c (print_image_instance):
11036         prettify, e.g. now prints widget type.
11037
11038         * gui-x.h:
11039         certain funs have new image instance parameter.
11040
11041         * gui.c:
11042         * gui.c (get_gui_callback):
11043         * gui.c (gui_item_add_keyval_pair):
11044         * gui.c (gui_item_init):
11045         * gui.c (gui_add_item_keywords_to_plist):
11046         * gui.c (mark_gui_item):
11047         * gui.c (gui_item_hash):
11048         * gui.c (gui_item_equal):
11049         * gui.c (copy_gui_item):
11050         * gui.c (syms_of_gui):
11051         recognize callback-ex in a number of places.
11052         also, fix the annoying "can't get out of yes-no dialog" bug.
11053
11054         * gui.h:
11055         * gui.h (struct Lisp_Gui_Item):
11056         recognize callback-ex in a number of places.
11057
11058         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11059         new parameter in button_item_to_widget_value.
11060
11061         * glyphs-x.c (x_update_widget):
11062         * glyphs-x.c (x_button_instantiate):
11063         * glyphs-x.c (x_button_update):
11064         * glyphs-x.c (x_progress_gauge_instantiate):
11065         * glyphs-x.c (x_edit_field_instantiate):
11066         * glyphs-x.c (x_combo_box_instantiate):
11067         * glyphs-x.c (x_tab_control_instantiate):
11068         * glyphs-x.c (x_label_instantiate):
11069         new image instance parameter in various places.
11070
11071         * event-Xt.c:
11072         * event-Xt.c (enqueue_Xt_dispatch_event):
11073         this fun gets exported.
11074
11075         * gui-msw.c:
11076         * gui-msw.c (mswindows_handle_gui_wm_command):
11077         handle both :callback and :callback-ex, and generate our own
11078         event because it's one of the callback-ex arguments.
11079
11080         * gui-x.c:
11081         * gui-x.c (popup_selection_callback):
11082         handle both :callback and :callback-ex, and generate our own
11083         event because it's one of the callback-ex arguments.
11084         * gui-x.c (button_item_to_widget_value):
11085         * gui-x.c (gui_items_to_widget_values_1):
11086         * gui-x.c (gui_item_children_to_widget_values):
11087         * gui-x.c (gui_items_to_widget_values):
11088         new image instance parameter in various places.
11089
11090         * fns.c (Freplace_list):
11091         fix small typo in doc string.
11092
11093         * lisp.h:
11094         declare enqueue_Xt_dispatch_event.
11095
11096 2000-04-28  Ben Wing  <ben@xemacs.org>
11097
11098         * buffer.c:
11099         * buffer.c (Frecord_buffer):
11100         * buffer.c (syms_of_buffer):
11101         delete record-buffer-hook.
11102
11103         * fns.c:
11104         * fns.c (Freplace_list):
11105         * fns.c (syms_of_fns):
11106         new primitive replace-list.
11107
11108         * frameslots.h:
11109         slot for old buffer-alist.
11110
11111         * lisp.h:
11112         exfun replace-list.
11113
11114         * redisplay.c:
11115         * redisplay.c (redisplay_frame):
11116         * redisplay.c (syms_of_redisplay):
11117         * redisplay.c (vars_of_redisplay):
11118         new hook buffer-list-changed-hook.
11119         call it.
11120
11121 2000-04-27  Ben Wing  <ben@xemacs.org>
11122
11123         * extents.h: extern in_modeline_generation.
11124
11125         * redisplay.c (generate_formatted_string_db): set
11126         in_modeline_generation.
11127
11128         * extents.c (extent_changed_for_redisplay): don't mark redisplay
11129         flags if in modeline generation.  otherwise frame-modified-tick
11130         is ticked far too often.
11131         Declare in_modeline_generation.
11132
11133 2000-04-26  Ben Wing  <ben@xemacs.org>
11134
11135         * emacs.c (vars_of_emacs): document quick-build "error-checking"
11136         option.
11137         (vars_of_emacs): add quick-build as an error-checking option.
11138         A bit kludgy, but there doesn't seem much point in creating
11139         a real var for this.
11140
11141         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
11142
11143 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11144
11145         * redisplay.h (struct display_line): Add a new variable,
11146         line_continuation.
11147
11148         * redisplay.c (create_text_block): Set dl->line_continuation if
11149         the line continues.
11150         (create_string_text_block): Ditto.
11151         (regenerate_window_incrementally): Use line_continuation instead
11152         of searching continuation glyph.
11153         (add_margin_runes): Call add_glyph_rune.
11154         (add_glyph_rune): Handle margin glyph.
11155
11156 2000-04-20  Martin Buchholz  <martin@xemacs.org>
11157
11158         * filelock.c (fill_in_lock_file_name):
11159         ANSIfy.
11160         Check for IS_ANY_SEP instead of '/'.
11161         (lock_file_1):
11162         Avoid generating gratuitous garbage.  Call user_login_name() directly.
11163         Never check errno without first seeing that system call failed.
11164         (unlock_file): Add GCPRO.
11165         (Flock_buffer): Fix docstring.
11166         (Ffile_locked_p): Fix docstring.  Add GCPRO.
11167
11168 2000-04-19  Martin Buchholz  <martin@xemacs.org>
11169
11170         * sysdep.c (get_pty_max_bytes):
11171         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
11172         strings longer than 252 bytes.
11173
11174         * md5.c: Unconditionally include ANSI header <limits.h>
11175
11176         * glyphs-x.c (convert_EImage_to_XImage):
11177         * lisp-union.h (union Lisp_Object):
11178         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
11179
11180 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
11181
11182         * filelock.c (current_lock_owner): Remove unused variable o, p.
11183
11184 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
11185
11186         * callint.c: Remove multiply defined symbol Qlet
11187         (syms_of_callint): ditto.
11188
11189 2000-04-14  Andy Piper  <andy@xemacs.org>
11190
11191         * general.c (syms_of_general): add last-command, this-command, let
11192         and funcall.
11193
11194         * lisp.h: declare various symbols.
11195
11196         * glyphs.h: declare Qwidget_callback_current_channel;
11197
11198         * glyphs-widget.c (syms_of_glyphs_widget): add
11199         Qgui_callback_current_channel.
11200         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
11201
11202         * gui-msw.c (mswindows_handle_gui_wm_command): bind
11203         widget-callback-current-channel when invoking the interactive
11204         arg. Also bind last-command and next-command when invoking the
11205         widget updates.
11206         * gui-x.c (popup_selection_callback): ditto.
11207
11208         * gui.c (get_gui_callback): massage args so that we are always
11209         calling eval. This allows us to add our own variable bindings
11210         outside.
11211
11212         * glyphs-x.c (x_button_instantiate): use
11213         gui_items_to_widget_values since this is GC safe.
11214         (x_progress_gauge_instantiate): ditto.
11215         (x_edit_field_instantiate): ditto.
11216         (x_label_instantiate): ditto.
11217
11218         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
11219         (emacs_Xt_event_widget_focus_out): new function
11220         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
11221         focus.
11222         (emacs_Xt_event_add_widget_actions): new function. add focus
11223         functions as actions.
11224         (init_event_Xt_late): use it.
11225
11226 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
11227
11228         * event-stream.c (Fdispatch_event): Doc fix.
11229
11230 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
11231
11232         * postgresql.c: Remove all references to PQsetenv*.
11233
11234         * postgresql.h: Remove references to PGsetenvHandler object.
11235         * lrecord.h (lrecord_type): Ditto.
11236
11237 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11238
11239         * glyphs-msw.h (struct mswindows_image_instance_data): Added
11240         real_heigh and real_width members, and accessor macros for these.
11241
11242         * glyphs-msw.c (init_image_instance_geometry): New function.
11243         (init_image_instance_from_dibitmap): Use it.
11244         (mswindows_resource_instantiate): Use it.
11245         (init_image_instance_from_xbm_inline): Use it.
11246         (mswindows_initialize_image_instance_mask): Use real bitmap
11247         geometry.
11248         (mswindows_create_resized_bitmap): Ditto.
11249         (mswindows_create_resized_mask): Ditto.
11250
11251         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
11252         and bitmap to their surface size.
11253
11254 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
11255
11256         * process-unix.c (unix_send_process): Guard against process MIA
11257         after Faccept_process_output.
11258
11259 2000-04-11  Ben Wing  <ben@xemacs.org>
11260
11261         * eval.c (unbind_to_hairy): fix brokenness introduced by
11262         nanosecond speed improvements.
11263
11264 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
11265
11266         * sunplay.c (init_device): To play sounds correctly, the device
11267         apparently needs to be initialized at least once by XEmacs.  Make
11268         it so.
11269
11270 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11271
11272         * redisplay.c (add_margin_runes): Add text image glyph
11273           handling.
11274
11275 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
11276
11277         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
11278         gcc is newer than 2.5.
11279
11280 2000-04-06  Colin Rafferty  <colin@xemacs.org>
11281
11282         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
11283
11284         * fns.c (size_bit_vector):
11285         * alloc.c (size_vector):
11286         (make_vector_internal):
11287         (make_bit_vector_internal):
11288         (sweep_bit_vectors_1):
11289         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
11290
11291 2000-04-06  Andy Piper  <andy@xemacs.org>
11292
11293         * gmalloc.c (malloc): undo previous change.
11294         (malloc): ditto.
11295         (free): ditto.
11296         (realloc): ditto.
11297
11298 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
11299
11300         * line-number.c (buffer_line_number): Revert to former version.
11301
11302 2000-04-06  Andy Piper  <andy@xemacs.org>
11303
11304         * gmalloc.c (malloc): add error checking.
11305         (malloc): ditto.
11306         (free): ditto.
11307         (realloc): ditto.
11308
11309         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
11310         button_item_to_widget_value arg.
11311
11312         * glyphs-x.c (x_button_instantiate): add extra
11313         button_item_to_widget_value arg.
11314         (x_progress_gauge_instantiate): ditto.
11315         (x_edit_field_instantiate): ditto.
11316         (x_label_instantiate): ditto.
11317
11318         * gui-x.c (gui_items_to_widget_values_1): add extra
11319         button_item_to_widget_value arg.
11320         (button_item_to_widget_value): add extra menu_item_p arg.
11321
11322         * gui-x.h: change signature of button_item_to_widget_value.
11323
11324         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
11325         button_item_to_widget_value arg.
11326
11327 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11328
11329         * buffer.h (struct buffer): auto_save_modified should be long.
11330
11331 2000-04-05  Andy Piper  <andy@xemacs.org>
11332
11333         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
11334         type.
11335         (button_query_geometry): give a little more room so that athena
11336         buttons fit.
11337
11338 2000-04-05  Andy Piper  <andy@xemacs.org>
11339
11340         * faces.c (complex_vars_of_faces): The widget face should inherit
11341         the font of the gui-element face.
11342
11343 2000-04-04  Andy Piper  <andy@xemacs.org>
11344
11345         * glyphs-x.c (x_button_update): new function. unconditionally
11346         update a button's state when the instance is dirty.
11347         (image_instantiator_format_create_glyphs_x): add x_button_update.
11348         (x_widget_instantiate): remove old resize cruft.
11349
11350 2000-04-02  Andy Piper  <andy@xemacs.org>
11351
11352         * frame.c (change_frame_size_1): The introduction of gutters means
11353         that we need to allow 0 as a potential frame dimension.
11354
11355 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11356
11357         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
11358         image glyph if allow_cursor.
11359         (add_hscroll_rune): Don't allow cursor to border glyph.
11360         (create_text_block): Ditto.
11361
11362         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
11363         text not in buffer.
11364         (redisplay_output_layout): Call ensure_face_cachel_complete for
11365         text image glyph.
11366
11367
11368 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11369
11370         * redisplay.c (add_glyph_rune): Adding text image as text runes.
11371
11372         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
11373         not in buffer
11374
11375         * redisplay-tty.c (tty_output_display_block): Delete the routine
11376         for text image glyph
11377         * redisplay-x.c (x_output_display_block): ditto
11378         * redisplay-msw.c (mswindows_output_display_block): ditto
11379
11380 2000-02-02  Mike Alexander  <mta@arbortext.com>
11381
11382         Note: Some of these were committed by accident as part of other
11383         patches.
11384
11385         * regex.c (regex_compile): Avoid compiler warnings.
11386
11387         * ntproc.c (sys_spawnve): Avoid compiler warnings.
11388
11389         * nt.h: Declare term_ntproc correctly.
11390
11391         * nt.c: Remove incorrect declaration of get_home_directory which
11392         is declared correctly in lisp.h.
11393
11394         * keymap.c (get_keyelt): Avoid compiler warnings.
11395         (raw_lookup_key_mapper): Avoid compiler warnings.
11396
11397         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
11398
11399         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
11400
11401         * filemode.c (mode_string): Avoid compiler warnings.
11402
11403         * file-coding.c (Fcoding_system_aliasee): Add return statement to
11404         avoid warning.
11405
11406         * events-mod.h: Undef some things that winuser.h defines differently.
11407
11408         * data.c (Faset): Avoid compiler warnings.
11409
11410         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
11411
11412 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11413
11414         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
11415         Fall through to simple beep on error.
11416         Replace "extern" by real header file.
11417
11418         * linuxplay.c: Use nativesound.h
11419         (play_sound_data): Return error code. Be less verbose on error.
11420
11421         * sunplay.c: Use nativesound.h
11422         (play_sound_data): Return error code. Be less verbose on error.
11423
11424         * ntplay.c: Use nativesound.h
11425         (play_sound_data): Return fake error code
11426
11427         * sgiplay.c: Use nativesound.h
11428         (play_sound_data): Return error code
11429
11430         * hpplay.c: Use nativesound.h, partially implement
11431         new error code. Break compilation until finished.
11432         (play_sound_data): error code.
11433
11434         * nativesound.h (play_sound_file):
11435           (play_sound_data): Prototype in new header.
11436
11437 2000-03-31  Andy Piper  <andy@xemacs.org>
11438
11439         * glyphs-widget.c: (button_query_geometry): new function. Adjust
11440         for toggle and radio buttons.
11441         (image_instantiator_buttons): use it.
11442
11443 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11444
11445         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
11446         (x_update_horizontal_scrollbar_callback): Return if no mirror was
11447         found. Scrollbar event probably belonged to some old config.
11448
11449 2000-03-31  Andy Piper  <andy@xemacs.org>
11450
11451         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
11452         than 1.
11453         (initialize_widget_image_instance): default layout to
11454         LAYOUT_HORIZONTAL rather than 0.
11455         (widget_instantiate): reverse the item list at the end rather than
11456         every iteration.
11457         (layout_layout): re-code for the border text at the front of the
11458         item list rather than at the end.
11459         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
11460         provided by the user.
11461         (widget_query_geometry): comment.
11462
11463 2000-03-30  Andy Piper  <andy@xemacs.org>
11464
11465         * glyphs-widget.c (image_instantiator_layout): allow standard
11466         widget keywords in layouts.
11467
11468         * gutter.c (output_gutter): cope with nil gutter contents.
11469
11470         * frame.c (Fset_frame_properties): add gutter docs.
11471
11472 2000-03-29  Andy Piper  <andy@xemacs.org>
11473
11474         * toolbar-msw.c (TBSTYLE_FLAT): add.
11475         (mswindows_output_toolbar): minor fiddling.
11476
11477 2000-03-29  Andy Piper  <andy@xemacs.org>
11478
11479         * gutter.c (output_gutter): force gutter size recalculation if
11480         what we are trying to display won't fit.
11481         (update_gutter_geometry): new function. A per-gutter version of
11482         update_frame_gutter_geometry.
11483         (update_frame_gutter_geometry): use it.
11484         (redraw_exposed_gutter): add extra debugging output.
11485
11486 2000-03-28  Mike Alexander  <mta@arbortext.com>
11487
11488         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
11489         (pdump_file_unmap): Implement it on Windows
11490         (pdump_file_get): Save alocated handles for pdump_file_unmap
11491
11492 2000-03-28  Andy Piper  <andy@xemacs.org>
11493
11494         * gui.c (get_gui_callback): treat Quit specially.
11495
11496 2000-03-27  Andy Piper  <andy@xemacs.org>
11497
11498         * glyphs.c (image_instantiate): be careful to check in the same
11499         way we assigned.
11500
11501 2000-03-27  Didier Verna  <didier@xemacs.org>
11502
11503         * config.h.in: define the proper SMART_INCLUDE macro.
11504         handle renaming of `foo_h_path' to `foo_h_file'.
11505
11506         * database.c: ditto.
11507
11508         * emacs.c: ditto.
11509
11510         * linuxplay.c: ditto.
11511
11512         * terminfo.c: ditto.
11513
11514         * tooltalk.h: ditto.
11515
11516 2000-03-27  Andy Piper  <andy@xemacs.org>
11517
11518         * glyphs-msw.c (mswindows_update_widget): make sure the widget
11519         gets updated whenever the face might have changed.
11520
11521 2000-03-26  Mike Alexander  <mta@arbortext.com>
11522
11523         * dumper.c (pdump_resource_free): Fix the comment.
11524
11525 2000-03-21  Olivier Galibert  <galibert@pobox.com>
11526
11527         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
11528
11529 2000-03-22  Mike Alexander  <mta@arbortext.com>
11530
11531         * dumper.c: Include Windows headers on Windows
11532         (pdump_resource_free): Add a body to the function
11533         (pdump_load): exe_name -> exe_path and add some comments.
11534
11535 2000-03-25  Mike Alexander  <mta@arbortext.com>
11536
11537         * gui.c (copy_gui_item_tree): Return a value in all cases
11538
11539 2000-03-21  Didier Verna  <didier@xemacs.org>
11540
11541         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
11542         lwlib/config.h.in.
11543         (SMART_INCLUDE): new macro.
11544         (POSTGRES_INCLUDE): new macro to include postgresql headers from
11545         the proper location.
11546
11547         * postgresql.c: use it.
11548
11549         * inline.c: ditto.
11550
11551 2000-03-24  Andy Piper  <andy@xemacs.org>
11552
11553         * gutter.c (redraw_exposed_gutters): must be "in display" when we
11554         do this.
11555
11556 2000-03-24  Andy Piper  <andy@xemacs.org>
11557
11558         * redisplay-output.c (compare_runes): use image_instance_changed
11559         to detect changes. Do not depend on glyphs_changed, only depend on
11560         dirtiness.
11561          (redisplay_output_layout): add debug messages.
11562         (compare_runes): ditto.
11563
11564         * glyphs.h: declare new functions.
11565         (struct Lisp_Image_Instance): remove percent and associated
11566         accessors.
11567
11568         * gui.h: declare new copying functions.
11569
11570         * gui.c (copy_gui_item_tree): new function.
11571         (copy_gui_item): new function.
11572         (gui_item_id_hash): revert to standard hash.
11573         (gui_item_hash): ditto.
11574         (gui_item_hash_internal): deleted.
11575         (mark_gui_item): mark value.
11576         (gui_item_add_keyval_pair): add value.
11577         (gui_item_init): ditto.
11578         (gui_add_item_keywords_to_plist): ditto.
11579         (gui_item_equal): ditto.
11580         (syms_of_gui): add Q_value.
11581
11582         * glyphs-x.c (x_progress_gauge_update): use pending items and
11583         value for setting the state.
11584         (x_update_widget): don't set items from pending here.
11585
11586         * glyphs-widget.c (update_widget): update items here.
11587         (progress_gauge_set_property): use items for storing value. Put
11588         new value in pending items.
11589
11590         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
11591         items for new value. Convert percent -> value.
11592         (mswindows_tab_control_update): don't update items here.
11593
11594         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
11595         (update_subwindow): ditto.
11596         (image_instance_changed): new function. Compare hash values and
11597         past and present widget items.
11598         (image_instantiate): We more careful about where we instantiate
11599         things.
11600         (image_instantiate): add error checking.
11601
11602         * gutter.c (syms_of_gutter): use -hook.
11603
11604 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
11605
11606         * console-tty.c (Fset_console_tty_input_coding_system): Use
11607         Qkeyboard.
11608         (Fset_console_tty_output_coding_system): Use Qterminal.
11609         (tty_init_console): Use Qkeyboard and Qterminal.
11610
11611 2000-03-21  Ben Wing  <ben@xemacs.org>
11612
11613         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
11614         From Mike Alexander <mta@arbortext.com>.
11615
11616 2000-03-21  Ben Wing  <ben@xemacs.org>
11617
11618         * event-msw.c (mswindows_need_event): Horrible kludge to fix
11619         process brokenness.  Proper implementation to come.
11620         * callproc.c:
11621         Rename call-process-internal to old-call-process-internal.
11622         New impl. in process.el.
11623
11624 2000-03-21  Martin Buchholz  <martin@xemacs.org>
11625
11626         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
11627
11628 2000-03-20  Andy Piper  <andy@xemacs.org>
11629
11630         * glyphs.c (full_list_hash): make hashes of the same elements in
11631         different orders return different values.
11632
11633 2000-03-20  Martin Buchholz <martin@xemacs.org>
11634
11635         * XEmacs 21.2.32 is released.
11636
11637 2000-03-20  Martin Buchholz  <martin@xemacs.org>
11638
11639         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
11640         (DFC_MALLOC_USE_CONVERTED_DATA):
11641         Add aliasing-safe casts to allow use with char* or unsigned char*
11642         lvalues.
11643
11644         * eldap.c (Fldap_open):
11645         (Fldap_search_basic):
11646         (Fldap_add):
11647         (Fldap_modify):
11648         Make C++-compilable.
11649         Make sure GCPRO'ed variables are initialized.
11650         Use temp variables to avoid repeated calls to Flength.
11651
11652 2000-03-16  Martin Buchholz  <martin@xemacs.org>
11653
11654         * sysfile.h:
11655         Make sure PATH_MAX is always defined.
11656         Include limits.h for PATH_MAX.
11657         Deprecate use of MAXPATHLEN.
11658
11659 2000-03-10  Martin Buchholz  <martin@xemacs.org>
11660
11661         * emacs.c: Add reinit_vars_of_fileio.
11662         * symsinit.h: Add reinit_vars_of_fileio.
11663         * fileio.c (reinit_vars_of_fileio): New.
11664         * fileio.c (Fmake_temp_name):
11665         Initialize temp_name random number from microseconds to make
11666         collisions even less likely.  Initialize always at process startup
11667         time.  (make-temp-name) used to return the same file name twice in
11668         a row when PDUMP.
11669         Random stylistic fiddling.
11670         Comment fixes.
11671
11672 2000-03-20  Andy Piper  <andy@xemacs.org>
11673
11674         * glyphs.c (image_instantiate): allow text glyphs to be
11675         instantiated in the minibuffer window.
11676
11677 2000-03-19  Andy Piper  <andy@xemacs.org>
11678
11679         * glyphs.c (image_instance_hash): be careful about which items we
11680         hash on.
11681
11682         * glyphs-widget.c (tab_control_set_property): record into pending
11683         items rather than the actual items.
11684
11685         * glyphs-x.c (x_update_widget): use pending items to update with.
11686
11687         * glyphs-msw.c (mswindows_tab_control_update): use pending items
11688         to update with.
11689
11690         * glyphs.c (mark_image_instance): mark pending items.
11691
11692         * window.c (Fset_window_configuration): record the buffer.
11693         (Fselect_window): totally revert previous change which breaks many
11694         things.
11695
11696 2000-03-18  Andy Piper  <andy@xemacs.org>
11697
11698         * glyphs-msw.c (mswindows_tab_control_update): force selected
11699         item.
11700
11701         * glyphs.c (image_instantiate): don't allow the minibuffer as a
11702         window domain cache, otherwise we get inconsistencies at
11703         startup. There is something fishy at startup which can lead to the
11704         minibuffer being the selected window when the gutter content is
11705         instantiated.
11706
11707         * gui.c (parse_gui_item_tree_list): add probably unnecessary
11708         gcpros.
11709         (parse_gui_item_tree_children): ditto.
11710         (parse_gui_item_tree_item): ditto.
11711
11712         * glyphs.c (Fupdate_widget_instances): return something.
11713
11714 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
11715
11716         * window.c (Fselect_window): Undo 2000-03-17 change.
11717
11718 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
11719
11720         * postgresql.c (Fpq_setenv): Remove this turkey when linking
11721         against v7.0 libraries.  Insta-coredump city until the postgres
11722         folks fix it.
11723
11724 2000-03-17  Andy Piper  <andy@xemacs.org>
11725
11726         * faces.c (complex_vars_of_faces): don't give the widget face an
11727         inherited background pixmap.
11728
11729         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
11730         selected item.
11731
11732         * event-stream.c (Fdispatch_non_command_events): return something.
11733
11734         * gutter.c (output_gutter): use widget face.
11735         (clear_gutter): ditto.
11736
11737         * NEWS: adjust again.
11738
11739         * window.c (Fselect_window): make sure this runs to completion to
11740         avoid oddities with Fset_window_configuration.
11741         (Fcurrent_window_configuration): in general do not save the
11742         minibuffer as the selected window.
11743
11744         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
11745
11746 2000-03-16  Olivier Galibert  <galibert@pobox.com>
11747
11748         * emacs.c (Frunning_temacs_p): Revert previous patch.
11749         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
11750
11751 2000-03-16  Andy Piper  <andy@xemacs.org>
11752
11753         * glyphs-x.c (x_tab_control_update): if no widget values then
11754         return.
11755
11756         * NEWS: update for new features.
11757
11758         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
11759         synthetic event to the native system.
11760         (reinit_vars_of_event_Xt): set force_event_pending to
11761         emacs_Xt_force_event_pending.
11762
11763         * events.h (struct event_stream): add force_event_pending.
11764
11765         * specifier.c (recompute_one_cached_specifier_in_window): add
11766         comment.
11767
11768         * redisplay.c (redisplay_frame): don't call
11769         update_frame_subwindows. Reset subwindow cachels when
11770         subwindows_changed, removing this was an optimization too far.
11771
11772         * redisplay-output.c (compare_runes): reorganize so that we catch
11773         glyph changes when we want them. Set optimize_output when this
11774         would help layouts.
11775         (redisplay_output_layout): remove frame_really_changed, use
11776         optimize_output instead.
11777
11778         * redisplay-msw.c (mswindows_output_display_block): reset
11779         optimize_output after outputting a glyph.
11780         * redisplay-x.c (x_output_display_block): ditto.
11781         * redisplay-tty.c (tty_output_display_block): ditto.
11782
11783         * gutter.c: (specifier_vars_of_gutter): use new spec changed
11784         functions.
11785         (gutter_specs_changed): do specific gutter positions.
11786         (top_gutter_specs_changed): new function. Only update the
11787         specified gutter specs.
11788         (bottom_gutter_specs_changed): ditto.
11789         (left_gutter_specs_changed): ditto.
11790         (right_gutter_specs_changed): ditto.
11791
11792         * gui.c (gui_item_hash_internal): new function, does a real hash.
11793         (gui_item_id_hash): use it.
11794         (gui_item_hash): hash the eval'ed gui_item.
11795
11796         * gui-x.c (popup_selection_callback): send an eval event to call
11797         Fupdate_widget_instances.
11798
11799         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
11800         to call Fupdate_widget_instances.
11801
11802         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
11803         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
11804
11805         * glyphs.c: (update_frame_subwindows): deleted.
11806         (Fupdate_widget_instances): new function for updating the dirty
11807         state of widgets that might have changed.
11808         (syms_of_glyphs): add Qupdate_widget_instances.
11809         (full_list_hash): hash a list completely.
11810         (image_instance_hash): use it for items and properties.
11811
11812         * frame-msw.c (mswindows_size_frame_internal): remove unused
11813         variable.
11814
11815         * faces.h (struct face_cachel): fix comment.
11816
11817         * event-stream.c (Fdispatch_non_command_events): new
11818         function. Process non-command events, forcing an event cycle
11819         beforehand.
11820         (syms_of_event_stream): declare.
11821         (event_stream_force_event_pending): new function. Force an event
11822         on the native event queue so that an event cycle will occur next
11823         time we check.
11824
11825         * event-msw.c:
11826         (struct ntpipe_shove_stream):
11827         (mswindows_enqueue_dispatch_event):
11828         (mswindows_dequeue_dispatch_event):
11829         (mswindows_cancel_dispatch_event):
11830         (mswindows_pump_outstanding_events):
11831         (mswindows_drain_windows_queue):
11832         (mswindows_handle_paint):
11833         (mswindows_wnd_proc):
11834         (mswindows_key_to_emacs_keysym):
11835         (get_process_input_waitable):
11836         (emacs_mswindows_delete_stream_pair): re-indent file.
11837         (mswindows_need_event): do not process further fds if the windows
11838         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
11839         fixes the 100% cpu problem.
11840         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
11841
11842 2000-03-15  Olivier Galibert  <galibert@pobox.com>
11843
11844         * alloc.h: New.
11845         * dumper.h: New.
11846         * dumper.c: New.
11847
11848         * emacs.c: Moved dump file searching to dumper.c.
11849         (Frunning_temacs_p): Fixed.
11850
11851         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
11852         last_lrecord_type_index_assigned.
11853
11854 2000-02-20  Olivier Galibert  <galibert@pobox.com>
11855
11856         * symsinit.h: Added reinit parameter to init_console_stream
11857         declaration.
11858
11859         * lisp.h: Added file parameter to pdump_load declaration.
11860
11861         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
11862         support.  Added dump file searching.
11863
11864         * config.h.in: Added EMACS_PROGNAME.
11865
11866         * console-stream.c (init_console_stream): Fix reinitialisation
11867         when running from temacs.
11868
11869         * alloc.c (pdump): Add id support.
11870         (pdump_load): Add file parameter and signature/id support.
11871
11872         * Makefile.in.in: Add full pdump support.
11873
11874 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
11875
11876         * postgresql.c: Update documentation to reflect latest code
11877         status.
11878         (print_result): Show tuple counts in printed representation when
11879         appropriate.
11880         (Fpq_put_nbytes): MULE-ize.
11881         (Fpq_get_line_async): Ditto.
11882
11883 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
11884
11885         * postgresql.c (Fpq_lo_import): Fix return value.
11886         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
11887
11888 2000-03-13  Ben Wing  <ben@xemacs.org>
11889
11890         * alloc.c (pdump_load):
11891         Fix compile warning under mswin.
11892
11893 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
11894
11895         * postgresql.c: Mule-ization, bug fixes.
11896         Use PG_CODING to encapsulate coding system name changes.
11897         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
11898         (pg-coding-system): Create.
11899
11900         (Fpq_conn_defaults): Mule-ize.
11901         (Fpq_connectdb): Mule-ize & bug fix.
11902         (Fpq_connect_start): Mule-ize.
11903         (Fpq_set_client_encoding): Mule-ize.
11904         (Fpq_finish): Document `DEAD' connection status.
11905         (Fpq_clear): Ditto.
11906         (Fpq_pgconn): Mule-ize.
11907         (Fpq_exec): Mule-ize & bug fix.
11908         (Fpq_send_query): Ditto.
11909         (Fpq_get_result): Ditto.
11910         (Fpq_res_status): Mule-ize.
11911         (Fpq_result_error_message): Mule-ize.
11912         (Fpq_ntuples): fix comments.
11913         (Fpq_fname): Mule-ize.
11914         (Fpq_fnumber): Mule-ize.
11915         (Fpq_ftype): fix comments.
11916         (Fpq_get_value): Mule-ize.
11917         (Fpq_cmd_status): Ditto.
11918         (Fpq_cmd_tuples): Ditto.
11919         (Fpq_oid_value): Ditto.
11920         (Fpq_notifies): Ditto.
11921         (Fpq_lo_import): Ditto.
11922         (Fpq_lo_export): Ditto.
11923         (Fpq_get_line): Ditto.
11924         (Fpq_put_line): Mule-ize and bug fix.
11925         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
11926
11927 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
11928
11929         * postgresql.c (vars_of_postgresql): Mule-ize.
11930         (Fpq_conn_defaults): Ditto.
11931
11932 2000-03-12  Ben Wing  <ben@xemacs.org>
11933
11934         * alloc.c (Fmake_byte_code):
11935         * alloc.c (debug_string_purity_print):
11936         * alloc.c (pdump_backtrace):
11937         * alloc.c (pdump_get_indirect_count):
11938         * alloc.c (pdump_register_sub):
11939         * alloc.c (pdump_register_object):
11940         * alloc.c (pdump_register_struct):
11941         * alloc.c (pdump_dump_data):
11942         * alloc.c (pdump_reloc_one):
11943         Minor cleanups.
11944
11945         * console-msw.c:
11946         * console-msw.c (GetConsoleHwnd):
11947         * console-msw.c (msw_hide_console):
11948         * console-msw.c (msw_show_console):
11949         * console-msw.c (msw_ensure_console_buffered):
11950         * console-msw.c (msw_output_console_string):
11951         * console-msw.c (console_type_create_mswindows):
11952
11953         a) Added functions to manipulate the console window for use with
11954         shell support.
11955
11956         b) Added support for writing text to the console, which is now
11957         used under Windows when xemacs is not being run non-interactively,
11958         to write text that would otherwise be destined for stdout because
11959         under these circumstances, text written to stdout tends to
11960         disappear and not be seen.
11961
11962         * console-msw.h:
11963         * event-Xt.c:
11964         * event-Xt.c (x_event_to_emacs_event):
11965         * event-Xt.c (describe_event_window):
11966         * events-mod.h (XEMACS_MOD_CONTROL):
11967         * events.c:
11968         * events.c (Fmake_event):
11969         * events.c (character_to_event):
11970         * events.c (event_to_character):
11971         * events.c (format_event_object):
11972         * events.c (Fevent_modifiers):
11973         * events.h:
11974         * events.h (struct key_data):
11975         * events.h (struct button_data):
11976         * events.h (struct misc_user_data):
11977         * frame-x.c (Fcde_start_drag_internal):
11978         * frame-x.c (Foffix_start_drag_internal):
11979         * gpmevent.c (Freceive_gpm_event):
11980         * keymap.c:
11981         * keymap.c (bucky_sym_to_bucky_bit):
11982         * keymap.c (control_meta_superify):
11983         * keymap.c (make_key_description):
11984         * keymap.c (keymap_lookup_directly):
11985         * keymap.c (create_bucky_submap):
11986         * keymap.c (keymap_store):
11987         * keymap.c (define_key_check_and_coerce_keysym):
11988         * keymap.c (define_key_parser):
11989         * keymap.c (define_key_alternate_name):
11990         * keymap.c (Fdefine_key):
11991         * keymap.c (raw_lookup_key_mapper):
11992         * keymap.c (struct map_keymap_unsorted_closure):
11993         * keymap.c (map_keymap_unsorted_mapper):
11994         * keymap.c (map_keymap_sort_predicate):
11995         * keymap.c (map_keymap_sorted):
11996         * keymap.c (accessible_keymaps_mapper_1):
11997         * keymap.c (where_is_recursive_mapper):
11998         * keymap.c (describe_map_mapper):
11999         * keymap.c (describe_map_sort_predicate):
12000         * keymap.c (describe_map):
12001         * keymap.c (complex_vars_of_keymap):
12002         And a number of other files, the key modifier preprocessor
12003         constants that xemacs uses have names that conflict with constants
12004         defined under MS Windows for other purposes, so they were renamed
12005         to begin with the prefix XEMACS_. The variables that hold such
12006         modifiers were changed to consistently be of type int to fix
12007         various compile warnings.
12008
12009         * console.c (complex_vars_of_console):
12010         * device.c:
12011         * device-msw.c:
12012         * device-msw.c (mswindows_finish_init_device):
12013         * device-msw.c (msw_get_workspace_coords):
12014         * device-msw.c (mswindows_device_system_metrics):
12015         and various other files, added support for a new
12016         device property called offset-workspace which returns the position
12017         of the upper left corner of the workspace area and goes along with
12018         the existing size-workspace property.
12019
12020         * dialog-msw.c:
12021         * dialog-msw.c (push_bufbyte_string_as_unicode):
12022         * dialog-msw.c (mswindows_popup_dialog_box):
12023         Added support for XEmacs-style accelerator specifications in
12024         button text.  Note: I didn't add support for this under X Windows,
12025         and somebody needs to do this.
12026
12027         * dialog.c:
12028         * dialog.c (Fpopup_dialog_box):
12029         Documented the support for accelerators that was just mentioned.
12030
12031         editfns.c (get_home_directory): Changed behavior under Windows
12032         when HOME not defined; former behavior was irretrievably broken.
12033
12034         * emacs.c:
12035         * emacs.c (main_1):
12036         * emacs.c (main):
12037         * minibuf.c (clear_echo_area_internal):
12038         * minibuf.c (echo_area_append):
12039         * print.c:
12040         * print.c (std_handle_out_external):
12041         * print.c (std_handle_out_va):
12042         * print.c (fatal):
12043         * print.c (write_string_to_stdio_stream):
12044         * print.c (output_string):
12045         * print.c (debug_print):
12046         * print.c (debug_backtrace):
12047         * print.c (debug_short_backtrace):
12048         Cleaned up the code that prints text to stdout so that this can be
12049         changed to output into a console window instead under MS Windows,
12050         as described above.
12051
12052         * eval.c:
12053         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
12054         * eval.c (internal_catch):
12055         * eval.c (unwind_to_catch):
12056         * eval.c (throw_or_bomb_out):
12057         * eval.c (condition_case_1):
12058         * eval.c (signal_1):
12059         * eval.c (check_error_state_sanity):
12060         * eval.c (call_with_suspended_errors_1):
12061         * eval.c (call_with_suspended_errors):
12062         * eval.c (reinit_vars_of_eval):
12063         Added code to catch throw loops and check for a pesky bug that may
12064         be gone now.
12065
12066         * event-msw.c:
12067         * event-msw.c (key_needs_default_processing_p):
12068         * event-msw.c (mswindows_wnd_proc):
12069         * event-msw.c (mswindows_modifier_state):
12070         * event-msw.c (emacs_mswindows_quit_p):
12071         * event-msw.c (vars_of_event_mswindows):
12072         a) Added support for using the alt key to select menu items as is
12073         standard under MS Windows.  This is controlled using the variable
12074         menu-accelerator-enabled, just like under X Windows.  There is an
12075         option on the options menu to turn this support on.  I really
12076         think that it should be on by default under Windows, but I'm not
12077         going to make this change yet.
12078
12079         b)  Added support for dynamic display size changes under Windows.
12080
12081         * event-stream.c:
12082         * event-stream.c (maybe_echo_keys):
12083         * event-stream.c (Fnext_event):
12084         * event-stream.c (command_builder_find_leaf):
12085         * event-stream.c (lookup_command_event):
12086         * event-stream.c (execute_command_event):
12087         * event-stream.c (pre_command_hook):
12088         * event-stream.c (post_command_hook):
12089         * event-stream.c (syms_of_event_stream):
12090         * event-stream.c (vars_of_event_stream):
12091         * event-stream.c (complex_vars_of_event_stream):
12092         * events.h (struct command_builder):
12093
12094         a) Tried to clean up a little bit the horribly written x-specific
12095         accelerator code that crept into this file.  I moved this code
12096         into menubar-x.c where it belongs. I also needed to move the
12097         command builder structure into the file events.h because it is
12098         accessed directly by this accelerator code.  What I didn't do, but
12099         which should be done at some point, is to properly abstract this
12100         code using device methods instead of the kludgy way that it
12101         currently hooks into the event code.
12102
12103         b) Added the lisp variables this-command-properties and
12104         last-command- properties, which should be used to synchronize two
12105         adjacent commands in preference to playing games with the variable
12106         this-command, which is typically what happens.
12107
12108         c) Added some slightly nasty code to hook into the lisp support
12109         for shifted- motion-key selection.  This is actually necessary for
12110         somewhat complicated reasons, which are described in
12111         simple.el. (NB: I think the proper thing would be to have the code
12112         that calls the pre and post command hooks also call out to generic
12113         lisp functions in simple.el, where all built-in stuff could be
12114         added.  I will think about this more.)
12115
12116         * event-unixoid.c (poll_fds_for_input):
12117         * lread.c (readchar):
12118         * redisplay-tty.c (tty_clear_frame):
12119         * redisplay-x.c (x_get_gc):
12120         * signal.c (interrupt_signal):
12121         And a whole bunch of other files: fixed up places that printed
12122         directly to stderr to instead call the function stderr_out so that
12123         the changes I made under Windows work correctly.
12124
12125         * filemode.c (mode_string):
12126         Warning fixes.
12127
12128         * frame-msw.c:
12129         * frame-msw.c (mswindows_size_frame_internal):
12130         Fixed the computation of frame size and position to keep the frame
12131         within the workspace area, rather than within the physical
12132         dimensions of the screen, so that the frame doesn't overlap window
12133         manager decorations, such as the start menu and toolbar, typically
12134         at the bottom of the screen.
12135
12136         * frame.c (vars_of_frame):
12137         Changed the default frame title format under MS Windows to consist
12138         of buffername-XEmacs, which is standard under MS Windows.  I think
12139         it might be a good idea to change this everywhere because I think
12140         it is superior to the current frame title format, but this is the
12141         kind of change that is likely to cause some people to get annoyed,
12142         so I'm not making it.
12143
12144         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
12145
12146         * gui-msw.c (mswindows_handle_gui_wm_command):
12147         Fixed compile warnings.
12148
12149         * gui-x.c:
12150         * gui-x.c (strdup_and_add_accel):
12151         * gui-x.c (button_item_to_widget_value):
12152         * gui-x.h:
12153         Added code to automatically put an accelerator onto the beginning
12154         of menu items that don't have one as is now the standard, and is
12155         described more later.  Also fixed things so that the menu item
12156         name can be an evaluated expression, again a new standard.
12157
12158         * gui.c:
12159         * gui.c (gui_item_add_keyval_pair):
12160         * gui.c (make_gui_item_from_keywords_internal):
12161         * gui.c (gui_add_item_keywords_to_plist):
12162         * gui.c (gui_item_accelerator):
12163         * gui.c (gui_name_accelerator):
12164         * gui.c (gui_item_included_p):
12165         * gui.c (gui_item_display_flush_left):
12166         * gui.c (gui_item_display_flush_right):
12167         * gui.c (parse_gui_item_tree_item):
12168         * gui.c (parse_gui_item_tree_children):
12169         * gui.c (parse_gui_item_tree_list):
12170         Mule-ized.  Cleanup.  GCPRO addition.
12171
12172         * line-number.c (buffer_line_number):
12173         * lisp.h:
12174         * lisp.h (EMACS_INT_MAX):
12175         Added the manifest constant EMACS_INT_MIN corresponding to the
12176         existing constant EMACS_INT_MAX.  This is partially to fix compile
12177         warnings under Windows, and partly for cleanliness.
12178
12179         * menubar-msw.c:
12180         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
12181         * menubar-msw.c (msw_translate_menu_or_dialog_item):
12182         * menubar-msw.c (displayable_menu_item):
12183         * menubar-msw.c (populate_menu_add_item):
12184         * menubar-msw.c (populate_or_checksum_helper):
12185         * menubar-msw.c (populate_menu):
12186         * menubar-msw.c (update_frame_menubar_maybe):
12187         * menubar-msw.c (prune_menubar):
12188         * menubar-msw.c (msw_char_is_accelerator):
12189         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
12190         * menubar-msw.c (mswindows_handle_wm_command):
12191         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
12192         * menubar-msw.c (mswindows_handle_wm_initmenu):
12193         * menubar-msw.c (mswindows_update_frame_menubars):
12194         * menubar-msw.c (mswindows_free_frame_menubars):
12195         * menubar-msw.c (mswindows_popup_menu):
12196         Fixed a bug in handling accelerators where an extra character
12197         would be displayed in the menu item.  Also generalized the
12198         function displayable_menu_item because it is now used by the
12199         dialog box code as well.  And finally, added code in the functions
12200         that create the menubar to extract a list of accelerators for the
12201         top level menubar, which is used in the event code to determine
12202         whether a particular alt-key combination should be used to invoke
12203         a menu item, or should be passed through to access the standard
12204         XEmacs keymap binding for this key combination.
12205
12206         Much needed GCPROing.
12207
12208         * menubar-x.c:
12209         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12210         * menubar-x.c (menu_item_descriptor_to_widget_value):
12211         * menubar-x.c (restore_in_menu_callback):
12212         * menubar-x.c (x_popup_menu):
12213         * menubar-x.c (menu_move_up):
12214         * menubar-x.c (menu_move_down):
12215         * menubar-x.c (menu_move_left):
12216         * menubar-x.c (menu_move_right):
12217         * menubar-x.c (menu_select_item):
12218         * menubar-x.c (command_builder_operate_menu_accelerator):
12219         * menubar-x.c (menu_accelerator_junk_on_error):
12220         * menubar-x.c (command_builder_find_menu_accelerator):
12221         * menubar-x.c (Faccelerate_menu):
12222         * menubar.h:
12223         Moved a whole bunch of code here that was previously in
12224         event-stream.c as described above.  There is also code connected
12225         to the new standard of adding an accelerator to the beginning of
12226         menu items that don't have one as described above and below.
12227
12228         * menubar.c:
12229         * menubar.c (menu_parse_submenu_keywords):
12230         * menubar.c (Fmenu_find_real_submenu):
12231         * menubar.c (Fnormalize_menu_item_name):
12232         * menubar.c (syms_of_menubar):
12233         * menubar.c (vars_of_menubar):
12234         * menubar.c (complex_vars_of_menubar):
12235
12236         a) Cleaned up a bunch of documentation and improved it.
12237
12238         b) XEmacs now automatically adds an accelerator onto the beginning
12239         of any menu items that don't have one.  I did this because there
12240         will inevitably be some menu items on the main menubar that don't
12241         have accelerators on them because the package that adds that
12242         particular menu item hasn't yet been fixed up to have accelerators
12243         in them and it looked rather strange to have some items with and
12244         some items without accelerators, especially since even in items
12245         without accelerators, you can, at least under windows, still
12246         access the item through an accelerator corresponding to the first
12247         character in the item's name.  If people don't like this behavior,
12248         I can add a variable to turn it off optionally, but I'm not sure
12249         this is a good idea because we really do need to have accelerators
12250         on all of the menu items, and if a package doesn't like the
12251         accelerators being put on the first character, then it should put
12252         the accelerators where they belong.
12253
12254         c) I made a behavior change, which is that the descriptor that
12255         specifies the text of the menu item, which formerly was just a
12256         string, can now also be an evaluated expression.  This makes this
12257         descriptor parallel with all of the others, which could also be
12258         evaluated expressions.  This also obviates the need for the
12259         keyword :label, which was previously listed in the documentation
12260         as unimplemented, and which was for the same purpose.
12261
12262         d) GCPROing.
12263
12264         * ntproc.c:
12265         * ntproc.c (new_child):
12266         * ntproc.c (sys_spawnve):
12267         * ntproc.c (find_child_console):
12268         * ntproc.c (sys_kill):
12269         Fixed compile warnings.  By the way, this file should really go
12270         away entirely, and this will happen as soon as Kirill makes his
12271         final round of process cleanups, which affect the function
12272         call-process.
12273
12274         * process-nt.c:
12275         * process-nt.c (struct nt_process_data):
12276         * process-nt.c (find_process_from_pid):
12277         * process-nt.c (send_signal_the_nt_way):
12278         * process-nt.c (enable_child_signals):
12279         * process-nt.c (find_child_console):
12280         * process-nt.c (send_signal_the_95_way):
12281         * process-nt.c (nt_finalize_process_data):
12282         * process-nt.c (ensure_console_window_exists):
12283         * process-nt.c (nt_create_process):
12284         * process-nt.c (nt_kill_child_process):
12285         * process-nt.c (nt_kill_process_by_pid):
12286         * process-nt.c (nt_open_network_stream):
12287         * process-nt.c (vars_of_process_nt):
12288         Copied over code from Emacs 20.5 to correctly send signals to sub-
12289         processes under Windows 95.  Also added code to automatically
12290         create and hide console window when a sub-process is created under
12291         Windows 95, which obviates the need for the separate runemacs.exe
12292         executable, and finally implemented some variables that were
12293         implemented in Emacs 20.5, but previously not in XEmacs.  These
12294         include mswindows- start-process-share-console and
12295         mswindows-start-process-inherit-error-mode. (Both of these only
12296         apply to Windows 95.)
12297
12298         * regex.c (regex_compile): Fixed a compile warning.
12299
12300         * select-msw.c:
12301         * select-msw.c (mswindows_own_selection):
12302         * select-msw.c (mswindows_get_foreign_selection):
12303         * select-msw.c (mswindows_disown_selection):
12304         * select-msw.c (console_type_create_select_mswindows):
12305         * select-msw.c (syms_of_select_mswindows):
12306         Cleaned up the file and implemented the device method
12307         selection_exists_p, which had accidentally been left out.  Also
12308         removed four lisp functions that were remnants from before the
12309         time when the selection code was properly device abstracted.
12310         These functions are no longer needed because there are generic
12311         equivalents, and because they were added recently and don't exist
12312         in FSF Emacs, I don't think there's any problem with just deleting
12313         them.
12314
12315         * sysdep.c:
12316         * sysdep.c (sys_subshell):
12317         Fixed a compile warning, although in this case there's probably
12318         something wrong with this code, and it ought to be looked into
12319         more thoroughly by somebody who understands it.
12320
12321         * window.c:
12322         * window.c (Fwindow_text_area_height):
12323         * window.c (Fwindow_width):
12324         * window.c (Fwindow_full_width):
12325         * window.c (Fwindow_pixel_width):
12326         * window.c (debug_print_window):
12327         * window.c (syms_of_window):
12328         Added functions window-text-area-height and window-full-width,
12329         which are functions for returning various width and height
12330         characteristics of a window. (One of these functions is necessary
12331         for making the file dialog box work correctly, and the other one
12332         was added for completeness.)  Also added a table to the
12333         documentation for window-height which describes the entire scheme
12334         for accessing width and height characteristics of a window.
12335
12336 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12337
12338         * nt.c (fstat): Added a comment for another problem with
12339         non-encapsulated [f]stat(), reported by Adrian Aichner
12340         <aichner@ecf.teradyne.com>.
12341
12342 2000-03-11  Andy Piper  <andy@xemacs.org>
12343
12344         * window.c (make_dummy_parent): initialize subwindow instance
12345         cache.
12346         (Fset_window_configuration): zero extent_modiff.
12347
12348 2000-03-10  Andy Piper  <andy@xemacs.org>
12349
12350         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
12351         more changes can be triggered.
12352         (Fredisplay_frame): ditto.
12353         (Fredraw_device): ditto.
12354         (Fredisplay_device): ditto.
12355         (redisplay_frame): make non-static.
12356         (redisplay_frame): call update_frame_gutter_geometry outside of
12357         display proper.
12358
12359         * gutter.h: declare update_frame_gutter_geometry.
12360
12361         * redisplay.h: declare redisplay_frame.
12362
12363         * gutter.c (update_frame_gutter_geometry): move geometry changes
12364         in update_frame_gutters here. Geometry changes can only occur
12365         outside of redisplay.
12366         (update_frame_gutters): remove geometry change code.
12367         (Fredisplay_gutter_area): make sure that we are in display when we
12368         update and that we have flushed any size changes.
12369
12370 2000-03-11  Andy Piper  <andy@xemacs.org>
12371
12372         * alloc.c (pdump_dump_data): remove i & count shadows.
12373
12374 2000-02-27  Mike Alexander  <mta@arbortext.com>
12375
12376         * sysdep.h: Declare pdump_read_file
12377
12378         * sysdep.c (pdump_read_file): New function
12379
12380         * alloc.c (pdump_load): Call pdump_read_file to get the portable
12381         dump data
12382
12383 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12384
12385         * lrecord.h: add `lrecord_type_pgsetenv'.
12386
12387 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
12388
12389         * symsinit.h: declare (vars|syms)_of* functions.
12390         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
12391
12392 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
12393
12394         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
12395
12396         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
12397         GCCs.
12398
12399         * emacs.c (main_1): Call postgres initialization code.
12400
12401         * postgresql.h: New file.  PostgreSQL RDBMS support.
12402         * postgresql.c: New file.
12403
12404 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12405
12406         * redisplay-output.c (redisplay_output_display_block): Disable
12407         redundant code.
12408
12409 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12410
12411         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
12412         (Fcanna_henkan_next): Ditto.
12413         (Fcanna_bunsetu_henkou): Ditto.
12414         (Fcanna_henkan_kakutei): Ditto.
12415         (Fcanna_henkan_end): Ditto.
12416         (Fcanna_henkan_quit): Ditto.
12417         (Fcanna_henkan_next): Set retun value correctly.
12418         (c2mu): Use unsigned char instead of signed char.
12419
12420 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12421
12422         * emacs.c (main_1): Always call syms_of_gui.
12423         * inline.c: include gui.h
12424
12425 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12426
12427         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
12428         converted to Lisp_Object.
12429         (Qtop_bottom): New variable.
12430         (syms_of_redisplay): Initialize it.
12431         * redisplay.h (Vvisible_bell): Ditto.
12432         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
12433         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
12434         only flash top and bottom.
12435
12436 2000-03-08  Andy Piper  <andy@xemacs.org>
12437
12438         * buffer.c (Frename_buffer): record new buffer name the right way.
12439
12440 2000-03-08  Andy Piper  <andy@xemacs.org>
12441
12442         * glyphs.c (update_subwindow): increase hash depth so that widget
12443         items get picked up properly.
12444
12445         * redisplay-output.c (compare_runes): increase hash depth so that
12446         widget items get picked up properly.
12447
12448 2000-03-08  Andy Piper  <andy@xemacs.org>
12449
12450         * gutter.c (output_gutter): add some debug.
12451
12452         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
12453         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
12454         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
12455
12456         * redisplay-output.c (compare_runes): use display_hash to
12457         determine if glyphs really are not the same.
12458
12459         * glyphs.c (update_subwindow): check display_hash to see if
12460         anything really needs to be updated. If not then do
12461         nothing. Record the display_hash after updating.
12462         (image_instance_equal): compare the image_instance face also.
12463
12464 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
12465
12466         * redisplay.h: Fix comment style.
12467
12468 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12469
12470         * consle-msw.h (struct mswindows_frame):
12471         Added new member paint_pending to indicate whether a WM_PAINT
12472         magic event has been queued for this frame.
12473
12474         * event-msw.c (mswindows_drain_windows_queue):
12475         Don't queue a WM_PAINT magic event if one is already queued.
12476         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
12477
12478         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
12479
12480 2000-03-07  Didier Verna  <didier@xemacs.org>
12481
12482         * dired.c: #include `regex.h' after `sysfile.h'.
12483
12484 2000-03-06  Martin Buchholz  <martin@xemacs.org>
12485
12486         * sound.c (init_nas_sound): Fix compiler warning.
12487
12488         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
12489         (FREE_STRUCT_P):
12490         (MARK_STRUCT_AS_FREE):
12491         (MARK_STRUCT_AS_NOT_FREE):
12492         Make `gcc -fstrict-aliasing' work properly.
12493
12494 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12495
12496         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
12497         (mswindows_delete_device): Call CoUnnitialize().
12498
12499         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
12500
12501 2000-02-25    <CraigL@DyCon.com>
12502
12503         * process-nt.c: MinGW now has <shellapi.h>, but still needs
12504         <errno.h>.
12505
12506         * sysdep.c: This extern declaration for environ prevents MinGW
12507         from finding the variable in CRTDLL.DLL.
12508
12509         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
12510         windows headers.
12511         (SHGFI_EXETYPE): ..
12512         (WM_MOUSEWHEEL): ..
12513         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
12514         definitions.
12515         (MMRESULT): Removed, now defined in cygwin's windows headers.
12516         (TIMECAPS): ..
12517         (uid_t,gid_t,pid_t,ssize_t): ..
12518         (_timeb): Removed, MinGW defines both _timeb and timeb.
12519         (HAVE_H_ERRNO): Added.
12520         (HAVE_TZNAME): Added, configure is not detecting this.
12521
12522 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
12523
12524         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
12525         * syntax.c (syntax_match): Use it.
12526
12527         * cmds.c: Import auto-fill-chars from FSF Emacs.
12528         (Vauto_fill_chars): New variables.
12529         (internal_self_insert): Check Vauto_fill_chars.
12530         (vars_of_cmds):
12531         Declare auto-fill-chars as a Lisp variable and initialize it.
12532
12533 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12534
12535         * fileio.c (Fmake_symbolic_link):
12536         (Ffile_symlink_p):
12537         Run handlers even if local machine doesn't have symlinks.
12538
12539 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12540
12541         * event-msw.c (mswindows_drain_windows_queue):
12542         Don't generate paint magic events for non-XEmacs frames.
12543
12544 2000-03-05  Andy Piper  <andy@xemacs.org>
12545
12546         * redisplay.c (redisplay_frame): generate_displayable_area and
12547         friends assumes that we are not in GC, we therefore have to make
12548         sure that this doesn't happen.
12549
12550         * gutter.c (calculate_gutter_size): generate_displayable_area
12551         assumes that we are not in GC, we therefore have to make sure that
12552         this doesn't happen.
12553
12554 2000-03-05  Martin Buchholz  <martin@xemacs.org>
12555
12556         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
12557
12558 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12559
12560         * redisplay.c (regenerate_window): Make sure we set a sane value
12561         for end_pos even if we jump out of the loop.
12562         (regenerate_window): Answer Ben's question :-).
12563         (start_end_of_last_line): Add may_error argument.
12564         (start_of_last_line):
12565         (end_of_last_line): Pass may_error = 0.
12566         (end_of_last_line_may_error): New function.
12567         (pixel_to_glyph_translation): Use it, so we don't crash in
12568         event_to_glyph.
12569
12570 2000-03-04  Andy Piper  <andy@xemacs.org>
12571
12572         * window.h (struct window): add gutter_extent_modiff.
12573
12574         * window.c (allocate_window): zero out gutter_extent_modiff.
12575
12576         * redisplay.h: declare sync_display_line_structs.
12577
12578         * redisplay.c (add_glyph_rune): add a better comment.
12579
12580         * redisplay-output.c (sync_display_line_structs): made non-static.
12581         (compare_runes): remove unneccesary glyph cachel access.
12582
12583         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
12584
12585         * gutter.c (output_gutter): don't output the gutter if extent
12586         changes only involve extents in buffers. use 4 sets of display
12587         lines.
12588         (gutter_extent_signal_changed_region_maybe): new function. Mark
12589         extents in gutters as changed.
12590         (update_frame_gutters): use 4 sets of display lines.
12591         (reset_gutter_display_lines): ditto.
12592         (free_frame_gutters): ditto.
12593         (redraw_exposed_gutter): force output of gutters.
12594
12595         * frame.h (struct frame): add 4 sets of gutter display lines.
12596
12597         * extents.c: (extent_changed_for_redisplay): signal changes to
12598         extents in strings in the gutter as well as extents in buffers.
12599
12600 2000-03-02  Andy Piper  <andy@xemacs.org>
12601
12602         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
12603
12604         * frame.c (Fmake_frame): make sure the gutters get initialized
12605         after the frame is visible.
12606         (set_frame_selected_window): re-arrange compilation macros a
12607         little.
12608         (change_frame_size_1): mark gutters changed.
12609
12610         * device.c (Fset_device_class): mark gutters changed.
12611
12612 2000-03-01  Andy Piper  <andy@xemacs.org>
12613
12614         * window.c (window_top_frame_gutter_height): deleted.
12615         (window_bottom_frame_gutter_height): ditto.
12616         (window_left_frame_gutter_height): ditto.
12617         (window_right_frame_gutter_height): ditto.
12618         (window_top_gutter_height): don't use them.
12619         (window_bottom_gutter_height): ditto.
12620         (window_left_gutter_width): ditto.
12621         (window_right_gutter_width): ditto.
12622         (Fsplit_window): ditto.
12623         (Fwindow_pixel_edges): don't use border dimensions here.
12624
12625         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
12626         (update_scrollbar_instance): ditto.
12627
12628         * redisplay.c (generate_modeline): don't take gutters into account.
12629         (generate_modeline): ditto.
12630         (redisplay_frame): small gutter display optimization.
12631
12632         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
12633
12634         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
12635         gutters into account.
12636
12637         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
12638         for window position and type.
12639
12640         * gutter.c (get_gutter_coords): fix for frame gutters.
12641         (update_frame_gutters): update frame geometry if the gutters have
12642         changed.
12643         (init_frame_gutters): record current gutter geometries.
12644
12645         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
12646         var.
12647         (mswindows_widget_instantiate): ditto.
12648
12649         * frame.h (struct frame): add current_gutter_bounds.
12650
12651         * frame.c (change_frame_size_1): position window and minibuffer
12652         appropriately taking into account the frame gutters.
12653
12654         * frame-x.c: (x_initialize_frame_size): take into account the
12655         frame gutters.
12656
12657 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
12658
12659         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
12660
12661 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
12662
12663         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
12664
12665 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12666
12667         * file-coding.c (reset_decoding_stream): Clear previous
12668         detection state when autodetect.
12669
12670 2000-02-29  Didier Verna  <didier@xemacs.org>
12671
12672         * extents.c (set_extent_glyph_1): don't require extents to be
12673         attached.
12674
12675 2000-02-27  Andy Piper  <andy@xemacs.org>
12676
12677         * gutter.c (Fset_default_gutter_position): don't default left and
12678         right gutter visibility to t.
12679         (Fset_default_gutter_position): run
12680         default-gutter-position-changed-hook.
12681         (syms_of_gutter): add default-gutter-position-changed-hook.
12682
12683 2000-02-26  Andy Piper  <andy@xemacs.org>
12684
12685         * specifier.c (Fmake_specifier): add gutter references.
12686
12687         * gutter.h (RAW_WINDOW_GUTTER): new macro.
12688
12689         * lisp.h: declare Fvalid_plist_p.
12690
12691         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
12692         as changed.
12693         (default_gutter_visible_p_changed_in_window): invalidate gutter as
12694         well as its visibility so that it gets reconstructed.
12695         (construct_window_gutter_spec): new function. Construct a string
12696         to be displayed in the gutter from a plist of strings. Take care
12697         to only use elements that are declared as visible.
12698         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
12699         WINDOW_GUTTER.
12700         (gutter_validate): allow plists of strings in the specifier.
12701         (gutter_specs_changed): construct the real_gutter from the gutter
12702         specs using construct_window_gutter_spec.
12703         (gutter_visible_validate): gutter-visible is a new specifier type.
12704         (Fgutter_visible_specifier_p): new function for the new specifier.
12705         (syms_of_gutter): declare gutter-visible and
12706         Fgutter_visible_specifier_p.
12707         (specifier_type_create_gutter): intitalize new gutter-visible
12708         specifier.
12709         (reinit_specifier_type_create_gutter): ditto.
12710         (specifier_vars_of_gutter): use new specifier type for gutter
12711         visibility.
12712         (init_frame_gutters): construct real_gutter correctly.
12713         (Fgutter_specifier_p): beef up documentation.
12714         (Fgutter_size_specifier_p): ditto.
12715
12716         * winslots.h: add real_gutter slots.
12717
12718 2000-02-25  Andy Piper  <andy@xemacs.org>
12719
12720         * device-msw.c: Be kind to older cygwin versions. From Raymond
12721         Toy <toy@rtp.ericsson.se>.
12722
12723         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
12724         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
12725
12726 2000-02-25  Martin Buchholz  <martin@xemacs.org>
12727
12728         * elhash.c (MARK_OBJ): Practice macro hygiene.
12729
12730 2000-02-24  Martin Buchholz  <martin@xemacs.org>
12731
12732         * miscplay.c: s/__inline__/inline/g;
12733         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
12734         (get_device_compdc): INLINE ==> static inline
12735         * *.[ch]: Change INLINE to INLINE_HEADER globally.
12736         find -name '*.h' | \
12737         xargs global-replace \
12738         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
12739
12740 2000-02-25  Andy Piper  <andy@xemacs.org>
12741
12742         * window.c (window_top_frame_gutter_height): new function.
12743         (window_top_window_gutter_height): ditto.
12744         (window_top_gutter_height): use them.
12745         (window_bottom_frame_gutter_height): new function.
12746         (window_bottom_window_gutter_height): ditto.
12747         (window_bottom_gutter_height): use them.
12748         (window_left_window_gutter_width): new function.
12749         (window_left_frame_gutter_width): ditto.
12750         (window_left_gutter_width): use them.
12751         (window_right_window_gutter_width): new function.
12752         (window_right_frame_gutter_width): ditto.
12753         (window_right_gutter_width): use them.
12754         (window_pixel_height): new function. calulate window pixel height
12755         with frame gutter involvement.
12756         (Fsplit_window): calculate new sizes taking frame gutters into
12757         account.
12758         (window_char_height_to_pixel_height): don't include frame gutters.
12759         (window_char_height): use window_pixel_height.
12760         (window_pixheight): rename from window_pixel_height.
12761         (change_window_height): use it.
12762         (window_pixel_height_to_char_height): don't include frame gutters.
12763         (window_char_width_to_pixel_width): ditto.
12764
12765 2000-02-25  Andy Piper  <andy@xemacs.org>
12766
12767         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
12768         if it is.
12769
12770 2000-02-24  Martin Buchholz  <martin@xemacs.org>
12771
12772         * alloc.c (staticpro):
12773         (staticpro_nodump):
12774         (dumpstruct):
12775         (dumpopaque):
12776         (pdump_wire):
12777         (pdump_wire_list):
12778         (compact_string_chars):
12779         (pdump_dump_wired):
12780         Convert:  if (foo) abort();  ==>  assert (! foo);
12781
12782         * eldap.c (Fldap_search_basic):
12783         (Fldap_add):
12784         (Fldap_modify):
12785         (Fldap_delete):
12786         Fix compiler warnings, and possible crashes if (random) return
12787         value were to be used.
12788
12789 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12790
12791         * device-msw.c: Workaround ResetDC failure.
12792
12793         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
12794         applying a devmode.
12795
12796         * redisplay-msw.c (get_frame_dc): Added start_page_p.
12797         (mswindows_text_width): Do not start printer page.
12798
12799         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
12800
12801         * glyphs-msw.c: Added image methods to msprinter console and
12802         msprinter-specific image instantiation.
12803
12804 2000-02-20  Mike Alexander  <mta@arbortext.com>
12805
12806         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
12807         to avoid crashes when selection-sets-clipboard is on
12808         (mswindows_own_selection): ditto
12809
12810 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12811
12812         * glyphs-msw.c:
12813         * redisplay-msw.c (get_frame_dc):
12814         (get_frame_compdc):
12815         * console-msw.h:
12816         * device-msw.c (mswindows_init_device):
12817         (mswindows_delete_device):
12818         (msprinter_init_device):
12819         (msprinter_delete_device):
12820         * frame-msw.c (mswindows_init_frame_1):
12821         (mswindows_delete_frame):
12822         (msprinter_init_frame_3):
12823         (msprinter_delete_frame): Move compatible DC to device object from
12824         frame object, for both mswindows and msprinter. Only one at a time
12825         is needed, it is a real waste to have one per frame!
12826
12827 2000-02-23  Andy Piper  <andy@xemacs.org>
12828
12829         * glyphs.c: add dynamic width and height elements.
12830         (image_instance_equal): ditto.
12831
12832         * glyphs-widget.c (widget_query_geometry): calculate width and
12833         height dynamically if required.
12834         (initialize_widget_image_instance): initialize dynamic dimensions.
12835         (widget_instantiate): pick-up dynamic dimensions.
12836
12837         * glyphs.h (struct Lisp_Image_Instance): add width and height for
12838         dynamic determination. Add appropriate macros.
12839
12840         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
12841         dimensions safe.
12842         (WINDOW_GUTTER_SIZE): ditto.
12843         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
12844
12845         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
12846         inline.
12847         (get_frame_dc): ditto.
12848
12849         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
12850         here.
12851
12852 2000-02-23  Martin Buchholz <martin@xemacs.org>
12853
12854         * XEmacs 21.2.31 is released.
12855
12856 2000-02-22  Ben Wing <ben@xemacs.org>
12857
12858         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
12859
12860 2000-02-22  Andy Piper  <andy@xemacs.org>
12861
12862         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
12863
12864 2000-02-21  Mike Sperber <mike@xemacs.org>
12865
12866         * .dbxrc:
12867         * .gdbinit:
12868         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
12869         variables.
12870
12871 2000-02-21  Mike Sperber <mike@xemacs.org>
12872
12873         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
12874
12875 2000-02-21  Martin Buchholz <martin@xemacs.org>
12876
12877         * XEmacs 21.2.30 is released.
12878
12879 2000-02-20  Martin Buchholz  <martin@xemacs.org>
12880
12881         Performance hacking.
12882         * *.c (syms_of_*):
12883         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
12884         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
12885         * emacs.c (main_1):
12886         * lisp.h (DEFUN):
12887         * console.c (DEFVAR_CONSOLE_LOCAL_1):
12888         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
12889         * symeval.h (DEFVAR_SYMVAL_FWD):
12890         * symbols.c (guts_of_unbound_marker):
12891         Make all c_readonly objects also lisp_readonly and marked for life.
12892         * lrecord.h (struct lrecord_implementation):
12893         Document flags better.
12894         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
12895         * lrecord.h (DECLARE_LRECORD):
12896         * lrecord.h (XSETRECORD):
12897         * lrecord.h (RECORDP):
12898         * lrecord.h (RECORD_TYPEP):
12899         * lrecord.h (RECORD_MARKER): New.
12900         * lrecord.h (error_check_*):
12901         * lrecord.h (CONCHECK_NONRECORD):
12902         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
12903         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
12904         * lrecord.h (set_lheader_implementation):
12905         * lrecord.h (enum lrecord_type): New.
12906         * symeval.h (SYMBOL_VALUE_MAGIC_P):
12907         * alloc.c (disksave_object_finalization_1):
12908         * alloc.c (mark_object):
12909         * alloc.c (lrecord_type_index):
12910         * alloc.c (tick_lcrecord_stats):
12911         * alloc.c (Fgarbage_collect):
12912         * alloc.c (init_alloc_once_early):
12913         * alloc.c (pdump_load):
12914         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
12915         * alloc.c (lrecord_type_index): Delete.
12916         Make lisp object type indexes be constant.
12917           Makes (byte-compile) 5% faster.
12918         Put all marker functions into their own array.
12919           Makes (garbage-collect) 5% faster.
12920         Optimize SYMBOL_VALUE_MAGIC_P.
12921           Makes (byte-compile) 2-3% faster.
12922         * config.h.in (gc_checking_assert): New.
12923         * alloc.c: Use gc_checking_assert().
12924         * .dbxrc: Make compatible with new object type implementation.
12925         * .gdbinit: Make compatible with new object type implementation.
12926         * alloc.c: Delete all symbols defined only for debugging, such as
12927         Lisp_Type_Vector and lrecord_charset.
12928
12929 2000-02-21  Andy Piper  <andy@xemacs.org>
12930
12931         * gui-msw.c (Fmswindows_shell_execute): fix file location
12932         problems.
12933
12934         * buffer.c (Fkill_buffer): remove buffer from alist buffer
12935         unshowing so that set_window_buffer doesn't undo
12936         kill_buffer_hook's hard work.
12937
12938         * glyphs-widget.c (tab_control_query_geometry): don't count the
12939         first item when calculating geometry.
12940
12941         * glyphs.c (map_subwindow): remove redundant code.
12942         (update_frame_subwindows): be more circumspect about when to
12943         update subwindows.
12944
12945         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
12946         when items haven't changed. Update faces if faces have changed as
12947         well as just the widget face.
12948         (x_tab_control_update): Update faces if faces have changed as well
12949         as just the widget face.
12950
12951 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12952
12953         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
12954         registration.
12955         (build_syscolor_string): Use mswindows_color_to_string to try to
12956         get a named color.
12957         (mswindows_device_system_metrics): Reverse the foreground and
12958         background colors so that they match the documentation.
12959
12960         * objects-msw.c: (mswindows_X_color_map): tweak some values so
12961         they match the default Windows palette.
12962         (mswindows_color_to_string): New function.
12963
12964 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12965
12966         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
12967
12968 2000-02-18  Olivier Galibert  <galibert@pobox.com>
12969
12970         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
12971         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
12972
12973         * symbols.c (init_symbols_once_early): Removed obsolete
12974         DATA_SEG_BITS related kludge.
12975         (defvar_magic): Ditto.
12976
12977         * malloc.c: Removed obsolete DATA_SEG_BITS
12978         * ralloc.c: Ditto.
12979         * mem-limits.h: Ditto.
12980
12981         * Makefile.in.in: Removed obsolete HAVE_SHM
12982         * emacs.c: Ditto.
12983
12984 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12985
12986         *  device-msw.c (mswindows_delete_device): Free DDE string
12987         handles.
12988
12989 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12990
12991         * keymap.c (get_keyelt):
12992         * unexnt.c (unexec):
12993         * vm-limit.c (memory_warnings):
12994         * ntheap.c (recreate_heap):
12995         * ntheap.h (UNINIT_PTR):
12996         * select-msw.c (Fmswindows_get_clipboard):
12997         (Fmswindows_set_clipboard):
12998         * objects-msw.h (MSWINDOWS_BAD_HFONT):
12999         * objects-msw.c:
13000         * menubar-msw.c (displayable_menu_item):
13001         * glyphs-msw.c:
13002         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
13003         * sysdep.c (sys_subshell):
13004         * process-nt.c (nt_create_process):
13005         * nt.c (normalize_filename):
13006         (dostounix_filename):
13007         (unixtodos_filename):
13008         * ntproc.c (win32_executable_type):
13009         * ntplay.c (play_sound_data_1):
13010         (play_sound_file):
13011         * editfns.c (get_home_directory):
13012         * event-msw.c (struct winsock_stream):
13013         (mswindows_dde_callback):
13014         * device-msw.c (msprinter_init_device):
13015         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
13016
13017         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
13018         mswindows_clear_toolbar were swapped!
13019
13020         * objects-msw.c:(colormap_t):
13021         (fontmap_t):
13022         * emacs.c (struct standard_args): Fixed const jumble.
13023
13024         * glyphs-widget.c (update_widget): Fixed comparison notation.
13025
13026         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
13027
13028         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
13029         __declspec(noreturn) syntax.
13030
13031 2000-02-19  Martin Buchholz  <martin@xemacs.org>
13032
13033         * eldap.c (Fldap_open):
13034         (Fldap_search_basic):
13035         (Fldap_add):
13036         (Fldap_modify):
13037         Use new coding system conversion macros.
13038
13039 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13040
13041         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
13042
13043 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
13044
13045         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
13046         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13047
13048         * eldap.c (Qadd, Qreplace): New constant symbols
13049         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
13050         interruptions by XEmacs signals
13051         Remove unnecessary calls to slow_down_interrupts and
13052         speed_up_interrupts
13053         (Fldap_search_basic): Renamed from Fldap_search_internal
13054         Added new optional parameter VERBOSE that triggers the
13055         display of progress messages
13056         Remove unnecessary calls to slow_down_interrupts and
13057         speed_up_interrupts
13058         LDAP result code analysis rewritten
13059         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13060         (syms_of_eldap): Define the new symbols and functions
13061
13062
13063 2000-02-17  Martin Buchholz  <martin@xemacs.org>
13064
13065         * realpath.c: Determine PATH_MAX maximally portably.
13066
13067         * insdel.c (bytecount_to_charcount): Optimize.
13068         The function used to be optimized for entirely ASCII sequences.
13069         Now it is optimized for successive characters from the same
13070         charset.  This also wins big for _mostly_ ASCII sequences.
13071
13072         * fileio.c (Ffile_truename): convert return from realpath() using
13073         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
13074         - Rewrite GCPROing slightly.
13075
13076         * sysdep.c (sys_open): Do filename conversion, like all other
13077         sys_* functions.  Fixes bug:
13078         (let ((file-name-coding-system 'iso-8859-2))
13079            (write-region x y latin2-name))
13080         ==> writes filename using internal encoding.
13081
13082 2000-02-18  Martin Buchholz  <martin@xemacs.org>
13083
13084         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
13085         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
13086         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
13087         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
13088         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
13089         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
13090         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
13091         (CONST_IF_NOT_DEBUG): Delete.
13092         * alloc.c (this_one_is_unmarkable): Delete.
13093         (mark_object): Don't check for this_one_is_unmarkable. Use the
13094         c_readonly flag instead.
13095         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
13096
13097 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13098
13099         * event-msw.c (mswindows_drain_windows_queue):
13100         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
13101         away redundant repaint events.
13102
13103 2000-02-17  Andy Piper  <andy@xemacs.org>
13104
13105         * redisplay.h: declare mark_redisplay_structs.
13106
13107         * redisplay.c (redisplay_window):
13108         (redisplay_frame): don't check subwindows_state_changed.
13109         (mark_redisplay): mark gutters here.
13110
13111         * glyphs.c: (instantiate_image_instantiator): always layout if we
13112         haven't done so already.
13113         (allocate_image_instance): don't mark as dirty.
13114         (update_subwindow): bind inhibit_quit.
13115
13116         * gutter.c (mark_gutters): new function.
13117
13118         * glyphs-x.c (x_update_widget): Always resize to get round a
13119         widget bug.
13120
13121         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
13122         breaking absolutely everything.
13123
13124         * gutter.h: declare mark_gutters.
13125
13126 2000-02-16  Martin Buchholz <martin@xemacs.org>
13127
13128         * XEmacs 21.2.29 is released.
13129
13130 2000-02-15  Olivier Galibert  <galibert@pobox.com>
13131
13132         * fns.c (size_bit_vector): Fix computation of the size.
13133
13134 2000-02-15  Martin Buchholz  <martin@xemacs.org>
13135
13136         * *.[ch]: Change CONST to const globally.
13137         find -name '*.[ch]' | \
13138         xargs global-replace \
13139         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
13140         - Remove vestigial references to CONST_IS_LOSING
13141
13142 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13143
13144         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
13145         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
13146         events instead of dispatching them directly.
13147         (mswindows_handle_paint): New function to do repainting.
13148         (mswindows_wnd_proc):
13149         (emacs_mswindows_handle_magic_event): Call above function.
13150
13151 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13152
13153         * objects-msw.c (mswindows_create_font_variant): Return the new
13154         font handle.
13155         (initialize_font_instance): Get font metrics from the underlined
13156         variant of the font to cope with the case where the underlined
13157         font has a bigger descent.
13158
13159 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
13160
13161         * gui.c (gui_item_accelerator): Return the first underlined
13162         character in item name.
13163
13164 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13165
13166         * lisp.h: Added Qprinter.
13167
13168         * general.c (syms_of_general): Initialized it.
13169
13170         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
13171         (get_frame_dc):
13172         (get_frame_compdc): Made inline.
13173
13174         * console.h (struct console_methods): Added eject_page method.
13175
13176         * frame.h: Added FRAME_DISPLAY_P and friends.
13177         Aligned backslahes in many macros in more readable fashion.
13178         Added page_number to struct frame, and an accessor macro
13179         for it.
13180
13181         * defice.h: Added DEVICE_DISPLAY_P and friends.
13182
13183         * device.c (Fdevice_printer_p): Used these.
13184
13185         * frame.c (allocate_frame_core): Initialize page number.
13186         (Fprint_job_page_number):
13187         (Fprint_job_eject_page): Implemented.
13188
13189         * frame-msw.c (msprinter_eject_page): Added method.
13190         (msprinter_start_page): Added.
13191
13192         * window.c (Fwindow_truncated_p): Fixed docstring.
13193         (Fwindow_last_line_visible_height): Implemented.
13194
13195 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13196
13197         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
13198
13199 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13200
13201         * syntax.c (scan_words): Always advance at least one character.
13202
13203 2000-02-13  Andy Piper  <andy@xemacs.org>
13204
13205         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
13206         to make sure the glyph is in the cachels.
13207
13208         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
13209         global image instance flag.
13210         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
13211         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
13212
13213         * glyphs.c (allocate_image_instance): set dirty bits correctly.
13214         (Fset_image_instance_property): mark layout as changed.
13215         (invalidate_glyph_geometry_maybe): mark layout as changed.
13216         (glyph_width): use new NEEDS_LAYOUT macro.
13217         (glyph_ascent): ditto.
13218         (glyph_descent): ditto.
13219         (glyph_height): ditto.
13220         (image_instance_layout): mark layout as clean after laying out.
13221         (update_subwindow): don't mark layout as clean here.
13222
13223         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
13224         should no longer be needed.
13225
13226         * glyphs-x.c (x_update_widget): sanitize asserts.
13227         (x_finalize_image_instance): sanitize assignment to widgets.
13228
13229         * glyphs-widget.c (widget_instantiate): don't need to clear the
13230         layout flag here.
13231
13232 2000-02-13  Martin Buchholz  <martin@xemacs.org>
13233
13234         * sysdep.c (getcwd): Use standard prototype.
13235         * sysdep.h (getcwd): Use standard prototype.
13236
13237         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
13238         (sequence, start, end).
13239         Remove redundant type checking.
13240         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
13241         view of `caller-protects') to avoid a crash where the real fix was
13242         found elsewhere.
13243
13244 2000-02-12  Martin Buchholz  <martin@xemacs.org>
13245
13246         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
13247
13248         * s/sol2.h: Remove feature macro initialization.
13249
13250         * alloc.c (alloc_lcrecord): Add more type checking assertions.
13251         (vector_hash): New.  Code from internal_hash.
13252         * lrecord.h:
13253         Fix up allocation subsystem comments.
13254
13255         * config.h.in: Add __EXTENSIONS__ for Solaris.
13256
13257         * systime.h (EMACS_GETTIMEOFDAY): New.
13258         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
13259         Remove Solaris-specific code.
13260         Use void* for the (ignored) second arg for gettimeofday().
13261
13262         * elhash.c (hash_table_hash): Implement it, finally.
13263         * elhash.c:  Use hashcode_t.
13264
13265         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
13266         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
13267
13268         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
13269         * fns.c (size_bit_vector):
13270         * alloc.c (size_vector):
13271         (make_vector_internal):
13272         (make_bit_vector_internal):
13273         (sweep_bit_vectors_1):
13274         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
13275
13276 2000-02-10  Martin Buchholz  <martin@xemacs.org>
13277
13278         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
13279         Include strings.h to avoid warnings for bzero and strcasecmp.
13280
13281 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13282
13283         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
13284         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
13285
13286         * fns.c (size_bit_vector): New.  Declare bit vectors as a
13287         sequence.
13288
13289 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13290
13291         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
13292         use a value field instead.
13293         (symbol_value_forward_forward): Use value field.
13294         (DEFVAR_SYMVAL_FWD): Use value field.
13295         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
13296         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
13297         (DEFVAR_CONST_INT): Ditto.
13298         (DEFVAR_BOOL): Ditto.
13299         (DEFVAR_CONST_BOOL): Ditto.
13300         (DEFVAR_INT_MAGIC): Ditto.
13301         (DEFVAR_BOOL_MAGIC): Ditto.
13302
13303         * symbols.c (guts_of_unbound_marker): Use value field.
13304         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
13305         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
13306
13307         * lisp.h: Declare dumpopaque and noninteractive1.
13308
13309         * alloc.c (dumpopaque): Added.
13310         (pdump_dump_opaquevec): Added.
13311         (pdump): Call pdump_dump_opaquevec to dump opaque data.
13312         (pdump_load): Reload opaque data.  Sync noninteractive1 with
13313         noninteractive.
13314
13315 2000-02-10  Andy Piper  <andy@xemacs.org>
13316
13317         * glyphs.c (image_instance_layout): if the size changes, mark it
13318         as such.
13319
13320         * redisplay-output.c (redisplay_output_layout): Update the
13321         subwindow here.
13322         (redisplay_output_subwindow): ditto.
13323
13324         * glyphs.c (update_subwindow): make sure we reset flags for
13325         layouts as well as everything else.
13326
13327         * glyphs-widget.c (layout_layout): don't need to set the instances
13328         dimensions here.
13329
13330 2000-02-09  Martin Buchholz  <martin@xemacs.org>
13331
13332         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
13333         not HAVE_DLOPEN, which is a lower-level thing.
13334
13335         * .cvsignore: Ignore gmon.out
13336
13337 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
13338
13339         * .cvsignore: Ignore portable dumper xemacs.dmp file
13340
13341 2000-02-09  Andy Piper  <andy@xemacs.org>
13342
13343         * redisplay-output.c (redisplay_output_layout): be more clever
13344         about when we output based on the changed flags.
13345
13346         * glyphs.h (struct image_instantiator_methods): add update_method.
13347         (struct Lisp_Image_Instance): add changed flags. Declare new
13348         macros for manipulating them.
13349
13350         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
13351         (image_instance_parent_glyph): find an image_instance's parent
13352         glyph or image_instance.
13353         (image_instance_layout): mark the size as changed.
13354         (set_image_instance_dirty_p): new function. mark an image
13355         instance, plus all of its parents, as dirty.
13356         (Fset_image_instance_property): use it.
13357         (Fglyph_animated_timeout_handler): use it.
13358         (update_subwindow): call update_widget and device methods for
13359         update_subwindow. Mark all changed flags as clean.
13360         (Fresize_subwindow): mark size as changed.
13361
13362         * glyphs-x.c (x_finalize_image_instance): try and detect gc
13363         failures.
13364         (x_update_subwindow): only resize subwindows here.
13365         (x_update_widget): new function. Update all changed properties of
13366         a widget.
13367         (x_resize_subwindow): deleted.
13368         (x_widget_set_property): deleted.
13369         (x_progress_gauge_set_property): deleted.
13370         (x_progress_gauge_update): new function. Implement recorded
13371         changes.
13372         (x_tab_control_update): ditto.
13373         (x_tab_control_set_property): deleted.
13374         (console_type_create_glyphs_x): declare new functions.
13375         (image_instantiator_format_create_glyphs_x): ditto.
13376
13377         * glyphs-widget.c (widget_set_property): mark text changed.
13378         (update_widget): new function. Update properties of a widget.
13379         (widget_instantiate): for layouts make sure we set their
13380         children's parent correctly.
13381         (tab_control_set_property): new function. Record changes that will
13382         take place under redisplay's control.
13383         (progress_gauge_set_property): ditto.
13384         (image_instantiator_progress_guage): declare new functions.
13385         (image_instantiator_tab_control): ditto.
13386
13387         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
13388         now.
13389         (mswindows_update_widget): new function. Update all properties on
13390         a widget that have changed.
13391         (mswindows_button_update): new function. Update a button's set
13392         state.
13393         (mswindows_tab_control_update): new function. Update the items in
13394         a tab.
13395         (mswindows_tab_control_set_property): deleted.
13396         (mswindows_progress_gauge_update): new function. Update the
13397         progress gauge's progress.
13398         (mswindows_widget_set_property): deleted. This is all done
13399         asynchronously now.
13400         (mswindows_progress_gauge_set_property): ditto.
13401         (console_type_create_glyphs_mswindows): declare new methods.
13402         (image_instantiator_format_create_glyphs_mswindows): ditto.
13403
13404         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
13405         (msprinter_set_frame_properties): ditto.
13406
13407         * console.h (struct console_methods): Add update_widget_method.
13408
13409 2000-02-09  Andy Piper  <andy@xemacs.org>
13410
13411         * gui-msw.c (Fmswindows_shell_execute): Make
13412         mswindows-shell-execute industrial strength.
13413
13414 2000-02-08  Martin Buchholz  <martin@xemacs.org>
13415
13416         * lrecord.h: Make macro argument `props' match member function `plist'.
13417         * fns.c (Fget):
13418         * fns.c (Fput):
13419         * fns.c (Fremprop):
13420         * fns.c (Fobject_plist):
13421         * alloc.c:
13422         * symbols.c:
13423         Object property list frobbing cleanup.
13424         - Allow any lisp object (compared with `eq'), not just symbols, as
13425           keys in object plists.
13426         - Move symbol plist frobbing into symbols.c, where it belongs.
13427         - Move string plist frobbing into alloc.c, where it belongs.
13428         - Everything's an lrecord now, so no need to test for symbolp, etc.
13429         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
13430
13431         * extents.c: Reorder code to remove declarations.
13432
13433         * frame.h (store_in_alist): Remove useless declaration.
13434
13435 2000-02-07  Martin Buchholz  <martin@xemacs.org>
13436
13437         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
13438         * config.h.in: Add HAVE_XCONVERTCASE.
13439
13440 2000-02-07  Andy Piper  <andy@xemacs.org>
13441
13442         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
13443         it breaks many things.
13444
13445 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13446
13447         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
13448         actually can start a common comment type.
13449         * src/syntax.h (SYNTAX_END_P): ditto for end.
13450
13451 2000-02-07  Martin Buchholz <martin@xemacs.org>
13452
13453         * XEmacs 21.2.28 is released.
13454
13455 2000-02-06  Martin Buchholz  <martin@xemacs.org>
13456
13457         * event-Xt.c (x_keysym_to_character): New.
13458         (maybe_define_x_key_as_self_inserting_character): New.
13459         (x_has_keysym): New.
13460         Auto-define all keys on the keyboard as self-insert-key.
13461
13462 2000-02-02  Martin Buchholz  <martin@xemacs.org>
13463
13464         * menubar.c (vars_of_menubar): A small code simplification.
13465
13466         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
13467
13468         * ExternalShell.c:
13469         * ExternalClient.c:
13470         * EmacsShell-sub.c:
13471         * EmacsManager.c:
13472         * EmacsFrame.c:
13473         Use consistent style for specifying X resources.
13474
13475         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
13476         This makes (dontusethis-set-symbol-value-handler) actually usable.
13477
13478         * lrecord.h (lrecord_decription_type):
13479         * alloc.c (pdump_register_sub):
13480         (pdump_dump_data):
13481         (pdump_reloc_one):
13482         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
13483         Comply with XEmacs coding style.
13484         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
13485         args, and XD_LISP_OBJECT_ARRAY with 3 args.
13486
13487         * keymap.c (Faccessible_keymaps):
13488         Make (accessible-keymaps map "\C-h") do the Right Thing.
13489         Make (accessible-keymaps map []) do the Right Thing.
13490         Make (accessible-keymaps map "") do the Right Thing.
13491         (check_keymap_definition_loop): New function.
13492         (keymap_store_internal): Keep luser from shooting self in foot,
13493           via (define-key ctl-x-4-map "p" global-map).
13494         Remove fullness slot from struct Lisp_Keymap, since hash tables
13495         are now reliable.
13496         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
13497
13498 2000-01-30  Martin Buchholz  <martin@xemacs.org>
13499
13500         * redisplay.c (init_redisplay): Fix small memory leak.
13501         * elhash.h:
13502         * elhash.c (pdump_reorganize_hash_table):
13503         Rename from reorganize_hash_table. Change prototype.
13504         Reuse the original memory for hentries.  Save 100k.
13505         * alloc.c (PDUMP_READ): new macro.
13506         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
13507         * alloc.c: No need to #ifndef before #undef.
13508
13509         * print.c: Allow debug_print() to print readably by modifying
13510         debug_print_readably.  Use consistent variable names.
13511
13512         * .dbxrc: Try to get things to work even if stopped in a function
13513         without source available by explicitly specifying source files.
13514 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13515
13516         * unexnt.c (_start): Removed bogus code which caused loading heap
13517         from differrent executable file.
13518         Removed bogus assignment to _fmode, which caused inconsistencies.
13519
13520 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13521
13522         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
13523         Have spawnve encapsulation regard DONT_ENCAPSULATE.
13524         Do not preliminary `#define signal sigset'.
13525
13526         * systime.h: Do not prototype environ on windows nt and cygwin,
13527         this conflicts with system header.
13528
13529         * syssignal.h: Use correct define for WINDOWSNT
13530
13531         * sysdep.h: Do not prototype environ on windows nt, this conflicts
13532         with system header.
13533
13534         * sysdep.c (near start of file): Fixed commentary and rearranged
13535         ifdefs in readable order.
13536         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
13537         (start_of_text):
13538         (end_of_text):
13539         (end_of_data): Do not compile in if using PDUMP.
13540
13541         * symsinit.h: Prototyped vars_of_nt().
13542
13543         * ntproc.c (windows9x_p): Added, instead of os_subtype.
13544         (find_child_console): Use it.
13545         (sys_kill): Use it.
13546
13547         * ntheap.h: Do not extern os_subtype.
13548
13549         * ntheap.c (cache_system_info): Do not cache unneeded:
13550         nt_major_version, nt_minor_version and os_subtype.
13551         (recreate_heap): Do not compile in when PDUMPing.
13552
13553         * nt.c (geteuid and friends): Use the new varibale
13554         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
13555         (init_user_info): Removed the above mentioned hackery.
13556         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
13557         stat has been fixed in the C runtime.
13558         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
13559
13560         * file-coding.c (struct file_coding_dump): Do not define
13561         ucs_to_mule_table in the struct if not MULE.
13562         (struct struct lrecord_description fcd_description_1): Do not dump
13563         the above.
13564
13565         * emacs.c (main_1): Call vars_of_nt().
13566         (right before Fdump_emacs_data): Don't need lastfile if using both
13567         portabe dumper and system malloc.
13568
13569         * alloc.c (Fmemory_limit): Conditionalized out.
13570         (pdump): Use OPEN_BINARY for the portable dump file.
13571         (pdump_load): Ditto.
13572
13573 2000-02-02  Mike Alexander  <mta@arbortext.com>
13574
13575         * nt.c (convert_time): Set tm_isdst before calling mktime and
13576         avoid calling it at all if the compiler supports 64 bit integers.
13577         Also initialize utc_base_ft before using it.
13578
13579 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
13580
13581         * frame.c (change_frame_size_1): Take f->internal_border_width
13582         into consideration when calculating the width of the frame.
13583
13584 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13585
13586         * window.c (frame_min_height):
13587         (frame_size_valid_p):
13588         (frame_pixsize_valid_p): Added.
13589         (check_frame_size): Generalized.
13590
13591         * window.h: Prototyped the above.
13592
13593         * lisp.h:
13594         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
13595         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
13596         Deleted Vwin32_* and Vbinary_process_* unused variables.
13597
13598         * device-msw.c (msprinter_init_device): Do not get printer font
13599         list; Added DEVMODE functions.
13600
13601         * frame-msw.c: Added lots of printer code.
13602
13603         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
13604         general.c.
13605
13606         * console-msw.h: Added more msprinter device private slots.
13607
13608 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13609
13610         * event-msw.c (key_needs_default_processing_p): Added.
13611         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
13612
13613 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13614
13615         * glyphs.c (image_instance_layout): Mark image instance as clean
13616         after layout.
13617         (glyph_dirty_p): Removed redundant function.
13618         (invalidate_glyph_geometry_maybe): Added.
13619         (update_glyph_cachel_data): Call it.
13620
13621         * glyphs.h: Prototyped it.
13622
13623         * redisplay.c (add_glyph_rune): Call it.
13624         (redisplay_window): Reset glyphs cachels when frame faces have
13625         changed, thus forcing recomputation of built-in border glyphs.
13626
13627 2000-01-30  Martin Buchholz  <martin@xemacs.org>
13628
13629         * Makefile.in.in: Make portable dumper and purify play well together.
13630         Add imperfect, but better than nothing, support for pdump.
13631         Remove xemacs.dmp when temacs is re-generated.
13632         Don't ignore errors when dumping xemacs.
13633
13634         * symbols.c (maybe_call_magic_handler): Remove one magic number.
13635
13636 2000-01-28  Andy Piper  <andy@xemacs.org>
13637
13638         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
13639         (setup_normal_frame): ditto.
13640         (setup_frame_without_minibuffer): ditto.
13641         (setup_minibuffer_frame): ditto.
13642         (delete_frame_internal): ditto.
13643         (Fmake_frame_invisible): ditto.
13644         (Ficonify_frame): ditto.
13645
13646         * window.h: change Fset_window_buffer signature.
13647
13648         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
13649         (Fset_window_buffer): allow recording of buffer if the window is
13650         the selected window.
13651         (window_loop): Use new Fset_window signature.
13652
13653 2000-01-23  Daniel Pittman  <daniel@danann.net>
13654
13655         * config.h.in: Added template for `HAVE_ATHENA_3D'
13656
13657 2000-01-29  Andy Piper  <andy@xemacs.org>
13658
13659         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
13660
13661         * gutter.c (output_gutter): Don't output if the window isn't live.
13662
13663 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13664
13665         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
13666         of 01/12/00: Moved SetFocus back here where it belongs.
13667
13668 2000-01-23  Andy Piper  <andy@xemacs.org>
13669
13670         * s/cygwin32.h: declare printer things.
13671
13672 2000-01-26  Andy Piper  <andy@xemacs.org>
13673
13674         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
13675         Alexander.
13676
13677 2000-01-24  Andy Piper  <andy@xemacs.org>
13678
13679         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
13680         (mswindows_button_instantiate): Make sure glyph is a pixmap.
13681
13682         * glyphs-widget.c (widget_instantiate): Avoid shadows.
13683
13684         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
13685
13686         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
13687
13688         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
13689         (mswindows_output_display_block): Avoid local shadows.
13690
13691         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
13692         (mswindows_enqueue_mouse_button_event): ditto.
13693         (mswindows_handle_gui_wm_command): remove declaration.
13694
13695         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
13696         warnings.
13697
13698         * console-msw.h: Avoid shadows.
13699         (mswindows_get_toolbar_button_text):
13700         (emacs_mswindows_create_stream_pair):
13701         (emacs_mswindows_delete_stream_pair):
13702         (mswindows_handle_toolbar_wm_command): declare.
13703
13704         * device-msw.c (build_syscolor_string): Avoid shadows.
13705
13706 2000-01-23  Andy Piper  <andy@xemacs.org>
13707
13708         * glyphs-widget.c (widget_instantiate): reverse the items for
13709         layouts so that children are in the expected order.
13710
13711 2000-01-28  Martin Buchholz  <martin@xemacs.org>
13712
13713         * ralloc.c: safe_bcopy ==> memmove
13714         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
13715         * s/msdos.h: Remove BCOPY macros.
13716         * insdel.c (gap_right): Remove BCOPY conditional code.
13717         * insdel.c (gap_left): Remove BCOPY conditional code.
13718         XEmacs demands a working ANSI C compiler - hence memmove.
13719
13720         * regex.c (regex_compile): Remove accidental use of trigraphs.
13721
13722 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13723
13724         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
13725         event timestamp.
13726
13727 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13728
13729         * event-msw.c (mswindows_drain_windows_queue): Added the
13730         parameter.
13731         (mswindows_need_event): Commented the call to
13732         mswindows_drain_windows_queue().
13733         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
13734         only.
13735
13736         * console-msw.h: Moved a few function prototypes here from
13737         event-msw.c.
13738
13739         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
13740         parameter from unsigned short to unsigned long.
13741         (Fmswindows_shell_execute): Added return value.
13742
13743 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
13744
13745         * sysdep.c (init_system_name):
13746           process-unix.c (unix_canonicalized_host_name):
13747         Don't call freeaddrinfo() if getaddrinfo() fails.
13748
13749         * process-unix.c (unix_open_unix_network_stream):
13750         Moved the code to get a port # into address loop.
13751
13752 2000-01-27  Martin Buchholz  <martin@xemacs.org>
13753
13754         * buffer.c (reinit_vars_of_buffer):
13755         The right place to initialize conversion_in_dynarr and
13756         conversion_out_dynarr.
13757
13758         * alloc.c (pdump): Use the real open() till sys_open() is functional.
13759
13760         * process-unix.c (unix_canonicalize_host_name): Muleize.
13761         (unix_open_network_stream): Muleize.
13762
13763         * buffer.h: Fix up prototypes for ralloc.c functions.
13764
13765 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
13766         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
13767         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
13768                 instead of gethostbyname()
13769         * process-unix.c: In unix_canonicalize_host_name() and
13770                 unix_open_network_stream(), add code to use getaddrinfo()
13771                 instead of gethostbyname().
13772
13773 2000-01-27  Daniel Pittman <daniel@danann.net>
13774
13775         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
13776         libs when built with flat Athena.
13777
13778 2000-01-27  Martin Buchholz  <martin@xemacs.org>
13779
13780         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
13781         Use coding standards for function prototypes.
13782
13783 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13784
13785         * dialog-msw.c (push_lisp_string_as_unicode):
13786         * doc.c (unparesseuxify_doc_string):
13787         * dired.c (Fuser_name_completion_1):
13788         * dired.c (Fuser_name_all_completions):
13789         * dired.c (free_user_cache):
13790         * dired.c (user_name_completion):
13791         * console-x.c (get_display_arg_connection):
13792         * minibuf.c (clear_echo_area_internal):
13793         * minibuf.c (echo_area_append):
13794         * eldap.c (Fldap_open):
13795         * eldap.c (Fldap_search_internal):
13796         * frame-x.c (x_set_frame_text_value):
13797         * frame-x.c (x_set_frame_properties):
13798         * frame-x.c (x_create_widgets):
13799         * redisplay-tty.c (term_get_fkeys_1):
13800         * objects-x.c (x_parse_nearest_color):
13801         * objects-x.c (x_valid_color_name_p):
13802         * objects-x.c (x_initialize_font_instance):
13803         * objects-x.c (x_list_fonts):
13804         * objects-x.c (x_find_charset_font):
13805         * tooltalk.c (Fadd_tooltalk_message_arg):
13806         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
13807         * tooltalk.c (Fadd_tooltalk_pattern_arg):
13808         * process-unix.c (unix_create_process):
13809         * ntproc.c (sys_spawnve):
13810         * sound.c (Fplay_sound_file):
13811         * sound.c (Fplay_sound):
13812         * buffer.c (init_initial_directory):
13813         * buffer.c (init_buffer):
13814         * editfns.c (init_editfns):
13815         * editfns.c (Ftemp_directory):
13816         * editfns.c (Fuser_full_name):
13817         * editfns.c (uncache_home_directory):
13818         * editfns.c (get_home_directory):
13819         * editfns.c (Fuser_home_directory):
13820         * editfns.c (Fformat_time_string):
13821         * editfns.c (Fcurrent_time_string):
13822         * gui-x.c (button_item_to_widget_value):
13823         * database.c (Fopen_database):
13824         * event-Xt.c (x_to_emacs_keysym):
13825         * event-Xt.c (x_event_to_emacs_event):
13826         * event-Xt.c (describe_event_window):
13827         * event-msw.c (mswindows_wnd_proc):
13828         * glyphs-eimage.c (jpeg_instantiate):
13829         * glyphs-eimage.c (gif_instantiate):
13830         * glyphs-eimage.c (png_instantiate):
13831         * glyphs-eimage.c (tiff_instantiate):
13832         * glyphs-x.c (xbm_instantiate_1):
13833         * glyphs-x.c (x_xbm_instantiate):
13834         * glyphs-x.c (x_xface_instantiate):
13835         * glyphs-x.c (autodetect_instantiate):
13836         * glyphs-x.c (cursor_font_instantiate):
13837         * glyphs-x.c (x_widget_instantiate):
13838         * glyphs-x.c (x_widget_set_property):
13839         * glyphs-x.c (x_widget_property):
13840         * glyphs-x.c (BUILD_GLYPH_INST):
13841         * print.c (write_string_to_stdio_stream):
13842         * print.c (output_string):
13843         * print.c (Falternate_debugging_output):
13844         * print.c (Fexternal_debugging_output):
13845         * glyphs-msw.c (extract_xpm_color_names):
13846         * glyphs-msw.c (mswindows_xpm_instantiate):
13847         * glyphs-msw.c (bmp_instantiate):
13848         * glyphs-msw.c (resource_name_to_resource):
13849         * glyphs-msw.c (mswindows_resource_instantiate):
13850         * glyphs-msw.c (xbm_instantiate_1):
13851         * glyphs-msw.c (mswindows_xbm_instantiate):
13852         * glyphs-msw.c (mswindows_xface_instantiate):
13853         * glyphs-msw.c (mswindows_widget_instantiate):
13854         * glyphs-msw.c (add_tree_item):
13855         * glyphs-msw.c (add_tab_item):
13856         * glyphs-msw.c (mswindows_combo_box_instantiate):
13857         * glyphs-msw.c (mswindows_widget_property):
13858         * glyphs-msw.c (mswindows_combo_box_property):
13859         * glyphs-msw.c (mswindows_widget_set_property):
13860         * console.c (stuff_buffered_input):
13861         * objects-msw.c (mswindows_initialize_color_instance):
13862         * objects-msw.c (mswindows_valid_color_name_p):
13863         * objects-msw.c (mswindows_list_fonts):
13864         * objects-msw.c (mswindows_font_instance_truename):
13865         * bytecode.c (optimize_compiled_function):
13866         * select-x.c (symbol_to_x_atom):
13867         * select-x.c (x_atom_to_symbol):
13868         * select-x.c (hack_motif_clipboard_selection):
13869         * select-x.c (selection_data_to_lisp_data):
13870         * select-x.c (lisp_data_to_selection_data):
13871         * select-x.c (Fx_get_cutbuffer_internal):
13872         * select-x.c (Fx_store_cutbuffer_internal):
13873         * buffer.h (TO_EXTERNAL_FORMAT): New function.
13874         * buffer.h (TO_INTERNAL_FORMAT): New function.
13875         * emacs.c (make_arg_list_1):
13876         * emacs.c (make_argc_argv):
13877         * emacs.c (main_1):
13878         * emacs.c (Fdump_emacs):
13879         * emacs.c (split_string_by_emchar_1):
13880         * file-coding.h:
13881         * lisp.h:
13882         * lstream.h:
13883         * symsinit.h:
13884         * device-x.c (x_init_device):
13885         * device-x.c (Fx_valid_keysym_name_p):
13886         * device-x.c (Fx_get_font_path):
13887         * device-x.c (Fx_set_font_path):
13888         * glyphs.c (bitmap_to_lisp_data):
13889         * glyphs.c (pixmap_to_lisp_data):
13890         * alloc.c (make_ext_string): Use coding system arguments.  Update
13891         all callers.
13892         * alloc.c (build_string):
13893         * callproc.c (child_setup):
13894         * callproc.c (init_callproc):
13895         * fileio.c (lisp_strerror):
13896         * fileio.c (directory_file_name):
13897         * fileio.c (Fexpand_file_name):
13898         * fileio.c (Ffile_truename):
13899         * fileio.c (Fsysnetunam):
13900         * fileio.c (Fdo_auto_save):
13901         * sysdep.c (sys_readdir):
13902         * tests.c: New file.  Allow adding C tests.
13903         Replace GET_* macros with a more comprehensible and flexible
13904         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
13905         Modify all calls.
13906         Any coding system can be used to do format conversion.
13907         Eliminate enum external_data_format.
13908         Eliminate convert_to_external_format.
13909         Eliminate convert_to_internal_format.
13910         Make sure file-name, keyboard, terminal, and ctext are always
13911         defined as coding systems or aliases.  Make
13912         file-name-coding-system, terminal-coding-system, and
13913         keyboard-coding-system magical variables that are equivalent to
13914         defining the corresponding coding system aliases.
13915
13916         * file-coding.c (Fcoding_system_canonical_name_p): New function.
13917         * file-coding.c (Fcoding_system_alias_p): New function.
13918         * file-coding.c (Fcoding_system_aliasee): New function.
13919         * file-coding.c (append_suffix_to_symbol): New function.
13920         * file-coding.c (dangling_coding_system_alias_p): New function.
13921         * file-coding.c (Ffind_coding_system):
13922         * file-coding.c (Fcopy_coding_system):
13923         * file-coding.c (encode_coding_no_conversion):
13924         * file-coding.c (syms_of_file_coding):
13925         * file-coding.c (vars_of_file_coding):
13926         Rewrite coding system alias code.
13927         Allow nested aliases, like symbolic links.
13928         Allow redefinition of coding system aliases.
13929         Prevent existence of dangling coding system aliases.
13930
13931         * dired.c (Fuser_name_completion_1):
13932         * dired.c (Fuser_name_all_completions):
13933         A crash would happen if user did QUIT in the middle of building
13934         user_name_cache.  Remove redundant code in mainline and unwind_protect.
13935
13936         * lisp.h:
13937         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
13938
13939         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
13940         an unsigned char *.  Update all callers.
13941
13942 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13943
13944         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
13945
13946 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13947
13948         * elhash.c (hentry_description): Use more portable definition.
13949         (resize_hash_table): Initialize new hentries using
13950         xnew_array_and_zero, thereby simplifying the code.
13951
13952         * mule-charset.c (make_charset): Make sure entire object is
13953         initialized, to avoid Purify warnings.
13954
13955         * alloc.c (resize_string): Fix unlikely crash with big strings.
13956
13957 2000-01-24  Martin Buchholz  <martin@xemacs.org>
13958
13959         * realpath.c (xrealpath):
13960         Don't call getwd().
13961
13962 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13963
13964         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
13965
13966 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
13967
13968         * unexelfsgi.c (unexec): Change the way we decide which segment
13969         should be extended.
13970
13971         Assumption that .bss section should be outside the PT_LOADable
13972         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
13973         it's present) is inside the 'data' segment. This would fail the
13974         test which was used to find a segment to grow and cover new
13975         heap. Instead of this assumption, I created another one - on IRIX
13976         the segment to grow should start below .bss and it's address
13977         should extent above the end of .bss. Once this segment is
13978         identified, it's grown to accommodate the new heap and new
13979         zero-length .bss section is added at the end of .data2.
13980
13981 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13982
13983         * eval.c (Feval): Wrong number of arguments should use original
13984         function, not the indirect_function version of it.
13985
13986 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13987
13988         * glyphs-x.c (x_button_instantiate): Don't add image if
13989         it is not a pixmap.
13990         (x_locate_pixmap_file): Call Fexpand_file_name when file name
13991         is relative.
13992
13993 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
13994
13995         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
13996         declaration.
13997         (DEFVAR_INT_MAGIC): Ditto.
13998         (DEFVAR_BOOL_MAGIC): Ditto.
13999         * glyphs.h: Reindent backslash.
14000
14001 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14002
14003         * glyphs-widget.c (layout_query_geometry):
14004         (layout_layout): Use correct types for gheight, gwidth.
14005
14006 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14007
14008         * EmacsManager.c (QueryGeometry): Purified.
14009
14010 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14011
14012         * alloc.c (make_float): Make sure entire object is initialized, to
14013         avoid Purify warnings.
14014         (pdump_register_sub): Remove useless assignment.
14015         (pdump): Use xmalloc, not malloc.
14016         (pdump_load): Use xmalloc, not malloc.
14017
14018 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14019
14020         * callproc.c:
14021         * dired-msw.c:
14022         * fileio.c:
14023         * process-nt.c:
14024         * redisplay-msw.c:
14025         * sysdep.c: Removed redundant #include <windows.h>
14026
14027 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14028
14029         * frame.c (delete_frame_internal): Do not delete device when its
14030         implementation so declares.
14031         (delete_frame_internal): Set device selected frame to nil when
14032         last frame goes away.
14033
14034         * device-msw.c (msprinter_device_system_metrics): Implemented.
14035         (mswindows_device_system_metrics): Added 'device-dpi property.
14036
14037         * device.c: (Fdevice_printer_p): Added.
14038         Added 'offset-workspace device metric.
14039
14040         * console.h (device_metrics): Declared DM_offset_workspace.
14041
14042 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14043
14044         * fileio.c (Ffile_truename): Remove pointless and confusing
14045         initialization of elen.
14046
14047         * glyphs-widget.c: Compiler warning fixes.
14048
14049 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
14050
14051         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
14052         instead of a Lisp_Object as argument to make it consistent with
14053         the other LIVE_P macros.
14054         (CHECK_LIVE_PROCESS): New macro.
14055
14056         * process.c: Declare Qprocess_live_p.
14057         (Fprocess_live_p): New function.
14058         (create_process): Use PROCESS_LIVE_P.
14059         (read_process_output): Ditto.
14060         (set_process_filter): Ditto.
14061         (Fdelete_process): Ditto.
14062         (kill_buffer_processes): Ditto
14063         (process_send_signal): Use CHECK_LIVE_PROCESS.
14064         (Fprocess_input_coding_system): Check whether process is still
14065         alive (fix PR#1061).
14066         (Fprocess_output_coding_system): Ditto.
14067         (Fprocess_coding_system): Ditto.
14068         (Fset_process_input_coding_system): Ditto.
14069         (Fset_process_output_coding_system): Ditto.
14070
14071 2000-01-23  Andy Piper  <andy@xemacs.org>
14072
14073         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
14074         layout and widget.
14075
14076         * glyphs.c (mark_image_instance): take into account changed
14077         image_instance format.
14078         (image_instance_equal): ditto.
14079         (image_instance_hash): ditto.
14080
14081         * glyphs-widget.c (widget_instantiate): Incorporate layout
14082         instantiation here. Delay layout of the layout until later.
14083         (layout_instantiate): deleted.
14084         (layout_query_geometry): new function. get the geometry of a
14085         layout.
14086         (layout_layout): layout a layout dynamically.
14087         (image_instantiator_widget): New function - splitting up
14088         image_instantiator_format_create_glyphs_widget for netwinder
14089         compilation.
14090         (image_instantiator_buttons):
14091         (image_instantiator_edit_fields):
14092         (image_instantiator_combo_box):
14093         (image_instantiator_scrollbar):
14094         (image_instantiator_progress_guage):
14095         (image_instantiator_tree_view):
14096         (image_instantiator_tab_control):
14097         (image_instantiator_labels):
14098         (image_instantiator_layout): ditto.
14099         (image_instantiator_format_create_glyphs_widget): Call preceding
14100         functions.
14101
14102 2000-01-22  Martin Buchholz  <martin@xemacs.org>
14103
14104         * process.c (Fset_process_coding_system):
14105         * device-x.c (Fx_keysym_hash_table):
14106         Docstring fixes.
14107
14108         * lstream.c (Lstream_write): Return documented value, not 0.
14109
14110         * fileio.c (directory_file_name):
14111         (Fsubstitute_in_file_name):
14112         (Fsubstitute_insert_file_contents_internal):
14113         (Fwrite_region_internal):
14114         * emacs.c:
14115         * sysdep.c:
14116         * getloadavg.c:
14117         * systty.h:
14118         Remove vestigial APOLLO-conditional code.
14119
14120 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14121
14122         * getpagesize.h: Add guard macros.
14123         * libsst.h: Add guard macros.
14124         * libst.h: Add guard macros.
14125         * line-number.h: Add guard macros.
14126         * ndir.h: Add guard macros.
14127         * sysfloat.h: Add guard macros.
14128         * sysfile.h: Add guard macros.
14129         * sysproc.h: Add guard macros.
14130         * syswait.h: Add guard macros.
14131         * xintrinsic.h: Add guard macros.
14132         * xintrinsicp.h: Add guard macros.
14133         * xmmanager.h: Add guard macros.
14134         * xmmanagerp.h: Add guard macros.
14135         * xmprimitive.h: Add guard macros.
14136         * xmu.h: Add guard macros.
14137         * gpmevent.h: Add copyright statement. Add guard macros.
14138         * miscplay.h: Add guard macros.
14139         * *.h: Use consistent C-standards-approved guard macro names.
14140
14141         * opaque.c (make_opaque): Switch parameter order.
14142         * opaque.h (make_opaque): Switch parameter order.
14143         Update all callers.
14144         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
14145
14146         * config.h.in (type_checking_assert): Added.
14147         (bufpos_checking_assert): Added.
14148
14149 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14150
14151         * alloc.c: Harmless pdump changes.
14152         - Use countof().
14153         - spell alignment correctly.
14154         * sysdep.c: Use countof()
14155
14156 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14157
14158         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
14159         initially_selected_for_input() console method, default to 0.
14160         (semi_canonicalize_console_connection): Try to delegate to
14161         canonicalize_console_connection if no such console method.
14162         (canonicalize_console_connection): Vice versa.
14163         (print_console): Do not print nil connection.
14164
14165         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
14166         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
14167         (XDEVIMPF_FRAMELESS_OK): Added.
14168         (CONSOLE_INHERITS_METHOD): Added.
14169
14170         * console-msw.c (mswindows_canonicalize_console_connection):
14171         Added.
14172         (mswindows_canonicalize_device_connection): Added.
14173
14174         * console-msw.h (struct msprinter_device): Added this struct and
14175         accessor macros.
14176         (mswindows_device): Made fontlist a lisp object.
14177
14178         * device.c (semi_canonicalize_device_connection):  Try to delegate
14179         to canonicalize_device_connection if no such console method.
14180         (canonicalize_device_connection): Vice versa.
14181         (print_device): Do not print nil connection.
14182
14183         * device-msw.c (mswindows_init_device): Call InitCommonControls
14184         when have widgets.
14185         (mswindows_delete_device): Removed fontlist deallocation.
14186         (mswindows_mark_device): Added.
14187
14188         * events.c (event_equal): Added abort() at unreached code.
14189         (event_hash): Ditto.
14190
14191         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
14192         fallback tags of Windows devices.
14193
14194         * general.c (syms_of_general): Initialized Qmsprinter.
14195
14196         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
14197         of fallback tags of Windows devices.
14198
14199         * lisp.h: Declared Qmsprinter.
14200
14201         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
14202         of strings.
14203         (mswindows_list_fonts): Ditto.
14204         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
14205         that it can be used by both mswindows and msprinter devices.
14206         (initialize_font_instance): Added.
14207         (mswindows_initialize_font_instance): Use it.
14208         (msprinter_initialize_font_instance): Added.
14209
14210         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
14211         and implementation flags check.
14212         (redisplay_without_hooks): Changed the call to the above.
14213         (Fredraw_device): Ditto.
14214         (Fredisplay_device): Ditto.
14215
14216         * redisplay-msw.c (get_frame_dc): Implemented.
14217         (get_frame_compdc): Implemented.
14218         (many functions): Use the two functions above to get device
14219         contexts, ether for a window or a printer.
14220
14221 2000-01-21  Olivier Galibert  <galibert@pobox.com>
14222
14223         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
14224         initialization here.
14225         (init_symbols_once_early): Call it.
14226         * emacs.c (main_1): Call it.
14227         * symsinit.h: Declare it.
14228
14229 2000-01-19  Olivier Galibert  <galibert@pobox.com>
14230
14231         * alloc.c: Use a lrecord_header * in the backtrace instead of a
14232         Lisp_Object.
14233         (pdump_backtrace): Ditto.
14234         (pdump_register_object): Ditto.  Cleanup use of the pointers.
14235         (pdump_get_entry): Abort if trying to register a null pointer.
14236         (pdump_dump_data): Cleanup types when relocating.
14237         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
14238         (pdump_dump_rtables): Remove bad casts.
14239         (pdump_load): Cleanup relocation w.r.t union type.  Use a
14240         Lisp_Object instead of a EMACS_INT for the hashtable
14241         reorganization.
14242
14243 2000-01-20  Martin Buchholz  <martin@xemacs.org>
14244
14245         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
14246
14247         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
14248
14249         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
14250
14251         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
14252
14253 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14254
14255         * faces.h (FACE_STRIKETHRU_P): Added.
14256
14257         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
14258         of font variants.
14259
14260         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
14261         (mswindows_set_dc_font): New function, aware of font variants,
14262         separated from mswindows_update_dc.
14263
14264         * objects-msw.h (struct mswindows_font_instance_data): Added
14265         definition.
14266
14267         * objects-msw.c (mswindows_finalize_font_instance): Delete all
14268         cached fonts and the data structure.
14269         (mswindows_initialize_font_instance): Added creation of font data
14270         structure.
14271         (mswindows_print_font_instance): Print at least something.
14272         (mswindows_create_font_variant): Implemented.
14273         (mswindows_get_hfont): Implemented.
14274
14275 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
14276
14277         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
14278         prototyping problem with msvc.
14279
14280         * emacs.c (main_1): added syms_of_gui_mswindows() call
14281
14282         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
14283         syms_of_gui_mswindows() function
14284
14285         * symsinit.h: added the prototype for syms_of_gui_mswindows()
14286
14287 2000-01-18  Martin Buchholz <martin@xemacs.org>
14288
14289         * XEmacs 21.2.27 is released.
14290
14291 2000-01-18  Martin Buchholz  <martin@xemacs.org>
14292
14293         * glyphs-eimage.c (struct tiff_error_struct):
14294         (tiff_error_func):
14295         (tiff_warning_func):
14296         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
14297
14298         * unexmips.c:
14299         * unexhp9k3.c:
14300         * unexfreebsd.c:
14301         * unexec.c: Remove vestigial Lucid C code.
14302         * unexalpha.c:
14303         * unexaix.c:
14304         * termcap.c:
14305         * libsst.c: Ansify.
14306         Remove declarations of errno and strerror().
14307
14308         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
14309
14310         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
14311
14312 2000-01-16  Martin Buchholz  <martin@xemacs.org>
14313
14314         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
14315         Optimize.
14316
14317 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14318
14319         * md5.c:
14320         * file-coding.c:
14321         * file-coding.h:
14322         Change enum eol_type to eol_type_t.
14323
14324 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14325
14326         * gui.c (get_gui_callback): Check cons before accessing car.
14327
14328 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14329
14330         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
14331         (XSETSPECIFIER_TYPE): Ditto.
14332
14333 2000-01-17  Didier Verna  <didier@xemacs.org>
14334
14335         * redisplay.c (generate_fstring_runes): compute string size in
14336         characters, not bytes.
14337
14338 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14339
14340         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
14341
14342 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
14343
14344         * print.c (print_error_message): Call print_prepare().
14345
14346 2000-01-14  Martin Buchholz  <martin@xemacs.org>
14347
14348         * .dbxrc: Renamed from dbxrc.
14349
14350         * events.c (event_to_character):
14351         Use `assert (foo)' instead of `if (!foo) abort()'
14352
14353         * .gdbinit (xtype): Add documentation.
14354         * .gdbinit (check-temacs): New function.
14355         * .gdbinit (check-xemacs): New function.
14356         * dbxrc (check-xemacs): New function.
14357         * dbxrc (check-xemacs): New function.
14358
14359 2000-01-14  Andy Piper  <andy@xemacs.org>
14360
14361         * glyphs-widget.c (widget_query_geometry): Make sure that we
14362         calculate default dimensions correctly.
14363
14364 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14365
14366         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
14367
14368         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
14369         pdump_wire'd variable.
14370
14371         * emacs.c: (main_1): Conditionalized calls to
14372         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
14373
14374 2000-01-13  Martin Buchholz  <martin@xemacs.org>
14375
14376         * window.c (Fset_window_configuration):
14377         * sysdep.c (_start):
14378         * input-method-motif.c (res):
14379         * event-Xt.c (Xt_process_to_emacs_event):
14380         Simple compiler warning fixes.
14381
14382         * bytecode.c (funcall_compiled_function): Use the original
14383         function symbol on the backtrace list in preference to the
14384         compiled_function object in error messages.
14385
14386 2000-01-13  Andy Piper  <andy@xemacs.org>
14387
14388         * glyphs-x.c (update_widget_face): Make sure we update the widget
14389         background as well as foreground.
14390
14391 2000-01-13  Andy Piper  <andy@xemacs.org>
14392
14393         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
14394         fields to subwindow.
14395         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
14396         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
14397         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14398         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14399
14400         * glyphs-widget.c (check_valid_tab_orientation): new function.
14401         (initialize_widget_image_instance): zero orientation and
14402         justification.
14403         (widget_instantiate): pick up orientation.
14404         (tab_control_query_geometry): return appropriate values for
14405         vertical tabs.
14406
14407         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
14408         appropriate creation flags for left, right and bottom tabs.
14409
14410         * s/cygwin32.h: add tab definitions.
14411
14412 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14413
14414         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
14415         frame upon hiding a subwindow.
14416         (mswindows_button_instantiate): Changed the push button style to
14417         BS_PUSHBUTTON.
14418         (mswindows_button_instantiate): Removed button BS_NOTIFY
14419         style.
14420         (mswindows_button_instantiate): Removed redundant check for
14421         a disabled gui item.
14422         (mswindows_button_instantiate): Made use of WS_TABSTOP
14423         consistent: "operable" controls (edit, button, tree, scroll) have
14424         this style, "display-only" ones (static, progress gauge) do
14425         not. This style is currently ignored by XEmacs though. Also,
14426         removed the WS_EX_CONTROLPARENT style - it is not for children,
14427         it is for their parents!
14428         (mswindows_edit_field_instantiate): Ditto.
14429         (mswindows_progress_gauge_instantiate): Ditto.
14430         (mswindows_tree_view_instantiate): Ditto.
14431         (mswindows_tab_control_instantiate): Ditto.
14432         (mswindows_scrollbar_instantiate): Ditto.
14433         (mswindows_combo_box_instantiate): Ditto.
14434         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
14435         style to the "clip" window.
14436         (mswindows_button_instantiate): Removed compilation warning by
14437         equally typing terms of the ?: operator.
14438
14439 2000-01-12  Didier Verna  <didier@xemacs.org>
14440
14441         * redisplay.c (generate_fstring_runes): new parameter holding the
14442         last modeline-format extent.
14443         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
14444         extent, fill the glyph block with it.
14445         (generate_fstring_runes): handle these parameters.
14446         (generate_formatted_string_db): ditto.
14447
14448         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
14449         glyphs'extents in the modeline.
14450
14451 1999-01-11  Mike Woolley  <mike@bulsara.com>
14452
14453         * ntheap.c: Reduced the reserved heap space from 1Gb down to
14454         256Mb, as a workaround for the non-starting problem many people
14455         have experienced.
14456
14457 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14458
14459         * console-tty.c (Fset_console_tty_output_coding_system):
14460         Force redrawing tty frame.
14461
14462 2000-01-10  Didier Verna  <didier@xemacs.org>
14463
14464         * redisplay.c (generate_fstring_runes): fix size computation bug.
14465
14466 2000-01-09  William M. Perry <wmperry@aventail.com>
14467
14468         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
14469
14470 2000-01-09  Andy Piper  <andy@xemacs.org>
14471
14472         * glyphs-msw.c: index -> i to avoid shadows.
14473         (xbm_create_bitmap_from_data): make static.
14474         (check_valid_string_or_int): deleted.
14475         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
14476
14477         * glyphs-x.c (x_update_subwindow): remove unused args.
14478
14479         * glyphs.c (glyph_image_instance): return the thing. Don't set the
14480         back pointer - this is done in allocate_image_instance.
14481         (query_string_font): return Qnil to make the compiler happy.
14482         (unmap_subwindow): set to ~0 to make the compiler happy.
14483         (glyph_query_geometry): comment out until used.
14484         (glyph_layout): ditto.
14485
14486 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14487
14488         * insdel.c (signal_after_change): Remove extraneous unbind_to().