Add extern declarations for Qdowncase, Qflippedcase, Q_lowercase,
[chise/xemacs-chise.git-] / src / ChangeLog
1 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (decode_add_er_char): Support isolated-chars.
4         (char_encode_as_entity_reference): Likewise.
5
6 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
7
8         * emacs.c (Vutf_2000_lisp_directory): New variable.
9         (Vconfigure_utf_2000_lisp_directory): Likewise.
10         (complex_vars_of_emacs): Add new variable
11         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
12
13 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
14
15         * char-ucs.h (DECODE_CHAR): Delete special code for
16         `chinese-big5-1' and `chinese-big5-2'.
17
18         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
19         (Qbig5_2): Likewise.
20         (decode_defined_char): Support CONVERSION_BIG5_1 and
21         CONVERSION_BIG5_2.
22         (decode_builtin_char): Likewise.
23         (charset_code_point): Likewise.
24         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
25         'conversion in UTF-2000.
26         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
27         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
28         `chinese-big5-2' as children of `chinese-big5'.
29
30         * char-ucs.h (CONVERSION_BIG5_1): New macro.
31         (CONVERSION_BIG5_2): New macro.
32
33 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
34
35         * text-coding.c (char_encode_big5): Support entity-reference.
36
37 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
38
39         * text-coding.c (char_encode_as_entity_reference): New function.
40         (char_encode_utf8): Use `char_encode_as_entity_reference'.
41
42 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
43
44         * text-coding.c (decode_coding_big5): Support entity-reference
45         decoding feature.
46
47 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
48
49         * text-coding.c (allocate_coding_system): Initialize initial
50         charsets for CODESYS_UTF8.
51         (Fmake_coding_system): Accept charset-g0, charset-g1 and
52         charset-g2 for CODESYS_UTF8.
53         (decode_coding_utf8): Use charset-g0.
54         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
55         to force variants to map to UCS.
56
57 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
58
59         * text-coding.c (Qutf_8_mcs): New variable.
60         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
61         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
62         instead of `utf-8' in UTF-2000.
63
64 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
65
66         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
67         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
68         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
69         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
70         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
71         CONVERSION_96x96x96x96 are introduced.
72         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
73         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
74         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
75
76         * char-ucs.h (CONVERSION_94): New macro.
77         (CONVERSION_96): New macro.
78         (CONVERSION_94x94): New macro.
79         (CONVERSION_96x96): New macro.
80         (CONVERSION_94x94x94): New macro.
81         (CONVERSION_96x96x96): New macro.
82         (CONVERSION_94x94x94x60): New macro.
83         (CONVERSION_94x94x94x94): New macro.
84         (CONVERSION_96x96x96x96): New macro.
85
86 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
87
88         * chartab.c (Vcharacter_variant_table): Deleted.
89         (Fchar_variants): Use character-attribute `->ucs-variants' instead
90         of `Vcharacter_variant_table'.
91         (Fput_char_attribute): Likewise.
92         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
93         (complex_vars_of_chartab): Likewise.
94
95 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
96
97         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
98
99         * fns.c (Qideographic_structure): New variable.
100         (Qkeyword_char): New variable.
101         (ids_format_unit): New function.
102         (Fideographic_structure_to_ids): New function.
103         (syms_of_fns): Add new symbols `ideographic-structure' and
104         `:char'; add new builtin function `ideographic-structure-to-ids'.
105
106         * data.c (Fchar_ref_p): New function.
107         (syms_of_data): Add new builtin function `char-ref-p'.
108
109         * chartab.h: Add an EXFUN for `Ffind_char'.
110
111 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
112
113         * text-coding.c (Vcharacter_composition_table): Deleted.
114         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
115         in every UTF-2000.
116
117         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
118         UTF-2000.
119         (Vcharacter_composition_table): Deleted.
120         (Fget_composite_char): Use the implementation for external-DB
121         support in every UTF-2000.
122         (Fput_char_attribute): Likewise.
123         (char_attribute_system_db_file): Don't define if external-DB
124         feature is not available.
125         (Fsave_char_attribute_table): Likewise.
126         (Fmount_char_attribute_table): Likewise.
127         (Fclose_char_attribute_table): Likewise.
128         (Freset_char_attribute_table): Likewise.
129         (Fload_char_attribute_table): Likewise.
130         (syms_of_chartab): Don't define `save-char-attribute-table',
131         `mount-char-attribute-table', `reset-char-attribute-table',
132         `close-char-attribute-table' and `load-char-attribute-table' if
133         external-DB feature is not available.
134         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
135
136 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
137
138         * text-coding.c (Qcomposition): Add extern if external-DB feature
139         is supported.
140         (Vcharacter_composition_table): Don't add extern if external-DB
141         feature is supported.
142         (COMPOSE_ADD_CHAR): Modify for new data-representation of
143         character composition rule if external-DB feature is supported.
144
145         * chartab.c (Vcharacter_composition_table): Don't define if
146         external-DB feature is supported.
147         (Qcomposition): New variable.
148         (Fget_composite_char): New implementation for external-DB support.
149         (Fput_char_attribute): Use `composition' property of each
150         character instead of `Vcharacter_composition_table' to store
151         character-composition rules if external-DB feature is supported.
152         (syms_of_chartab): Add new symbol `composition'.
153         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
154         external-DB feature is supported.
155
156 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
157
158         * chartab.c (Vchar_db_stingy_mode): New variable.
159         (load_char_attribute_maybe): Close database if
160         Vchar_db_stingy_mode is not NIL.
161         (Fload_char_attribute_table_map_function): Use
162         `get_char_id_table_0' instead of `get_char_id_table'.
163         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
164
165         * chartab.h (get_char_id_table_0): New inline function.
166         (get_char_id_table): Use `get_char_id_table_0'.
167
168 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
169
170         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
171         and `COMPOSE_ADD_CHAR'.
172         (decode_coding_iso2022): Use `decode_flush_er_chars'.
173
174 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
175
176         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
177         instead of `DECODE_ADD_UCS_CHAR'.
178         (COMPOSE_ADD_CHAR): Likewise.
179
180 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
181
182         * text-coding.c (decode_flush_er_chars): New inline function.
183         (decode_add_er_char): New function.
184         (decode_coding_utf8): Use `decode_flush_er_chars' and
185         `decode_add_er_char'.
186
187 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
188
189         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
190         done before `decode_output_utf8_partial_char'.
191
192         * mule-charset.c (complex_vars_of_mule_charset): Specify
193         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
194         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
195
196 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
197
198         * mule-charset.c (decode_defined_char): New function; search
199         mother.
200         (decode_builtin_char): Don't search mother if
201         XCHARSET_MAX_CODE(charset) == 0.
202         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
203         == 0 even if code >= XCHARSET_MAX_CODE(charset).
204         (Fdecode_char): Use `decode_defined_char' instead of
205         `DECODE_DEFINED_CHAR'.
206         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
207         mother of `Vcharset_ucs_jis'.
208
209         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
210         instead of `DECODE_DEFINED_CHAR'.
211
212         * char-ucs.h (decode_defined_char): Renamed from
213         `DECODE_DEFINED_CHAR'; changed to normal function.
214         (DECODE_CHAR): Use `decode_defined_char' instead of
215         `DECODE_DEFINED_CHAR'.
216
217         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
218
219 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
222
223         * text-coding.c (Vcoded_charset_entity_reference_alist): New
224         variable.
225         (Quse_entity_reference): New variable.
226         (Qd): New variable.
227         (Qx): New variable.
228         (QX): New variable.
229         (coding_system_description): Add description for
230         `ccs_priority_list'.
231         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
232         (allocate_coding_system): Initialize `ccs_priority_list' in
233         UTF-2000.
234         (Fmake_coding_system): Add description about
235         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
236         (codesys).
237         (Fcoding_system_property): Accept `disable-composition' and
238         `use-entity-reference' in UTF-2000.
239         (struct decoding_stream): Add new member `er_counter' and `er_buf'
240         in UTF-2000.
241         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
242         (decode_coding_utf8): Decode entity-reference if
243         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
244         (char_encode_utf8): Encode non-Unicode characters as
245         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
246         (str->codesys).
247         (syms_of_file_coding): Add new symbols `use-entity-reference',
248         `d', `x', `X'.
249         (vars_of_file_coding): Add new variable
250         `coded-charset-entity-reference-alist'.
251         (complex_vars_of_file_coding): Declare `disable-composition' and
252         `use-entity-reference' to be coding-system-properties in UTF-2000.
253
254         * file-coding.h (struct Lisp_Coding_System): Add new member
255         `use_entity_reference' and `ccs_priority_list'.
256         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
257         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
258         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
259
260 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
261
262         * chartab.c (save_uint8_byte_table): Don't clear the table.
263         (save_uint16_byte_table): Likewise.
264         (save_byte_table): Likewise.
265         (Fmount_char_attribute_table): New function.
266         (syms_of_chartab): Add new builtin function
267         `mount-char-attribute-table'.
268
269 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
270
271         * mule-charset.c (Fsave_charset_mapping_table): Open database as
272         "w+" mode.
273         (load_char_decoding_entry_maybe): Open database as read-only mode.
274
275         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
276         open database as "w+" mode.
277         (load_char_attribute_maybe): Open database as read-only mode.
278         (Fload_char_attribute_table): Likewise.
279
280 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
281
282         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
283         (char_table_description): Delete member `db_file'.
284         (Fmake_char_table): Don't refer `ct->db_file'.
285         (Fcopy_char_table): Likewise.
286         (Fsave_char_attribute_table): Likewise.
287         (Fclose_char_attribute_table): Likewise.
288         (Freset_char_attribute_table): Likewise.
289         (load_char_attribute_maybe): Likewise.
290         (Fload_char_attribute_table): Likewise.
291
292         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
293
294 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
295
296         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
297         (Fsave_char_attribute_table): Don't check `ct->db_file' if
298         `ct->db' is living.
299         (load_char_attribute_maybe): Likewise.
300         (Fload_char_attribute_table): Likewise.
301
302 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
303
304         * chartab.c (Fclose_char_attribute_table): Set Qnil on
305         `ct->db_file' unconditionally.
306
307 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
308
309         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
310         UTF-2000.
311         (char_table_description): Add description for `db_file' and `db'
312         in UTF-2000.
313         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
314         UTF-2000.
315         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
316         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
317         (Fclose_char_attribute_table): New function.
318         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
319         (load_char_attribute_maybe): Change interface; use `cit->db_file'
320         and `cit->db'.
321         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
322         (syms_of_chartab): Add new builtin function
323         `Fclose_char_attribute_table'.
324
325 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
326
327         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
328         `db' in UTF-2000.
329         (load_char_attribute_maybe): Change interface.
330         (get_char_id_table): Modify for `load_char_attribute_maybe'.
331
332 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
333
334         * database.h: Add an EXFUN for `Fdatabase_live_p'.
335
336 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
337
338         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
339         instead of `DECODE_CHAR' for mother; don't use special code for
340         chinese-big5 to use code space of chinese-big5-1 and
341         chinese-big5-2.
342         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
343         `MAX_CHAR_BIG5_CDP' for chinese-big5.
344
345         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
346         (MAX_CHAR_BIG5_CDP): Revival.
347
348 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
349
350         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
351         the XLFD registry-encoding name of `chinese-big5'.
352
353 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
354
355         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
356         (Qchinese_big5_cdp): Deleted.
357         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
358         (complex_vars_of_mule_charset): Delete coded-charset
359         `chinese-big5-cdp'.
360
361         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
362         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
363         `CHARSET_ID_OFFSET - n' for private CCS.
364         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
365         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
366         of `MIN_LEADING_BYTE'.
367         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
368         `(CHARSET_ID_OFFSET - 97)'.
369         (MIN_CHAR_BIG5_CDP): Deleted.
370         (MAX_CHAR_BIG5_CDP): Deleted.
371
372 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
373
374         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
375
376 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
377
378         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
379         (vars_of_mule): Add new variable `utf-2000-version' [moved from
380         chartab.c].
381
382         * chartab.c (Vutf_2000_version): Moved to mule.c.
383         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
384
385 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
386
387         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
388         when HAVE_CHISE_CLIENT is not defined.
389
390         * mule.c (vars_of_mule): Provide feature `chise' when
391         HAVE_CHISE_CLIENT is defined.
392
393 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
394
395         * config.h.in (UTF2000): Add comment.
396         (HAVE_CHISE_CLIENT): New macro.
397
398 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
399
400         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
401         CONSP.
402         (Fput_char_attribute): Likewise.
403         (char_attribute_system_db_file): Encode file-name of attribute.
404         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
405         the initial value.
406
407 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
408
409         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
410         (Fsave_charset_mapping_table): Use
411         `char_attribute_system_db_file'.
412         (load_char_decoding_entry_maybe): Likewise.
413
414         * chartab.h (Qsystem_char_id): New external variable.
415         (char_attribute_system_db_file): New prototype.
416
417         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
418         (char_attribute_system_db_file): New function.
419         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
420         (Freset_char_attribute_table): Likewise.
421         (load_char_attribute_maybe): Likewise.
422         (Fload_char_attribute_table): Likewise.
423         (syms_of_chartab): Add new symbol `system-char-id'.
424
425 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
426
427         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
428         `XCHARSET_GRAPHIC(ccs)'.
429
430 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
431
432         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
433
434 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
435
436         * chartab.c (Q_ucs_variants): New variable.
437         (syms_of_chartab): Add new symbol `->ucs-variants'.
438         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
439         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
440         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
441
442         * mule-charset.c (load_char_decoding_entry_maybe): New function.
443
444         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
445         `HAVE_DATABASE' is defined.
446         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
447         `HAVE_DATABASE' is defined.
448
449 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
450
451         * chartab.c (Fsave_char_attribute_table): Don't clear internal
452         attribute-table.
453         (Freset_char_attribute_table): New function.
454         (syms_of_chartab): Add new builtin function
455         `reset-char-attribute-table'.
456
457 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
458
459         * chartab.c (load_char_attribute_maybe): Don't make directories.
460
461 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
462
463         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
464
465         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
466         for decoding-table.
467
468 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
469
470         * mule-charset.c (Fsave_charset_mapping_table): Use
471         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
472
473         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
474         instead of `XCHARSET_CHARS'.
475
476 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
477
478         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
479         (XCHARSET_BYTE_SIZE): Likewise.
480
481         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
482         mule-charset.c].
483         (XCHARSET_BYTE_SIZE): Likewise.
484
485 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
486
487         * chartab.c (Fput_char_attribute): Use exec-directory instead of
488         data-directory to store database.
489         (Fsave_char_attribute_table): Likewise.
490         (load_char_attribute_maybe): Likewise.
491         (Fload_char_attribute_table): Likewise.
492
493 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
494
495         * mule-charset.c (Fsave_charset_mapping_table): New function.
496         (syms_of_mule_charset): Add new builtin function
497         `save-charset-mapping-table'.
498
499 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
500
501         * char-ucs.h (decoding_table_check_elements): Delete prototype.
502         (get_ccs_octet_table): New inline function.
503         (put_ccs_octet_table): Likewise.
504         (decoding_table_put_char): Use `get_ccs_octet_table' and
505         `put_ccs_octet_table'.
506         (decoding_table_remove_char): Use `decoding_table_put_char'.
507         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
508
509         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
510         into encoding_table.
511         (make_charset): Use Qunbound instead Qnil as initial value of
512         decoding_table.
513
514 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
515
516         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
517         element is Qunloaded.
518         (map_over_uint16_byte_table): Likewise.
519         (map_over_byte_table): Likewise.
520         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
521         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
522         database support, load encoding-table of the specified
523         coded-charset if it is not loaded yet.
524         (save_uint8_byte_table): New function of UTF-2000 with external
525         database support.
526         (save_uint16_byte_table): Likewise.
527         (save_byte_table): Likewise.
528         (Fput_char_attribute): Don't store value into external database
529         even if the external database feature is supported in UTF-2000;
530         set `attribute' as name of char-table if the external database
531         feature is supported.
532         (Fsave_char_attribute_table): New function in UTF-2000.
533         (syms_of_chartab): Add new builtin function
534         `save-char-attribute-table' in UTF-2000.
535
536 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
537
538         * chartab.c (char_attribute_table_to_put): New variable in
539         UTF-2000.
540         (Qput_char_table_map_function): Likewise.
541         (value_to_put): Likewise.
542         (Fput_char_table_map_function): New function in UTF-2000.
543         (put_char_table): Use `Fmap_char_attribute' for
544         CHARTAB_RANGE_CHARSET in UTF-2000.
545         (Fput_char_attribute): Store symbol instead of string in
546         `XCHAR_TABLE_NAME (table)'.
547         (load_char_attribute_maybe): Likewise.
548         (syms_of_chartab): Add new symbol/function
549         `put-char-table-map-function'.
550
551 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
552
553         * database.h: Add new EXFUN for `Fmap_database'.
554
555         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
556         (syms_of_database): Likewise.
557
558         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
559         UTF-2000.
560         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
561         (XCHAR_TABLE_UNLOADED): Likewise.
562
563         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
564         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
565         HAVE_DATABASE is defined.
566         (char_attribute_table_to_load): New variable of UTF-2000 with
567         external database support.
568         (Qload_char_attribute_table_map_function): Likewise.
569         (Fload_char_attribute_table_map_function): New function of
570         UTF-2000 with external database support.
571         (Fload_char_attribute_table): New function of UTF-2000.
572         (Fmap_char_attribute): Call Fload_char_attribute_table if
573         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
574         (syms_of_chartab): Add new symbol and function
575         `load-char-attribute-table-map-function' in UTF-2000 with external
576         database support; add new function `load-char-attribute-table' in
577         UTF-2000.
578
579 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
580
581         * chartab.h (load_char_attribute_maybe): New prototype for
582         UTF-2000 with DATABASE support.
583         (get_char_id_table): Use `load_char_attribute_maybe' if
584         HAVE_DATABASE is defined.
585
586         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
587         with DATABASE support.
588
589 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
590
591         * chartab.c (Fput_char_attribute): Use S-expression as key of
592         external database.
593
594         * chartab.h (get_char_id_table): Use S-expression as key of
595         external database.
596
597 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
598
599         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
600         if an element is not loaded, load the corresponding attributes
601         from an external database.
602         (map_over_uint16_byte_table): Likewise.
603         (map_over_byte_table): Likewise.
604         (map_char_table): Modify for `map_over_uint8_byte_table',
605         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
606         element is not loaded, load the corresponding attributes from an
607         external database.
608         (Fput_char_attribute): Change initial values to Qunloaded.
609
610         * chartab.h (get_char_id_table): If a character attribute is not
611         loaded and the attribute value is not found in an external
612         database, store Qunbound as the attribute value.
613
614 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
615
616         * chartab.c (BT_UINT8_unloaded): New macro.
617         (UINT8_VALUE_P): Accept Qunloaded.
618         (UINT8_ENCODE): Likewise.
619         (UINT8_DECODE): Likewise.
620         (BT_UINT16_unloaded): New macro.
621         (UINT16_VALUE_P): Accept Qunloaded.
622         (UINT16_ENCODE): Likewise.
623         (UINT16_DECODE): Likewise.
624         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
625         BT_UINT16_unloaded.
626         (mark_char_table): Mark `ct->name' in UTF-2000.
627         (char_table_description): Add `name' in UTF-2000.
628         (Fmake_char_table): Initialize `ct->name'.
629         (Fcopy_char_table): Copy `ct->name'.
630         (Fput_char_attribute): Store value into an external database if
631         HAVE_DATABASE is defined.
632
633         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
634         UTF-2000.
635         (CHAR_TABLE_NAME): New macro in UTF-2000.
636         (XCHAR_TABLE_NAME): New macro in UTF-2000.
637         (get_char_id_table): Try to read an external database if Qunloaded
638         is stored in a table.
639
640         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
641         Qunloaded.
642
643 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
644
645         * database.h: Add EXFUN definitions for Fopen_database,
646         Fput_database, Fget_database and Fclose_database.
647
648         * data.c (Qunloaded): New variable in UTF-2000.
649
650         * lisp.h (Qunloaded): New variable in UTF-2000.
651
652 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
653
654         * mule-charset.c (put_char_ccs_code_point): Modify for
655         `decoding_table_remove_char' and `decoding_table_put_char'.
656         (remove_char_ccs): Modify for `decoding_table_remove_char'.
657
658         * char-ucs.h (decoding_table_remove_char): Change arguments to
659         hide decoding_table vector.
660         (decoding_table_put_char): Likewise.
661
662 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
663
664         * mule-charset.c (decoding_table_remove_char): Moved to
665         char-ucs.h.
666         (decoding_table_put_char): Likewise.
667
668         * char-ucs.h (decoding_table_check_elements): New prototype [moved
669         from mule-charset.c].
670         (decoding_table_remove_char): New inline function [moved from
671         mule-charset.c].
672         (decoding_table_put_char): Likewise.
673
674 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
675
676         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
677         extension.
678
679 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
680
681         * mule-charset.c (decode_builtin_char): Support mother charsets.
682
683 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
684
685         * mule-charset.c (Q94x94x60): New variable.
686         (charset_code_point): Support conversion `94x94x60'.
687         (Fmake_charset): Likewise.
688         (syms_of_mule_charset): Add new symbol `94x94x60'.
689
690         * char-ucs.h (CONVERSION_94x94x60): New macro.
691
692 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
693
694         * mule-charset.c (charset_code_point): Unify code about
695         `code-offset'.
696
697 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
698
699         * mule-charset.c (charset_code_point): Merge code about builtin
700         characters into code about mother charsets; don't use
701         `range_charset_code_point'.
702         (range_charset_code_point): Deleted.
703
704 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
705
706         * mule-charset.c (Qcode_offset): New variable.
707         (Fmake_charset): Use `XUINT' to get value of `min-code' and
708         `max-code'; accept new property `code-offset'.
709         (syms_of_mule_charset): Add new symbol `code-offset'.
710
711 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
712
713         * mule-charset.c (range_charset_code_point): Fixed.
714
715 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * mule-charset.c (decode_builtin_char): Change semantics of
718         code-offset of coded-charset.
719         (charset_code_point): Likewise.
720         (range_charset_code_point): Likewise.
721         (complex_vars_of_mule_charset): Modify for the change.
722
723 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
724
725         * mule-charset.c (Fencode_char): Reverse arguments.
726
727         * mule-charset.c (charset_code_point): Fixed.
728
729 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
730
731         * mule-charset.c (Vcharset_mojikyo): Deleted.
732         (Vcharset_mojikyo_2022_1): Deleted.
733         (Vcharset_mojikyo_pj_{1..21}): Deleted.
734         (Qmin_code): New variable in UTF-2000.
735         (Qmax_code): Likewise.
736         (Qmother): Likewise.
737         (Qconversion): Likewise.
738         (Q94x60): Likewise.
739         (Qmojikyo): Deleted.
740         (Qmojikyo_2022_1): Deleted.
741         (Qmojikyo_pj_{1..22}): Deleted.
742         (mark_charset): Mark `cs->mother'.
743         (charset_description): Add description for `mother'.
744         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
745         new arguments `mother' and `conversion'; use
746         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
747         (charset_code_point): Moved from char-ucs.h; support `mother'
748         charset feature.
749         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
750         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
751         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
752         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
753         allow 2 as the value of `graphic' in UTF-2000; add new properties
754         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
755         require `final' in UTF-2000; modify for `make_charset'.
756         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
757         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
758         (Fcharset_property): Support `mother', `min-code' and `max-code'.
759         (Fencode_char): New function.
760         (syms_of_mule_charset): Add new builtin function `encode-char' in
761         UTF-2000; add new symbols `min-code', `max-code', `mother',
762         `conversion' and `94x60'; delete symbols `mojikyo',
763         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
764         (complex_vars_of_mule_charset): Modify for `make_charset' change;
765         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
766         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
767
768         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
769         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
770
771         * char-ucs.h (Vcharset_mojikyo): Deleted.
772         (Vcharset_mojikyo_2022_1): Deleted.
773         (LEADING_BYTE_MOJIKYO): Deleted.
774         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
775         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
776         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
777         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
778         add new member `mother'; add new member `conversion'.
779         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
780         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
781         (CHARSET_MOTHER): New macro.
782         (CHARSET_CONVERSION): New macro.
783         (CONVERSION_IDENTICAL): New macro.
784         (CONVERSION_94x60): New macro.
785         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
786         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
787         (XCHARSET_MOTHER): New macro.
788         (XCHARSET_CONVERSION): New macro.
789         (MIN_CHAR_MOJIKYO): Deleted.
790         (MAX_CHAR_MOJIKYO): Deleted.
791         (DECODE_MOJIKYO_2022): Deleted.
792         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
793         (charset_code_point): Changed to non-inline function.
794         (encode_char_1): Use `charset_code_point'.
795         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
796
797 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
798
799         * lread.c (read_compiled_function): Fix prototype.
800         (read_vector): Likewise.
801
802 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
803
804         * lrecord.h (struct lrecord_header): Delete `older'.
805         (set_lheader_implementation): Delete code for `older'.
806         (set_lheader_older_implementation): Deleted.
807         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
808         (OLDER_RECORD_P): Deleted.
809         (OLDER_RECORD_HEADER_P): Deleted.
810         (alloc_older_lcrecord): Deleted.
811         (alloc_older_lcrecord_type): Deleted.
812
813         * alloc.c (all_older_lcrecords): Deleted.
814         (alloc_older_lcrecord): Deleted.
815         (disksave_object_finalization_1): Delete code for older objects.
816         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
817         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
818
819 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
820
821         * mule-charset.c (decoding_table_put_char): Use `make_vector'
822         instead of `make_older_vector'.
823         (put_char_ccs_code_point): Likewise.
824         (mark_charset): Mark `cs->decoding_table'.
825         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
826
827         * lisp.h (make_older_vector): Deleted.
828         (make_vector_newer): Deleted.
829
830         * config.h.in (HAVE_GGC): Deleted.
831
832         * alloc.c (make_older_vector): Deleted.
833         (make_vector_newer_1): Deleted.
834         (make_vector_newer): Deleted.
835
836 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
837
838         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
839         (Qideograph_daikanwa_2): New variable.
840         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
841         (complex_vars_of_mule_charset): Add new coded-charset
842         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
843         `LEADING_BYTE_DAIKANWA'.
844
845         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
846         (LEADING_BYTE_DAIKANWA_1): New macro.
847         (LEADING_BYTE_DAIKANWA_2): New macro.
848         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
849
850 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
851
852         * mule-charset.c (complex_vars_of_mule_charset): Change
853         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
854         the second revised version.
855
856 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
857
858         * mule-charset.c (Vcharset_ucs_smp): New variable.
859         (Vcharset_ucs_sip): New variable.
860         (Qucs_smp): New variable.
861         (Qucs_sip): New variable.
862         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
863         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
864         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
865         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
866         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
867         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
868
869         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
870         (LEADING_BYTE_UCS_SIP): New macro.
871         (MIN_CHAR_SMP): New macro.
872         (MAX_CHAR_SMP): New macro.
873         (MIN_CHAR_SIP): New macro.
874         (MAX_CHAR_SIP): New macro.
875
876 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
877
878         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
879         utf-2000.
880
881 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
882
883         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
884         value; don't store value into `encoding_table' of `Lisp_Charset'.
885         (mark_charset): `encoding_table' was deleted.
886         (charset_description): Likewise.
887         (make_charset): Likewise.
888         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
889         `put_char_ccs_code_point'.
890
891         * chartab.h (Fput_char_attribute): New EXFUN.
892
893         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
894         is unified with normal symbol space.
895         (Fget_char_attribute): Likewise.
896         (Fput_char_attribute): Likewise; behavior of
897         `put_char_ccs_code_point' is changed.
898
899         * char-ucs.h: Include "elhash.h".
900         (Vchar_attribute_hash_table): New external variable.
901         (struct Lisp_Charset): Delete `encoding_table'.
902         (CHARSET_ENCODING_TABLE): New implementation; refer
903         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
904         `Lisp_Charset'.
905
906 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
907
908         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
909         (cs) == 0.
910
911 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
912
913         * text-coding.c (char_encode_big5): Prefer charset-g1 than
914         `chinese-big5'.
915
916 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
917
918         * chartab.c (uint8_byte_table_description): New constant.
919         (uint8-byte-table): Use `uint8_byte_table_description'.
920         (uint16_byte_table_description): New constant.
921         (uint16-byte-table): Use `uint16_byte_table_description'.
922
923 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
924
925         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
926         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
927
928 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
929
930         * mule-charset.c (Vcharset_ucs_ks): New variable.
931         (Qucs_ks): New variable.
932         (syms_of_mule_charset): Add new symbol `ucs-ks'.
933         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
934
935         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
936
937 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
938
939         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
940         (Fdecode_char): Likewise.
941
942         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
943         chartab.h.
944         (Fdefine_char): Modify for Fdecode_char.
945         (Ffind_char): Likewise.
946
947         * mule-charset.c (Fdecode_char): Add new optional argument
948         `defined-only'.
949         (Fdecode_builtin_char): Modify for `Fdecode_char'.
950
951 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
952
953         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
954         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
955         (allocate_coding_system): Initialize initial-charsets of
956         CODESYS_BIG5 in XEmacs UTF-2000.
957         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
958         CODESYS_BIG5 in XEmacs UTF-2000.
959         (decode_coding_big5): Use initial-charset-g0 and -g1 of
960         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
961
962         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
963         variables.
964         (Qideograph_hanziku_{1 .. 12}): Likewise.
965         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
966         .. 12}'.
967         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
968         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
969         `ideograph-hanziku-{1 .. 12}'.
970
971         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
972         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
973         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
974         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
975         (DECODE_DEFINED_CHAR): New inline function.
976         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
977
978 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
979
980         * mule-charset.c (Vcharset_china3_jef): Renamed from
981         `Vcharset_japanese_jef_china3'.
982         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
983         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
984         `{MIN|MAX}_CHAR_JEF_CHINA3'..
985         (syms_of_mule_charset): Rename `china3-jef' from
986         `japanese-jef-china3'.
987         (complex_vars_of_mule_charset): Likewise; rename
988         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
989
990         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
991         `LEADING_BYTE_JEF_CHINA3'.
992         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
993         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
994
995 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
996
997         * mule-charset.c (encode_builtin_char_1): Comment out special code
998         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
999
1000         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1001         (MAX_CHAR_MOJIKYO_0): Comment out.
1002         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1003         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1004         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1005         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1006
1007 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1008
1009         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1010         (Qideograph_cbeta): New variable.
1011         (encode_builtin_char_1): Comment out special code for
1012         coded-charset `mojikyo' and `japanese-jef-china3'.
1013         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1014         (complex_vars_of_mule_charset): Add new coded-charset
1015         `ideograph-cbeta'.
1016
1017         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1018         (MIN_CHAR_CBETA): New macro.
1019         (MAX_CHAR_CBETA): New macro.
1020
1021 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1022
1023         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1024         (LEADING_BYTE_JEF_CHINA3): New macro.
1025         (MIN_CHAR_JEF_CHINA3): New macro.
1026         (MAX_CHAR_JEF_CHINA3): Likewise.
1027         (DECODE_CHAR): Fixed.
1028
1029 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1030
1031         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1032         (Qjapanese_jef_china3): New variable.
1033         (encode_builtin_char_1): Support `japanese-jef-china3'.
1034         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1035         (complex_vars_of_mule_charset): Add new coded-charset
1036         `japanese-jef-china3'.
1037
1038 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1039
1040         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1041         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1042         94^4, 96^3, 96^4, 128^n and 256^n set.
1043         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1044         (map_char_table): Likewise.
1045
1046 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1047
1048         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1049         UTF-2000.
1050
1051 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1052
1053         * chartab.h (get_char_id_table): New inline function.
1054
1055         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1056         function.
1057
1058 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1059
1060         * chartab.h (decode_char_table_range): New prototype in XEmacs
1061         UTF-2000.
1062         (put_char_id_table): New inline function in XEmacs UTF-2000.
1063
1064         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1065         function.
1066         (decode_char_table_range): Delete static declaration in XEmacs
1067         UTF-2000.
1068
1069 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1070
1071         * chartab.c (put_char_id_table): Use `put_char_table'.
1072
1073 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1074
1075         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1076         (map_over_uint16_byte_table): Likewise.
1077         (map_over_byte_table): Likewise.
1078         (map_char_table): Modify for `map_over_uint8_byte_table',
1079         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1080         UTF-2000.
1081
1082 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1083
1084         * chartab.c (struct map_char_table_for_charset_arg): New
1085         structure.
1086         (map_char_table_for_charset_fun): New function.
1087         (map_char_table): Use `map_char_table' for encoding_table of
1088         `range->charset'.
1089
1090 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1091
1092         * chartab.c (map_char_table): Check a character is found in
1093         range->charset instead of non default value is defined in
1094         char-table when range is CHARTAB_RANGE_ROW.
1095
1096 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1097
1098         * chartab.c (map_char_id_table): Deleted.
1099         (Fmap_char_attribute): Use `map_char_table' instead of
1100         `map_char_id_table'.
1101
1102 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1103
1104         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1105         UTF-2000.
1106         (update_syntax_table): Deleted in XEmacs UTF-2000.
1107
1108         * syntax.c (find_defun_start): Use `syntax_table' instead of
1109         `mirror_syntax_table' in XEmacs UTF-2000.
1110         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1111         UTF-2000.
1112         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1113         XEmacs UTF-2000.
1114         (Fmatching_paren): Likewise.
1115         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1116         in XEmacs UTF-2000.
1117         (find_start_of_comment): Likewise.
1118         (find_end_of_comment): Likewise.
1119         (Fforward_comment): Likewise.
1120         (scan_lists): Likewise.
1121         (char_quoted): Likewise.
1122         (Fbackward_prefix_chars): Likewise.
1123         (scan_sexps_forward): Likewise.
1124         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1125         (update_syntax_table): Likewise.
1126
1127         * search.c (skip_chars): Use `syntax_table' instead of
1128         `mirror_syntax_table' in XEmacs UTF-2000.
1129         (wordify): Likewise.
1130         (Freplace_match): Likewise.
1131
1132         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1133         `mirror_syntax_table' in XEmacs UTF-2000.
1134         (WORDCHAR_P_UNSAFE): Likewise.
1135         (re_match_2_internal): Likewise.
1136
1137         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1138         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1139
1140         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1141         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1142
1143         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1144         XEmacs UTF-2000.
1145
1146         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1147         UTF-2000.
1148         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1149         (char_table_description): Delete `mirror_table' in XEmacs
1150         UTF-2000.
1151         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1152         UTF-2000.
1153         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1154         (Fcopy_char_table): Likewise.
1155         (put_char_table): Don't call `update_syntax_table' in XEmacs
1156         UTF-2000.
1157
1158         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1159         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1160         (casify_region_internal): Likewise.
1161
1162         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1163
1164         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1165         `mirror_syntax_table' in XEmacs UTF-2000.
1166
1167         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1168         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1169         (Fexpand_abbrev): Likewise.
1170
1171 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1172
1173         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1174
1175 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1176
1177         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1178         (map_over_uint16_byte_table): Likewise.
1179         (map_over_byte_table): Likewise.
1180         (get_char_id_table): Refer `cit->default_value'.
1181         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1182         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1183         of character-id ranges.
1184         (mark_char_table): Mark `ct->default_value'.
1185         (char_table_description): Add `default_value'.
1186         (fill_char_table): Use `default_value'.
1187         (decode_char_table_range): Decode `nil' as
1188         `CHARTAB_RANGE_DEFAULT'.
1189         (get_char_id_table): Refer `cit->default_value'.
1190         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1191         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1192         temporary hack; check value of char-table is bound or not.
1193         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1194
1195         * chartab.h (struct Lisp_Char_Table): Add new member
1196         `default_value' in XEmacs UTF-2000.
1197         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1198         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1199         UTF-2000.
1200
1201 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1202
1203         * chartab.h (Lisp_Char_ID_Table): Deleted.
1204
1205         * chartab.c (char_table_description): Fix typo.
1206         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1207         `Lisp_Char_ID_Table'.
1208
1209 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1210
1211         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1212         `CHAR_ID_TABLE_P'.
1213
1214         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1215         `CHAR_ID_TABLE_P'.
1216
1217         * chartab.h (XCHAR_ID_TABLE): Deleted.
1218         (XSETCHAR_ID_TABLE): Deleted.
1219         (CHAR_ID_TABLE_P): Deleted.
1220
1221         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1222         `CHAR_ID_TABLE_P'.
1223         (Fget_composite_char): Likewise.
1224         (put_char_table): Likewise.
1225         (add_char_attribute_alist_mapper): Fixed.
1226         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1227         `CHAR_ID_TABLE_P'.
1228         (Fget_char_attribute): Likewise.
1229         (Fget_char_attribute): Likewise.
1230         (Fmap_char_attribute): Likewise.
1231
1232         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1233         `CHAR_ID_TABLE_P'.
1234         (encode_char_1): Likewise.
1235
1236 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1237
1238         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1239         `XCHAR_ID_TABLE'.
1240
1241         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1242         instead of `XCHAR_ID_TABLE'.
1243         (remove_char_ccs): Likewise.
1244
1245         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1246         `XCHAR_ID_TABLE'.
1247         (Fget_composite_char): Likewise.
1248         (Fchar_variants): Likewise.
1249         (put_char_table): Likewise.
1250         (add_char_attribute_alist_mapper): Likewise.
1251         (Fchar_attribute_alist): Likewise.
1252         (Fget_char_attribute): Likewise.
1253         (Fput_char_attribute): Likewise.
1254         (Fmap_char_attribute): Likewise.
1255         (Fmap_char_attribute): Likewise.
1256
1257         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1258         `XCHAR_ID_TABLE'.
1259         (encode_char_1): Likewise.
1260
1261 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1262
1263         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1264         `Lisp_Char_ID_Table'.
1265         (mark_char_id_table): Deleted.
1266         (print_char_id_table): Likewise.
1267         (char_id_table_equal): Likewise.
1268         (char_id_table_hash): Likewise.
1269         (char_id_table_description): Likewise.
1270         (char_id_table): Likewise.
1271         (make_char_id_table): Use `Fmake_char_table' and
1272         `fill_char_table'.
1273         (get_char_id_table): Use `Lisp_Char_Table' instead of
1274         `Lisp_Char_ID_Table'.
1275         (put_char_id_table): Likewise.
1276         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1277         `XCHAR_ID_TABLE'.
1278         (Fremove_char_attribute): Likewise.
1279         (syms_of_chartab): Don't define type `char-id-table'.
1280
1281         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1282         (char_id_table): Likewise.
1283         (GC_CHAR_ID_TABLE_P): Likewise.
1284         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1285         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1286         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1287         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1288         (get_char_id_table): Use `Lisp_Char_Table' instead of
1289         `Lisp_Char_ID_Table'.
1290         (put_char_id_table_0): Likewise.
1291         (put_char_id_table): Likewise.
1292
1293 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1294
1295         * chartab.h: Lisp_Byte_Table related codes are moved from
1296         chartab.h.
1297
1298         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1299
1300 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1301
1302         * chartab.h: Don't include "chartab.h".
1303         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1304         (Lisp_Char_ID_Table): Likewise.
1305         (char_id_table): Likewise.
1306         (XCHAR_ID_TABLE): Likewise.
1307         (XSETCHAR_ID_TABLE): Likewise.
1308         (CHAR_ID_TABLE_P): Likewise.
1309         (GC_CHAR_ID_TABLE_P): Likewise.
1310         (get_char_id_table): Likewise.
1311
1312         * char-ucs.h: Include "chartab.h".
1313         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1314         (Lisp_Char_ID_Table): Likewise.
1315         (char_id_table): Likewise.
1316         (XCHAR_ID_TABLE): Likewise.
1317         (XSETCHAR_ID_TABLE): Likewise.
1318         (CHAR_ID_TABLE_P): Likewise.
1319         (GC_CHAR_ID_TABLE_P): Likewise.
1320         (get_char_id_table): Likewise.
1321
1322 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1323
1324         * chartab.c (copy_uint8_byte_table): New function.
1325         (copy_uint16_byte_table): New function.
1326         (copy_byte_table): New function.
1327         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1328         characters to call.
1329         (map_over_uint16_byte_table): Likewise.
1330         (map_over_byte_table): Likewise.
1331         (get_byte_table): Move prototype to chartab.h.
1332         (put_byte_table): Likewise.
1333         (put_char_id_table_0): Moved to chartab.h.
1334         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1335         (char_table_entry_equal): Likewise.
1336         (char_table_entry_hash): Likewise.
1337         (char_table_entry_description): Likewise.
1338         (char_table_entry): Likewise.
1339         (make_char_table_entry): Likewise.
1340         (copy_char_table_entry): Likewise.
1341         (get_non_ascii_char_table_value): Likewise.
1342         (map_over_charset_ascii): Likewise.
1343         (map_over_charset_control_1): Likewise.
1344         (map_over_charset_row): Likewise.
1345         (map_over_other_charset): Likewise.
1346         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1347         (print_char_table): Likewise.
1348         (char_table_equal): Likewise.
1349         (char_table_hash): Likewise.
1350         (char_table_description): Likewise.
1351         (fill_char_table): Likewise.
1352         (Fcopy_char_table): Likewise.
1353         (get_char_table): Likewise.
1354         (Fget_range_char_table): Likewise.
1355         (put_char_table): Likewise.
1356         (map_char_table): Likewise.
1357         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1358         UTF-2000.
1359
1360 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1361
1362         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1363         `Vauto_fill_chars' in XEmacs UTF-2000.
1364
1365         * chartab.h (get_byte_table): New prototype [moved from
1366         chartab.c].
1367         (put_byte_table): Likewise [moved from chartab.c].
1368         (put_char_id_table_0): New inline function [moved from chartab.c].
1369         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1370         (Lisp_Char_Table_Entry): Likewise.
1371         (char_table_entry): Likewise.
1372         (XCHAR_TABLE_ENTRY): Likewise.
1373         (XSETCHAR_TABLE_ENTRY): Likewise.
1374         (CHAR_TABLE_ENTRYP): Likewise.
1375         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1376         (NUM_ASCII_CHARS): Likewise.
1377         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1378         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1379
1380 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1381
1382         * chartab.c (get_char_id_table): Change interface.
1383         (put_char_id_table_0): New function.
1384         (put_char_id_table): Change interface; new implementation.
1385         (Fget_composite_char): Modify for interface change of
1386         `get_char_id_table'.
1387         (Fchar_variants): Likewise.
1388         (add_char_attribute_alist_mapper): Likewise.
1389         (Fchar_attribute_alist): Likewise.
1390         (Fget_char_attribute): Likewise.
1391         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1392         as same as character as the first argument like `put-char-table';
1393         modify for interface change of `put_char_id_table'.
1394         (Fremove_char_attribute): Modify for interface change of
1395         `put_char_id_table'.
1396
1397 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1398
1399         * text-coding.c: Sync up with XEmacs 21.2.41.
1400         (COMPOSE_ADD_CHAR): Modify for interface change of
1401         `get_char_id_table'.
1402
1403         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1404         change of `put_char_id_table'.
1405         (remove_char_ccs): Likewise.
1406
1407         * chartab.h (put_char_id_table): Change interface.
1408
1409         * char-ucs.h (get_char_id_table): Change interface.
1410         (charset_code_point): Modify for interface change of
1411         `get_char_id_table'.
1412         (encode_char_1): Likewise.
1413
1414 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1415
1416         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1417         argument `ccs'.
1418         (map_over_uint16_byte_table): Likewise.
1419         (map_over_byte_table): Likewise.
1420         (map_char_id_table): Add new argument `range' like
1421         `map_char_table'.
1422         (Fmap_char_attribute): Add new argument `range' like
1423         `Fmap_char_table'.
1424
1425 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1426
1427         * chartab.c (map_over_uint8_byte_table): Change interface of
1428         mapping function to use struct chartab_range instead of Emchar.
1429         (map_over_uint16_byte_table): Likewise.
1430         (map_over_byte_table): Likewise.
1431         (map_char_id_table): Likewise.
1432         (struct slow_map_char_id_table_arg): Deleted.
1433         (slow_map_char_id_table_fun): Deleted.
1434         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1435         function `slow_map_char_table_fun' instead of struct
1436         `slow_map_char_id_table_arg' and function
1437         `slow_map_char_id_table_fun'.
1438
1439 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1440
1441         * mule-charset.c: Move char-it-table related codes to chartab.c.
1442         (Vutf_2000_version): Moved to chartab.c.
1443         (Fdefine_char): Likewise.
1444         (Ffind_char): Likewise.
1445         (syms_of_mule_charset): Move types `uint8-byte-table',
1446         `uint16-byte-table', `byte-table' and `char-id-table' to
1447         chartab.c; move functions `char_attribute_list,
1448         `find_char_attribute_table, `char_attribute_alist,
1449         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1450         `map_char_attribute, `define_char, `find_char, `char_variants and
1451         `get_composite_char to chartab.c; move symbols `=>ucs',
1452         `->decomposition', `compat', `isolated', `initial', `medial',
1453         `final', `vertical', `noBreak', `fraction', `super', `sub',
1454         `circle', `square', `wide', `narrow', `small' and `font' to
1455         chartab.c.
1456         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1457         setting codes for `Vcharacter_composition_table' and
1458         `Vcharacter_variant_table' to chartab.c.
1459         (complex_vars_of_mule_charset): Move setting code for
1460         `Vchar_attribute_hash_table' to chartab.c.
1461
1462         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1463         (make_char_id_table): New prototype.
1464         (put_char_id_table): Likewise.
1465         (Fget_char_attribute): Likewise.
1466
1467         * chartab.c: Move char-id-table related code from mule-charset.c.
1468         (Vutf_2000_version): Moved from mule-charset.c.
1469
1470         * char-ucs.h (Qucs): New external variable.
1471         (put_char_ccs_code_point): New prototype.
1472         (remove_char_ccs): Likewise.
1473
1474 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1475
1476         * mule-charset.c (Vcharset_ucs_jis): New variable.
1477         (Qucs_jis): Likewise.
1478         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1479         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1480
1481         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1482
1483 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1484
1485         * mule-charset.c (map_over_uint8_byte_table): New function.
1486         (map_over_uint16_byte_table): Likewise.
1487         (map_over_byte_table): Likewise.
1488         (map_char_id_table): Likewise.
1489         (slow_map_char_id_table_fun): Likewise.
1490         (Fmap_char_attribute): Likewise.
1491         (syms_of_mule_charset): Add new function `map-char-attribute'.
1492
1493 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1494
1495         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1496         (syms_of_mule_charset): Add new function `find-char'.
1497
1498 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1499
1500         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1501         XEmacs UTF-2000.
1502         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1503         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1504         XEmacs UTF-2000.
1505         (complex_vars_of_mule_charset): Add new coded-charset
1506         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1507         `ideograph-gt-pj-*'.
1508
1509         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1510
1511 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1512
1513         * mule-charset.c (encode_builtin_char_1): Purge codes about
1514         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1515         {MIN|MAX}_CHAR_HEBREW.
1516         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1517         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1518
1519         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1520         (MAX_CHAR_GREEK): Purged.
1521         (MIN_CHAR_CYRILLIC): Purged.
1522         (MAX_CHAR_CYRILLIC): Purged.
1523         (MIN_CHAR_HEBREW): Commented out.
1524         (MAX_CHAR_HEBREW): Likewise.
1525
1526 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1527
1528         * mule-charset.c (Qto_ucs): New variable.
1529         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1530         (Fdefine_char): Likewise.
1531         (syms_of_mule_charset): Add new symbol `=>ucs'.
1532
1533 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1534
1535         * mule-charset.c (Fdecode_char): Fixed.
1536
1537 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1538
1539         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1540         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1541         "tcvn5712-1".
1542
1543 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1544
1545         * mule-charset.c (Vcharset_ucs_big5): New variable.
1546         (Qucs_big5): Likewise.
1547         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1548         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1549
1550         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1551
1552 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1553
1554         * mule-charset.c (decode_builtin_char): Check Big5 code range
1555         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1556
1557 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1558
1559         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1560         (Qchinese_gb12345): Likewise.
1561         (Fdecode_builtin_char): Fixed.
1562         (syms_of_mule_charset): Add `chinese-gb12345'.
1563         (complex_vars_of_mule_charset): Add coded-charset
1564         `chinese-gb12345'.
1565
1566         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1567         (LEADING_BYTE_CHINESE_GB12345): New macro.
1568
1569 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1572         and `latin-viscii-upper' for `latin-viscii'.
1573
1574 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1575
1576         * mule-charset.c (Fdecode_builtin_char): Comment out
1577         regularization code for ISO-IR GR representation.
1578
1579 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1580
1581         * mule-charset.c (decode_builtin_char): New function; renamed from
1582         `make_builtin_char'; return -1 instead of signal.
1583         (Fdecode_builtin_char): Use `decode_builtin_char'.
1584
1585         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1586         `make_builtin_char'.
1587         (DECODE_CHAR): Use `decode_builtin_char' instead of
1588         `make_builtin_char'; use mapping table of `chinese-big5' for
1589         `chinese-big5-{1,2}'.
1590
1591 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1592
1593         * text-coding.c (char_encode_big5): New function.
1594         (char_finish_big5): Likewise.
1595         (reset_encoding_stream): Use `char_encode_big5' and
1596         `char_finish_big5' for CODESYS_BIG5.
1597         (mule_encode): Don't use `encode_coding_big5'.
1598         (encode_coding_big5): Deleted.
1599
1600 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1601
1602         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1603         0x81- in XEmacs UTF-2000.
1604         (detect_coding_big5): Likewise.
1605
1606 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1607
1608         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1609         generate character-id if the CCS property does not have
1610         corresponding predefined character.
1611         (make_builtin_char): Return -1 if corresponding predefined
1612         character is not found.
1613         (Fdecode_char): Return nil if corresponding character is not
1614         found.
1615         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1616         don't map to builtin ucs space.
1617
1618 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1619
1620         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1621         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1622
1623 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1624
1625         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1626         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1627         (Qideograph_gt): Likewise.
1628         (Qideograph_gt_pj_{1..11}): Likewise.
1629         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1630         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1631         `ideograph-gt-pj-11'.
1632         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1633         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1634         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1635
1636         * char-ucs.h (LEADING_BYTE_GT): New macro.
1637         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1638         (MIN_CHAR_GT): Likewise.
1639         (MAX_CHAR_GT): Likewise.
1640
1641 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1642
1643         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1644         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1645
1646         * doprnt.c (unsigned_int_converters): Add `c'.
1647         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1648
1649         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1650         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1651         `MIN_CHAR_MOJIKYO'.
1652         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1653         (MAX_CHAR_MOJIKYO_0): New macro.
1654         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1655
1656 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1657
1658         * mule-charset.c (Fdefine_char): Delete cemented out code.
1659         (encode_builtin_char_1): Modify for new allocation of builtin
1660         Mojikyo characters.
1661
1662         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1663
1664 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1665
1666         * mule-charset.c (Vcharset_ucs_cns): New variable.
1667         (Qucs_cns): New variable.
1668         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1669         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1670
1671 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1672
1673         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1674
1675 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1676
1677         * search.c (search_buffer): Make `charset_base_code' as
1678         character-id >> 6 to eliminate the corresponding last byte in
1679         UTF-8 representation [I'm not sure it is right thing].
1680         (boyer_moore): Likewise.
1681
1682 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1683
1684         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1685         representation in MULE.
1686
1687 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1688
1689         * text-coding.c (Fmake_coding_system): Use
1690         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1691         `EXTERNAL_PROPERTY_LIST_LOOP'.
1692
1693 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1694
1695         * text-coding.c (decode_output_utf8_partial_char): New function.
1696         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1697
1698 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1699
1700         * text-coding.c (decode_coding_utf8): Output original byte
1701         sequence if it is broken; change order of conditions.
1702
1703         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1704         of conditions.
1705
1706         * mb-multibyte.h (BYTE_ASCII_P):
1707         Use bit ops for char-signedness safety.
1708         (BYTE_C0_P): Use bit ops for char-signedness safety.
1709         (BYTE_C1_P): Use bit ops for char-signedness safety.
1710
1711         * character.h: (XCHAR_OR_CHAR_INT):
1712         Always use inline function.
1713         Remove redundant type checking assert() - XINT will abort quite
1714         nicely.
1715
1716 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1717
1718         * text-coding.c: (Fencode_shift_jis_char):
1719         (Fencode_big5_char):
1720         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1721         Replace 0 with '\0' when working with bytes.
1722         Replace initial "(" with "\(" in docstrings.
1723
1724         (Fmake_coding_system):
1725         When type is ccl and value is vector, register it with a proper
1726         symbol.  And checks whether the given ccl program is valid.
1727         (mule_decode): When calling ccl_driver, if src indicates
1728         NULL pointer, set an empty string instead.
1729         (mule_encode): Likewise.
1730
1731         (detect_eol_type):
1732         (detect_coding_sjis):
1733         (decode_coding_sjis):
1734         (detect_coding_big5):
1735         (decode_coding_big5):
1736         (detect_coding_ucs4):
1737         (decode_coding_ucs4):
1738         (detect_coding_utf8):
1739         (decode_coding_utf8):
1740         (detect_coding_iso2022):
1741         (decode_coding_iso2022):
1742         (decode_coding_no_conversion):
1743         (mule_decode):
1744         Make all detecting and decoding functions take an Extbyte * arg.
1745         (text_encode_generic):
1746         (encode_coding_big5):
1747         (encode_coding_no_conversion):
1748         (mule_encode):
1749         Make all encoding functions take a Bufbyte * arg.
1750         Use size_t instead of unsigned int for memory sizes.
1751         Only cast to unsigned char whenever dereferencing Extbyte *.
1752
1753         (struct lrecord_description fcd_description_1): Use countof.
1754         (complex_vars_of_file_coding):
1755         Use countof instead of sizeof.
1756         Use CHECK_NATNUM instead of CHECK_INT.
1757
1758 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1759
1760         * mule-charset.c (Fget_char_attribute): Add new optional argument
1761         `default-value'.
1762         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1763         (remove_char_ccs): Likewise.
1764
1765 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1766
1767         * text-coding.c (char_encode_shift_jis): New implementation in
1768         UTF-2000.
1769         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1770         ...)'.
1771
1772         * mule-charset.c (Vcharset_chinese_big5): New variable in
1773         UTF-2000.
1774         (Qchinese_big5): New variable in UTF-2000.
1775         (BIG5_SAME_ROW): New macro in UTF-2000.
1776         (make_builtin_char): Use builtin characters of
1777         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1778         characters of `Vcharset_chinese_big5'.
1779         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1780         (complex_vars_of_mule_charset): Add new coded-charset
1781         `chinese-big5' in UTF-2000.
1782
1783         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1784         (Vcharset_chinese_big5): New external variable declaration.
1785         (Vcharset_japanese_jisx0208_1990): Likewise.
1786
1787 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1788
1789         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1790         function.
1791         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1792
1793 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1794
1795         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1796         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1797         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1798         `mojikyo-pj-*'.
1799
1800 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1801
1802         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1803
1804 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1805
1806         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1807         to 0.17.
1808
1809 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1810
1811         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1812         for `CHARSET_BY_ATTRIBUTES'.
1813         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1814         `CHARSET_BY_ATTRIBUTES'.
1815
1816         * text-coding.c (struct decoding_stream): Rename member `CH' to
1817         `CPOS'.
1818         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1819         (decode_coding_sjis): Likewise.
1820         (decode_coding_big5): Likewise.
1821         (decode_coding_ucs4): Likewise.
1822         (decode_coding_utf8): Likewise.
1823         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1824         `CHARSET_BY_ATTRIBUTES'.
1825         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1826         `str->counter'; decode 3, 4 bytes sets.
1827         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1828         sets.
1829         (decode_coding_no_conversion): Use `str->cpos' instead of
1830         `str->ch'.
1831
1832         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1833         (Qmojikyo_2022_1): New variable.
1834         (make_charset): Don't use `CHARSET_TYPE_*'.
1835         (range_charset_code_point): Support coded-charset
1836         `mojikyo-2022-1'.
1837         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1838         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1839         `CHARSET_BY_ATTRIBUTES'.
1840         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1841         `CHARSET_BY_ATTRIBUTES'.
1842         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1843         (complex_vars_of_mule_charset): Add new coded-charset
1844         `mojikyo-2022-1'.
1845
1846         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1847         interface; changed to inline function.
1848
1849         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1850         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1851         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1852         (CHARSET_TYPE_94): Deleted.
1853         (CHARSET_TYPE_94X94): Deleted.
1854         (CHARSET_TYPE_96): Deleted.
1855         (CHARSET_TYPE_96X96): Deleted.
1856         (CHARSET_TYPE_128): Deleted.
1857         (CHARSET_TYPE_128X128): Deleted.
1858         (CHARSET_TYPE_256): Deleted.
1859         (CHARSET_TYPE_256X256): Deleted.
1860         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1861         to inline function.
1862         (DECODE_MOJIKYO_2022): New inline function.
1863         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1864         `Vcharset_mojikyo_2022_1'.
1865
1866 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1867
1868         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1869         instead of `EQ'.
1870         (put_byte_table): Likewise.
1871         (char_id_table_equal): Use `get_byte_table' [new implementation].
1872
1873 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1874
1875         * mule-charset.c: Include <limits.h> in UTF-2000.
1876         (BT_UINT8_MIN): New macro in UTF-2000.
1877         (BT_UINT8_MAX): New macro in UTF-2000.
1878         (BT_UINT8_t): New macro in UTF-2000.
1879         (BT_UINT8_nil): New macro in UTF-2000.
1880         (BT_UINT8_unbound): New macro in UTF-2000.
1881         (INT_UINT8_P): New inline function in UTF-2000.
1882         (UINT8_VALUE_P): New inline function in UTF-2000.
1883         (UINT8_ENCODE): New inline function in UTF-2000.
1884         (UINT8_DECODE): New inline function in UTF-2000.
1885         (mark_uint8_byte_table): New function in UTF-2000.
1886         (print_uint8_byte_table): New function in UTF-2000.
1887         (uint8_byte_table_equal): New function in UTF-2000.
1888         (uint8_byte_table_hash): New function in UTF-2000.
1889         (make_uint8_byte_table): New function in UTF-2000.
1890         (uint8_byte_table_same_value_p): New function in UTF-2000.
1891         (BT_UINT16_MIN): New macro in UTF-2000.
1892         (BT_UINT16_MAX): New macro in UTF-2000.
1893         (BT_UINT16_t): New macro in UTF-2000.
1894         (BT_UINT16_nil): New macro in UTF-2000.
1895         (BT_UINT16_unbound): New macro in UTF-2000.
1896         (INT_UINT16_P): New inline function in UTF-2000.
1897         (UINT16_VALUE_P): New inline function in UTF-2000.
1898         (UINT16_ENCODE): New inline function in UTF-2000.
1899         (UINT16_DECODE): New inline function in UTF-2000.
1900         (UINT8_TO_UINT16): New inline function in UTF-2000.
1901         (mark_uint16_byte_table): New function in UTF-2000.
1902         (print_uint16_byte_table): New function in UTF-2000.
1903         (uint16_byte_table_equal): New function in UTF-2000.
1904         (uint16_byte_table_hash): New function in UTF-2000.
1905         (make_uint16_byte_table): New function in UTF-2000.
1906         (uint16_byte_table_same_value_p): New function in UTF-2000.
1907         (print_byte_table): New function in UTF-2000.
1908         (byte-table): Use `print_byte_table' as printer.
1909         (make_byte_table): Delete second argument `older'.
1910         (byte_table_same_value_p): New function in UTF-2000.
1911         (copy_byte_table): Deleted.
1912         (get_byte_table): New function in UTF-2000.
1913         (put_byte_table): New function in UTF-2000.
1914         (print_char_id_table): New function in UTF-2000.
1915         (char-id-table): Use `print_char_id_table' as printer.
1916         (make_char_id_table): Delete second argument `older'.
1917         (get_char_id_table): Use `get_byte_table [new implementation].
1918         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1919         implementation].
1920         (Ffind_char_attribute_table): New function in UTF-2000.
1921         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1922         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1923         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1924         (syms_of_mule_charset): Add new function
1925         `find-char-attribute-table' in UTF-2000.
1926
1927         * lrecord.h (enum lrecord_type): Add
1928         `lrecord_type_uint16_byte_table' and
1929         `lrecord_type_uint8_byte_table'.
1930
1931         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1932         (Lisp_Uint8_Byte_Table): New type.
1933         (XUINT8_BYTE_TABLE): New macro.
1934         (XSETUINT8_BYTE_TABLE): New macro.
1935         (UINT8_BYTE_TABLE_P): New macro.
1936         (GC_UINT8_BYTE_TABLE_P): New macro.
1937         (struct Lisp_Uint16_Byte_Table): New structure.
1938         (Lisp_Uint16_Byte_Table): New type.
1939         (XUINT16_BYTE_TABLE): New macro.
1940         (XSETUINT16_BYTE_TABLE): New macro.
1941         (UINT16_BYTE_TABLE_P): New macro.
1942         (GC_UINT16_BYTE_TABLE_P): New macro.
1943
1944 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1945
1946         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1947         (Vcharacter_ideographic_strokes_table): Deleted.
1948         (Vcharacter_total_strokes_table): Deleted.
1949         (Vcharacter_morohashi_daikanwa_table): Deleted.
1950         (Vcharacter_decomposition_table): Deleted.
1951         (Qname): Deleted because it is duplicated.
1952         (Qideographic_radical): Deleted.
1953         (Qideographic_strokes): Deleted.
1954         (Qtotal_strokes): Deleted.
1955         (Qmorohashi_daikanwa): Deleted.
1956         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1957         `ideographic-radical', `ideographic-strokes', `total-strokes',
1958         `morohashi-daikanwa' and `->decomposition'.
1959         (Fget_char_attribute): Likewise.
1960         (Fput_char_attribute): Likewise; use `make-vector' instead of
1961         `make_older_vector' for `->decomposition' value.
1962         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1963         `ideograph-daikanwa'.
1964         (syms_of_mule_charset): Delete builtin symbols `name',
1965         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1966         `morohashi-daikanwa'.
1967         (vars_of_mule_charset): Don't setup
1968         `Vcharacter_ideographic_radical_table',
1969         `Vcharacter_ideographic_strokes_table',
1970         `Vcharacter_total_strokes_table',
1971         `Vcharacter_morohashi_daikanwa_table' and
1972         `Vcharacter_decomposition_table'.
1973
1974 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1975
1976         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1977         `make_older_vector', `make_vector_newer_1' and
1978         `make_vector_newer'.
1979
1980         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1981         `make_older_vector' and `make_vector_newer'.
1982
1983         * config.h.in (HAVE_GGC): New macro.
1984
1985 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1986
1987         * mule-charset.c (struct char_attribute_list_closure): New
1988         structure in UTF-2000.
1989         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1990         (Fchar_attribute_list): Likewise.
1991         (Fset_charset_mapping_table): Use `make_vector_newer'.
1992         (Fdecode_builtin_char): New function in UTF-2000.
1993         (syms_of_mule_charset): Add new function `char-attribute-list' and
1994         `decode-builtin-char' in UTF-2000.
1995
1996         * lisp.h (make_vector_newer): New prototype.
1997
1998         * alloc.c (make_vector_newer_1): New function.
1999         (make_vector_newer): New function.
2000
2001 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2002
2003         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2004         50100)'.
2005
2006 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2007
2008         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2009         (Vcharacter_attribute_table): Deleted.
2010         (Vcharacter_name_table): Deleted.
2011         (put_char_attribute): Deleted.
2012         (remove_char_attribute): Deleted.
2013         (struct char_attribute_alist_closure): New structure.
2014         (add_char_attribute_alist_mapper): New function.
2015         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2016         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2017         (Fget_char_attribute): Likewise.
2018         (Fput_char_attribute): Likewise.
2019         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2020         of `remove_char_attribute'.
2021         (Fdefine_char): Return character.
2022         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2023         and `Vcharacter_name_table'.
2024         (complex_vars_of_mule_charset): Likewise
2025         `Vchar_attribute_hash_table'.
2026
2027 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2028
2029         * character.h (CHARC_CHARSET): New macro.
2030         (CHARC_CHARSET_ID): New macro.
2031         (CHARC_CODE_POINT): New macro.
2032         (CHARC_COLUMNS): New macro.
2033         (CHARC_TO_CHAR): New inline function.
2034         (CHARC_EQ): New inline function.
2035         (CHARC_ASCII_EQ): New inline function.
2036         (CHARC_IS_SPACE): New inline function.
2037         (ASCII_TO_CHARC): New inline function.
2038
2039         * char-ucs.h (encode_char_2): Deleted.
2040         (ENCODE_CHAR): Use `encode_char_1' again.
2041         (breakup_char_1): Likewise.
2042         (CHAR_TO_CHARC): New inline function.
2043
2044         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2045
2046 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2047
2048         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2049         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2050         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2051         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2052         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2053         `CHARC_IS_SPACE'.
2054         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2055
2056         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2057         `CHARC_CODE_POINT'.
2058         (x_output_display_block): Use `CHARC_CHARSET' and
2059         `CHARC_ASCII_EQ'.
2060
2061         * redisplay-tty.c (tty_output_display_block): Use
2062         `CHARC_ASCII_EQ'.
2063         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2064
2065         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2066
2067         * insdel.c (find_charsets_in_charc_string): Use
2068         `CHARC_CHARSET_ID'.
2069         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2070         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2071         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2072         (convert_charc_string_into_malloced_string): Likewise.
2073
2074 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2075
2076         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2077         instead of <Emchar_dynarr *> for buf; use
2078         `convert_bufbyte_string_into_charc_dynarr' instead of
2079         `convert_bufbyte_string_into_emchar_dynarr'; use
2080         `find_charsets_in_charc_string' instead of
2081         `find_charsets_in_emchar_string'.
2082
2083         * redisplay.h:
2084         - Include "character.h".
2085         (struct rune): New member `cglyph'; delete member `chr'.
2086
2087         * redisplay.c (redisplay_text_width_charc_string): New function;
2088         delete `redisplay_text_width_emchar_string'.
2089         (rtw_charc_dynarr): New variable; renamed from
2090         `rtw_emchar_dynarr'.
2091         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2092         `rtw_emchar_dynarr'; use
2093         `convert_bufbyte_string_into_charc_dynarr' instead of
2094         `convert_bufbyte_string_into_emchar_dynarr'; use
2095         `redisplay_text_width_charc_string' instead of
2096         `redisplay_text_width_emchar_string'.
2097         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2098         instead of `rtw_emchar_dynarr'; use
2099         `convert_bufbyte_string_into_charc_dynarr' instead of
2100         `convert_bufbyte_string_into_emchar_dynarr'.
2101         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2102         `redisplay_text_width_charc_string' instead of
2103         `redisplay_text_width_emchar_string'.
2104         (create_text_block): Modify for <struct rune> change.
2105         (generate_formatted_string_db): Likewise.
2106         (create_string_text_block): Likewise.
2107         (pixel_to_glyph_translation): Likewise.
2108
2109         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2110         instead of <const Emchar *>.
2111         (x_text_width): Likewise.
2112         (x_output_display_block): Use <Charc_dynarr *> instead
2113         <Emchar_dynarr *>; modify for <structure rune> change.
2114         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2115         *>.
2116
2117         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2118         <const Emchar *>; use `charc_string_displayed_columns' instead of
2119         `emchar_string_displayed_columns'.
2120         (tty_output_display_block): Use <Charc_dynarr *> instead of
2121         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2122         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2123         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2124         `tty_output_emchar_dynarr_dynarr'.
2125         (tty_output_charc_dynarr): New function; delete
2126         `tty_output_charc_dynarr'.
2127
2128         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2129         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2130         <Emchar_dynarr *> for buf; use
2131         `convert_bufbyte_string_into_charc_dynarr' instead of
2132         `convert_bufbyte_string_into_emchar_dynarr'.
2133
2134         * frame.c (title_string_charc_dynarr): New variable; renamed from
2135         `title_string_emchar_dynarr'.
2136         (generate_title_string): Use `title_string_charc_dynarr' instead
2137         of `title_string_emchar_dynarr'; use
2138         `convert_charc_string_into_malloced_string' instead of
2139         `convert_emchar_string_into_malloced_string'.
2140         (init_frame): Use `title_string_charc_dynarr' instead of
2141         `title_string_emchar_dynarr'.
2142
2143         * console.h:
2144         - Include "character.h".
2145         (struct console_methods): Use <const Charc *> instead of <const
2146         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2147         <Emchar_dynarr *> in output_string_method.
2148
2149         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2150         <Emchar_dynarr *>.
2151
2152         * console-stream.c (stream_text_width): Use <const Charc *>
2153         instead of <const Emchar *>.
2154
2155         * character.h (Charc_dynarr): New type.
2156
2157         * char-ucs.h (structure Charc): New structure; define new type
2158         `Charc'.
2159
2160         * char-lb.h (DECODE_CHAR): New inline function.
2161         (encode_char_1): New inline function.
2162         (ENCODE_CHAR): New macro.
2163         (structure Charc): New structure; define new type `Charc'.
2164
2165         * char-1byte.h (Vcharset_control_1): New macro.
2166         (Vcharset_latin_iso8859_1): New macro.
2167         (DECODE_CHAR): New inline function.
2168         (encode_char_1): New inline function.
2169         (ENCODE_CHAR): New macro.
2170         (structure Charc): New structure; define new type `Charc'.
2171
2172         * insdel.c (find_charsets_in_charc_string): New function; delete
2173         `find_charsets_in_emchar_string'.
2174         (charc_string_displayed_columns): New function; delete
2175         `emchar_string_displayed_columns'.
2176         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2177         `convert_bufbyte_string_into_emchar_dynarr'.
2178         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2179         `convert_charc_string_into_bufbyte_dynarr'.
2180         (convert_charc_string_into_malloced_string): New function; delete
2181         `convert_charc_string_into_malloced_string'.
2182
2183         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2184         `find_charsets_in_emchar_string'.
2185         (charc_string_displayed_columns): New prototype; delete
2186         `emchar_string_displayed_columns'.
2187         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2188         `convert_charc_string_into_bufbyte_dynarr'.
2189         (convert_charc_string_into_malloced_string): New prototype; delete
2190         `convert_charc_string_into_malloced_string'.
2191
2192 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2193
2194         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2195
2196 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2197
2198         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2199
2200         * char-ucs.h: Use <short> for <Charset_ID>.
2201
2202         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2203         <Charset_ID>.
2204
2205 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2206
2207         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2208         to 0.16.
2209
2210 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2211
2212         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2213         variable.
2214         (Qmorohashi_daikanwa): New variable.
2215         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2216         for `morohashi-daikanwa' attribute.
2217         (Fget_char_attribute): Likewise.
2218         (Fput_char_attribute): Likewise.
2219         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2220         has the same value of `ideograph-daikanwa'.
2221         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2222         (vars_of_mule_charset): Setup
2223         `Vcharacter_morohashi_daikanwa_table'.
2224
2225 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2226
2227         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2228         attributes.
2229         (add_charset_to_list_mapper): Add `key' instead of
2230         `XCHARSET_NAME (value)' to return aliases.
2231
2232 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2233
2234         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2235         variable.
2236         (Vcharacter_ideographic_strokes_table): New variable.
2237         (Qideographic_radical): New variable.
2238         (Qideographic_strokes): New variable.
2239         (Fchar_attribute_alist): Use
2240         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2241         attribute; use `Vcharacter_ideographic_strokes_table' for
2242         `ideographic-strokes' attribute.
2243         (Fget_char_attribute): Likewise.
2244         (Fput_char_attribute): Likewise.
2245         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2246         `ideographic-strokes'.
2247         (vars_of_mule_charset): Setup
2248         `Vcharacter_ideographic_radical_table' and
2249         `Vcharacter_ideographic_strokes_table'.
2250
2251 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2252
2253         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2254         (Qtotal_strokes): New variable.
2255         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2256         `total-strokes' attribute.
2257         (Fget_char_attribute): Likewise.
2258         (Fput_char_attribute): Likewise.
2259         (syms_of_mule_charset): Add new symbol `total-strokes'.
2260         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2261
2262 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2263
2264         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2265         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2266         are found.
2267         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2268         `->decomposition' attribute.
2269         (Fput_char_attribute): Likewise.
2270         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2271
2272 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2273
2274         * mule-charset.c (decoding_table_check_elements): New function.
2275         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2276
2277 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2278
2279         * mule-charset.c (Fset_charset_mapping_table): Use
2280         `put_char_ccs_code_point'.
2281
2282 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2283
2284         * mule-charset.c (decoding_table_put_char): New inline function.
2285         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2286
2287 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2288
2289         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2290         (XCHARSET_BYTE_SIZE): New macro.
2291         (decoding_table_remove_char): New inline function.
2292         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2293         `decoding_table_remove_char'.
2294         (remove_char_ccs): Use `decoding_table_remove_char'.
2295         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2296
2297 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2298
2299         * mule-charset.c (Vcharacter_name_table): New variable.
2300         (Qname): New variable.
2301         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2302         attribute.
2303         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2304         `Vcharacter_name_table' for `name' attribute.
2305         (Fremove_char_attribute): Use function `remove_char_ccs'.
2306         (put_char_ccs_code_point): New function.
2307         (remove_char_ccs): New function.
2308         (syms_of_mule_charset): Add new symbol `name'.
2309         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2310
2311 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2312
2313         * mule-charset.c (make_byte_table): Add new argument `older'.
2314         (make_char_id_table): Likewise.
2315         (copy_char_id_table): Comment out because it is not used.
2316         (put_char_id_table): Modify for `make_byte_table'.
2317         (Fput_char_attribute): Make encoding_table as older object;
2318         inherit older bit of `Vcharacter_composition_table'.
2319         (mark_charset): Don't mark `cs->encoding_table'.
2320         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2321         normal object; make `Vcharacter_composition_table' as an older
2322         object; delete staticpro for `Vcharacter_composition_table'; make
2323         `Vcharacter_variant_table' as a normal object.
2324
2325         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2326         (mark_object): Don't check older object in UTF-2000.
2327
2328         * lrecord.h (struct lrecord_header): Add new member `older' in
2329         UTF-2000.
2330         (set_lheader_implementation): Setup `SLI_header->older' in
2331         UTF-2000.
2332         (set_lheader_older_implementation): New macro in UTF-2000.
2333         (OLDER_RECORD_P): New macro in UTF-2000.
2334         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2335         (alloc_older_lcrecord): New prototype in UTF-2000.
2336         (alloc_older_lcrecord_type): New macro in UTF-2000.
2337
2338 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2339
2340         * mule-charset.c (byte_table_description): Use
2341         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2342         (char_id_table_description): Delete bogus `, 1'.
2343         (Fget_char_attribute): Refer encoding_table of each coded-charset
2344         to get value of coded-charset attribute of a character.
2345         (Fput_char_attribute): Use `make_older_vector' instead of
2346         `make_vector'; use encoding_table of each coded-charset to store
2347         value of coded-charset attribute of a character.
2348         (Fremove_char_attribute): Use encoding_table of each coded-charset
2349         to store value of coded-charset attribute of a character.
2350         (mark_charset): Mark `cs->encoding_table'; don't mark
2351         `cs->decoding_table'.
2352         (charset_description): Add description of new member
2353         `encoding_table'.
2354         (make_charset): Initialize `encoding_table'.
2355
2356         * char-ucs.h (struct Lisp_Charset): Add new member
2357         `encoding_table'.
2358         (CHARSET_ENCODING_TABLE): New macro.
2359         (XCHARSET_ENCODING_TABLE): New macro.
2360         (charset_code_point): New implementation.
2361         (encode_char_1): Likewise.
2362
2363         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2364         (disksave_object_finalization_1): Call finalizers of
2365         `all_older_lcrecords' in UTF-2000.
2366         (make_older_vector): New function in UTF-2000.
2367         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2368         UTF-2000.
2369
2370         * lisp.h (make_older_vector): New prototype in UTF-2000.
2371
2372 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2373
2374         * lrecord.h (enum lrecord_type): Rename
2375         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2376
2377         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2378         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2379         `get_char_code_table'.
2380
2381         * mule-charset.c (mark_char_id_table): Renamed from
2382         `mark_char_code_table'.
2383         (char_id_table_equal): Renamed from `char_code_table_equal'.
2384         (char_id_table_hash): Renamed from `char_code_table_hash'.
2385         (make_char_id_table): Renamed from `make_char_code_table'.
2386         (copy_char_id_table): Renamed from `copy_char_code_table'.
2387         (get_char_id_table): Renamed from `get_char_code_table'.
2388         (put_char_id_table): Renamed from `put_char_code_table'.
2389         (to_char_id): Renamed from `to_char_code'.
2390
2391         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2392         `Lisp_Char_Code_Table'.
2393         (char_id_table): Renamed from `char_code_table'.
2394         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2395         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2396         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2397         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2398         (get_char_id_table): Renamed from `get_char_code_table'.
2399
2400 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2401
2402         * lrecord.h (enum lrecord_type): Rename
2403         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2404
2405         * mule-charset.c (mark_byte_table): Renamed from
2406         `mark_char_byte_table'.
2407         (byte_table_equal): Renamed from `char_byte_table_equal'.
2408         (byte_table_hash): Renamed from `byte_table_hash'.
2409         (make_byte_table): Renamed from `make_byte_table'.
2410         (copy_byte_table): Renamed from `copy_char_byte_table'.
2411
2412         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2413         `Lisp_Char_Byte_Table'.
2414         (byte_table): Renamed from `char_byte_table'.
2415         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2416         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2417         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2418         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2419
2420 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2421
2422         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2423         (dfc_convert_to_internal_format): Likewise.
2424         
2425         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2426         * text-coding.c (Fcoding_system_alias_p): New function.
2427         * text-coding.c (Fcoding_system_aliasee): New function.
2428         * text-coding.c (append_suffix_to_symbol): New function.
2429         * text-coding.c (dangling_coding_system_alias_p): New function.
2430         * text-coding.c (Ffind_coding_system):
2431         * text-coding.c (Fcopy_coding_system):
2432         * text-coding.c (encode_coding_no_conversion):
2433         * text-coding.c (syms_of_file_coding):
2434         * text-coding.c (vars_of_file_coding):
2435         Rewrite coding system alias code.
2436         Allow nested aliases, like symbolic links.
2437         Allow redefinition of coding system aliases.
2438         Prevent existence of dangling coding system aliases.
2439         Eliminate convert_to_external_format.
2440         Eliminate convert_to_internal_format.
2441         
2442         * text-coding.c: Change enum eol_type to eol_type_t.
2443
2444 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2445
2446         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2447         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2448
2449         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2450         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2451
2452 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2453
2454         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2455         `ideograph-daikanwa'.
2456
2457         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2458         (Vcharset_ucs_bmp): Likewise.
2459         (Vcharset_mojikyo): Add new extern variable definition.
2460         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2461         (Vcharset_latin_iso8859_3): Likewise.
2462         (Vcharset_latin_iso8859_4): Likewise.
2463         (Vcharset_latin_iso8859_9): Likewise.
2464         (Vcharset_latin_viscii_lower): Likewise.
2465         (Vcharset_latin_viscii_upper): Likewise.
2466         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2467         `mojikyo' code-point is used to decode.
2468         (encode_char_2): New function [to convert `mojikyo' code-point to
2469         Mojikyo font encoding].
2470         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2471         (breakup_char_1): Likewise.
2472         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2473
2474 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2475
2476         * text-coding.c (Fmake_coding_system): Add document about
2477         `disable-composition' property.
2478
2479 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2480
2481         * text-coding.c (Qdisable_composition): New variable; delete
2482         `Qcomposite'.
2483         (Fmake_coding_system): Add new property `disable-composite';
2484         delete property `composite'.
2485         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2486         instead of `!CODING_SYSTEM_COMPOSITE'.
2487         (syms_of_file_coding): Add new symbol `disable-composition';
2488         delete symbol `composite'.
2489
2490         * file-coding.h (struct Lisp_Coding_System): Add
2491         `disable_composition'; delete `enable_composition'.
2492         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2493         `CODING_SYSTEM_COMPOSITE'.
2494         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2495         `XCODING_SYSTEM_COMPOSITE'.
2496
2497 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2498
2499         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2500         to 0.15.
2501
2502 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2503
2504         * text-coding.c (Qcomposite): New variable.
2505         (Fmake_coding_system): Add new property `composite'.
2506         (struct decoding_stream): Add `combined_char_count',
2507         `combined_chars' and `combining_table' in UTF-2000.
2508         (COMPOSE_FLUSH_CHARS): New macro.
2509         (COMPOSE_ADD_CHAR): New macro.
2510         (reset_decoding_stream): Reset `str->combined_char_count' and
2511         `str->combining_table' in UTF-2000.
2512         (decode_coding_iso2022): Modify for character-decomposition.
2513         (syms_of_file_coding): Add new symbol `composite'.
2514
2515 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2516
2517         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2518         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2519         of `Vcharacter_composition_table' if `->decomposition' property
2520         has only 1 element.
2521         (Qlatin_tcvn5712): New variable.
2522         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2523         (complex_vars_of_mule_charset): Add new coded-charset
2524         `latin-tcvn5712'.
2525
2526         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2527
2528 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2529
2530         * file-coding.h (struct Lisp_Coding_System): Add
2531         `enable_composition'.
2532         (CODING_SYSTEM_COMPOSITE): New macro.
2533         (XCODING_SYSTEM_COMPOSITE): New macro.
2534
2535 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2536
2537         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2538
2539 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2540
2541         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2542         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2543
2544 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2545
2546         * mule-charset.c (Vcharset_mojikyo): New variable.
2547         (Fdefine_char): Don't use coded-charset which does not have
2548         non-builtin character range to allocate character-id.
2549         (Qmojikyo): New variable.
2550         (syms_of_mule_charset): Add new symbol `mojikyo'.
2551         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2552
2553         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2554         (LEADING_BYTE_MOJIKYO): New macro.
2555         (MIN_CHAR_MOJIKYO): New macro.
2556         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2557         (MAX_CHAR_MOJIKYO): New macro.
2558
2559 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2560
2561         * mule-charset.c (remove_char_attribute): Fixed.
2562
2563 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2564
2565         * mule-charset.c (remove_char_attribute): New function.
2566         (Fremove_char_attribute): New function.
2567         (encode_builtin_char_1): Comment out builtin-support for
2568         greek-iso8859-7 and cyrillic-iso8859-5.
2569         (Fdecode_char): Check `code' is an integer.
2570         (syms_of_mule_charset): Add `remove-char-attribute'.
2571         (MIN_CHAR_GREEK): Deleted.
2572         (MAX_CHAR_GREEK): Likewise.
2573         (MIN_CHAR_CYRILLIC): Likewise.
2574         (MAX_CHAR_CYRILLIC): Likewise.
2575         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2576         MAX_CHAR_GREEK for `greek-iso8859-7'.
2577
2578         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2579         (MAX_CHAR_GREEK): Likewise.
2580         (MIN_CHAR_CYRILLIC): Likewise.
2581         (MAX_CHAR_CYRILLIC): Likewise.
2582
2583 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2584
2585         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2586         format is used without `ucs' property.
2587         (Fdecode_char): Fix problem with GR representation.
2588         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2589         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2590
2591 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2592
2593         * mule-charset.c (make_builtin_char): New function.
2594         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2595         (Fset_charset_mapping_table): Modify for new representation of
2596         code-point.
2597         (Fdecode_char): New function.
2598         (syms_of_mule_charset): Add new builtin function `decode-char' in
2599         UTF-2000.
2600
2601         * char-ucs.h (make_builtin_char): New prototype.
2602         (DECODE_CHAR): New inline function.
2603         (MAKE_CHAR): Use `DECODE_CHAR'.
2604
2605 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2606
2607         * text-coding.c (parse_charset_conversion_specs): Use
2608         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2609         `XCHARSET_TYPE'.
2610         (iso2022_designate): Likewise.
2611
2612         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2613         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2614
2615         * mule-charset.c (Vcharset_ucs): New variable.
2616         (print_charset): Change design; use `CHARSET_CHARS' and
2617         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2618         (make_charset): Change signature to specify `chars' and
2619         `dimension' instead of `type'.
2620         (range_charset_code_point): Modify for 256^n-set.
2621         (encode_builtin_char_1): Encode as `ucs' in default.
2622         (Fmake_charset): Modify for `make_charset'.
2623         (Fmake_reverse_direction_charset): Likewise.
2624         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2625         UTF-2000.
2626         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2627         for `make_charset'.
2628
2629         * char-ucs.h (Vcharset_ucs): New variable.
2630         (LEADING_BYTE_UCS): New macro.
2631         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2632         and `chars' to `unsigned short' from `unsigned int'.
2633         (CHARSET_TYPE): Deleted.
2634         (XCHARSET_TYPE): Deleted.
2635
2636 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2637
2638         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2639
2640         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2641         (ENCODE_CHAR): New macro.
2642
2643 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2644
2645         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2646         to 0.14 (Kawachi-Katakami).
2647
2648 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2649
2650         * text-coding.c (char_encode_shift_jis): Modify for
2651         `charset_code_point'.
2652         (char_encode_iso2022): Likewise.
2653
2654         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2655         (integer) instead of list of <Lisp_Object>s (integers) as the
2656         format of code-point of a coded-charset.
2657         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2658         (encode_builtin_char_1): New function; delete
2659         `split_builtin_char'.
2660         (charset_code_point): Return <int> instead of <Lisp_Object>.
2661         (Fsplit_char): Don't use `SPLIT_CHAR'.
2662
2663         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2664         prototype for `split_builtin_char'.
2665         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2666         (charset_code_point): Likewise.
2667         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2668         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2669
2670 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2671
2672         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2673         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2674
2675 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2676
2677         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2678
2679         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2680         (MAX_CHAR_OBS_94x94): Deleted.
2681
2682 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2683
2684         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2685
2686         * char-ucs.h (MAX_CHAR_BMP): New macro.
2687
2688 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2689
2690         * text-coding.c: Sync with r21-2-24.
2691
2692 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2693
2694         * file-coding.c: Modify for UTF-2000.
2695
2696 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2697
2698         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2699         to 0.13 (Takaida).
2700
2701 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2702
2703         * mule-charset.c (split_builtin_char): Delete builtin support for
2704         `katakana-jisx0201'.
2705         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2706         BMP area in builtin representation.
2707
2708         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2709         `Vcharset_katakana_jisx0201'.
2710
2711 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2712
2713         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2714         (Qisolated): New variable.
2715         (Qinitial): New variable.
2716         (Qmedial): New variable.
2717         (Qfinal): New variable.
2718         (Qvertical): New variable.
2719         (Qsmall): New variable.
2720         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2721         `Qvertical' and `Qsmall'.
2722         (Qmojikyo_pj_[1 .. 21]): New variable.
2723         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2724         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2725         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2726         .. 21]'.
2727
2728 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2729
2730         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2731         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2732         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2733
2734 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2735
2736         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2737         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2738         BMP.
2739         (Qjapanese_jisx0208_1990): New variable.
2740         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2741         (complex_vars_of_mule_charset): Add new coded-charset
2742         `japanese-jisx0208-1990'.
2743
2744         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2745         (MIN_CHAR_JIS_X0208_1990): New macro.
2746         (MAX_CHAR_JIS_X0208_1990): New macro.
2747
2748 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2749
2750         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2751         coded-charset is not found.
2752
2753 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2754
2755         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2756         (Fdefine_char): Use `Fmake_char'.
2757
2758 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2759
2760         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2761         (Vcharset_hiragana_jisx0208): Deleted.
2762         (Vcharset_katakana_jisx0208): Deleted.
2763         (Qideograph_daikanwa): New variable.
2764         (Qhiragana_jisx0208): Deleted.
2765         (Qkatakana_jisx0208): Deleted.
2766         (split_builtin_char): Split `ideograph-daikanwa'.
2767         (Fsplit_char): New implementation for UTF-2000.
2768         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2769         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2770         (complex_vars_of_mule_charset): Add new coded-charset
2771         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2772         `katakana-jisx0208'.
2773
2774         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2775         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2776         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2777         (MIN_CHAR_DAIKANWA): New macro.
2778         (MAX_CHAR_DAIKANWA): New macro.
2779
2780 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2781
2782         * data.c (Fstring_to_number): Don't recognize floating point if
2783         base is not 10.
2784
2785 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2786
2787         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2788
2789 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2790
2791         * mule-charset.c (Qsquare): New variable.
2792         (to_char_code): Add `Qsquare'.
2793         (syms_of_mule_charset): Add new symbol `square'.
2794
2795 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2796
2797         * mule-charset.c (Qcircle): New variable.
2798         (to_char_code): Add `Qcircle'.
2799         (syms_of_mule_charset): Add new symbol `circle'.
2800
2801 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2802
2803         * mule-charset.c (Qfont): New variable.
2804         (to_char_code): Add `Qfont'.
2805         (syms_of_mule_charset): Add new symbol `font'.
2806
2807 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2808
2809         * mule-charset.c (Qsub): New variable.
2810         (to_char_code): Add `Qsub'.
2811         (syms_of_mule_charset): Add new symbol `sub'.
2812
2813 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2814
2815         * mule-charset.c (Fput_char_attribute): Convert each element of
2816         VALUE to GL position if ATTRIBUTE is a GR-set,
2817
2818 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2819
2820         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2821         coded-charset is a GR-set.
2822
2823 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2824
2825         * mule-charset.c (Fput_char_attribute): Check each element of
2826         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2827
2828 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2829
2830         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2831         UTF-2000.
2832         (Qethiopic_ucs): New variable in UTF-2000.
2833         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2834         (complex_vars_of_mule_charset): Add new coded-charset
2835         `ethiopic-ucs' in UTF-2000.
2836
2837         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2838         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2839         9)'.
2840         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2841         10)'.
2842         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2843
2844 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2845
2846         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2847         `ascii'.
2848
2849 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2850
2851         * mule-charset.c (Vcharacter_variant_table): New variable.
2852         (Q_ucs): New variable.
2853         (Fchar_variants): New function.
2854         (Fput_char_attribute): Register `->ucs' value to
2855         `Vcharacter_variant_table'.
2856         (syms_of_mule_charset): Add new function `char-variants' and new
2857         symbol `->ucs'.
2858         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2859
2860 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2861
2862         * mule-charset.c (get_char_code_table): Allow negative character
2863         code.
2864         (put_char_code_table): Likewise.
2865         (Vcharacter_composition_table): New variable.
2866         (Q_decomposition): New variable.
2867         (Qwide): New variable.
2868         (Qnarrow): New variable.
2869         (Qcompat): New variable.
2870         (QnoBreak): New variable.
2871         (Qsuper): New variable.
2872         (Qfraction): New variable.
2873         (to_char_code): New function.
2874         (Fget_composite_char): New function.
2875         (Fput_char_attribute): Register `->decomposition' value to
2876         `Vcharacter_composition_table'.
2877         (syms_of_mule_charset): Add new function `get-composite-char', new
2878         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2879         `super' and `fraction'.
2880         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2881
2882 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2883
2884         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2885         character; copy the return value.
2886
2887 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2888
2889         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2890
2891         * mule-charset.c (range_charset_code_point): Must use make_int.
2892         (split_builtin_char): New function.
2893
2894 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2895
2896         * mule-charset.c (char_byte_table): Change name from
2897         "char-code-table" to "char-byte-table".
2898         (mark_char_code_table): New function.
2899         (char_code_table_equal): New function.
2900         (char_code_table_hash): New function.
2901         (char_code_table_description): New constant.
2902         (char_code_table): New type.
2903         (make_char_code_table): New function.
2904         (copy_char_code_table): New function.
2905         (get_char_code_table): Modify for `char_code_table' type.
2906         (put_char_code_table): Likewise.
2907         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2908         (Kashiwara).
2909
2910         * char-ucs.h (char_code_table): New type.
2911         (XCHAR_CODE_TABLE): New macro.
2912         (XSETCHAR_CODE_TABLE): New macro.
2913         (CHAR_CODE_TABLE_P): New macro.
2914         (GC_CHAR_CODE_TABLE_P): New macro.
2915         (struct Lisp_Char_Code_Table): New structure.
2916
2917 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2918
2919         * mule-charset.c (Fmake_charset): Setup byte_offset for
2920         {94|96}^n-set.
2921
2922 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2923
2924         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2925         character.
2926
2927 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2928
2929         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2930         is found.
2931
2932 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2933
2934         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2935         charset, it is regarded as a charset.
2936         (put_char_attribute): New function in UTF-2000.
2937         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2938         charset, mapping-table of the charset is modified.
2939         (Fdefine_char): New function in UTF-2000.
2940         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2941         `Fput_char_attribute'.
2942         (syms_of_mule_charset): Add new function `define-char' and new
2943         symbol `ucs' in UTF-2000.
2944         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2945
2946 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2947
2948         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2949         non-UTF-2000 configuration.
2950
2951 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2952
2953         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2954         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2955
2956         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2957         deleted.
2958         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2959         (Fset_charset_mapping_table): Likewise.
2960
2961         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2962         (CHARSET_ENCODING_TABLE): Delete.
2963         (XCHARSET_ENCODING_TABLE): Delete.
2964         (charset_code_point): New interface.
2965
2966 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2967
2968         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2969         instead of `charset_get_byte1' and `charset_get_byte2'.
2970
2971         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2972         (charset_get_byte2): Deleted.
2973
2974 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2975
2976         * char-ucs.h (SPLIT_CHAR): New inline function.
2977         (breakup_char_1): Use `SPLIT_CHAR'.
2978
2979         * mule-charset.c (range_charset_code_point): New function.
2980         (charset_code_point): New function.
2981
2982         * char-ucs.h (range_charset_code_point): New interface.
2983         (breakup_char_1): Use `range_charset_code_point'.
2984
2985 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2986
2987         * mule-charset.c (Fmake_charset): Delete unused local variable
2988         `code_offset'.
2989
2990         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2991         (breakup_char_1): Find a charset and code-point in
2992         `Vcharacter_attribute_table'.
2993
2994 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2995
2996         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2997         to 0.10 (Yao).
2998
2999 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3000
3001         * mule-charset.c (Vcharacter_attribute_table): New variable.
3002         (Fchar_attribute_alist): New function.
3003         (Fget_char_attribute): New function.
3004         (Fput_char_attribute): New function.
3005         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3006         too.
3007         (syms_of_mule_charset): Add new function `char-attribute-alist',
3008         `get-char-attribute' and `put-char-attribute'.
3009         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3010
3011 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3012
3013         * mule-charset.c (Fmake_charset): Just use
3014         `get_unallocated_leading_byte'.
3015
3016         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3017         sets; don't use final-byte based number for private sets.
3018
3019 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3020
3021         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3022         integer.
3023
3024 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3025
3026         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3027         to 0.9.
3028
3029 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3030
3031         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3032         of `CHAR_LEADING_BYTE' in UTF-2000.
3033
3034         * insdel.c (find_charsets_in_bufbyte_string): Use
3035         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3036         (find_charsets_in_emchar_string): Likewise.
3037
3038         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3039         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3040
3041         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3042         (CHAR_CHARSET_ID): New macro.
3043
3044 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3045
3046         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3047         charset-id - MIN_LEADING_BYTE.
3048         (put_char_table): Likewise.
3049
3050 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3051
3052         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3053         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3054         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3055         (CHARSET_ID_OFFSET): New macro.
3056         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3057         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3058         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3059         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3060         4).
3061         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3062         5).
3063         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3064         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3065         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3066         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3067         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3068
3069 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3070
3071         * mule-charset.c (next_allocated_leading_byte): New variable in
3072         UTF-2000.
3073         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3074         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3075         (get_unallocated_leading_byte): Simply use
3076         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3077         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3078         UTF-2000.
3079
3080         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3081         (MAX_LEADING_BYTE_PRIVATE): New macro.
3082         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3083         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3084
3085 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3086
3087         * mule-charset.c (Fmake_charset): Allocate final-byte based
3088         charset-id for 94-set, 96-set and 94x94-set.
3089
3090 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3091
3092         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3093         ambiguous `else'.
3094         (Fmake_charset): Likewise.
3095         (complex_vars_of_mule_charset): Modify the font registry of
3096         `ucs-bmp' not to match `Ethiopic-Unicode'.
3097
3098 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3099
3100         * mule-charset.c (complex_vars_of_mule_charset): Add font
3101         registory of `ucs-bmp'.
3102
3103 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3104
3105         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3106         coded-charsets in `default-coded-charset-priority-list' when
3107         breaking up a character.
3108
3109         * mule-charset.c (Vcharset_latin_viscii): New variable.
3110         (Qlatin_viscii): New variable.
3111         (make_charset): Don't use `decoding_table'.
3112         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3113         byte_offset.
3114         (Fset_charset_mapping_table): New implementation.
3115         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3116         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3117         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3118         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3119         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3120         charset `latin_viscii'.
3121
3122         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3123         (CHARSET_TYPE_94X94): Change to 1 from 2.
3124         (CHARSET_TYPE_96): Change to 2 from 1.
3125         (CHARSET_TYPE_128): New macro.
3126         (CHARSET_TYPE_128X128): Change to 5 from 4.
3127         (CHARSET_TYPE_256): New macro.
3128         (CHARSET_TYPE_256X256): Change to 7 from 5.
3129         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3130
3131 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3132
3133         * text-coding.c (char_encode_shift_jis): Refer
3134         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3135         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3136
3137         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3138         (char_byte_table_equal): New function in UTF-2000.
3139         (char_byte_table_hash): New function in UTF-2000.
3140         (char_byte_table_description): New constant in UTF-2000.
3141         (char_byte_table): New type in UTF-2000.
3142         (make_char_byte_table): New function in UTF-2000.
3143         (copy_char_byte_table): New function in UTF-2000.
3144         (make_char_code_table): New macro in UTF-2000.
3145         (get_char_code_table): New function in UTF-2000.
3146         (put_char_code_table): New function in UTF-2000.
3147         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3148         (charset_description): Add setting in UTF-2000.
3149         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3150         `CHARSET_TO_BYTE1_TABLE(cs)'.
3151         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3152         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3153         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3154         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3155         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3156         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3157         `CHARSET_TO_BYTE2_TABLE(cs)'.
3158
3159         * char-ucs.h (char_byte_table): New type.
3160         (XCHAR_BYTE_TABLE): New macro.
3161         (XSETCHAR_BYTE_TABLE): New macro.
3162         (CHAR_BYTE_TABLE_P): New macro.
3163         (GC_CHAR_BYTE_TABLE_P): New macro.
3164         (struct Lisp_Char_Byte_Table): New structure.
3165         (get_char_code_table): New interface.
3166         (Emchar_to_byte_table): Deleted.
3167         (get_byte_from_character_table): Deleted.
3168         (struct Lisp_Charset): Add `encoding_table'; delete
3169         `to_byte1_table' and `to_byte2_table'.
3170         (CHARSET_ENCODING_TABLE): New macro.
3171         (CHARSET_TO_BYTE1_TABLE): Deleted.
3172         (CHARSET_TO_BYTE2_TABLE): Deleted.
3173         (XCHARSET_ENCODING_TABLE): New macro.
3174         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3175         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3176
3177 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3178
3179         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3180         `vietnamese-viscii-*'.
3181
3182 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3183
3184         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3185         (Qvietnamese_viscii_upper): New variable.
3186         (Fdefine_charset_alias): New function.
3187         (syms_of_mule_charset): Add new function `define-charset-alias'.
3188         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3189         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3190         `latin-viscii-*'.
3191
3192 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3193
3194         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3195         (MAX_CHAR_OBS_94x94): New macro.
3196         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3197         for 94x94 sets.
3198
3199         * mule-charset.c (put_byte_from_character_table): Change unit size
3200         from 128 to 256.
3201         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3202         not defined.
3203         (Fmake_reverse_direction_charset): Modify dummy argument of
3204         `make_charset' for non-UTF-2000 environment.
3205
3206 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3207
3208         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3209
3210         * mule-charset.c (destroy_byte_from_character_table): New macro.
3211         (latin_jisx0201_to_ucs): Deleted.
3212         (latin_iso8859_2_to_ucs): Deleted.
3213         (latin_iso8859_3_to_ucs): Deleted.
3214         (latin_iso8859_4_to_ucs): Deleted.
3215         (latin_iso8859_9_to_ucs): Deleted.
3216         (latin_viscii_lower_to_ucs): Deleted.
3217         (latin_viscii_upper_to_ucs): Deleted.
3218         (mark_charset): Mark `cs->decoding_table'.
3219         (Fcharset_mapping_table): Fix DOC-string.
3220         (Fset_charset_mapping_table): New function.
3221         (syms_of_mule_charset): Add nwe function
3222         `set-charset-mapping-table'.
3223         (complex_vars_of_mule_charset): Don't setup and use
3224         `latin_*_to_ucs'.
3225
3226 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3227
3228         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3229         charset.
3230
3231 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3232
3233         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3234         (Vcharset_katakana_jisx0208): New variable.
3235         (Qhiragana_jisx0208): New variable.
3236         (Qkatakana_jisx0208): New variable.
3237         (make_charset): Add new argument `byte_offset'.
3238         (charset_get_byte1): Modify for new coded-charset definition; use
3239         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3240         `XCHARSET_BYTE_OFFSET'.
3241         (Fmake_charset): Modify for `make_charset'.
3242         (Fmake_reverse_direction_charset): Likewise.
3243         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3244         `katakana-jisx0208'.
3245         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3246         `.'  in font registry of charset `katakana-jisx0201',
3247         `latin-jisx0201', `vietnamese-viscii-lower' and
3248         `vietnamese-viscii-upper'; modify DOC-string of charset
3249         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3250         registry of charset `japanese-jisx0208' not to use font for JIS
3251         X0208:1990; add new charset `hiragana-jisx0208' and
3252         `katakana-jisx0208'.
3253
3254         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3255         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3256         (struct Lisp_Charset): Add `byte_offset'.
3257         (CHARSET_BYTE_OFFSET): New macro.
3258         (XCHARSET_UCS_MIN): New macro.
3259         (XCHARSET_UCS_MAX): New macro.
3260         (XCHARSET_CODE_OFFSET): New macro.
3261         (XCHARSET_BYTE_OFFSET): New macro.
3262         (MIN_CHAR_HIRAGANA): New macro.
3263         (MAX_CHAR_HIRAGANA): New macro.
3264         (MIN_CHAR_KATAKANA): New macro.
3265         (MAX_CHAR_KATAKANA): New macro.
3266         (MAKE_CHAR): Modify for new coded-charset definition; use
3267         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3268         `XCHARSET_BYTE_OFFSET'.
3269
3270 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3271
3272         * mule-charset.c (CHAR96): Deleted.
3273         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3274         <Lisp_Object>.
3275         (latin_iso8859_2_to_ucs): Likewise.
3276         (latin_iso8859_3_to_ucs): Likewise.
3277         (latin_iso8859_4_to_ucs): Likewise.
3278         (latin_iso8859_9_to_ucs): Likewise.
3279         (latin_viscii_lower_to_ucs): Likewise.
3280         (latin_viscii_upper_to_ucs): Likewise.
3281         (latin_tcvn5712_to_ucs): Commented out.
3282         (make_charset): Change type of argument `decoding_table' from
3283         <Emchar*> to <Lisp_Object> [vector of characters].
3284         (Fmake_charset): Modify for `make_charset'.
3285         (Fmake_reverse_direction_charset): Likewise.
3286         (Fcharset_mapping_table): New function in UTF-2000.
3287         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3288         UTF-2000.
3289         (complex_vars_of_mule_charset): Modify for type change of
3290         `*_to_ucs'; modify for `make_charset'.
3291
3292         * char-ucs.h (struct Lisp_Charset): Change type of
3293         `decoding_table' from <Emchar*> to <Lisp_Object>.
3294         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3295
3296 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3297
3298         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3299         error with non-UTF-2000-Mule.
3300
3301 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3302
3303         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3304         in lisp again].
3305         (Vcharset_chinese_cns11643_4): Likewise.
3306         (Vcharset_chinese_cns11643_5): Likewise.
3307         (Vcharset_chinese_cns11643_6): Likewise.
3308         (Vcharset_chinese_cns11643_7): Likewise.
3309         (Qchinese_cns11643_3): Likewise.
3310         (Qchinese_cns11643_4): Likewise.
3311         (Qchinese_cns11643_5): Likewise.
3312         (Qchinese_cns11643_6): Likewise.
3313         (Qchinese_cns11643_7): Likewise.
3314         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3315         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3316         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3317         (complex_vars_of_mule_charset): Likewise.
3318
3319 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3320
3321         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3322         96-set.
3323         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3324         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3325
3326 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3327
3328         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3329         0xFF60.
3330         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3331         (breakup_char_1): Likewise.
3332
3333         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3334         one of them includes the specified character.
3335
3336 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3337
3338         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3339
3340 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3341
3342         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3343
3344 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3345
3346         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3347         definition for non-UTF-2000 Mule.
3348         (latin_iso8859_3_to_ucs): Likewise.
3349         (latin_iso8859_4_to_ucs): Likewise.
3350         (latin_iso8859_9_to_ucs): Likewise.
3351         (latin_jisx0201_to_ucs): Likewise.
3352         (MIN_CHAR_THAI): Likewise.
3353         (MAX_CHAR_THAI): Likewise.
3354         (MIN_CHAR_GREEK): Likewise.
3355         (MAX_CHAR_GREEK): Likewise.
3356         (MIN_CHAR_HEBREW): Likewise.
3357         (MAX_CHAR_HEBREW): Likewise.
3358         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3359         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3360         (MIN_CHAR_CYRILLIC): Likewise.
3361         (MAX_CHAR_CYRILLIC): Likewise.
3362
3363 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3364
3365         * char-ucs.h (breakup_char_1): Use
3366         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3367         thai-tis620 and katakana-jisx0201 area.
3368
3369 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3370
3371         * char-ucs.h (breakup_char_1): Use
3372         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3373         area.
3374
3375         * text-coding.c (reset_encoding_stream): Fixed.
3376         (char_encode_ucs4): Delete `& 255'.
3377
3378         * char-ucs.h (breakup_char_1): Use
3379         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3380
3381 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3382
3383         * file-coding.c (Fmake_coding_system): Don't set up
3384         `codesys->fixed.size'.
3385         (encode_coding_no_conversion): Don't refer
3386         `str->codesys->fixed.size'.
3387
3388 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3389
3390         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3391         (latin_a_char_to_byte1): Deleted.
3392         (latin_a_char_to_byte2): Deleted.
3393
3394 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3395
3396         * mule-charset.c (make_charset): Add new argument `ucs_min',
3397         `ucs_max' and `code_offset'.
3398         (charset_get_byte1): New implementation [delete specific charset
3399         depended implementations].
3400         (Fmake_charset): Modify for `make_charset'.
3401         (Fmake_reverse_direction_charset): Likewise.
3402         (complex_vars_of_mule_charset): Likewise.
3403
3404         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3405         `code_offset'.
3406         (CHARSET_UCS_MIN): New macro.
3407         (CHARSET_UCS_MAX): New macro.
3408         (CHARSET_CODE_OFFSET): New macro.
3409         (MAKE_CHAR): Delete charset depended definitions [except
3410         katakana-jisx0201].
3411
3412 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3413
3414         * char-ucs.h (breakup_char_1): Use
3415         `Vdefault_coded_charset_priority_list' for C0-Controls,
3416         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3417
3418 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3419
3420         * char-ucs.h (charset_get_byte1): New function.
3421         (XCHARSET_GET_BYTE1): Deleted.
3422         (charset_get_byte2): New function.
3423         (XCHARSET_GET_BYTE2): Deleted.
3424         (Vdefault_coded_charset_priority_list): New external variable.
3425         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3426         `Vdefault_preferred_coded_charset_list'.
3427
3428         * mule-charset.c (charset_get_byte1): New function.
3429         (charset_get_byte2): New function.
3430         (Vdefault_coded_charset_priority_list): New variable.
3431         (vars_of_mule_charset): Add new variable
3432         `default-coded-charset-priority-list'.
3433
3434 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3435
3436         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3437         (XCHARSET_GET_BYTE2): New inline function.
3438         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3439         `XCHARSET_GET_BYTE2'.
3440
3441 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3442
3443         * mule-charset.c (make_charset): Initialize
3444         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3445         NULL if table is not defined.
3446
3447 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3448
3449         * text-coding.c (char_encode_shift_jis): Use
3450         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3451         `ucs_to_latin_jisx0201'.
3452
3453         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3454         (ucs_to_latin_iso8859_2): Deleted.
3455         (ucs_to_latin_iso8859_3): Deleted.
3456         (ucs_to_latin_iso8859_4): Deleted.
3457         (ucs_to_latin_iso8859_9): Deleted.
3458         (ucs_to_latin_viscii_lower): Deleted.
3459         (ucs_to_latin_viscii_upper): Deleted.
3460         (ucs_to_latin_tcvn5712): Deleted.
3461         (make_charset): Add new argument `decoding_table'; set up
3462         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3463         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3464         `decoding_table' is defined in UTF-2000.
3465         (Fmake_charset): Modify for `make_charset'.
3466         (Fmake_reverse_direction_charset): Likewise.
3467         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3468         and `GENERATE_96_SET'.
3469
3470         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3471         (ucs_to_latin_jisx0201): Deleted.
3472         (latin_iso8859_2_to_ucs): Deleted.
3473         (ucs_to_latin_iso8859_2): Deleted.
3474         (latin_iso8859_3_to_ucs): Deleted.
3475         (ucs_to_latin_iso8859_3): Deleted.
3476         (latin_iso8859_4_to_ucs): Deleted.
3477         (ucs_to_latin_iso8859_4): Deleted.
3478         (latin_iso8859_9_to_ucs): Deleted.
3479         (ucs_to_latin_iso8859_9): Deleted.
3480         (latin_viscii_lower_to_ucs): Deleted.
3481         (ucs_to_latin_viscii_lower): Deleted.
3482         (latin_viscii_upper_to_ucs): Deleted.
3483         (ucs_to_latin_viscii_upper): Deleted.
3484         (struct Lisp_Charset): Renamed `encoding_table' to
3485         `to_byte1_table'; add `to_byte2_table'.
3486         (CHARSET_DECODING_TABLE): New macro.
3487         (CHARSET_TO_BYTE1_TABLE): New macro.
3488         (CHARSET_TO_BYTE2_TABLE): New macro.
3489         (XCHARSET_DECODING_TABLE): New macro.
3490         (XCHARSET_TO_BYTE1_TABLE): New macro.
3491         (XCHARSET_TO_BYTE2_TABLE): New macro.
3492         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3493         tables.
3494         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3495         don't use `ucs_to_*' tables.
3496
3497 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3498
3499         * text-coding.c (Fmake_coding_system): Don't set up
3500         `codesys->fixed.size'.
3501         (encode_coding_no_conversion): Use `if' instead of `switch'.
3502
3503         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3504
3505 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3506
3507         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3508         (Fmake_charset): Modify for `make_charset'.
3509         (Fmake_reverse_direction_charset): Likewise.
3510         (complex_vars_of_mule_charset): Likewise.
3511
3512 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3513
3514         * text-coding.c (char_encode_shift_jis): Use table
3515         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3516
3517 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3518
3519         * text-coding.c (text_encode_generic): Use `if' instead of
3520         `switch'.
3521         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3522         decode JIS-Latin.
3523
3524 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3525
3526         * text-coding.c (encode_coding_sjis): Deleted.
3527         (char_encode_shift_jis): New function.
3528         (char_finish_shift_jis): New function.
3529         (reset_encoding_stream): Set up `encode_char' and `finish' for
3530         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3531         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3532         (char_encode_utf8): Treat `eol_type'.
3533
3534 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3535
3536         * file-coding.c (decode_coding_iso2022): Use
3537         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3538
3539 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3540
3541         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3542         to 0.7 (Hirano).
3543
3544 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3545
3546         * char-lb.h (CHAR_COLUMNS): New macro.
3547
3548 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3549
3550         * text-coding.c (char_encode_ucs4): New function.
3551         (char_finish_ucs4): New function.
3552         (encode_coding_ucs4): Deleted.
3553         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3554         (text_encode_generic): Delete local variable `charset' and `half'.
3555         (ucs_to_mule_table): Deleted.
3556         (mule_to_ucs_table): Deleted.
3557         (Fset_ucs_char): Deleted.
3558         (ucs_to_char): Deleted.
3559         (Fucs_char): Deleted.
3560         (Fset_char_ucs): Deleted.
3561         (Fchar_ucs): Deleted.
3562         (decode_ucs4): Deleted.
3563         (mule_char_to_ucs4): Deleted.
3564         (encode_ucs4): Deleted.
3565         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3566         (decode_coding_utf8): Likewise.
3567         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3568         (char_encode_iso2022): Fixed.
3569         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3570         `Fset_char_ucs' and `Fchar_ucs'.
3571         (complex_vars_of_file_coding): Don't initialize
3572         `ucs_to_mule_table'.
3573
3574         * objects-tty.c (tty_initialize_font_instance): Don't use
3575         `XCHARSET_COLUMNS'.
3576
3577         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3578         UTF-2000.
3579
3580         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3581         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3582
3583         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3584         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3585         (emchar_string_displayed_columns): Likewise.
3586
3587         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3588         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3589         (string_column_at_point): Likewise.
3590         (Fmove_to_column): Likewise.
3591
3592         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3593         `encoding_table' and `decoding_table'.
3594         (CHARSET_REP_BYTES): Deleted.
3595         (XCHARSET_REP_BYTES): Deleted.
3596         (XCHARSET_COLUMNS): Deleted.
3597         (CHAR_COLUMNS): New macro.
3598         (lookup_composite_char): Deleted unconditionally.
3599         (composite_char_string): Likewise.
3600
3601 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3602
3603         * char-ucs.h (Emchar_to_byte_table): New type.
3604         (get_byte_from_character_table): New function interface.
3605         (Vcharset_latin_jisx0201): New variable.
3606         (latin_jisx0201_to_ucs): New variable.
3607         (ucs_to_latin_jisx0201): New variable.
3608         (Vcharset_latin_iso8859_2): New variable.
3609         (latin_iso8859_2_to_ucs): New variable.
3610         (ucs_to_latin_iso8859_2): New variable.
3611         (Vcharset_latin_iso8859_3): New variable.
3612         (latin_iso8859_3_to_ucs): New variable.
3613         (ucs_to_latin_iso8859_3): New variable.
3614         (Vcharset_latin_iso8859_4): New variable.
3615         (latin_iso8859_4_to_ucs): New variable.
3616         (ucs_to_latin_iso8859_4): New variable.
3617         (Vcharset_latin_iso8859_9): New variable.
3618         (latin_iso8859_9_to_ucs): New variable.
3619         (ucs_to_latin_iso8859_9): New variable.
3620         (Vcharset_latin_viscii_lower): New variable.
3621         (latin_viscii_lower_to_ucs): New variable.
3622         (ucs_to_latin_viscii_lower): New variable.
3623         (Vcharset_latin_viscii_upper): New variable.
3624         (latin_viscii_upper_to_ucs): New variable.
3625         (ucs_to_latin_viscii_upper): New variable.
3626         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3627         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3628         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3629         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3630         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3631         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3632         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3633         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3634         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3635         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3636
3637         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3638         (Vcharset_latin_viscii_upper): New variable.
3639         (make_byte_from_character_table): New function.
3640         (put_byte_from_character_table): New function.
3641         (get_byte_from_character_table): New function.
3642         (CHAR96): New macro.
3643         (ucs_to_latin_jisx0201): New variable.
3644         (latin_jisx0201_to_ucs): New variable.
3645         (ucs_to_latin_iso8859_2): New variable.
3646         (latin_iso8859_2_to_ucs): New variable.
3647         (ucs_to_latin_iso8859_3): New variable.
3648         (latin_iso8859_3_to_ucs): New variable.
3649         (ucs_to_latin_iso8859_4): New variable.
3650         (latin_iso8859_4_to_ucs): New variable.
3651         (ucs_to_latin_iso8859_9): New variable.
3652         (latin_iso8859_9_to_ucs): New variable.
3653         (ucs_to_latin_viscii_lower): New variable.
3654         (latin_viscii_lower_to_ucs): New variable.
3655         (ucs_to_latin_viscii_upper): New variable.
3656         (latin_viscii_upper_to_ucs): New variable.
3657         (ucs_to_latin_tcvn5712): New variable.
3658         (latin_tcvn5712_to_ucs): New variable.
3659         (Qlatin_viscii_lower): New variable.
3660         (Qlatin_viscii_upper): New variable.
3661         (syms_of_mule_charset): Set up new symbol
3662         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3663         (complex_vars_of_mule_charset): Set up new charset
3664         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3665         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3666         `ucs_to_<CHARSET>' tables.
3667
3668 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3669
3670         * text-coding.c: New file.
3671
3672 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3673
3674         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3675
3676         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3677         (MAKE_CHAR): Modify for `ucs-bmp'.
3678         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3679         non-MULE characters of BMP.
3680
3681 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3682
3683         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3684         to 0.6.
3685
3686 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3687
3688         * lstream.h:
3689         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3690         - Include character.h for `CHAR_ASCII_P'.
3691
3692         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3693
3694         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3695         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3696
3697         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3698         (BYTE_C0_P): Likewise.
3699         (BYTE_C1_P): Likewise.
3700         (Lstream_get_emchar_1): Likewise.
3701         (Lstream_fput_emchar): Likewise.
3702         (Lstream_funget_emchar): Likewise.
3703         (copy_internal_to_external): Likewise.
3704         (copy_external_to_internal): Likewise.
3705
3706         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3707         (BYTE_C0_P): Likewise.
3708         (BYTE_C1_P): Likewise.
3709         (Lstream_get_emchar_1): Likewise.
3710         (Lstream_fput_emchar): Likewise.
3711         (Lstream_funget_emchar): Likewise.
3712         (copy_internal_to_external): Likewise.
3713         (copy_external_to_internal): Likewise.
3714
3715         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3716         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3717
3718         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3719         (BYTE_ASCII_P): Moved to mb-1byte.h.
3720
3721 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3722
3723         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3724
3725         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3726         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3727         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3728         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3729         (VALIDATE_CHARPTR_FORWARD): Likewise.
3730         (simple_charptr_emchar): Moved to mb-multibyte.h.
3731         (simple_set_charptr_emchar): Likewise.
3732         (simple_charptr_copy_char): Likewise.
3733         (non_ascii_charptr_emchar): Likewise.
3734         (non_ascii_set_charptr_emchar): Likewise.
3735         (non_ascii_charptr_copy_char): Likewise.
3736         (charptr_emchar): Moved to mb-*byte.h.
3737         (set_charptr_emchar): Likewise.
3738         (charptr_copy_char): Likewise.
3739
3740         * mb-1byte.h, mb-multibyte.h: New files.
3741
3742 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3743
3744         * mb-utf-8.h (MULTIBYTE): New macro.
3745         (MAX_EMCHAR_LEN): Moved from buffer.h.
3746         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3747
3748         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3749
3750         * mb-lb.h, multibyte.h: New files.
3751
3752         * char-1byte.h (Charset_ID): Moved from buffer.h.
3753         (MIN_LEADING_BYTE): Likewise.
3754         (LEADING_BYTE_ASCII): Likewise.
3755         (NUM_LEADING_BYTES): Likewise.
3756         (CHARSETP): Likewise.
3757         (CHARSET_BY_LEADING_BYTE): Likewise.
3758         (XCHARSET_LEADING_BYTE): Likewise.
3759         (XCHARSET_GRAPHIC): Likewise.
3760         (XCHARSET_COLUMNS): Likewise.
3761         (XCHARSET_DIMENSION): Likewise.
3762         (CHAR_CHARSET): Likewise.
3763         (CHAR_LEADING_BYTE): Likewise.
3764         (BREAKUP_CHAR): Likewise.
3765         (Vcharset_ascii): Likewise.
3766
3767         * buffer.h: Include multibyte.h unconditionally.
3768         (VALID_CHARPTR_P): Moved to multibyte.h.
3769         (ASSERT_VALID_CHARPTR): Likewise.
3770         (REAL_INC_CHARPTR): Likewise.
3771         (REAL_INC_CHARBYTIND): Likewise.
3772         (REAL_DEC_CHARPTR): Likewise.
3773         (INC_CHARPTR): Likewise.
3774         (INC_CHARBYTIND): Likewise.
3775         (DEC_CHARPTR): Likewise.
3776         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3777         (VALIDATE_CHARPTR_FORWARD): Likewise.
3778         (charptr_n_addr): Likewise.
3779         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3780         (simple_charptr_emchar): Moved to multibyte.h.
3781         (simple_set_charptr_emchar): Likewise.
3782         (simple_charptr_copy_char): Likewise.
3783         (non_ascii_charptr_emchar): Likewise.
3784         (non_ascii_set_charptr_emchar): Likewise.
3785         (non_ascii_charptr_copy_char): Likewise.
3786         (charptr_emchar): Likewise.
3787         (set_charptr_emchar): Likewise.
3788         (charptr_copy_char): Likewise.
3789         (charptr_emchar_n): Likewise.
3790         (Charset_ID): Moved to char-1byte.h.
3791         (Vcharset_ascii): Likewise.
3792         (CHAR_CHARSET): Likewise.
3793         (CHAR_LEADING_BYTE): Likewise.
3794         (LEADING_BYTE_ASCII): Likewise.
3795         (NUM_LEADING_BYTES): Likewise.
3796         (MIN_LEADING_BYTE): Likewise.
3797         (CHARSETP): Likewise.
3798         (CHARSET_BY_LEADING_BYTE): Likewise.
3799         (XCHARSET_LEADING_BYTE): Likewise.
3800         (XCHARSET_GRAPHIC): Likewise.
3801         (XCHARSET_COLUMNS): Likewise.
3802         (XCHARSET_DIMENSION): Likewise.
3803         (BREAKUP_CHAR): Likewise.
3804
3805 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3806
3807         * character.h: Add document about interface for characters.
3808
3809         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3810         (MAKE_CHAR): Delete comment about
3811         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3812         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3813         (BREAKUP_CHAR): Modify name of arguments.
3814         (CHAR_CHARSET): Modify name of argument.
3815
3816         * buffer.h: Delete document about Emchar accessors.
3817
3818 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3819
3820         * character.h (CHAR_INTP): Moved from buffer.h
3821         (CHAR_OR_CHAR_INTP): Likewise.
3822         (XCHAR_OR_CHAR_INT): Likewise.
3823         (CHECK_CHAR_COERCE_INT): Likewise.
3824
3825         * buffer.h (CHAR_INTP): Moved to character.h
3826         (CHAR_OR_CHAR_INTP): Likewise.
3827         (XCHAR_OR_CHAR_INT): Likewise.
3828         (CHECK_CHAR_COERCE_INT): Likewise.
3829
3830 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3831
3832         * character.h:
3833         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3834         - Include char-1byte.h, char-lb.h or char-ucs.h.
3835
3836         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3837
3838         * buffer.h: Include character unconditionally.
3839         (valid_char_p): Moved to char-*.h.
3840         (non_ascii_valid_char_p): Moved to char-lb.h.
3841
3842         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3843
3844 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3845
3846         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3847         in UTF-2000 because it is not ported yet and not to use
3848         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3849         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3850         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3851
3852         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3853         (CHAR_ASCII_P): Moved from character.h.
3854
3855         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3856         (CHAR_ASCII_P): Likewise.
3857         (CHAR_FIELD1_MASK): Deleted.
3858         (CHAR_FIELD2_MASK): Deleted.
3859         (CHAR_FIELD3_MASK): Deleted.
3860         (MAX_CHAR_BASIC_LATIN): New macro.
3861         (CHAR_FIELD1): Deleted.
3862         (CHAR_FIELD2_INTERNAL): Deleted.
3863         (CHAR_FIELD3_INTERNAL): Deleted.
3864         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3865         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3866         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3867         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3868         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3869         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3870         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3871         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3872         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3873         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3874         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3875         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3876         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3877         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3878         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3879         (MIN_CHAR_COMPOSITION): Deleted.
3880         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3881         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3882
3883 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3884
3885         * buffer.h: Include mb-utf-8.h in UTF-2000.
3886
3887         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3888
3889         * mb-utf-8.h: New file.
3890
3891 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3892
3893         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3894         instead of `int'.
3895
3896         * mule-charset.h, buffer.h (Charset_ID): New type.
3897
3898 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3899
3900         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3901         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3902         instead of `MULE_CHAR_PRIVATE_OFFSET',
3903         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3904         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3905         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3906
3907         * character.h (Vcharset_japanese_jisx0212): New variable
3908         definition.
3909
3910 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3911
3912         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3913         (charset_by_attributes): Delete array about direction.
3914         (latin_a_char_to_charset): New variable in UTF-2000.
3915         (latin_a_char_to_byte1): New variable in UTF-2000.
3916         (latin_a_char_to_byte2): New variable in UTF-2000.
3917         (Qucs_bmp): New variable.
3918         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3919         `Bufbyte'.
3920         (next_allocated_2_byte_leading_byte): Likewise.
3921         (non_ascii_set_charptr_emchar): Likewise.
3922         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3923         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3924         `charset_by_attributes'.
3925         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3926         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3927         and `CHARSET_BY_LEADING_BYTE'.
3928         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3929         `utf-2000-version' to `vars_of_mule_charset'.
3930         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3931         define `leading-code-private-11' in UTF-2000; move setting of
3932         `utf-2000-version' from `syms_of_mule_charset'.
3933         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3934         UTF-2000.
3935
3936         * character.h (Charset_ID): New type.
3937         (LEADING_BYTE_UCS_BMP): New macro.
3938         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3939         (CHARSET_ID_OFFSET_94): New macro.
3940         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3941         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3942         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3943         final-byte.
3944         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3945         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3946         (CHARSET_ID_OFFSET_96): New macro.
3947         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3948         CHARSET_ID_OFFSET_96 and final-byte.
3949         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3950         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3951         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3952         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3953         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3954         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3955         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3956         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3957         (LEADING_BYTE_THAI_TIS620): Likewise.
3958         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3959         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3960         (CHARSET_ID_OFFSET_94x94): New macro.
3961         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3962         CHARSET_ID_OFFSET_94x94 and final-byte.
3963         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3964         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3965         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3966         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3967         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3968         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3969         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3970         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3971         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3972         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3973         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3974         (CHARSET_TYPE_128X128): New macro.
3975         (CHARSET_TYPE_256X256): New macro.
3976         (XCHARSET_PRIVATE_P): Delete unconditionally.
3977         (charset_by_attributes): Delete array about direction.
3978         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3979         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3980         (MIN_CHAR_94): New macro.
3981         (MAX_CHAR_94): New macro.
3982         (MIN_CHAR_96): New macro.
3983         (MAX_CHAR_96): New macro.
3984         (MIN_CHAR_94x94): New macro.
3985         (MAX_CHAR_94x94): New macro.
3986         (MIN_CHAR_96x96): New macro.
3987         (MAX_CHAR_96x96): New macro.
3988         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3989         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3990         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3991         - 32)'.
3992         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3993         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3994         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3995         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3996         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3997         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3998         `XCHARSET_LEADING_BYTE' to make code-point.
3999         (latin_a_char_to_charset): New variable.
4000         (latin_a_char_to_byte1): New variable.
4001         (latin_a_char_to_byte2): New variable.
4002         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4003         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4004         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4005
4006         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4007         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4008         (find_charsets_in_emchar_string): Likewise.
4009         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4010
4011         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4012         `int'.
4013         (decode_coding_iso2022): Likewise.
4014
4015         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4016         of `unsigned char'.
4017
4018         * redisplay.c (redisplay_text_width_emchar_string): Use
4019         `Charset_ID' instead of `unsigned char'.
4020         (redisplay_frame_text_width_string): Likewise.
4021
4022         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4023         `unsigned char'.
4024
4025         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4026         instead of `unsigned char'.
4027         (face_cachel_charset_font_metric_info): Likewise.
4028
4029         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4030         (get_non_ascii_char_table_value): Likewise.
4031         (get_char_table): Likewise.
4032         (put_char_table): Likewise.
4033         (map_over_other_charset): Likewise.
4034         (map_char_table): Likewise.
4035
4036         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4037         instead of `unsigned char'.
4038
4039 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4040
4041         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4042         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4043
4044         * mule-charset.c (leading_code_private_11): Don't define in
4045         UTF-2000.
4046
4047         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4048         in UTF-2000 because it is not ported yet and not to use
4049         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4050
4051 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4052
4053         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4054
4055 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4056
4057         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4058         in UTF-2000.
4059
4060         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4061         of unsigned char to store leading-byte.
4062
4063         * chartab.c (get_non_ascii_char_table_value): Don't use
4064         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4065
4066         * file-coding.c (encode_coding_big5): Delete bogus implementation
4067         in UTF2000.
4068
4069         * character.h (LEADING_BYTE_*): Delete definition for
4070         non-UTF-2000.
4071         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4072         (LEADING_BYTE_PREFIX_P): Deleted.
4073         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4074         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4075         (BUFBYTE_LEADING_BYTE_P): Deleted.
4076         (CHARSET_PRIVATE_P): Deleted unconditionally.
4077         (rep_bytes_by_first_byte): Deleted unconditionally.
4078         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4079         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4080         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4081         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4082         (CHAR_FIELD2): Deleted.
4083         (CHAR_FIELD3): Deleted.
4084         (MAKE_CHAR): Delete definition for non-UTF-2000.
4085         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4086         (breakup_char_1): New implementation.
4087         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4088         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4089
4090 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4091
4092         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4093         condition.
4094
4095 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4096
4097         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4098         (CHARSET_PRIVATE_P): Likewise.
4099         (XCHARSET_PRIVATE_P): Likewise.
4100         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4101
4102         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4103         UTF2000.
4104         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4105
4106 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4107
4108         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4109         (NUM_LEADING_BYTES): Changed from 128 to 256.
4110         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4111         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4112         UTF2000.
4113         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4114
4115         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4116         UTF2000.
4117         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4118         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4119         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4120         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4121         (Qchinese_cns11643_3): New variable in UTF2000.
4122         (Qchinese_cns11643_4): New variable in UTF2000.
4123         (Qchinese_cns11643_5): New variable in UTF2000.
4124         (Qchinese_cns11643_6): New variable in UTF2000.
4125         (Qchinese_cns11643_7): New variable in UTF2000.
4126         (syms_of_mule_charset): Define `chinese-cns11643-3',
4127         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4128         and `chinese-cns11643-7' in UTF2000.
4129         (vars_of_mule_charset): Initialize
4130         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4131         + 1 in UTF2000.
4132         (complex_vars_of_mule_charset): Setup charset
4133         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4134         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4135
4136 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4137
4138         * mule-charset.c: Move setting for `leading-code-private-11' from
4139         `syms_of_mule_charset' to `vars_of_mule_charset'.
4140
4141 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4142
4143         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4144         and `NUM_LEADING_BYTES' in assert.
4145
4146 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4147
4148         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4149         instead of 128.
4150         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4151         `NUM_LEADING_BYTES' instead of 128.
4152
4153 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4154
4155         * mule-charset.h (charset_by_leading_byte): Use
4156         `NUM_LEADING_BYTES' instead of 128.
4157         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4158
4159         * mule-charset.c (charset_by_leading_byte): Use
4160         `NUM_LEADING_BYTES' instead of 128.
4161         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4162
4163         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4164         128.
4165
4166 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4167
4168         * mule-charset.c (syms_of_mule_charset): Update to
4169         0.4 (Shin-Imamiya).
4170
4171 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4172
4173         * file-coding.c (encode_coding_sjis): New implementation for
4174         UTF2000.  (decode_coding_sjis): Ditto.
4175
4176 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4177
4178         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4179         Don't define in UTF2000.
4180
4181         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4182         defined.
4183
4184         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4185         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4186         MULE.
4187
4188 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4189
4190         * config.h.in (CHAR_IS_UCS4): New macro.
4191
4192         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4193         conventional MULE representation.
4194         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4195
4196         * mule-charset.h: Reverted to original.
4197
4198         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4199         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4200         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4201
4202         * character.h: New file.
4203
4204         * file-coding.c (Fmake_coding_system): Set 1 to
4205         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4206         defined.
4207         (encode_coding_no_conversion): New implementation for UTF2000.
4208
4209         * file-coding.h (struct Lisp_Coding_System): Add new member
4210         `fixed.size'.
4211
4212 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4213
4214         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4215         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4216         (encode_coding_iso2022): New implementation for UTF2000.
4217
4218 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4219
4220         * mule-canna.c (c2mu): New implementation for UTF2000.
4221         (m2c): Likewise.
4222
4223 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4224
4225         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4226
4227 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4228
4229         * file-coding.c (reset_encoding_stream): Set 0 to
4230         `str->iso2022.current_char_boundary' in UTF2000.
4231         (encode_utf8): Don't define in UTF2000.
4232         (encode_coding_utf8): New implementation for UTF-8 representation
4233         of UTF2000.
4234         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4235
4236 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4237
4238         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4239
4240         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4241         UTF2000.
4242         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4243
4244         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4245
4246         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4247         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4248         as UTF-8 in UTF2000.
4249         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4250         (non_ascii_valid_char_p): Don't define in UTF2000.
4251         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4252         (Lstream_get_emchar_1): Likewise.
4253         (utf-2000-version): New variable in UTF2000.
4254
4255         * lread.c (read_escape): Add new reader `u'.
4256
4257         * insdel.c (three_to_one_table): Don't define in UTF2000.
4258         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4259         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4260         UTF2000.
4261         (bytind_to_bufpos_func): Likewise.
4262         (buffer_mule_signal_inserted_region): Likewise.
4263         (vars_of_insdel): Don't initialize `three_to_one_table'.
4264         (init_buffer_text): Use `buf->text->mule_size' instead of
4265         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4266         UTF2000.
4267
4268         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4269         UTF-8 representation in UTF2000.
4270         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4271         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4272         (decode_coding_iso2022): Don't define local variable `lb' in
4273         UTF2000; don't use LEADING_BYTE in UTF2000; use
4274         `DECODE_ADD_UCS_CHAR' in UTF2000.
4275         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4276
4277         * config.h.in (UTF2000): New macro.
4278
4279         * buffer.h (struct buffer_text): Add new member `mule_size' and
4280         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4281         (valid_char_p): Return always 1 in UTF2000.
4282         (MAX_EMCHAR_LEN): 6 in UTF2000.
4283         (three_to_one_table): Don't define in UTF2000.
4284         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4285         UTF2000.
4286         (real_bytind_to_bufpos): Likewise.
4287
4288         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4289
4290 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4291
4292         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4293         representation change.
4294         (Vutf_2000_version): New variable.
4295         (leading_code_private_11): New variable.
4296         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4297         `leading-code-private-11'.
4298
4299         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4300         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4301         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4302         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4303         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4304         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4305         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4306         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4307         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4308         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4309         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4310         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4311         (MIN_CHAR_GREEK): New macro.
4312         (MAX_CHAR_GREEK): New macro.
4313         (MIN_CHAR_CYRILLIC): New macro.
4314         (MAX_CHAR_CYRILLIC): New macro.
4315         (MIN_CHAR_HEBREW): New macro.
4316         (MAX_CHAR_HEBREW): New macro.
4317         (MIN_CHAR_THAI): New macro.
4318         (MAX_CHAR_THAI): New macro.
4319         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4320         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4321         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4322         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4323         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4324         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4325         (CHAR_FIELD2): New inline function.
4326         (CHAR_FIELD3): New inline function.
4327         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4328         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4329         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4330         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4331         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4332         (MIN_CHAR_COMPOSITION): Likewise.
4333         (CHAR_LEADING_BYTE): Modified for character representation change.
4334         (MAKE_CHAR): Likewise.
4335
4336         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4337         (Vcharset_greek_iso8859_7): Likewise.
4338         (Vcharset_cyrillic_iso8859_5): Likewise.
4339         (Vcharset_hebrew_iso8859_8): Likewise.
4340         (Vcharset_thai_tis620): Likewise.
4341         (Vcharset_katakana_jisx0201): Likewise.
4342
4343 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
4344
4345         * XEmacs 21.2.47 "Zephir" is released.
4346
4347 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
4348
4349         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
4350
4351 2001-04-03  Mike Sperber <mike@xemacs.org>
4352
4353         * search.c: Revert previous patch due because of release.
4354
4355 2001-03-30  Ben Wing  <ben@xemacs.org>
4356
4357         * s\cygwin32.h:
4358         Add missing killpg prototype.
4359
4360         * elhash.c:
4361         Add a comment about fixing problems when a new entry is added
4362         while mapping.
4363
4364         * frame-msw.c (mswindows_init_frame_1):
4365         Fix compile warnings.
4366
4367         * menubar.c (vars_of_menubar):
4368         Provide `menu-accelerator-support' to indicate that we properly
4369         support %_ in menu specifications, so that package code can
4370         conditionalize on this (and remove %_ from menu specifications
4371         on older versions).
4372
4373         * event-msw.c:
4374         * scrollbar-msw.c:
4375         * scrollbar-msw.c (can_scroll):
4376         * scrollbar-msw.h:
4377         Fix handling of mouse wheel under Windows to follow standards --
4378         now scrolls window under pointer, not selected window.
4379
4380 2001-03-31  Mike Sperber <mike@xemacs.org>
4381
4382         * search.c (Freplace_match): Support FSF-style specification of
4383         match subexpression when applied to a buffer.
4384
4385 2001-03-15  Martin Buchholz  <martin@xemacs.org>
4386
4387         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
4388         function to modify KEYMAP, so map over a copy of the hash table.
4389
4390 2001-03-21  Martin Buchholz <martin@xemacs.org>
4391
4392         * XEmacs 21.2.46 "Urania" is released.
4393
4394 2001-03-20  Dan Holmsand  <dan@eyebee.com>
4395
4396         * realpath.c (xrealpath): Make file-truename work with symlinks to
4397         /cygdrive paths on cygwin. Always lowercase drive-letters on
4398         native windows.
4399         (cygwin_readlink): Don't try to find canonical filename unless
4400         file exists.
4401
4402 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
4403
4404         * ChangeLog: Log GTK merge.
4405
4406         * dumper.c:
4407         * select-x.c:
4408         * specifier.c:
4409         * symeval.h:
4410         Revert gratuitous whitespace changes from GTK merge.
4411
4412         * emacs.c: Document end of complex #ifdef @ l. 1495.
4413
4414
4415 2001-03-12  Andy Piper  <andy@xemacs.org>
4416
4417         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
4418         have to do likewise.
4419
4420 2001-03-12  Andy Piper  <andy@xemacs.org>
4421
4422         * sysdep.c: we only support mingw now.
4423
4424 2001-03-09  Andy Piper  <andy@xemacs.org>
4425
4426         * unexcw.c (copy_executable_and_dump_data_section): making approx
4427         overrun a warning only.
4428
4429 2001-03-10  William M. Perry  <wmperry@aventail.com>
4430
4431         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
4432         satisfy Stephen's identical-after-cpp plea.
4433
4434 2001-03-02  Ben Wing  <ben@xemacs.org>
4435
4436         * cmds.c:
4437         * cmds.c (Fforward_char):
4438         * syntax.c:
4439         * window.c:
4440
4441         Augment documentation of the most common motion commands to make
4442         note of the shifted-motion support.
4443         
4444 2001-03-02  Ben Wing  <ben@xemacs.org>
4445
4446         * nt.c (mswindows_fstat):
4447         * nt.c (mswindows_stat):
4448         * search.c (boyer_moore):
4449         Fix compile warnings under Windows.
4450         
4451         * sysdep.c (sys_readdir):
4452         Fix buggy filename-conversion code under Mule.
4453
4454 2001-03-09  William M. Perry  <wmperry@aventail.com>
4455
4456         * Makefile.in.in:
4457         * config.h.in:
4458         * console.c:
4459         * console.h:
4460         * device.c:
4461         * device.h:
4462         * dragdrop.c:
4463         * emacs.c:
4464         * event-stream.c:
4465         * events.c:
4466         * events.h:
4467         * faces.c:
4468         * frame.h:
4469         * general-slots.h:
4470         * glyphs.c:
4471         * gutter.c:
4472         * inline.c:
4473         * lisp.h:
4474         * lrecord.h:
4475         * make-src-depend:
4476         * redisplay-output.c:
4477         * redisplay.c:
4478         * symsinit.h:
4479         * sysfile.h:
4480         * toolbar.c:
4481         * window.c:
4482         The Great GTK Merge.
4483
4484         * ChangeLog.GTK:
4485         * console-gtk.c:
4486         * console-gtk.h:
4487         * device-gtk.c:
4488         * emacs-marshals.c:
4489         * emacs-widget-accessors.c:
4490         * event-gtk.c:
4491         * frame-gtk.c:
4492         * gccache-gtk.c:
4493         * gccache-gtk.h:
4494         * glade.c:
4495         * glyphs-gtk.c:
4496         * glyphs-gtk.h:
4497         * gtk-glue.c:
4498         * gtk-xemacs.c:
4499         * gtk-xemacs.h:
4500         * gui-gtk.c:
4501         * gui-gtk.h:
4502         * menubar-gtk.c:
4503         * native-gtk-toolbar.c:
4504         * objects-gtk.c:
4505         * objects-gtk.h:
4506         * redisplay-gtk.c:
4507         * scrollbar-gtk.c:
4508         * scrollbar-gtk.h:
4509         * select-gtk.c:
4510         * toolbar-gtk.c:
4511         * ui-byhand.c:
4512         * ui-gtk.c:
4513         * ui-gtk.h:
4514         The Great GTK Merge: new files.
4515
4516 2001-02-26  Ben Wing  <ben@xemacs.org>
4517
4518         Reapplied Lstream change.
4519
4520 2001-02-26  Ben Wing  <ben@xemacs.org>
4521
4522         Undid the last change, since it is more controversial than I
4523         thought.  It should be back in at some point soon.
4524         
4525 2001-02-25  Ben Wing  <ben@xemacs.org>
4526
4527         * buffer.c:
4528         * callproc.c (Fold_call_process_internal):
4529         * event-msw.c (ntpipe_slurp_reader):
4530         * event-msw.c (ntpipe_shove_writer):
4531         * event-msw.c (winsock_reader):
4532         * event-msw.c (winsock_writer):
4533         * file-coding.c:
4534         * file-coding.c (detect_eol_type):
4535         * file-coding.c (detect_coding_type):
4536         * file-coding.c (determine_real_coding_system):
4537         * file-coding.c (Fdetect_coding_region):
4538         * file-coding.c (decoding_reader):
4539         * file-coding.c (decoding_writer):
4540         * file-coding.c (mule_decode):
4541         * file-coding.c (Fdecode_coding_region):
4542         * file-coding.c (encoding_reader):
4543         * file-coding.c (encoding_writer):
4544         * file-coding.c (mule_encode):
4545         * file-coding.c (Fencode_coding_region):
4546         * file-coding.c (detect_coding_sjis):
4547         * file-coding.c (decode_coding_sjis):
4548         * file-coding.c (encode_coding_sjis):
4549         * file-coding.c (detect_coding_big5):
4550         * file-coding.c (decode_coding_big5):
4551         * file-coding.c (encode_coding_big5):
4552         * file-coding.c (detect_coding_ucs4):
4553         * file-coding.c (decode_coding_ucs4):
4554         * file-coding.c (encode_coding_ucs4):
4555         * file-coding.c (detect_coding_utf8):
4556         * file-coding.c (decode_coding_utf8):
4557         * file-coding.c (encode_coding_utf8):
4558         * file-coding.c (detect_coding_iso2022):
4559         * file-coding.c (decode_coding_iso2022):
4560         * file-coding.c (encode_coding_iso2022):
4561         * file-coding.c (decode_coding_no_conversion):
4562         * file-coding.c (encode_coding_no_conversion):
4563         * glyphs-x.c (write_lisp_string_to_temp_file):
4564         * gpmevent.c (tty_get_foreign_selection):
4565         * lisp.h:
4566         * lstream.c:
4567         * lstream.c (Lstream_flush_out):
4568         * lstream.c (Lstream_adding):
4569         * lstream.c (Lstream_write_1):
4570         * lstream.c (Lstream_write):
4571         * lstream.c (Lstream_raw_read):
4572         * lstream.c (Lstream_read_more):
4573         * lstream.c (Lstream_read):
4574         * lstream.c (Lstream_unread):
4575         * lstream.c (Lstream_fputc):
4576         * lstream.c (stdio_reader):
4577         * lstream.c (stdio_writer):
4578         * lstream.c (filedesc_reader):
4579         * lstream.c (filedesc_writer):
4580         * lstream.c (lisp_string_reader):
4581         * lstream.c (struct fixed_buffer_stream):
4582         * lstream.c (make_fixed_buffer_input_stream):
4583         * lstream.c (make_fixed_buffer_output_stream):
4584         * lstream.c (fixed_buffer_reader):
4585         * lstream.c (fixed_buffer_writer):
4586         * lstream.c (struct resizing_buffer_stream):
4587         * lstream.c (resizing_buffer_writer):
4588         * lstream.c (dynarr_writer):
4589         * lstream.c (lisp_buffer_reader):
4590         * lstream.c (lisp_buffer_writer):
4591         * lstream.h:
4592         * lstream.h (lstream_implementation):
4593         * lstream.h (struct lstream):
4594         * md5.c (Fmd5):
4595         * process-nt.c (nt_send_process):
4596         * process-unix.c (unix_send_process):
4597         
4598         Correct Lstream lossage due to mixing of signed and unsigned
4599         quantities.  All Lstream uses of size_t and ssize_t are now a
4600         single signed data type Lstream_data_count.  This fixes problems
4601         under Windows with sending large quantities of data to a process,
4602         and may well fix other subtle bugs.
4603
4604 2001-02-23  Martin Buchholz <martin@xemacs.org>
4605
4606         * XEmacs 21.2.45 "Thelxepeia" is released.
4607
4608 2001-02-21  Martin Buchholz  <martin@xemacs.org>
4609
4610         * lisp-union.h (XSETINT): 
4611         (XSETCHAR):
4612         (XSETOBJ): 
4613         Reverse previous change of 2001-02-06.
4614
4615 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
4616
4617         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
4618         buffers.
4619         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
4620         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
4621         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
4622         * regex.c (POS_AS_IN_BUFFER): removed
4623         * regex.c (re_search_2):
4624         * regex.c (re_match_2):
4625         Don't use an offset of 1 when calculating buffer positions, since
4626         `BI_BUF_BEGV' does it already.
4627
4628 2001-02-18  Wim Dumon  <wim@easics.be>
4629
4630         * insdel.c (prepare_to_modify_buffer): Also check for
4631         supersession when clash-detection is enabled. 
4632
4633 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
4634
4635         * regex.c (re_match_2_internal):
4636         Convert temp characters from 'const unsigned char' to 're_char'.
4637         Fix crashing bug with extended characters under mule.
4638         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
4639         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
4640         font-lock, pdump, and new syntax-table code.
4641         * syntax.c (find_start_of_comment):
4642         (find_end_of_comment):
4643         (forward-comment):
4644         Fix crashing bugs involving moving beyond end of buffer.
4645         * syntax.c (find_start_of_comment):
4646         Fixed logic to allow proper detection of cases where the same
4647         character is used to end both a two-char comment start and a
4648         two-char comment end sequence. Fixes `(forward-comment -1)'.
4649         * syntax.c (find_start_of_comment):
4650         Return position just past last comment-end character for all cases
4651         (previously was only done for two-char comment-end sequences).
4652         * syntax.c (forward-comment):
4653         Take value returned from `find_end_of_comment', rather than
4654         incrementing it.
4655         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
4656         Properly deal with BUFFERP (syntax_cache.object)
4657
4658 2001-02-17  Martin Buchholz  <martin@xemacs.org>
4659
4660         * alloc.c (Fgarbage_collect): 
4661         * alloc.c (make_bit_vector_from_byte_vector):
4662         -Wsign-compare-correctness.
4663
4664 2001-02-16  Martin Buchholz  <martin@xemacs.org>
4665
4666         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
4667         (XSETCHAR): Likewise.
4668         (XSETOBJ): Likewise.
4669
4670 2001-02-15  Martin Buchholz  <martin@xemacs.org>
4671
4672         * mule-canna.c (canna-func-delete_previous): 
4673         Rename to canna-func-delete-previous.
4674
4675 2001-02-14  Martin Buchholz  <martin@xemacs.org>
4676
4677         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
4678
4679 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
4680
4681         * font-lock.c (find_context): Fix C++ compile errors introduced by
4682         recent patch
4683
4684 2001-02-13  Martin Buchholz  <martin@xemacs.org>
4685
4686         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
4687         pragma, but earlier ones barf on the same pragma.
4688
4689 2001-02-06  Mike Sperber <mike@xemacs.org>
4690
4691         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
4692         `configure-mule-lisp-directory'.
4693
4694 2001-02-12  Martin Buchholz  <martin@xemacs.org>
4695
4696         Make sure dump-id.c is compiled in the same way as other .c's.
4697         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
4698         * dump-id.h: Remove.
4699         * emacs.c: Move dump-id.h into dumper.h.
4700         * dumper.h: Move dump-id.h into dumper.h.
4701         * Makefile.in.in:
4702         Use standard .c.o rule for building dump-id.o.
4703         Remove preprocessor flags from link command.
4704         Add dump-id.o to ${otherobjs} if PDUMP.
4705
4706 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
4707
4708         Port FSF 20.7 syntax table improvements.
4709         * syntax.c.
4710         * syntax.h.
4711
4712         Fixups for new syntax table stuff.
4713         * dired.c: Include syntax.c.
4714         (Fdirectory_files): Initialize regex_match_object and
4715         regex_emacs_buffer.
4716         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
4717         and Fget_char_property.
4718
4719         Use ported FSF 20.7 syntax table improvements.
4720         * font-lock.c.
4721         * regex.c.
4722         * search.c.
4723         
4724 2001-02-09  Martin Buchholz  <martin@xemacs.org>
4725
4726         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
4727         Unixware's enum boolean from sys/types.h.
4728
4729 2001-02-10  Martin Buchholz  <martin@xemacs.org>
4730
4731         Fix support for building with latest Purify.
4732         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
4733         (PURIFY_FLAGS): Likewise.
4734
4735 2001-02-09  Martin Buchholz  <martin@xemacs.org>
4736
4737         * fileio.c (lisp_string_set_file_times): New.
4738         * fileio.c (Fcopy_file): Use it.
4739         Fixes bug:
4740         (copy-file filename non-ascii-filename t t)
4741         ==> No such file or directory, non-ascii-filename
4742
4743 2001-02-10  Martin Buchholz  <martin@xemacs.org>
4744
4745         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
4746         USHRT_MAX seems clearer than ~0 anyways.
4747
4748 2001-02-09  Martin Buchholz  <martin@xemacs.org>
4749
4750         dumper improvements.  Inspired by Olivier.
4751         * dumper.c (pdump_max_align): New.
4752         * dumper.c (pdump_add_entry): Use pdump_max_align.
4753         * dumper.c (pdump_get_entry_list): Likewise.
4754         * dumper.c (pdump_scan_by_alignment): Likewise.
4755         Don't iterate through unnecessary alignments.
4756         * dumper.c (pdump_file_get): No need to align result of malloc().
4757         * dumper.c (pdump_mallocadr): Remove.  
4758         The result of malloc() is guaranteed to be maximally aligned.
4759         * dumper.c: s/elmt/elt/g;
4760         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
4761         * dumper.c (pdump_alert_undump_object): Likewise.
4762         * dumper.c (pdump_align_table): 
4763         Don't support alignments > 64.
4764         Store ALIGNOF's, not shift counts, in table.
4765
4766 2001-02-09  Martin Buchholz  <martin@xemacs.org>
4767
4768         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
4769         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
4770         * systime.h: Use HAVE_UTIME.
4771         * sysdep.c (struct utimbuf): Remove.
4772         * sysdep.c (set_file_times): Prefer utime() to utimes().
4773         * config.h.in (HAVE_UTIME): New.
4774         * config.h.in (HAVE_UTIME_H): Remove.
4775         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
4776
4777 2001-02-09  Martin Buchholz  <martin@xemacs.org>
4778
4779         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
4780
4781 2001-02-08  Martin Buchholz  <martin@xemacs.org>
4782
4783         * s/irix6-0.h: Use the standard system memmove, not bcopy.
4784
4785 2001-02-08  Martin Buchholz <martin@xemacs.org>
4786
4787         * XEmacs 21.2.44 "Thalia" is released.
4788
4789 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4790
4791         Fixes crashes in kill-emacs on some systems.
4792         * process-unix.c (unix_kill_child_process):
4793         It's OK for kill() to fail with ESRCH.
4794
4795 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4796
4797         Contortions to make .gdbinit tricks work on most systems.
4798         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
4799         * alloc.c (dbg_valmask): Make non-const.
4800         * alloc.c (dbg_typemask): Make non-const.
4801         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
4802         * alloc.c (dbg_valbits): Make non-const.
4803         * alloc.c (dbg_gctypebits): Make non-const.
4804         * .gdbinit (decode_object): Make it work with AIX cc.
4805
4806 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4807
4808         * elhash.c (make_general_lisp_hash_table):
4809         Use simpler and more efficient calloc to clear entries.
4810
4811 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4812
4813         * window.c (window_scroll): Work around an AIX C compiler bug.
4814         Fixes 'scroll-up' does nothing problem with xlC.
4815
4816 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4817
4818         * .gdbinit: Remove obsolete comment.
4819
4820 2001-01-31  Mike Alexander  <mta@arbortext.com>
4821
4822         * select.c (Fown_selection_internal): Set owned_p for device
4823         method correctly.
4824
4825 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4826
4827         Port to g++ 2.97.
4828         "not" cannot be used as a macro name as it is an operator in C++
4829         * config.h.in: Stop #defining `not'.
4830         * chartab.c (check_category_char): not ==> not_p
4831         * chartab.h: Likewise.
4832         * regex.c (re_match_2_internal): Likewise.
4833
4834 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4835
4836         * lisp-disunion.h: Fix up comments.
4837
4838 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4839
4840         * keymap.c (define_key_check_and_coerce_keysym):
4841         (syms_of_keymap):
4842         Support mouse-6 and mouse-7 bindings in the obvious way.
4843
4844 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4845
4846         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4847
4848 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4849
4850         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4851         Previous patch missed DEFVAR_INT_MAGIC.
4852         Make sure future DEFVAR_foo use correct types.
4853         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4854         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4855         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4856         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4857         * (DEFVAR_INT): Likewise.
4858         * redisplay.c (vertical_clip): Should be of type Fixnum.
4859         * redisplay.c (horizontal_clip): Likewise.
4860         * lisp.h (dump_add_opaque_int): New.
4861         (dump_add_opaque_fixnum): New.
4862
4863 2001-01-29  Andy Piper  <andy@xemacs.org>
4864
4865         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4866         since they can be eval'ed
4867
4868 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4869
4870         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4871         Oops, XEmacs redefines `class'.  Use `typename' instead.
4872
4873 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4874
4875         * dumper.c: Fix C++ compile errors.
4876
4877 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4878
4879         * tparam.c: Use correct prototypes.
4880
4881 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4882
4883         * sysproc.h: #include util.h for NetBSD's openpty.
4884
4885 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4886
4887         More 64-bit correctness.
4888         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4889         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4890         Fix up comments.
4891         This finally finishes the 64-bit SGI port.
4892         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4893         * symbols.c: Fix up comments and type casts.
4894         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4895         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4896         * symeval.h (Fixnum): New type.
4897         * symeval.h (symbol_value_type): Fix up comment.
4898
4899         * commands.h:
4900         * nt.c:
4901         * emacs.c:
4902         * data.c:
4903         * redisplay.c:
4904         * abbrev.c:
4905         * dired-msw.c:
4906         * event-Xt.c:
4907         * eldap.c:
4908         * window.c:
4909         * sound.c:
4910         * event-stream.c:
4911         * eval.c:
4912         * buffer.c:
4913         * mule-canna.c: A million DEFVAR_INTs here...
4914         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4915         * extents.c:
4916         * cmdloop.c:
4917         * lisp.h:
4918         * select-x.c:
4919         * console-x.h:
4920         * event-msw.c:
4921         * mule-wnnfns.c:
4922         * hpplay.c:
4923         * ralloc.c:
4924         * alloc.c:
4925         * keymap.c:
4926         * profile.c:
4927         s/int/Fixnum/g in DEFVAR_INT declarations.
4928
4929 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4930
4931         Port pdump to SGI alignment-sensitive environment.
4932         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4933         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4934         properly aligned.
4935         Define and use aligned reading and writing macros.
4936         Use buffered stdio instead of posix i/o for faster dumping.
4937         Eliminate kludgy 256 byte space for header.
4938         Read and write from dump file using structs for alignment safety.
4939         * dumper.c (pdump_align_stream): New.
4940         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4941         * dumper.c (PDUMP_READ_ALIGNED): New.
4942         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4943         * dumper.c (pdump_static_Lisp_Object): New struct.
4944         * dumper.c (pdump_static_pointer): New struct.
4945         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4946         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4947         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4948         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4949
4950         * dumper.c (pdump_backtrace):
4951         * dumper.c (pdump_get_indirect_count):
4952         * dumper.c (pdump_register_object):
4953         * dumper.c (pdump_register_struct):
4954         * dumper.c (pdump_reloc_one):
4955         * dumper.c (pdump_scan_by_alignment):
4956         * dumper.c (pdump_dump_from_root_struct_ptrs):
4957         * dumper.c (pdump_dump_opaques):
4958         * dumper.c (pdump_dump_rtables):
4959         * dumper.c (pdump_dump_from_root_objects):
4960         * dumper.c (pdump):
4961         * dumper.c (pdump_load_finish):
4962         Use aligned reading and writing.
4963
4964         * dumper.c (pdump_free): Make static.
4965         * dumper.c (pdump_hFile): Likewise.
4966         * dumper.c (pdump_hMap): Likewise.
4967
4968 2001-01-26  Martin Buchholz <martin@xemacs.org>
4969
4970         * XEmacs 21.2.43 "Terspichore" is released.
4971
4972 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4973
4974         Type fiddling for window_config.saved_windows_count
4975         * window.c (struct window_config): 
4976         Make saved_windows_count member unsigned.
4977         * window.c (sizeof_window_config_for_n_windows): 
4978         Make parameter unsigned.
4979         * window.c (mark_window_config):
4980         * window.c (window_config_equal):
4981         * window.c (free_window_configuration):
4982         * window.c (Fset_window_configuration):
4983         * window.c (count_windows):
4984         * window.c (Fcurrent_window_configuration):
4985         * window.c (reinit_vars_of_window):
4986         Update all callers and users.
4987
4988 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4989
4990         Alignment correctness for flexible arrays.
4991         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4992         Make alignment-correct. Add interesting comments.
4993         * alloc.c (size_vector):
4994         * alloc.c (make_vector_internal):
4995         * alloc.c (make_bit_vector_internal):
4996         * alloc.c (sweep_bit_vectors_1):
4997         * fns.c (size_bit_vector):
4998         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4999         * window.c (sizeof_window_config_for_n_windows): 
5000         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
5001
5002 2001-01-24  Martin Buchholz  <martin@xemacs.org>
5003
5004         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
5005
5006 2001-01-23  Andy Piper  <andy@xemacs.org>
5007
5008         * select.c (Fown_selection_internal): pass owned_p
5009
5010         * select-msw.c (mswindows_own_selection): New Signature.
5011
5012         * console.h (struct console_methods): add owned_p to
5013         _own_selection.
5014
5015         * select-x.c (x_own_selection): pass owned_p
5016         (hack_motif_clipboard_selection): use owned_p
5017         (vars_of_select_x): new variable -
5018         x_selection_strict_motif_ownership.
5019
5020 2001-01-23  Martin Buchholz  <martin@xemacs.org>
5021
5022         * specifier.h (specifier_data_offset): Remove pointless parens.
5023         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
5024
5025 2001-01-24  Martin Buchholz  <martin@xemacs.org>
5026
5027         Make Lisp_Object sizeof methods be alignment-correct.
5028         pdump must restore objects to the same alignment as the C compiler
5029         assumes.  It really matters on SGIs.
5030         * lstream.c (aligned_sizeof_lstream): New.
5031         (sizeof_lstream): Use aligned_sizeof_lstream.
5032         (Lstream_new): Likewise.
5033         * opaque.c (aligned_sizeof_opaque): New.
5034         (sizeof_opaque): Use aligned_sizeof_opaque.
5035         (make_opaque): Likewise.
5036         * specifier.c (aligned_sizeof_specifier): New.
5037         (sizeof_specifier): Use aligned_sizeof_specifier.
5038         (make_specifier_internal): Likewise.
5039
5040 2001-01-23  Martin Buchholz  <martin@xemacs.org>
5041
5042         * lstream.h (struct lstream): Use max_align_t for trailing data.
5043         * specifier.h (struct Lisp_Specifier): Likewise.
5044
5045 2001-01-22  Martin Buchholz  <martin@xemacs.org>
5046
5047         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
5048         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
5049         (CCL_SUSPEND): Likewise.
5050         (CCL_INVALID_CMD): Likewise.
5051         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
5052         (ccl_driver): Likewise.
5053         (CCL_WRITE_CHAR): Macro hygiene.
5054         (CCL_WRITE_STRING): Macro hygiene.
5055
5056 2001-01-22  Martin Buchholz  <martin@xemacs.org>
5057
5058         Port "portable" dumper to SunOS 4 and HP-UX.
5059         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
5060         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
5061         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
5062
5063 2001-01-22  Martin Buchholz  <martin@xemacs.org>
5064
5065         * lisp.h (ALIGNOF): A better definition for C++.
5066
5067 2001-01-20  Martin Buchholz  <martin@xemacs.org>
5068
5069         Macro hygiene.
5070         Fix printf warnings: int format, long int arg.
5071         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
5072         (PUSH_FAILURE_POINT): Use correct printf formats.
5073         (POP_FAILURE_POINT): Use correct printf formats.  
5074         Use do {...} while (0)
5075
5076 2001-01-20  Martin Buchholz <martin@xemacs.org>
5077
5078         * XEmacs 21.2.42 "Poseidon" is released.
5079
5080 2001-01-20  Martin Buchholz  <martin@xemacs.org>
5081
5082         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
5083
5084 2001-01-19  Martin Buchholz  <martin@xemacs.org>
5085
5086         De-kludgify FIXED_TYPE free list frobbing.
5087         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
5088         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
5089         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
5090         * alloc.c (Lisp_Free): New pseudo lisp object definition.
5091         * alloc.c (LRECORD_FREE_P): New.
5092         * alloc.c (MARK_LRECORD_AS_FREE): New.
5093         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
5094         * alloc.c (STRUCT_FREE_P): Deleted.
5095         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
5096         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
5097         * alloc.c (STRING_CHARS_FREE_P): New.
5098         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
5099         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
5100         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
5101         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
5102         * alloc.c (resize_string): Use new definitions.
5103         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
5104         * alloc.c (verify_string_chars_integrity): Use new definitions.
5105         * alloc.c (compact_string_chars): Use new definitions.
5106         * alloc.c: Update monster comments.
5107         * lrecord.h (lrecord_type): Add some new lrecord types for
5108         alloc.c's use.
5109
5110 2001-01-18  Martin Buchholz  <martin@xemacs.org>
5111
5112         Improve alignment hackery.
5113         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
5114         (max_align_t): Moved from opaque.h - general purpose.
5115         (ALIGN_PTR): Use size_t, not long.
5116         * opaque.h (max_align_t): Move to lisp.h.
5117
5118 2001-01-18  Norbert Koch  <nk@LF.net>
5119
5120         * gui.h: Fix and add prototypes to fix build problems.
5121
5122 2001-01-18  Martin Buchholz  <martin@xemacs.org>
5123
5124         temacs is going away, so `dump-temacs' is now a bad name.
5125         * .dbxrc (dump-temacs): Rename to `dmp'.
5126         * .gdbinit (dump-temacs): Rename to `dmp'.
5127
5128 2001-01-17  Andy Piper  <andy@xemacs.org>
5129
5130         * glyphs.c (print_image_instance): comment to make martin happy.
5131
5132         * glyphs-x.c (x_redisplay_widget): update faces after a frame
5133         change.
5134
5135         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
5136         activation.
5137         (mswindows_tab_control_redisplay): warning suppression.
5138
5139         * glyphs-widget.c (widget_update): re-write to cope with updated
5140         items.
5141         (widget_instantiate): use new gui_item functions.
5142         (tab_control_update): deleted.
5143         (progress_gauge_update): deleted.
5144         (image_instantiator_progress_guage): take out update reference.
5145         (image_instantiator_tree_view): ditto.
5146         (image_instantiator_tab_control): ditto.
5147
5148         * gui.c (widget_gui_parse_item_keywords): new function. Do things
5149         Right the new way.
5150         (gui_item_add_keyval_pair): re-write to cope with descriptors and
5151         return whether anything was changed.
5152         (update_gui_item_keywords): as it sounds.
5153
5154         * gui.h: declare widget_gui_parse_item_keywords.
5155
5156         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
5157         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
5158
5159 2001-01-17  Martin Buchholz <martin@xemacs.org>
5160
5161         * XEmacs 21.2.41 "Polyhymnia" is released.
5162
5163 2001-01-16  Didier Verna  <didier@xemacs.org>
5164
5165         * glyphs.c (image_instantiate): don't use fallbacks when
5166         instantiating a face's background pixmap by inheritance.
5167
5168 2001-01-14  Mike Sperber <mike@xemacs.org>
5169
5170         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
5171         Conditionalize accordingly.
5172
5173 2001-01-16  Martin Buchholz  <martin@xemacs.org>
5174
5175         * dumper.c (pdump_file_get): Fix a compiler warning.
5176
5177 2001-01-15  Martin Buchholz  <martin@xemacs.org>
5178
5179         Make Purify happy when pdumping.
5180         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
5181         iniitalizing all bits of new lisp object memory.
5182         * symbols.c (Fmake_local_variable): Likewise.
5183         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
5184         * symbols.c (Fdefvaralias): Likewise.
5185         * mule-charset.c (vars_of_mule_charset): Likewise.
5186
5187 2001-01-15  Martin Buchholz  <martin@xemacs.org>
5188         Add the `-nd' flag when running pre-dump operations under the debugger.
5189         * .dbxrc (run-temacs): Add `-nd'.
5190         * .dbxrc (update-elc): Likewise.
5191         * .dbxrc (dump-temacs): Likewise.
5192         * .gdbinit (run-temacs): Likewise.
5193         * .gdbinit (check-temacs): Likewise.
5194         * .gdbinit (update-elc): Likewise.
5195         * .gdbinit (dump-temacs): Likewise.
5196
5197 2001-01-14  Martin Buchholz  <martin@xemacs.org>
5198
5199         Allow building 64-bit executables on AIX with GNU malloc, e.g.
5200         export OBJECT_MODE=64
5201         configure --pdump --use-union-type=no
5202         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
5203         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
5204
5205         * miscplay.c (sndcnv8U_2mono):
5206         Avoid two uses of `++' in the same expression.
5207         Suppresses a GCC warning.
5208
5209 2001-01-13  Martin Buchholz  <martin@xemacs.org>
5210
5211         Make sure future compilers don't miscompile alloc.c.
5212         * alloc.c:
5213         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
5214         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
5215
5216 2001-01-12  Martin Buchholz  <martin@xemacs.org>
5217
5218         * dumper.c: A little post-pdump-rename comment fixup.
5219
5220 2001-01-09  Jerry James  <james@eecs.ku.edu>
5221
5222         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
5223
5224 2001-01-13  Martin Buchholz  <martin@xemacs.org>
5225
5226         * *.[ch]: Globally rename symbols using the following `pdump-rename'
5227         script:
5228         #!/bin/sh
5229         replace_symbol () {
5230           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
5231         }
5232
5233         replace_symbol pdump_wire_lists pdump_weak_object_chains
5234         replace_symbol pdump_wire_list dump_add_weak_object_chain
5235
5236         replace_symbol pdump_wires pdump_root_objects
5237         replace_symbol pdump_wire dump_add_root_object
5238
5239         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
5240         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
5241
5242         replace_symbol dumpstructinfos pdump_root_struct_ptrs
5243         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
5244         replace_symbol dumpstructinfo pdump_root_struct_ptr
5245         replace_symbol dumpstruct dump_add_root_struct_ptr
5246
5247         replace_symbol dumpopaque dump_add_opaque
5248         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
5249         replace_symbol dumpopaqueinfos pdump_opaques
5250         replace_symbol dumpopaqueinfo pdump_opaque
5251
5252         replace_symbol nb_structdump nb_root_struct_ptrs
5253         replace_symbol nb_opaquedump nb_opaques
5254
5255         replace_symbol align_table pdump_align_table
5256         replace_symbol dump_header pdump_header
5257
5258         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
5259         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
5260
5261
5262 2001-01-12  Martin Buchholz  <martin@xemacs.org>
5263
5264         * s/aix4.h: Keep the C for AIX compiler from overaggressively
5265         optimizing bytecount_to_charcount().
5266
5267 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
5268
5269         * config.h.in:
5270         (HAVE_DLFCN_H): Removed.
5271         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
5272
5273 2001-01-06  Martin Buchholz  <martin@xemacs.org>
5274
5275         Portable dumper maintainability improvements.
5276         * alloc.c (staticpro):
5277         * alloc.c (staticpro_nodump):
5278         * alloc.c (garbage_collect_1):
5279         * alloc.c (reinit_alloc_once_early):
5280         * alloc.c (init_alloc_once_early):
5281         * alloc.c: Move dumper functions to alloc.c.
5282         * dumper.c (pdump_backtrace):
5283         * dumper.c (pdump_dump_structs):
5284         * dumper.c (pdump_dump_opaques):
5285         * dumper.c (pdump_dump_rtables):
5286         * dumper.c (pdump_dump_wired):
5287         * dumper.c (pdump):
5288         * dumper.c (pdump_load_check):
5289         * dumper.c (pdump_load_finish):
5290         * dumper.c (pdump_file_unmap):
5291         * dumper.c (pdump_file_get):
5292         * dumper.c (pdump_resource_free):
5293         * dumper.c (pdump_resource_get):
5294         * dumper.c (pdump_file_free):
5295         * dumper.c (pdump_file_try):
5296         * dumper.c (pdump_load):
5297         Remove fixed size limits on staticpro(), staticpro_nodump(),
5298         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
5299         Remove custom code for dumping lrecord_implementations_table - use
5300         dumpopaque instead.
5301         Remove (most of the) custom code for dumping staticpros - dump it
5302         like any other dynarr.
5303
5304         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
5305         * dumper.c: Moved functions from alloc.c.
5306         * alloc.c (dumpstruct): Moved to dumper.c.
5307         * alloc.c (dumpopaque): Likewise.
5308         * alloc.c (pdump_wire): Likewise.
5309         * alloc.c (pdump_wire_list): Likewise.
5310
5311         * lisp.h (Dynarr_sizeof): New.
5312         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
5313         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
5314         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
5315
5316         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
5317         * lisp.h (dumpopaque): ditto.
5318         * lisp.h (pdump_wire): ditto.
5319         * lisp.h (pdump_wire_list): ditto.
5320
5321 2001-01-09  Martin Buchholz  <martin@xemacs.org>
5322
5323         * make-src-depend (PrintPatternDeps):
5324         Use `sort' to make output independent of perl version.
5325
5326 2001-01-08  Martin Buchholz  <martin@xemacs.org>
5327
5328         Port to Netbsd 1.5.
5329         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
5330         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
5331
5332 2001-01-03  Didier Verna  <didier@xemacs.org>
5333
5334         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
5335         that `focus_frame' is alive before thinking of calling
5336         `redisplay_redraw_cursor' on it.
5337
5338 2001-01-08  Martin Buchholz <martin@xemacs.org>
5339
5340         * XEmacs 21.2.40 is released.
5341
5342 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
5343
5344         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
5345
5346 2001-01-06  Martin Buchholz  <martin@xemacs.org>
5347
5348         * alloc.c (dbg_valmask): Make const.
5349         * alloc.c (dbg_typemask): Make const.
5350         * alloc.c (dbg_USE_UNION_TYPE): Make const.
5351         * alloc.c (dbg_valbits): Make const.
5352         * alloc.c (dbg_gctypebits): Make const.
5353
5354 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
5355
5356         * redisplay-x.c (x_bevel_area):
5357         redisplay.h (struct rune):
5358         Typo fixes in comments.
5359
5360 2001-01-05  Andy Piper  <andy@xemacs.org>
5361
5362         * glyphs-x.c (x_redisplay_widget): use size changed for offset
5363         adjustment.
5364
5365         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
5366
5367 2001-01-05  Martin Buchholz  <martin@xemacs.org>
5368
5369         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
5370
5371         * mule-ccl.c (stack_idx_of_map_multiple):
5372         Non const global data must not be initialized!
5373         Found by MIYASHITA Hisashi.
5374
5375 2001-01-02  Andy Piper  <andy@xemacs.org>
5376
5377         * frame.c (change_frame_size): make sure frame size is always
5378         marked as changed.
5379
5380         * glyphs.c (image_instance_layout): minor code reuse.
5381
5382         * window.c (Fcurrent_window_configuration): revert previous
5383         change.
5384
5385 2001-01-02  Martin Buchholz  <martin@xemacs.org>
5386
5387         * glyphs.h:
5388         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
5389
5390 2000-12-31  Andy Piper  <andy@xemacs.org>
5391
5392         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
5393         when widget gets unmapped.
5394
5395         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
5396         function. Make sure widgets losing focus don't just drop it.
5397         (handle_focus_event_1): record the widget with focus.
5398
5399 2000-12-31  Andy Piper  <andy@xemacs.org>
5400
5401         * window.c (allocate_window): use
5402         make_image_instance_cache_hash_table.
5403         (make_dummy_parent): ditto.
5404         (Fset_window_configuration): ditto.
5405
5406         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
5407
5408         * glyphs.c (process_image_string_instantiator): use
5409         INSTANTIATOR_TYPE.
5410         (get_image_instantiator_governing_domain): ditto.
5411         (normalize_image_instantiator): ditto.
5412         (instantiate_image_instantiator): ditto.
5413         (make_image_instance_1): ditto.
5414         (image_instantiate): ditto. Key on glyph *and* instantiator type.
5415         (instantiator_eq_equal): new function for use with instance hash
5416         tables.
5417         (instantiator_eq_hash): ditto.
5418         (make_image_instance_cache_hash_table): create a suitable hash
5419         table for storing image instances.
5420
5421         * elhash.h (hash_table_weakness): new internal weakness type
5422         HASH_TABLE_KEY_CAR_VALUE_WEAK.
5423         declare new functions.
5424
5425         * elhash.c (finish_marking_weak_hash_tables): introduce yet
5426         another weakness type for glyphs.
5427         (make_standard_lisp_hash_table): new function split out from
5428         make_general_lisp_hash_table.
5429         (make_lisp_hash_table): call make_standard_lisp_hash_table.
5430         (hash_table_instantiate): ditto.
5431         (Fmake_hash_table): ditto.
5432
5433 2000-12-31  Martin Buchholz <martin@xemacs.org>
5434
5435         * XEmacs 21.2.39 is released.
5436
5437 2000-12-29  Andy Piper  <andy@xemacs.org>
5438
5439         * menubar.c (menubar_visible_p_changed): signal the frame changed.
5440
5441         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
5442         the frame has changed so that we pick up geometry changes such as
5443         menubar visibility.
5444
5445 2000-12-28  Andy Piper  <andy@xemacs.org>
5446
5447         * lastfile.c (my_ebss): make a char array so we can pad the
5448         bss. Fixes cygwin unexec.
5449
5450         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
5451
5452 2000-12-26  Andy Piper  <andy@xemacs.org>
5453
5454         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
5455         comments and try and be more precise about a non-/SIGIO world.
5456         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
5457         SIGIO.
5458
5459         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
5460         we don't normalize to zero width or height.
5461
5462 2000-12-24  Andy Piper  <andy@xemacs.org>
5463
5464         * Makefile.in.in (ldflags): add -mwindows when appropriate.
5465
5466 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
5467
5468         * s/sco5.h: SCO 5 has pty support.
5469
5470 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
5471
5472         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
5473         input-method-xlib.c contains whole contents of input-method-xfs.c,
5474         so we can use input-method-xlib.c's code for USE_XFONTSET
5475         using #ifdefs.
5476         * input-method-xfs.c: removed.
5477
5478 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
5479
5480         * file-coding.h (enum coding_category_type): reorder enumerators to
5481         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
5482         (now one greater than largest real coding_category_type enumerator).
5483         * file-coding.c (coding_category_symbol, coding_category_by_priority,
5484         coding_category_system, fcd_descriptihon_1, decode_coding_category,
5485         Fcoding_category_list, Fset_coding_priority_list,
5486         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
5487         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
5488
5489 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
5490
5491         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
5492         * redisplay-output.c (redisplay_output_window): Clear top of window
5493         when face is changed.
5494         * redisplay-x.c (x_redraw_exposed_window): Call
5495         redisplay_clear_top_of_window.
5496         * redisplay.h: Publish redisplay_clear_top_of_window.
5497
5498 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
5499
5500         * buffer.c (Fkill_buffer): Map over all devices.
5501         * window.c (window_loop): Remove UNSHOW_BUFFER code.
5502         (list_windows): New function.
5503         (list_all_windows): Ditto.
5504         (Freplace_buffer_in_windows): Use them.
5505
5506 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5507
5508         * database.c (berkdb_subtype): Recognize new subtype `queue'.
5509         (Fopen_database): Use `db_create' instead of `db_open'.
5510         (syms_of_database): Initialize Qqueue.
5511
5512 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5513
5514         * buffer.c (common_init_complex_vars_of_buffer): Initialize
5515         buffer_local_face_property.
5516         * buffer.h (struct buffer): New member buffer_local_face_property.
5517         * window.c (Fset_window_buffer):  Mark window's face as changed
5518         when buffer has buffer local face.
5519         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
5520         * objects.c (color_after_change): Set buffer_local_face_property
5521         when locale of face specifier is buffer.
5522         * objects.c (font_after_change): Ditto.
5523         * objects.c (face_boolean_after_change): Ditto.
5524         * glyphs.c (image_after_change): Ditto.
5525
5526 2000-12-09  Dan Holmsand  <dan@eyebee.com>
5527
5528         * nt.c (mswindows_fstat): Report file permissions, volume serial
5529         number, etc. Code adapted from FSF Emacs 20.7.
5530
5531 2000-12-09  Dan Holmsand  <dan@eyebee.com>
5532
5533         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
5534         of stat when we don't have symbolic links, to make sure
5535         mswindows_stat is called on mswindows.
5536
5537 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
5538
5539         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
5540
5541 2000-12-12  Martin Buchholz  <martin@xemacs.org>
5542
5543         * doprnt.c (emacs_doprnt_1): More printing fixes.
5544         Make printing of numbers compatible with libc and FSF Emacs.
5545         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
5546         Use the system printf to do most of the hard work of formatting,
5547         instead of doprnt_1().
5548         Calculate memory to allocate for format string.
5549         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
5550         (doprnt_1): Cleaner code and documentation.
5551
5552 2000-12-01  Jerry James  <james@eecs.ukans.edu>
5553
5554         * Makefile.in.in: Use the loop variable to install headers.
5555
5556 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5557
5558         * window.c (Fsplit_window): Don't invalidate face cache.
5559
5560 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5561
5562         * minibuf.c (Fall_completions): Undo the previous change
5563         which removed checking elements start with space.
5564
5565 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
5566
5567         * mule-canna.c: Didier suppression.
5568
5569 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
5570
5571         * mule-canna.c: rename static unsigned char buf[] to key_buffer
5572         (warning suppression).  Add English comment translations.
5573
5574 2000-12-05  Martin Buchholz  <martin@xemacs.org>
5575
5576         * unexelfsgi.c (unexec): Better test for mmap failure.
5577
5578 2000-12-05  Martin Buchholz <martin@xemacs.org>
5579
5580         * XEmacs 21.2.38 is released.
5581
5582 2000-12-05  Martin Buchholz  <martin@xemacs.org>
5583
5584         * redisplay.c (bar-cursor): Make a user variable.
5585
5586         * symsinit.h: Add init_postgresql_from_environment.
5587
5588 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5589
5590         * regex.c: Convert to clean C.
5591
5592 2000-12-05  Dan Holmsand  <dan@eyebee.com>
5593
5594         * realpath.c:
5595         Don't #include sysfile.h. Revert to duplicating PATH_MAX
5596         initialization.
5597         (sys_readlink): renamed to system_readlink to avoid conflict with
5598         the other sys_readlink.
5599
5600 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
5601
5602         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
5603
5604 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
5605
5606         * postgresql.c (init_postgresql_from_environment): new function.
5607         (vars_of_postgresql): Move code initializing Lisp variables out and
5608         into init_postgresql_from_environment.
5609         emacs.c (main_1): Call init_postgresql_from_environment if and only
5610         if running a dumped XEmacs.
5611
5612 2000-08-31  Dan Holmsand  <dan@eyebee.com>
5613
5614         * buffer.c: Make find-file-compare-truenames default to true on
5615         windows.
5616
5617         * realpath.c (win32_abs_start):
5618         (cygwin_readlink):
5619         (win32_readlink): New functions.
5620         (xrealpath): Return really real filenames on windows.
5621
5622         * fileio.c (Ffile_truename): Make file-truename work on windows.
5623
5624 2000-11-29  Didier Verna  <didier@xemacs.org>
5625
5626         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
5627         * faces.c (update_face_cachel_data): use it.
5628         * faces.c (add_face_cachel): use it. Complete background pixmap
5629         frobbing in face cache if `update_face_cachel_data' has not done so.
5630
5631 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
5632
5633         * search.c (string_match_1): Don't set last_thing_searched
5634         when search failed.
5635
5636 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
5637
5638         * buffer.c: Include casetab.h
5639         (common_init_complex_vars_of_buffer): Use new case-table object.
5640         * buffer.h: Include casetab.h
5641         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
5642         (DOWNCASE_TABLE_OF): Ditto.
5643         * bufslots.h: Remove char-tables and add case-table.
5644         * casetab.c: Include casetab.h
5645         (CASE_TABLE_P): Removed.
5646         (mark_case_table): New function.
5647         (allocate_case_table): New function.
5648         (Fcase_table_p): Use new case-table.
5649         (case_table_char): New function.
5650         (Fget_case_table): Ditto.
5651         (Fput_case_table): Ditto.
5652         (Fput_case_table_pair): Ditto.
5653         (Fcopy_case_table): Ditto.
5654         (Fcurrent_case_table): Return case-table.
5655         (Fstandard_case_table): Return case-table.
5656         (Fset_case_table): Fix doc-string.
5657         (set_case_table): Use case-table
5658         (syms_of_casetab): DEFSUBR new functions.
5659         (complex_vars_of_casetab): Set up standard case-table.
5660         * casetab.h: New file.
5661         * editfns.c: Include casetab.h
5662         (Fcompare_buffer_substrings): Use case-table.
5663         * inline.c: Include casetab.h
5664         * lisp.h: Remove bogus extern.
5665         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
5666         * search.c: Include casetab.h
5667         (TRANSLATE_ASCII): Removed.
5668         (TRANSLATE): Unconditionally translate character.
5669         (looking_at_1): Use case-table.
5670         (string_match_1): Ditto.
5671         (fast_string_match): Ditto.
5672         (search_command): Ditto.
5673         (search_buffer): Separate boyer_moore.  Check whether
5674         boyer_moore is possible.
5675         (simple_search): New function.
5676         (boyer_moore): Separated from search_buffer. Translate char.
5677
5678 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
5679
5680         * regex.c (RE_TR_ASCII): Removed.
5681         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
5682         (PATFETCH): Call PATFETCH_RAW.
5683         (PATFETCH_RAW): Fetch Emchar.
5684         (PATUNFETCH): Decrement charptr.
5685         (GET_BUFFER_SPACE): Rename b to buf_end.
5686         (BUF_PUSH): Ditto.
5687         (BUF_PUSH_2): Ditto.
5688         (BUF_PUSH_3): Ditto.
5689         (EXTEND_BUFFER): Ditto.
5690         (SET_LIST_BIT): Ditto.
5691         (regex_compile): Ditto.  Translate non ASCII char.
5692         (compile_range): Ditto.
5693         (re_search_2): Ditto.
5694         (re_match_2_internal): Compare Emchar.
5695         (bcmp_translate): Ditto.
5696
5697 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
5698
5699         * lisp.h (basic char/int typedefs):  comment improvement.
5700
5701 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
5702
5703         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
5704         unstomp inhibit_site_lisp.  Improve comments.
5705
5706 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
5707
5708         * mule-charset.c (Fcharset_property):  improve type checking, comments.
5709
5710 2000-11-28  Andy Piper  <andy@xemacs.org>
5711
5712         * redisplay-output.c (redisplay_output_subwindow): make sure we do
5713         clipped display for windows in the gutter also.
5714         (redisplay_display_boxes_in_window_p): change semantics of return
5715         codes to be more intuitive.
5716
5717         * gutter.h: declare display_boxes_in_gutter_p.
5718
5719         * gutter.c (display_boxes_in_gutter_p): new function for
5720         redisplay.
5721
5722 2000-11-22  Andy Piper  <andy@xemacs.org>
5723
5724         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
5725         autodetect domain.
5726
5727 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
5728
5729         * callproc.c (Fold_call_process_internal):
5730         * gpm.c (Freceive_gpm_event):
5731         (tty_get_foreign_selection): Might be just warning supression.
5732         * fileio.c (Fwrite_region_internal):
5733         (Fset_visited_file_modtime):
5734         * keymap.c (event_matches_key_specifier_p):
5735         Initialize GCPROed variable.
5736
5737         * menubar-x.c (command_builder_find_menu_accelerator):
5738         Initialize before use.
5739
5740 2000-11-23  Andy Piper  <andy@xemacs.org>
5741
5742         * unexcw.c (unexec): make the resulting executable executable.
5743
5744 2000-11-21  Martin Buchholz  <martin@xemacs.org>
5745
5746         * doc.c (get_doc_string):
5747         Use size_t, not int, for result of XSTRING_LENGTH.
5748
5749         * cmds.c (Fdelete_char):
5750         * cmds.c (Fpoint_at_eol):
5751         * cmds.c (Fself_insert_command):
5752         Use EMACS_INT, not int, for result of XINT.
5753         Someday, someone will want to insert more than 2**31 identical characters.
5754
5755         * cmds.c (Fdelete_char):
5756         * cmds.c (Fdelete_backward_char):
5757         * syntax.c (Fforward_word):
5758         * syntax.c (Fforward_comment):
5759         Make COUNT argument optional, for consistency with forward-char et al.
5760
5761 2000-11-22  Martin Buchholz  <martin@xemacs.org>
5762
5763         * lisp.h:
5764         * print.c (long_to_string):
5765         Return a useful value: the pointer at end of data written.
5766
5767         * doprnt.c:
5768         Use `static const char * const' for constant strings.
5769         (union printf_arg): Delete `i', `ui' members.
5770         (get_doprnt_args):
5771         (emacs_doprnt_1):
5772         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
5773         Do all printf-ing via the `l' specifier.
5774         Use EMACS_INT instead of int.
5775         Optimize.
5776
5777 2000-11-20  Didier Verna  <didier@xemacs.org>
5778
5779         * faces.c (update_face_cachel_data): don't frob the background
5780         pixmap when the window is being created. The face is needed but
5781         does not exist yet.
5782
5783 2000-11-20  Andy Piper  <andy@xemacs.org>
5784
5785         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
5786         messing with a debug environment.
5787
5788 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5789
5790         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
5791
5792 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5793
5794         * casetab.c (Fcase_table_p): Fix compile error and crash.
5795
5796 2000-11-18  Philip Aston  <philipa@mail.com>
5797
5798         * s/cygwin32.h: Cygwin has SVR4-like pty support.
5799
5800 2000-11-18  Martin Buchholz  <martin@xemacs.org>
5801
5802         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
5803         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
5804
5805 2000-11-17  Martin Buchholz  <martin@xemacs.org>
5806
5807         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5808         * unexelf.c: Use HAVE_ELF_H.
5809         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5810         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5811         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5812         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5813         for testing.
5814         So this is an unexelfsgi.c from a different line of development.
5815
5816 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5817
5818         * regex.c (RE_TR_ASCII): New function.
5819         (RE_TRANSLATE): Call it.
5820
5821 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5822
5823         * buffer.h (TRT_TABLE_OF): Remove assert.
5824         (IN_TRT_TABLE_DOMAIN): Removed.
5825
5826 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5827
5828         * free-hook.c (log_gcpro):
5829         (show_gcprohist): Add support for GCPRO5.
5830
5831 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5832
5833         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5834
5835 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5836
5837         * symeval.h: Declare flush_all_buffer_local_cache.
5838
5839         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5840         (flush_buffer_local_cache): Added.
5841         (flush_all_buffer_local_cache): Added.
5842
5843         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5844
5845         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5846         (pdump_dump_data): Ditto.
5847         (pdump_reloc_one): Ditto.
5848         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5849         before dumping.
5850
5851
5852 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5853
5854         * buffer.c: Remove if 0'ed entry.
5855         * buffer.h: Rewrite TRT to use char-table.
5856         * bufslots.h: Remove mirror tables.
5857         * casetab.c: Remove mirror tables.
5858         (CASE_TABLE_P): New macro.
5859         (Fcase_table_p): Element of a case table is string or char-table.
5860         (make_mirror_trt_table): Removed.
5861         (set_case_table): Setup char-table from strings for backward
5862         compatibility.
5863         * dired.c (Fdirectory_files):
5864         * dired-msw.c: (mswindows_get_files):
5865         * lisp.h: Change prototype of re_pattern_buffer.
5866         * regex.c: (RE_TRANSLATE): New macro.
5867         (TRANSLATE_P): Ditto.
5868         Change translate to type RE_TRANSLATE_TYPE.
5869         * regex.h: Define RE_TRANSLATE_TYPE
5870         * search.c (TRANSLATE): New macro.
5871         (TRANSLATE_ASCII): New macro.
5872         Translate table is changed to Lisp_Object.
5873         (signal_failure): Inhibit return.
5874
5875 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5876
5877         * device-msw.c:
5878         * eldap.c:
5879         * event-Xt.c:
5880         * event-stream.c:
5881         * print.c:
5882         Do UNGCPRO before return.
5883
5884 2000-11-14  Martin Buchholz <martin@xemacs.org>
5885
5886         * XEmacs 21.2.37 is released.
5887
5888 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5889
5890         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5891         Add comments about discarded return value.
5892
5893 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5894
5895         * callint.c:
5896         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5897
5898 2000-10-27  Andy Piper  <andy@xemacs.org>
5899
5900         * gutter.c (Fset_default_gutter_position): default left and right
5901         gutters to visible.
5902         (calculate_gutter_size): calculate resonable heuristic for left
5903         and right gutter sizes.
5904         (specifier_vars_of_gutter): change left and right gutter sizes to
5905         autodetect.
5906         (calculate_gutter_size_from_display_lines): new function.
5907         (output_gutter): check for resizing on left and right gutters.
5908         (clear_gutter): don't special case top and left gutters.
5909         (specifier_vars_of_gutter): use new signature for
5910         set_specifier_caching.
5911
5912         * glyphs-x.c (x_redisplay_widget): spelling fix.
5913         * glyphs.c (specifier_vars_of_glyphs):
5914         * menubar.c (specifier_vars_of_menubar):
5915         * redisplay.c (specifier_vars_of_redisplay):
5916         * toolbar.c (specifier_vars_of_toolbar):
5917         * window.c (specifier_vars_of_window):
5918         * scrollbar.c (specifier_vars_of_scrollbar):
5919         (complex_vars_of_scrollbar): use new signature for
5920         set_specifier_caching.
5921
5922         * specifier.c (set_specifier_caching): include recompute flag.
5923         (recompute_one_cached_specifier_in_window): always recompute if
5924         flag set.
5925         (recompute_one_cached_specifier_in_frame): ditto.
5926
5927         * specifier.h (struct specifier_caching): add recompute flag.
5928
5929 2000-10-24  Andy Piper  <andy@xemacs.org>
5930
5931         * unexcw.c (copy_executable_and_dump_data_section): add new
5932         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5933         5.0 happy.
5934
5935 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5936
5937         * console-x.h (x_device): New member modifier_release_time.
5938         * event-Xt.c (x_handle_sticky_modifiers):
5939         Bound interval modifier keys are sticky.
5940         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5941         * events.h: extern it.
5942
5943 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5944
5945         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5946
5947 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5948
5949         * event-stream.c (execute_command_event): Preserve current_events
5950         and the like when event is misc-user-event.
5951         Inhibit quit during the call to maybe_echo_keys.
5952
5953 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5954
5955         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5956         symlink when buffer is killed.
5957         (inhibit_clash_detection): New variable.
5958
5959 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5960
5961         * console.c (Fset_input_method): Trigger redisplay on tty.
5962
5963 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5964
5965         * process.c (Fprocess_status): Revert to previous behavior:
5966         (process-status "nosuchprocess") ==> nil
5967
5968 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5969
5970         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5971         Work around another GCC 2.95.2 optimizer bug.
5972
5973 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5974
5975         * process.c (Fget_process): Use LIST_LOOP_2.
5976         (kill_buffer_processes): Use LIST_LOOP_2.
5977
5978         * minibuf.c (Fall_completions):
5979         Delete old non-functional code for FSF fourth argument.
5980
5981         * frame.c (frame_matches_frame_spec):
5982         Renamed from `frame_matches_frametype'.  Update all callers.
5983         (device_matches_device_spec):
5984         Renamed from 'device_matches_console_spec'.  Update all callers.
5985
5986         * doc.c (Fsubstitute_command_keys):
5987         Remove buffer overflow crash.  Small code cleanups.
5988
5989         * casetab.c (check_case_table): Simpler code.
5990
5991         * window.c (Freplace_buffer_in_windows):
5992         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5993         (and similar implementation) as Fdelete_windows_on.
5994         Update all callers.
5995
5996         * alloc.c (Fmake_list):
5997         * alloc.c (make_vector):
5998         * alloc.c (Fmake_vector):
5999         * alloc.c (make_bit_vector):
6000         * alloc.c (Fmake_bit_vector):
6001         * alloc.c (Fbit_vector):
6002         * alloc.c (Fmake_string):
6003         * alloc.c (Fpurecopy):
6004         * alloc.c (Fmemory_limit):
6005         * buffer.c:
6006         * buffer.c (Fget_buffer):
6007         * buffer.c (Fkill_buffer):
6008         * buffer.c (complex_vars_of_buffer):
6009         * bytecode.c (Fcompiled_function_stack_depth):
6010         * callint.c (Fprefix_numeric_value):
6011         * event-stream.c:
6012         * event-stream.c (Fread_key_sequence):
6013         * casetab.c:
6014         * casetab.c (Fcase_table_p):
6015         * casetab.c (check_case_table):
6016         * casetab.c (Fset_case_table):
6017         * casetab.c (Fset_standard_case_table):
6018         * chartab.c:
6019         * chartab.c (Fchar_table_type):
6020         * chartab.c (Freset_char_table):
6021         * chartab.c (Fget_char_table):
6022         * chartab.c (Fget_range_char_table):
6023         * chartab.c (Fput_char_table):
6024         * chartab.c (Fmap_char_table):
6025         * chartab.c (Fcategory_table_p):
6026         * chartab.c (Fcheck_category_at):
6027         * chartab.c (Fchar_in_category_p):
6028         * chartab.c (Fcategory_table):
6029         * chartab.c (Fcopy_category_table):
6030         * chartab.c (Fset_category_table):
6031         * chartab.c (Fcategory_designator_p):
6032         * chartab.c (Fcategory_table_value_p):
6033         * cmds.c (Fdelete_char):
6034         * cmds.c (Fdelete_backward_char):
6035         * cmds.c (Fself_insert_command):
6036         * cmds.c (Fself_insert_internal):
6037         * console.c (Fvalid_console_type_p):
6038         * console.c (Fcdfw_console):
6039         * console.c (Fconsole_type):
6040         * console.c (Fconsole_name):
6041         * console.c (Fconsole_device_list):
6042         * console.c (Fconsole_on_window_system_p):
6043         * data.c:
6044         * data.c (Feq):
6045         * data.c (Fold_eq):
6046         * data.c (Fsubr_interactive):
6047         * data.c (Fchar_to_int):
6048         * data.c (Fint_to_char):
6049         * data.c (Fsetcar):
6050         * data.c (Fsetcdr):
6051         * data.c (Fnumber_to_string):
6052         * data.c (Fstring_to_number):
6053         * data.c (Frem):
6054         * database.c (mark_database):
6055         * database.c (finalize_database):
6056         * database.c (Fdatabase_live_p):
6057         * database.c (Fdatabasep):
6058         * device-x.c (Fx_get_resource):
6059         * device.c (Fdfw_device):
6060         * dired.c:
6061         * dired.c (Ffile_name_completion):
6062         * dired.c (Ffile_name_all_completions):
6063         * dired.c (Fuser_name_completion):
6064         * dired.c (Fuser_name_completion_1):
6065         * dired.c (Fuser_name_all_completions):
6066         * doc.c (Fdocumentation):
6067         * doc.c (Fdocumentation_property):
6068         * doc.c (Fsubstitute_command_keys):
6069         * editfns.c:
6070         * editfns.c (Fchar_to_string):
6071         * editfns.c (Fstring_to_char):
6072         * editfns.c (Ftemp_directory):
6073         * editfns.c (Finsert_char):
6074         * editfns.c (Fbuffer_substring_no_properties):
6075         * editfns.c (Fnarrow_to_region):
6076         * editfns.c (Fchar_equal):
6077         * editfns.c (Fchar_Equal):
6078         * editfns.c (Ftranspose_regions):
6079         * emacs.c (Fdump_emacs):
6080         * eval.c (Fthrow):
6081         * eval.c (Fcommand_execute):
6082         * eval.c (Fautoload):
6083         * eval.c (Fbacktrace):
6084         * eval.c (Fbacktrace_frame):
6085         * events.c:
6086         * events.c (Fcopy_event):
6087         * events.c (Fcharacter_to_event):
6088         * events.c (Fevent_button):
6089         * events.c (Fevent_process):
6090         * extents.c:
6091         * extents.c (Fnext_extent_change):
6092         * extents.c (Fextent_property):
6093         * faces.c (Ffacep):
6094         * faces.c (Fmake_face):
6095         * file-coding.c:
6096         * file-coding.c (Fencode_shift_jis_char):
6097         * file-coding.c (Fencode_big5_char):
6098         * fileio.c (Ffile_name_directory):
6099         * fileio.c (Ffile_name_nondirectory):
6100         * fileio.c (Ffile_name_as_directory):
6101         * fileio.c (Fdirectory_file_name):
6102         * fileio.c (Ffile_truename):
6103         * fileio.c (Fsubstitute_in_file_name):
6104         * fileio.c (Ffile_modes):
6105         * fileio.c (Fset_file_modes):
6106         * fileio.c (Fset_default_file_modes):
6107         * fileio.c (Fverify_visited_file_modtime):
6108         * floatfns.c (Facos):
6109         * floatfns.c (Fasin):
6110         * floatfns.c (Fatan):
6111         * floatfns.c (Fcos):
6112         * floatfns.c (Fsin):
6113         * floatfns.c (Ftan):
6114         * floatfns.c (Fbessel_j0):
6115         * floatfns.c (Fbessel_j1):
6116         * floatfns.c (Fbessel_jn):
6117         * floatfns.c (Fbessel_y0):
6118         * floatfns.c (Fbessel_y1):
6119         * floatfns.c (Fbessel_yn):
6120         * floatfns.c (Ferf):
6121         * floatfns.c (Ferfc):
6122         * floatfns.c (Flog_gamma):
6123         * floatfns.c (Fexp):
6124         * floatfns.c (Fexpt):
6125         * floatfns.c (Flog):
6126         * floatfns.c (Flog10):
6127         * floatfns.c (Fsqrt):
6128         * floatfns.c (Fcube_root):
6129         * floatfns.c (Facosh):
6130         * floatfns.c (Fasinh):
6131         * floatfns.c (Fatanh):
6132         * floatfns.c (Fcosh):
6133         * floatfns.c (Fsinh):
6134         * floatfns.c (Ftanh):
6135         * floatfns.c (Fabs):
6136         * floatfns.c (Ffloat):
6137         * floatfns.c (Flogb):
6138         * floatfns.c (Fceiling):
6139         * floatfns.c (Ffloor):
6140         * floatfns.c (Fround):
6141         * floatfns.c (Ftruncate):
6142         * floatfns.c (Ffceiling):
6143         * floatfns.c (Fffloor):
6144         * floatfns.c (Ffround):
6145         * floatfns.c (Fftruncate):
6146         * fns.c (Fstring_equal):
6147         * fns.c (Fstring_lessp):
6148         * fns.c (concat2):
6149         * fns.c (concat3):
6150         * fns.c (vconcat2):
6151         * fns.c (vconcat3):
6152         * fns.c (Fsubstring):
6153         * fns.c (Fassoc):
6154         * fns.c (Fold_assoc):
6155         * fns.c (assoc_no_quit):
6156         * fns.c (Fassq):
6157         * fns.c (Fold_assq):
6158         * fns.c (assq_no_quit):
6159         * fns.c (Frassoc):
6160         * fns.c (Fold_rassoc):
6161         * fns.c (Frassq):
6162         * fns.c (Fold_rassq):
6163         * fns.c (rassq_no_quit):
6164         * fns.c (Fremassoc):
6165         * fns.c (remassoc_no_quit):
6166         * fns.c (Fremassq):
6167         * fns.c (remassq_no_quit):
6168         * fns.c (Fremrassoc):
6169         * fns.c (Fremrassq):
6170         * fns.c (remrassq_no_quit):
6171         * fns.c (Fsort):
6172         * fns.c (Fplist_get):
6173         * fns.c (Fplist_put):
6174         * fns.c (Fplist_remprop):
6175         * fns.c (Fplist_member):
6176         * fns.c (Flax_plist_get):
6177         * fns.c (Flax_plist_put):
6178         * fns.c (Flax_plist_remprop):
6179         * fns.c (Flax_plist_member):
6180         * fns.c (Fequal):
6181         * fns.c (Fold_equal):
6182         * fns.c (Frequire):
6183         * fns.c (Fbase64_encode_region):
6184         * fns.c (Fbase64_encode_string):
6185         * fns.c (Fbase64_decode_region):
6186         * frame.c:
6187         * frame.c (frame_matches_frame_spec):
6188         * frame.c (device_matches_device_spec):
6189         * frame.c (next_frame):
6190         * frame.c (previous_frame):
6191         * frame.c (Fnext_frame):
6192         * frame.c (Fprevious_frame):
6193         * frame.c (Fframe_property):
6194         * frame.c (Fset_frame_height):
6195         * frame.c (Fset_frame_size):
6196         * frame.h:
6197         * glyphs.c:
6198         * glyphs.c (if):
6199         * glyphs.c (decode_error_behavior_flag):
6200         * glyphs.c (Fmake_image_instance):
6201         * indent.c (Findent_to):
6202         * intl.c (Fignore_defer_gettext):
6203         * keymap.c (Fkeymapp):
6204         * keymap.c (Flookup_key):
6205         * lread.c:
6206         * lread.c (Fload_internal):
6207         * lread.c (Feval_buffer):
6208         * lread.c (Feval_region):
6209         * macros.c (Fexecute_kbd_macro):
6210         * marker.c (set_marker_internal):
6211         * marker.c (Fset_marker):
6212         * marker.c (set_marker_restricted):
6213         * marker.c (Fcopy_marker):
6214         * marker.c (noseeum_copy_marker):
6215         * menubar.c:
6216         * menubar.c (Fpopup_menu):
6217         * minibuf.c:
6218         * mule-charset.c (Fcharset_name):
6219         * mule-charset.c (Fchar_charset):
6220         * mule-charset.c (Fchar_octet):
6221         * mule-charset.c (Fsplit_char):
6222         * mule-wnnfns.c (Fwnn_open):
6223         * mule-wnnfns.c (Fwnn_dict_comment):
6224         * mule-wnnfns.c (Fwnn_quit_henkan):
6225         * mule-wnnfns.c (Fwnn_word_toroku):
6226         * mule-wnnfns.c (Fwnn_word_sakujo):
6227         * mule-wnnfns.c (Fwnn_word_use):
6228         * mule-wnnfns.c (Fwnn_hindo_set):
6229         * objects.c:
6230         * objects.c (Fmake_color_instance):
6231         * objects.c (Fmake_font_instance):
6232         * print.c (Fwrite_char):
6233         * process.c:
6234         * process.c (mark_process):
6235         * process.c (print_process):
6236         * process.c (get_process_from_usid):
6237         * process.c (Fprocessp):
6238         * process.c (Fprocess_live_p):
6239         * process.c (Fget_process):
6240         * process.c (Fget_buffer_process):
6241         * process.c (get_process):
6242         * process.c (Fprocess_id):
6243         * process.c (Fprocess_name):
6244         * process.c (Fprocess_command):
6245         * process.c (init_process_io_handles):
6246         * process.c (start_process_unwind):
6247         * process.c (Fstart_process_internal):
6248         * process.c (Fopen_multicast_group_internal):
6249         * process.c (Fset_process_window_size):
6250         * process.c (read_process_output):
6251         * process.c (send_process):
6252         * process.c (Fprocess_tty_name):
6253         * process.c (Fset_process_buffer):
6254         * process.c (Fprocess_buffer):
6255         * process.c (Fprocess_mark):
6256         * process.c (set_process_filter):
6257         * process.c (Fset_process_filter):
6258         * process.c (Fprocess_filter):
6259         * process.c (Fprocess_send_region):
6260         * process.c (Fprocess_send_string):
6261         * process.c (exec_sentinel):
6262         * process.c (Fset_process_sentinel):
6263         * process.c (Fprocess_sentinel):
6264         * process.c (status_notify):
6265         * process.c (Fprocess_status):
6266         * process.c (Fprocess_exit_status):
6267         * process.c (process_send_signal):
6268         * process.c (Fprocess_send_eof):
6269         * process.c (deactivate_process):
6270         * process.c (remove_process):
6271         * process.c (Fdelete_process):
6272         * process.c (kill_buffer_processes):
6273         * process.c (Fprocess_kill_without_query):
6274         * process.c (Fprocess_kill_without_query_p):
6275         * rangetab.c:
6276         * rangetab.c (Fget_range_table):
6277         * rangetab.c (Fput_range_table):
6278         * rangetab.c (Fremove_range_table):
6279         * rangetab.c (Fclear_range_table):
6280         * search.c:
6281         * search.c (Fskip_chars_forward):
6282         * search.c (Fskip_chars_backward):
6283         * search.c (Fskip_syntax_forward):
6284         * search.c (Fskip_syntax_backward):
6285         * search.c (search_command):
6286         * search.c (Freplace_match):
6287         * search.c (Fregexp_quote):
6288         * select.c (Fown_selection_internal):
6289         * select.c (Fselection_owner_p):
6290         * select.c (Fselection_exists_p):
6291         * select.c (Fget_selection_internal):
6292         * specifier.c:
6293         * symbols.c:
6294         * symbols.c (Fintern):
6295         * symbols.c (Fintern_soft):
6296         * symbols.c (Funintern):
6297         * symbols.c (Fapropos_internal):
6298         * symbols.c (Fset_default):
6299         * syntax.c:
6300         * syntax.c (Fsyntax_table_p):
6301         * syntax.c (Fcopy_syntax_table):
6302         * syntax.c (Fset_syntax_table):
6303         * syntax.c (Fchar_syntax):
6304         * syntax.c (syntax_match):
6305         * syntax.c (Fmatching_paren):
6306         * syntax.c (Fforward_word):
6307         * syntax.c (scan_lists):
6308         * syntax.c (Fscan_lists):
6309         * syntax.c (Fscan_sexps):
6310         * syntax.c (Fparse_partial_sexp):
6311         * toolbar.c (Fcheck_toolbar_button_syntax):
6312         * tooltalk.doc:
6313         * window.c:
6314         * window.c (Fwindowp):
6315         * window.c (Fwindow_live_p):
6316         * window.c (Fwindow_point):
6317         * window.c (Fdelete_window):
6318         * window.c (Fnext_window):
6319         * window.c (Fprevious_window):
6320         * window.c (Fother_window):
6321         * window.c (window_loop):
6322         * window.c (Fget_lru_window):
6323         * window.c (Fsplit_window):
6324         * window.c (Fenlarge_window):
6325         * window.c (Fenlarge_window_pixels):
6326         * window.c (Fshrink_window):
6327         * window.c (Fshrink_window_pixels):
6328         * window.c (change_window_height):
6329         * window.c (Fwindow_configuration_p):
6330         * window.c (Fcurrent_window_configuration):
6331         * window.h:
6332         * casefiddle.c (casify_object):
6333         * casefiddle.c (Fupcase):
6334         * casefiddle.c (Fdowncase):
6335         * casefiddle.c (Fcapitalize):
6336         * casefiddle.c (Fupcase_initials):
6337         * casefiddle.c (casify_region_internal):
6338         * casefiddle.c (casify_region):
6339         * casefiddle.c (Fupcase_region):
6340         * casefiddle.c (Fdowncase_region):
6341         * casefiddle.c (Fcapitalize_region):
6342         * casefiddle.c (Fupcase_initials_region):
6343         * casefiddle.c (Fupcase_word):
6344         * casefiddle.c (Fdowncase_word):
6345         * casefiddle.c (Fcapitalize_word):
6346         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
6347         Replace 0 with '\0' when working with bytes.
6348         Replace initial "(" with "\(" in docstrings.
6349
6350 2000-11-01  Martin Buchholz  <martin@xemacs.org>
6351
6352         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
6353
6354         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
6355
6356 2000-10-31  Martin Buchholz  <martin@xemacs.org>
6357
6358         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
6359
6360 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
6361
6362         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
6363         correctly.
6364
6365 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
6366
6367         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
6368         (inhibit_auto_save_session): New variable.
6369         (vars_of_fileio): Declare and initialize them.
6370         * fileio.c (Fdo_auto_save): Don't create session file if
6371         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
6372
6373 2000-10-31  Martin Buchholz  <martin@xemacs.org>
6374
6375         * sgiplay.c (play_internal): C++ compilability.
6376         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
6377         * callproc.c (Fold_call_process_internal):
6378         Remove unused vars `env', `first'.
6379         * scrollbar.c (update_scrollbar_instance):
6380         #### unused var `current_window'.
6381         * redisplay-tty.c: Put currently unused vars insert_mode_on,
6382         etc. within #ifdef NOT_YET.
6383         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
6384         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
6385         * specifier.c (specifier_instance):
6386         #### unused var `tag'.
6387         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
6388
6389 2000-10-27  Martin Buchholz  <martin@xemacs.org>
6390
6391         * fns.c (Fbutlast):
6392         * fns.c (list_sort):
6393         * fns.c (Ffillarray):
6394         * fns.c (bytecode_nconc2):
6395         * fns.c (Fnconc):
6396         * fns.c (mapcar1):
6397         * fns.c (Fmapconcat):
6398         Be pedantically 64-bit correct.  For the time when someone will
6399         want to have a list with length > 2**32.
6400
6401         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6402         Work around MIPSpro compiler bug.
6403
6404         * process-unix.c (unix_kill_child_process): Add snarky comment.
6405         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
6406
6407         * config.h.in: Oops, _getpt ==> _getpty
6408
6409 2000-10-26  Martin Buchholz  <martin@xemacs.org>
6410
6411         * config.h.in:
6412         * regex.c:
6413         Use void*, not char*, as return type of alloca().
6414
6415         * alloc.c (free_marker): Side effect inside assert expression!
6416
6417 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
6418
6419         * mule-charset.c (Fset_charset_ccl_program): To check
6420         if the given ccl program is valid, use setup_ccl_program()
6421         instead of CHECK_VECTOR().
6422         (Fmake_charset): Likewise.
6423
6424 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
6425
6426         * faces.c (get_extent_fragment_face_cache_index):
6427         Fix cachel.merged_faces memory leak.
6428
6429 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
6430
6431         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
6432         Reset MSB of octets obtained by DECODE_SJIS
6433         because of the incompatibility with Emacs.
6434         (ccl_driver)<CCL_ENCODE_SJIS>:
6435         Set MSB of octets before passing them to
6436         ENCODE_SJIS because of the incompatibility
6437         with Emacs.
6438
6439 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
6440
6441         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
6442         (DECLARE_LRECORD): Undo the last change.
6443         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
6444
6445 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
6446
6447         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
6448         the implementation to lrecord_implementations_table.
6449
6450 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
6451
6452         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
6453         initial value of `lrecord_type_##c_name' and
6454         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
6455         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
6456         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
6457         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
6458         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
6459
6460 2000-10-17  Martin Buchholz  <martin@xemacs.org>
6461
6462         * miscplay.c (sndcnv8S_2mono):
6463         (sndcnv2monounsigned):
6464         (sndcnvULaw_2linear):
6465         (sndcnv16swap):
6466         Remove implementation-defined behavior.
6467
6468 2000-10-12  Martin Buchholz  <martin@xemacs.org>
6469
6470         * input-method-xlib.c: Warning suppression.
6471
6472 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
6473
6474         * mule-ccl.c: Sync up with Emacs 21.0.90.
6475         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
6476         Do nothing.
6477         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
6478         Likewise.
6479         (ccl_driver[WriteMultibyteChar2]): Bug fix.
6480         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
6481         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
6482         leading char belongs to official 2-dimensional charset.
6483         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
6484         write the given character as is.  Otherwise,
6485         if it is a multibyte char, convert it by
6486         non_ascii_set_charptr_emchar, then write it.
6487         (CCL_WRITE_STRING): Likewise.
6488         (ccl_get_compiled_code): New function.
6489         (setup_ccl_program): When ccl_prog is invalid,
6490         return -1.
6491         (Fregister_code_conversion_map): New function.
6492         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
6493
6494         * mule-ccl.h: Sync up with Emacs 21.0.90.
6495         (Fregister_ccl_program): export it.
6496
6497         * redisplay-msw.c (separate_textual_runs):
6498         If ccl program is not valid, don't do ccl conversion.
6499
6500         * redisplay-x.c (separate_textual_runs): Ditto.
6501
6502         * file-coding.c (Fmake_coding_system):
6503         When type is ccl and value is vector, register it
6504         with a proper symbol.  And checks whether the
6505         given ccl program is valid.
6506         (mule_decode): When calling ccl_driver, if src indicates
6507         NULL pointer, set an empty string instead.
6508         (mule_encode): Likewise.
6509
6510 2000-10-11  Martin Buchholz  <martin@xemacs.org>
6511
6512         The following large batch of changes gets us back to a state of
6513         C++ compilability.  Extbyte is now a char, which means that
6514         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
6515
6516         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
6517
6518         * sound.c (Fplay_sound): Type correctness.
6519
6520         * select-x.c (hack_motif_clipboard_selection): Type correctness.
6521         (x_get_window_property): Type correctness.
6522         (receive_incremental_selection): unsigned char ==> Extbyte
6523         (selection_data_to_lisp_data): unsigned char ==> Extbyte
6524         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
6525         (Fx_store_cutbuffer_internal): Type correctness.
6526
6527         * process-unix.c (try_to_initialize_subtty): Type correctness.
6528
6529         * objects-x.c (x_print_color_instance): Type correctness.
6530         (x_print_font_instance): Type correctness.
6531         (x_list_fonts): SExtbyte ==> Extbyte.
6532         (valid_x_font_name_p): SExtbyte ==> Extbyte.
6533         (x_find_charset_font): SExtbyte ==> Extbyte.
6534         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
6535         (truename_via_XListFonts): SExtbyte ==> Extbyte.
6536         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
6537         Use bufbyte_strcmp.
6538
6539         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
6540         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
6541         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
6542         (BYTE_C0_P): Use bit ops for char-signedness safety.
6543         (BYTE_C1_P): Use bit ops for char-signedness safety.
6544         (CHARSET_BY_LEADING_BYTE):
6545         (CHARSET_BY_ATTRIBUTES):
6546         Always use inline function.
6547         Use type_checking_assert.
6548         Hide chlook.
6549
6550         * mule-charset.c (non_ascii_charptr_copy_char):
6551         Modify to work with both ASCII and non-ASCII characters.
6552         Improve docs and variable names.
6553         Replace over-clever fall-through switch with a simple loop.
6554         (Lstream_get_emchar_1):
6555         Replace over-clever fall-through switch with a simple loop.
6556
6557         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6558         Warning suppression.
6559
6560         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
6561         the return value of Lstream_getc, which could be EOF as well.
6562
6563         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
6564
6565         * lisp.h: Make Extbyte a char, not unsigned char, so that external
6566         APIs can be used on Extbytes without casts.  Risky!
6567         (SExtbyte): Remove.
6568         (UExtbyte): Remove.
6569
6570         * input-method-xlib.c (XIM_init_device):
6571         Use Xlib.h instead of IntrinsicP.h.
6572         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
6573         which will break in X11R7.
6574         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
6575         to call XRegisterIMInstantiateCallback with correct types.
6576
6577         * gui-x.c (button_item_to_widget_value): Type correctness.
6578
6579         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
6580
6581         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
6582         (xbm_instantiate_1): Type correctness.
6583         (BUILD_GLYPH_INST):  Type correctness.
6584
6585         * fileio.c (Fsubstitute_in_file_name): Type correctness.
6586
6587         * file-coding.c:
6588         (decode_coding_sjis):
6589         (decode_coding_big5):
6590         (decode_coding_ucs4):
6591         (decode_coding_utf8):
6592         (decode_coding_iso2022):
6593         (decode_coding_no_conversion):
6594         Make all decoding functions take an Extbyte * arg.
6595         (encode_coding_sjis):
6596         (encode_coding_big5):
6597         (encode_coding_ucs4):
6598         (encode_coding_utf8):
6599         (encode_coding_iso2022):
6600         (encode_coding_no_conversion):
6601         Make all encoding functions take a Bufbyte * arg.
6602         Use size_t instead of unsigned int for memory sizes.
6603         Only cast to unsigned char whenever dereferencing Extbyte *.
6604
6605         * doc.c (unparesseuxify_doc_string): Type correctness.
6606
6607         * console-x.c (split_up_display_spec):
6608         Rewrite without using details of internal string representation.
6609         (x_semi_canonicalize_device_connection): Type correctness.
6610
6611         * config.h.in:
6612         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
6613         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
6614         (HAVE_XFREE386): Removed.
6615
6616         * buffer.h (DEC_CHARPTR): `const' correctness.
6617         (bufbyte_strcmp): New.
6618         (bufbyte_memcmp): New.
6619
6620         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
6621
6622         * buffer.h (XCHAR_OR_CHAR_INT):
6623         Always use inline function.
6624         Remove redundant type checking assert() - XINT will abort quite nicely.
6625
6626 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6627
6628         * search.c (Freplace_match): Set newtext to an empty string.
6629
6630 2000-10-10  Martin Buchholz  <martin@xemacs.org>
6631
6632         * s/decosf1-3.h: Remove #include of stropts.h
6633         * s/ptx.h: Remove #include of stropts.h
6634         * s/usg5-4.h: Remove #include of stropts.h
6635         * sysproc.h:
6636         * config.h.in:
6637         Use stropts.h, not sys/stropts.h.
6638         Use strtio.h, not sys/strtio.h.
6639
6640 2000-10-04  Martin Buchholz <martin@xemacs.org>
6641
6642         * XEmacs 21.2.36 is released.
6643
6644 2000-09-21  Andy Piper  <andy@xemacs.org>
6645
6646         * glyphs-x.c (x_redisplay_widget): make sure non-structural
6647         changes still involve copying the widget tree.
6648         (update_widget_face): make sure a change is register in the widget
6649         tree. Call update_tab_widget_face appropriately.
6650         (update_tab_widget_face): ditto.
6651         (x_tab_control_redisplay): make sure non-structural changes still
6652         involve copying the widget tree.
6653
6654 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
6655
6656         * lread.c (locate_file): Check the path element is non-nil.
6657
6658 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6659
6660         * lisp.h: Warning suppression for SCO compilers.
6661
6662         * redisplay-tty.c (reset_tty_modes): Fix crash.
6663         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
6664
6665 2000-09-27  Martin Buchholz  <martin@xemacs.org>
6666
6667         Big signal/process handling overhaul.  Bugs fixed:
6668         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
6669         M-x comint-kill-subjob should work for both values nil and t of
6670         process-connection-type. It was broken on most platforms.
6671         Testing on Irix and Cygwin still needed.  Other plaforms tested.
6672         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
6673         * process-unix.c: Signal/Process handling overhaul.
6674         (pty_name): make 64 bytes, as `expect' does, for paranoia.
6675         (allocate_pty): Use all available modern methods of allocating
6676         ptys, falling back to old style BSD allocation as a last resort.
6677         Use allegedly more secure Unix98 pty allocation by default.
6678         (allocate_pty_the_old_fashioned_way): New. the last resort.
6679         (unix_create_process): Push ptem, ldterm, ttcompat where
6680         available.  Autoconfiscate.
6681         (try_to_initialize_subtty): New.
6682         (unix_kill_child_process): Proper signal handling for ptys on most
6683         platforms, using special knowledge of AIX, BSD, etc...
6684         (unix_create_process): Always disconnect_controlling_terminal() for
6685         subprocesses, whether using ptys or not.
6686         * process.h: Remove old getpt-dependent PTY code.
6687         * process.c (Fprocess_send_signal): New, obvious generic function.
6688         (decode_signal): New.
6689         (Finterrupt_process):
6690         (Fkill_process):
6691         (Fquit_process):
6692         (Fstop_process):
6693         (Fcontinue_process):
6694         (Fsignal_process): Use decode_signal.
6695         (process_send_signal):
6696         Many docstring corrections.
6697         Allow any signal to be sent to a process object.
6698         * config.h.in: Add symbols for big signal/process overhaul.
6699         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
6700         * sysproc.h: Include process-related headers, where available:
6701         sys/stropts.h sys/strtio.h pty.h libutil.h
6702         * s/irix4-0.h:
6703         * s/irix5-0.h:
6704         * s/cygwin32.h:
6705         * s/gnu.h:
6706         * s/linux.h:
6707         * s/hpux.h:
6708         * s/aix3-1.h:
6709         Remove old S&M pty stuff.
6710         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
6711         * systty.h: Simplify cpp hackery, improve comments.
6712         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
6713
6714         * editfns.c (Fformat_time_string):
6715         Be a little more paranoid with the return value of ctime.
6716
6717         * fileio.c (check_executable):
6718         (check_writable):
6719         Use symbolic constants X_OK, W_OK.
6720
6721         * console-x.c (split_up_display_spec): Fix a warning.
6722
6723 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6724
6725         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
6726         * ntproc.c (sys_spawnve): make_string ==> build_string
6727         Small clarity improvements.
6728
6729 2000-09-30  Martin Buchholz  <martin@xemacs.org>
6730
6731         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
6732
6733         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
6734
6735         * config.h.in (HAVE_STRCASECMP): Remove.
6736
6737 2000-09-29  Martin Buchholz  <martin@xemacs.org>
6738
6739         * redisplay-output.c (redisplay_output_pixmap):
6740         Cleaner and possibly more 64-bit correct code.
6741
6742 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6743
6744         * dumper.c (pdump_load_finish): move restoration of
6745         `noninteractive1' to emacs.c (main_1).
6746         * emacs.c (main_1): protect LISP-visible command-line flags
6747         from pdump_load().
6748
6749 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
6750
6751         * Makefile.in.in (versionclean):  Use EXE_TARGET and
6752         DUMP_TARGET instead of literal program names.
6753
6754 2000-09-20  Martin Buchholz  <martin@xemacs.org>
6755
6756         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
6757
6758 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6759
6760         * *: Spelling mega-patch
6761
6762 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6763
6764         * fns.c (bad_bad_turtle):
6765         Delete "Eek!" comment, since we fixed the bug to which it refers.
6766
6767 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6768
6769         * alloca.c: Replace REGISTER with register.
6770
6771 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
6772
6773         * file-coding.c (ucs_to_char): Use countof.
6774
6775 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6776
6777         * file-coding.c: (ucs_to_char):
6778         (complex_vars_of_file_coding):
6779         Use countof instead of sizeof.
6780         Use CHECK_NATNUM instead of CHECK_INT.
6781
6782         * sysdep.c (strcasecmp): Remove.
6783         * device-x.c (ascii_strcasecmp): New.
6784         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
6785         Avoid using non-standard non-portable strcasecmp.
6786
6787 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6788
6789         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
6790         * font-lock.c: remove reference to emacsfns.h.
6791         * search.c: small doc improvement.
6792         * event-Xt.c: correct file names in comments.
6793         * console-x.h Correct file names in comments.
6794         * frame.c: Correct file names in comments.
6795         * event-stream.c: remove Energize from comments.
6796
6797 2000-09-15  Martin Buchholz  <martin@xemacs.org>
6798
6799         * symeval.h (DEFERROR_STANDARD):
6800         (DEFERROR):
6801         (DEFSYMBOL):
6802         (DEFSYMBOL_NO_DUMP):
6803         (DEFSYMBOL_MULTIWORD_PREDICATE):
6804         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
6805         (DEFKEYWORD):
6806         The construct &##name is not sensible C.
6807         Fixes compilation errors with Unixware native compiler.
6808
6809 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6810
6811         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6812         (next_frame_internal): Removed.  We now just have next_frame.
6813         (next_frame):
6814         Write a simpler and cleaner one-pass algorithm.
6815         Remove called_from_delete_device arg and #ifdefed-out code.
6816         (previous_frame):
6817         Renamed from prev_frame.  Update callers.
6818         Cleaned up to have an analogous implementation to next_frame.
6819         (other_visible_frames_internal): Remove the
6820         called_from_delete_device bogus arg, and hence, remove this
6821         function.  Just use other_visible_frames().
6822
6823         * window.c (Fnext_window):
6824         Prettify docstring.
6825         Since next_frame() is guaranteed to return a frame, remove check
6826         for nil inserted in previous patch.
6827         (Fprevious_window):
6828         Prettify docstring.
6829         Make code look more like Fnext_window.
6830         (window_loop):
6831         Respect the `console' arg when iterating through windows.
6832         Fixes bug: (get-buffer-window buffer t device) not respecting
6833         the `device' arg.
6834         This function needs more work, as others have pointed out.
6835
6836         * frame.h: Rename prev_frame to previous_frame.
6837         device_matches_console_spec no longer takes a `frame' arg.
6838
6839         * s/gnu.h:
6840         * s/linux.h:
6841         * s/hpux.h:
6842         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6843         From "Golubev I. N." <gin@mo.msk.ru>.
6844
6845         * make-src-depend: Fix typo.
6846
6847 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6848
6849         * window.c (Fnext_window):
6850         next_frame() might return nil, not a frame.
6851         Fixes this crash:
6852         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6853
6854         * frame.c (next_frame_internal):
6855         We've passed a frame if we've passed its device.
6856         Fixes this crash:
6857         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6858 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6859
6860 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6861
6862         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6863         Allow option to suppress accelerators in menu/dialog items.
6864         (populate_or_checksum_helper): Pass dialog title through above.
6865
6866 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6867
6868         * event-msw.c (mswindows_key_to_emacs_keysym):
6869         Add "pause" key, fix "menu" key.
6870
6871 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6872
6873         * eval.c (reinit_vars_of_eval):
6874         Increase max_lisp_eval_depth to 1000,
6875         required for thai-xtis.el to byte-compile under some circumstances.
6876
6877 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6878
6879         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6880         From Kenichi Handa.
6881
6882 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6883
6884         * make-src-depend: Make the generated Makefiles smaller.
6885
6886         * s/hpux.h (SETUP_SLAVE_PTY):
6887         Provide a %d in the format string for the errno argument.
6888
6889         * editfns.c (Ftemp_directory):
6890         Warning fix.
6891         Avoid buffer overrun on very long file name.
6892
6893         * input-method-xlib.c (XIM_init_device):
6894         6th parameter of XRegisterIMInstantiateCallback has different
6895         pointer types on different OSes, so simply cast to (void *).
6896
6897         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6898
6899         * sysdll.c (dll_open):
6900         shl_load will hang hard if passed a NULL filename.
6901         Simply return NULL for compatibility with dlopen.
6902         * sysdll.c: Conform to XEmacs coding standards.
6903
6904         * sysdep.c (get_pty_max_bytes):
6905         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6906
6907 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6908
6909         * tooltalk.c: Add #include <syssignal.h>
6910
6911 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6912
6913         * s/hpux.h: Don't use undefined function sigunblock().
6914
6915 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6916
6917         * config.h.in: Add HAVE_BALLOON_HELP.
6918         * emacs.c: Use HAVE_BALLOON_HELP.
6919         * Makefile.in.in (x_objs):
6920         Make Balloon Help conditional on finding shape.h.
6921
6922 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6923
6924         * syntax.c (regex_emacs_buffer_p): New variable.
6925         * syntax.h (regex_emacs_buffer_p): extern.
6926         * search.c (looking_at_1):
6927         (string_match_1):
6928         (fast_string_match):
6929         (search_buffer): Set regex_emacs_buffer_p.
6930         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6931         when before_dot, at_dot, after_dot.
6932
6933 2000-08-23  Andy Piper  <andy@xemacs.org>
6934
6935         * gui-x.c (popup_selection_callback): Only set action_occurred
6936         when we really have an image instance.
6937         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6938
6939 2000-08-23  Andy Piper  <andy@xemacs.org>
6940
6941         * gui-msw.c (mswindows_handle_gui_wm_command): set
6942         action_occurred.
6943         * gui-x.c (popup_selection_callback): ditto.
6944
6945         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6946         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6947         (struct Lisp_Image_Instance): add action_occurred flag.
6948
6949         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6950         (image_instance_changed): ditto.
6951         (reset_frame_subwindow_instance_cache): only unmap windows - do
6952         not remove them from the cache also.
6953
6954         * glyphs-widget.c (tab_control_update): better debug.
6955         (progress_gauge_update): ditto.
6956         (layout_update): ditto.
6957         (layout_instantiate): ditto.
6958         (tab_control_order_only_changed): cope with null pending items.
6959
6960         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6961         debug. Force selection of an item when an action occurred. Cope
6962         with null pending_items.
6963         (mswindows_progress_gauge_redisplay): better debug.
6964         * glyphs-x.c (x_tab_control_redisplay): ditto.
6965
6966         * redisplay.c (redisplay_frame): reset the frame cache if the
6967         frame is garbaged.
6968
6969         * window.c (Fset_window_configuration): potentially re-enable
6970         frame cache reset.
6971         (window_unmap_subwindows): need to finalize instances here since
6972         it is only used in mark_window_as_deleted.
6973
6974 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6975
6976         * nas.c (SndOpenDataForReading):
6977         nas.c (WaveOpenDataForReading):
6978         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6979         Somehow escaped from the 2000-08-14 patch.
6980
6981 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6982
6983         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6984         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6985
6986 2000-08-21  Andy Piper  <andy@xemacs.org>
6987
6988         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6989         window if it is not already displayed.
6990
6991         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6992         it is not already displayed.
6993
6994         * window.c (Fset_window_configuration): don't reset the frame
6995         cache.
6996
6997         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6998         instances from the frame cache if we are actually finalizing them.
6999         (reset_frame_subwindow_instance_cache): reset frame cache only
7000         after unmapping everything.
7001         (map_subwindow): set displayed flag after mapping.
7002
7003 2000-08-21  Martin Buchholz  <martin@xemacs.org>
7004
7005         * data.c (indirect_function):
7006         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
7007
7008         * eval.c (function_argcount):
7009         Use original function when signaling errors.
7010
7011 2000-08-18  Andy Piper  <andy@xemacs.org>
7012
7013         * frame.c (delete_frame_internal): use new
7014         free_frame_subwindow_instances name.
7015
7016         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
7017         (add_tab_item): make return type correct.
7018         (mswindows_tab_control_instantiate): assert index of tab.
7019         (mswindows_tab_control_redisplay): Re-code to use
7020         gui_item_equal_sans_selected and gui_item_list_find_selected.
7021
7022         * glyphs-widget.c (tab_control_update): Correct comment.
7023
7024         * window.c (window_unmap_subwindows): use new
7025         unmap_subwindow_instance_cache_mapper.
7026         (window_unmap_subwindows_cache_mapper): deleted.
7027         (Fset_window_configuration): comparisons should now be with
7028         EQ. Preserve the subwindow instance cache across configuration
7029         changes.
7030         (allocate_window): ditto.
7031         (make_dummy_parent): ditto.
7032
7033         * glyphs.c (free_frame_subwindow_instances): rename from
7034         free_frame_subwindow_instance_cache. finalize all instances rather
7035         than just those in the display cache.
7036         (finalize_all_subwindow_instances): walk windows unmapping and
7037         finalizing subwindows.
7038         (unmap_subwindow_instance_cache_mapper): moved from
7039         window.c. Allow finalization as well as unmapping.
7040
7041         * gui.c (gui_item_list_find_selected): new function.
7042
7043         * gui.h (gui_item_list_find_selected): declare.
7044
7045         * glyphs-x.c (x_tab_control_redisplay): pick tab
7046         explicitly. Re-code to use gui_item_equal_sans_selected and
7047         gui_item_list_find_selected.
7048
7049         * glyphs-x.h: add lwlib-utils.h
7050
7051         * buffer.c (Frecord_buffer): undo previous change.
7052
7053 2000-08-09  Vin Shelton  <acs@xemacs.org>
7054
7055         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
7056         possible.  Create temporary files more securely.  The patch was
7057         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
7058         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
7059         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
7060         for details.
7061
7062 2000-08-07  Ben Wing  <ben@xemacs.org>
7063
7064         * getloadavg.c: remove duplicate (and windows-breaking)
7065         includes of fcntl.h and sys/file.h.
7066
7067         * nt.c: remove duplicate getloadavg() definition.
7068
7069         * sysdll.h (Qdll_filename_encoding): add missing stand-in
7070         encodings.
7071
7072 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7073
7074         * eval.c (function_argcount): If function needs to be autoloaded
7075         actually use the loaded definition.
7076         GCPRO function.
7077
7078 2000-08-05  Ben Wing  <ben@xemacs.org>
7079
7080         * getloadavg.c: add prototype for getloadavg().  remove
7081         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
7082         of the code).  remove duplicate header includes.
7083
7084         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
7085
7086         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
7087         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
7088         useful load average.
7089
7090         * alloc.c (reinit_alloc_once_early): removed references to
7091         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
7092         the lisp vars are the only things referencing the malloc_sbrk_*
7093         vars, and they were already if 0'd out.  these vars only exist
7094         in the older malloc.c, which is basically unused, and they're
7095         only for informational purposes.
7096
7097         * m\*.h: removed useless VIRT_ADDR_VARIES.
7098
7099         * m\powerpc.h: removed stray NO_ARG_ARRAY.
7100
7101 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
7102
7103         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
7104         color if the image is a mono pixmap.
7105
7106 2000-07-30  Ben Wing  <ben@xemacs.org>
7107
7108         * Makefile.in.in (release):
7109         Remove stray @.
7110
7111         * buffer.c (directory_is_current_directory):
7112         * dired-msw.c (mswindows_get_files):
7113         * dired.c:
7114         * dired.c (Fdirectory_files):
7115         * dired.c (file_name_completion_stat):
7116         * dired.c (Ffile_attributes):
7117         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
7118         preprocessor tricks, to avoid problems on some machines
7119         (e.g. SCO).
7120
7121         * callproc.c (egetenv): GC docs.
7122
7123         * console-msw.h:
7124         * console-msw.h (struct mswindows_dialog_id):
7125         * lrecord.h (lrecord_type):
7126         New object for use with MSW dialogs.
7127
7128         * console.h (struct console_methods):
7129         New enable/disable frame methods, for proper modal dialogs.
7130
7131         * device-msw.c (msprinter_default_printer): Fix to follow
7132         proper Mule conventions.
7133
7134         * device-msw.c:
7135         * device-msw.c (signal_open_printer_error):
7136         * device-msw.c (msprinter_init_device):
7137         * device-msw.c (ensure_not_printing):
7138         * device-msw.c (plist_get_margin):
7139         * device-msw.c (Fmsprinter_select_settings):
7140         * device-msw.c (finalize_devmode):
7141         * device-msw.c (Fmsprinter_settings_despecialize):
7142         * device-msw.c (signal_enum_priner_error):
7143         * extents.c (decode_extent):
7144         * extents.c (decode_map_extents_flags):
7145         * extents.c (decode_extent_at_flag):
7146         * extents.c (Fextent_at):
7147         * extents.c (Fextents_at):
7148         * extents.c (symbol_to_glyph_layout):
7149         [[[[2]]]] Use structured errors.
7150
7151         * dialog-msw.c:
7152         * dialog-msw.c (mswindows_is_dialog_msg):
7153         * dialog-msw.c (mark_mswindows_dialog_id):
7154         * dialog-msw.c (dialog_proc):
7155         * dialog-msw.c (handle_question_dialog_box):
7156         * dialog-msw.c (syms_of_dialog_mswindows):
7157         Define new object to clean up marking; use it as a dialog identifier.
7158         Call new delete-dialog-box-hook.
7159
7160         * dialog-x.c (dbox_selection_callback):
7161         * dialog-x.c (dbox_descriptor_to_widget_value):
7162         * dialog-x.c (x_make_dialog_box_internal):
7163         Call new delete-dialog-box-hook.
7164         Return an id.
7165
7166         * dialog.c:
7167         * dialog.c (syms_of_dialog):
7168         * dialog.c (vars_of_dialog):
7169         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
7170
7171         * eval.c:
7172         * eval.c (signal_call_debugger):
7173         when noninteractive, output stack traces on the console instead
7174         of in a (never-seen) buffer.
7175
7176         * eval.c (signal_type_error):
7177         * eval.c (invalid_argument_2):
7178         * lisp.h:
7179         new funs for use w/structured errors.
7180
7181         * event-Xt.c:
7182         * event-Xt.c (x_to_emacs_keysym):
7183         * event-Xt.c (describe_event):
7184         * event-Xt.c (emacs_Xt_event_handler):
7185         * event-Xt.c (vars_of_event_Xt):
7186         * event-msw.c:
7187         * event-msw.c (mswindows_wnd_proc):
7188         * event-msw.c (vars_of_event_mswindows):
7189         rename {x,mswindows}-debug-events to debug-{}-events for
7190         consistency with other debug-foo variables.
7191
7192         * event-stream.c:
7193         document next-event more clearly.
7194
7195         * fileio.c (Ffile_name_directory):
7196         * fileio.c (Ffile_name_nondirectory):
7197         * fileio.c (Funhandled_file_name_directory):
7198         * fileio.c (file_name_as_directory):
7199         * fileio.c (Ffile_name_as_directory):
7200         * fileio.c (directory_file_name):
7201         * fileio.c (Fdirectory_file_name):
7202         * fileio.c (Fmake_temp_name):
7203         * fileio.c (Ffile_truename):
7204         * fileio.c (Fsubstitute_in_file_name):
7205         * fileio.c (expand_and_dir_to_file):
7206         * fileio.c (barf_or_query_if_file_exists):
7207         * fileio.c (check_executable):
7208         * fileio.c (Ffile_exists_p):
7209         * fileio.c (Ffile_writable_p):
7210         * fileio.c (Ffile_directory_p):
7211         * fileio.c (Ffile_regular_p):
7212         * fileio.c (Ffile_modes):
7213         * fileio.c (Ffile_newer_than_file_p):
7214         * fileio.c (Fverify_visited_file_modtime):
7215         * fileio.c (Fset_visited_file_modtime):
7216         * fileio.c (auto_save_1):
7217         (1). (2).
7218         fix up gcpro's.
7219
7220         * frame-msw.c:
7221         * frame-msw.c (mswindows_init_frame_1):
7222         * frame-msw.c (mswindows_enable_frame):
7223         * frame-msw.c (error_frame_unsizable):
7224         * frame-msw.c (msprinter_init_frame_1):
7225         * frame-msw.c (msprinter_init_frame_3):
7226         * frame-msw.c (console_type_create_frame_mswindows):
7227         (2).
7228         implement new enable/disable frame methods.
7229
7230         * frame-x.c:
7231         * frame-x.c (x_enable_frame):
7232         * frame-x.c (console_type_create_frame_x):
7233         implement new enable/disable frame methods.
7234
7235         * frame.c:
7236         * frame.c (Fdisable_frame):
7237         * frame.c (syms_of_frame):
7238         * frame.h (struct frame):
7239         implement new enable/disable frame methods/functions.
7240
7241         * general-slots.h:
7242         add initial-focus.
7243
7244         * glyphs-msw.c (mswindows_widget_instantiate):
7245         comment that initial-focus should be implemented.
7246
7247         * glyphs-widget.c:
7248         * glyphs-widget.c (check_valid_instantiator):
7249         * glyphs-widget.c (check_valid_orientation):
7250         * glyphs-widget.c (check_valid_tab_orientation):
7251         * glyphs-widget.c (check_valid_justification):
7252         * glyphs-widget.c (check_valid_border):
7253         * glyphs-widget.c (check_valid_callback):
7254         * glyphs-widget.c (check_valid_int_or_function):
7255         * glyphs-widget.c (check_valid_string_or_vector):
7256         * glyphs-widget.c (check_valid_item_list_1):
7257         * glyphs-widget.c (widget_validate):
7258         * glyphs-widget.c (combo_box_validate):
7259         * glyphs-widget.c (widget_instantiate):
7260         * glyphs-widget.c (syms_of_glyphs_widget):
7261         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
7262         * glyphs-widget.c (image_instantiator_combo_box):
7263         * glyphs-widget.c (image_instantiator_scrollbar):
7264         * glyphs-widget.c (image_instantiator_tab_control):
7265         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
7266         (2).
7267         support (unimplemented) keyword initial-focus.
7268         reindent long macros.
7269
7270         * glyphs-x.c (x_redisplay_widget):
7271         * glyphs-x.c (x_button_instantiate):
7272         * glyphs-x.c (x_button_redisplay):
7273         * glyphs-x.c (x_progress_gauge_instantiate):
7274         * glyphs-x.c (x_edit_field_instantiate):
7275         * glyphs-x.c (x_combo_box_instantiate):
7276         * glyphs-x.c (x_tab_control_instantiate):
7277         * glyphs-x.c (x_label_instantiate):
7278         * gui-x.c:
7279         * gui-x.c (button_item_to_widget_value):
7280         * gui-x.c (gui_items_to_widget_values_1):
7281         * gui-x.c (gui_item_children_to_widget_values):
7282         * gui-x.c (gui_items_to_widget_values):
7283         * gui-x.h:
7284         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7285         add new flag to gui-parsing routines to indicate whether
7286         accelerator specs should be supported.
7287
7288         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
7289
7290         * glyphs.h (struct Lisp_Image_Instance):
7291         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
7292         add initial-focus flag.
7293
7294         * gui.c:
7295         * gui.c (syms_of_gui):
7296         * gui.c (vars_of_gui):
7297         clean up menu-no-selection-hook.
7298
7299         * gui.h:
7300         support delete-dialog-box-hook.
7301
7302         * lread.c (Fload_internal):
7303         * lread.c (locate_file_in_directory_mapper):
7304         (1).
7305
7306         * lrecord.h:
7307         * lrecord.h (struct toolbar_button):
7308         * lrecord.h (syms_of_toolbar):
7309         document how to create a new object.
7310
7311         * menubar-msw.c (mswindows_char_is_accelerator):
7312         may be called on frames w/o menus.
7313
7314         * menubar.c (vars_of_menubar):
7315         clean up :filter docs.
7316
7317         * nt.c (readdir):
7318         * ntproc.c:
7319         (1).
7320
7321         * process-nt.c:
7322         * process-nt.c (validate_signal_number):
7323         * process-nt.c (signal_cannot_launch):
7324         * process-nt.c (nt_create_process):
7325         * process-nt.c (nt_send_process):
7326         * process-nt.c (nt_kill_child_process):
7327         * process-nt.c (nt_open_network_stream):
7328         * process-nt.c (syms_of_process_nt):
7329         (2).
7330         delete quote-handling.  call new lisp code that does it better.
7331
7332         * process-unix.c (connect_to_file_descriptor):
7333         * process-unix.c (allocate_pty):
7334         * process-unix.c (unix_send_process):
7335         * process-unix.c (unix_kill_child_process):
7336         * process-unix.c (unix_open_network_stream):
7337         * process-unix.c (unix_open_multicast_group):
7338         (1). (2).
7339
7340         * process.c:
7341         * process.c (Fstart_process_internal):
7342         (2).  need to canonicalize process path even if absolute.
7343
7344         * select-msw.c (symbol_to_ms_cf):
7345         * select-msw.c (ms_cf_to_symbol):
7346         * select-msw.c (cf_is_autofreed):
7347         * select-msw.c (mswindows_destroy_selection):
7348         * select.c:
7349         * select.c (syms_of_select):
7350         * select.h:
7351         support dibv5, fix bugs. (from Mike Alexander)
7352
7353         * select.c (Fget_selection_internal):
7354         * select.c (select_convert_out):
7355
7356         * sysdep.c:
7357         * sysdep.c (xemacs_stat):
7358         renamed.
7359
7360         * sysdep.c (mkdir):
7361         * sysdep.c (rmdir):
7362         but keep original stat() here because we provide encapsulation
7363         around these funs.
7364
7365         * sysfile.h:
7366         * sysfile.h (fstat):
7367         remove stat garbage.
7368
7369         * syswindows.h:
7370         fix X/MSW conflict.
7371         don't include tchar.h.  it's inappropriate because it makes
7372         compile-time distinctions when we want runtime distinctions.
7373         (we provide our own tchar replacements)
7374
7375         * toolbar.c:
7376         use default object printer for toolbar-button.
7377
7378         * unexcw.c:
7379         make sure we don't encapsulate.
7380
7381         * window.c (vars_of_window):
7382         emphasize that temp-buffer-show-hook is obsolete.
7383
7384 2000-08-05  Martin Buchholz  <martin@xemacs.org>
7385
7386         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
7387         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
7388
7389         * events.c (Fevent_timestamp_lessp):
7390         Not 64-bit clean.  Use EMACS_INT, not int.
7391
7392 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
7393
7394         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
7395         unsigned int and changed the last enum to
7396         lrecord_type_last_built_in_type.
7397         (lrecord_implementations_table): changed prototype to know how
7398         long the array is supposed to be.
7399         (lrecord_type_count): new unsigned int to keep track of the
7400         current number of lisp lrecord types.
7401         (DEFINE_EXTERNAL_LRECORD):
7402         (DECLARE_EXTERNAL_LRECORD): Added these two for external
7403         dynamic-modules to declare new lisp types. They are the same
7404         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
7405         int for each new type, and increment lrecord_type_count by 1.
7406
7407         * alloc.c (lrecord_implementations_table): Changed to reference
7408         lrecord_type_last_built_in_type for the size of the array.
7409         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
7410
7411 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
7412
7413         * glyphs.h (check_valid_item_list): Renamed from
7414         check_valid_item_list_1.
7415
7416 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
7417
7418         * select.c (Qselect_coerce): New.
7419         * select.c (Vselection_coercion_alist): New.
7420         * select.c (syms_of_select): Declare.
7421         * select.c (get-selection-internal): Use it.
7422         Use the new select-coerce functionality.
7423
7424         * select.c (select_coerce): New.
7425         * select.h (select_coerce): Declare.
7426         New function to coerce one type of data into another.
7427
7428 2000-08-03  Martin Buchholz  <martin@xemacs.org>
7429
7430         * callproc.c (Fcall_process_internal):
7431         (Fcall_process_internal):
7432         * process-unix.c (unix_create_process):
7433         Save and restore the value of errno, so that error messages are accurate.
7434
7435 2000-08-01  Martin Buchholz  <martin@xemacs.org>
7436
7437         * elhash.c (print_hash_table):
7438         Fix printing of hash tables to also use `key-and-value' instead of `t'.
7439         Prettify docstrings and indentation.
7440
7441 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7442
7443         * window.c (Fwindow_pixel_edges): Subtract frame border and
7444         gutter size.
7445
7446 2000-07-31  Andy Piper  <andy@xemacs.org>
7447
7448         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
7449         will acknowledge the change.
7450
7451         * glyphs.h: declare tab_control_order_only_changed.
7452
7453         * glyphs-x.c (x_tab_control_redisplay): use
7454         tab_control_order_only_changed.
7455
7456         * glyphs-widget.c (tab_control_order_only_changed): new function.
7457
7458         * glyphs-msw.c (mswindows_tab_control_redisplay): use
7459         tab_control_order_only_changed.
7460
7461         * gui.c (gui_item_equal_sans_selected): new function.
7462         (gui_item_equal): use it.
7463
7464         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
7465         :properties in favor of :items..
7466
7467         * glyphs-widget.c (check_valid_item_list): rename from
7468         check_valid_item_list_1.
7469         (check_valid_item_list_1): renamed.
7470         (combo_box_validate): deprecate :properties in favor of :items.
7471         (widget_instantiate): ditto.
7472         (tab_control_update): ditto.
7473         (image_instantiator_combo_box): ditto.
7474         (image_instantiator_tree_view): ditto.
7475         (image_instantiator_tab_control): ditto.
7476         (layout_post_instantiate): remove dead code.
7477
7478         * print.c (debug_print_no_newline): only write to debugger if in
7479         WIN32_NATIVE.
7480
7481         * elhash.c (Fmake_hash_table): update doc string.
7482
7483         * event-msw.c (mswindows_wnd_proc): don't allow processing of
7484         messages whilst in GC. This at least stops XEmacs crashing but has
7485         the potential for wierd behaviour.
7486
7487 2000-07-31  Martin Buchholz  <martin@xemacs.org>
7488
7489         * config.h.in:
7490         Make existence of s&m files optional.
7491
7492         * s/bsd386.h: Remove HAVE_GETLOADAVG.
7493         * s/freebsd.h: Remove HAVE_GETLOADAVG.
7494         * s/gnu.h: Remove HAVE_GETLOADAVG.
7495         * s/netbsd.h: Remove HAVE_GETLOADAVG.
7496         * s/sol2.h: Remove HAVE_GETLOADAVG.
7497         * lisp.h: Remove getloadavg() declaration.
7498         * fns.c:
7499         Include <sys/loadavg.h> if available.
7500         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
7501         * config.h.in:  Group together getloadavg()-related macros.
7502         Use only configure-time tests to detect getloadavg().
7503
7504 2000-07-30  Martin Buchholz  <martin@xemacs.org>
7505
7506         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
7507
7508 2000-07-25  Andy Piper  <andy@xemacs.org>
7509
7510         * syswindows.h: add tchar.h for native builds.
7511
7512         * frame.c (syms_of_frame): remove set-glyph-image.
7513
7514         * general-slots.h: add Qset_glyph_image.
7515
7516         * glyphs-widget.c (layout_update): add domain arg to
7517         set-glyph-image.
7518         (syms_of_glyphs_widget): remove set-glyph-image.
7519
7520 2000-07-23  Ben Wing  <ben@xemacs.org>
7521
7522         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
7523         Vpopup_frame_list.
7524
7525 2000-07-22  Andy Piper  <andy@xemacs.org>
7526
7527         * symsinit.h: add syms_of_win32().
7528
7529         * gui-msw.c (syms_of_gui_mswindows): remove
7530         Fmswindows_shell_execute.
7531         (Fmswindows_shell_execute): moved to win32.c.
7532
7533         * emacs.c (main_1): add syms_of_win32 ().
7534
7535         * win32.c (init_potentially_nonexistent_functions): rewrite in
7536         compiler-friendly terms.
7537         (Fmswindows_shell_execute): move here from gui-msw.c.
7538         (syms_of_win32): new.
7539
7540         * device-msw.c (Fmswindows_printer_list): clean up args to
7541         EnumPrinters.
7542         Don't include tchar under cygwin or mingw.
7543         (msprinter_default_printer): make cygwin-friendly.
7544
7545 2000-07-21  Andy Piper  <andy@xemacs.org>
7546
7547         * glyphs-widget.c (image_instantiator_tree_view): use tab
7548         control's update function.
7549         (layout_property): new function. Retrieve items.
7550
7551         * glyphs-msw.c (mswindows_tree_view_redisplay): new
7552         function. Re-populate the tree view from the pending items.
7553
7554         * glyphs.c (instantiate_image_instantiator): Make sure the domain
7555         is designated the parent if the domain is an image instance. This
7556         is needed so that dirtiness can be cascade up the hierarchy and
7557         thus for layout children to be redisplayed correctly.
7558         (allocate_image_instance): rename glyph -> parent.
7559
7560         * redisplay.h: change redisplay_output_layout signature.
7561
7562         * redisplay-msw.c (mswindows_output_display_block): use domain
7563         arg.
7564
7565         * redisplay-x.c (x_output_display_block): use domain arg.
7566
7567 2000-07-10  Andy Piper  <andy@xemacs.org>
7568
7569         * window.c (Fset_window_configuration): add comment.
7570
7571         * redisplay-output.c (compare_runes):
7572         (redisplay_output_subwindow): redisplay rather than update subwindow.
7573         (redisplay_output_layout): ditto.
7574
7575         * redisplay-msw.c (mswindows_frame_output_end):
7576         (mswindows_frame_output_end): make defer window pos optional.
7577
7578         * lisp.h: add Flast.
7579
7580         * glyphs.h (struct image_instantiator_methods): add dest_mask top
7581         normalize method. Change update method to be for changed
7582         instantiators. Add redisplay method. Change signature of layout
7583         method.
7584         (struct Lisp_Image_Instance): add instantiator.
7585         (IMAGE_INSTANCE_INSTANTIATOR): new.
7586         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
7587         (XIMAGE_INSTANCE_INSTANTIATOR): new.
7588         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
7589
7590         * glyphs.c:
7591         (find_instantiator_differences): new function.
7592         (Fset_instantiator_property): new convenience function.
7593         (check_image_instance_structure): strictly check for vector
7594         instantiators.
7595         (normalize_image_instantiator): make non-static.
7596         (instantiate_image_instantiator): pass on dest_mask and use new
7597         signatures for image_instance_layout and friends.
7598         (mark_image_instance): mark the instantiator. Mark the subwindow
7599         face not the widget face.
7600         (image_instance_equal): add instantiator.
7601         (image_instance_hash): ditto.
7602         (allocate_image_instance): ditto.
7603         (Fset_image_instance_property): removed.
7604         (Fimage_instance_file_name): ditto.
7605         (Fcolorize_image_instance): ditto.
7606         (image_instance_layout): add offsets to be set.
7607         (update_image_instance): new function. update an image instance
7608         from its changed instantiator.
7609         (inherit_normalize): add dest_mask.
7610         (xbm_normalize): ditto.
7611         (xface_normalize): ditto.
7612         (xpm_normalize): ditto.
7613         (text_update): set_property -> update.
7614         (image_instantiate): use the glyph identity as a hash key, not the
7615         instantiator.
7616         (glyph_width): use new image_instance_layout signature.
7617         (glyph_ascent): ditto.
7618         (glyph_descent): ditto.
7619         (glyph_height): ditto.
7620         (glyph_query_geometry): ressurrect.
7621         (glyph_layout): ditto.
7622         (redisplay_subwindow): update -> redisplay.
7623         (syms_of_glyphs): add Fset_instantiator_property.
7624         (image_instantiator_format_create): set_property -> update.
7625
7626         * glyphs-x.c:
7627         (autodetect_normalize): add dest_maks to signature.
7628         (x_redisplay_subwindow): update -> redisplay.
7629         (x_redisplay_widget): ditto.
7630         (x_button_redisplay): ditto.
7631         (x_progress_gauge_redisplay): ditto.
7632         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
7633         stacking order.
7634         (console_type_create_glyphs_x): update -> redisplay.
7635         (image_instantiator_format_create_glyphs_x): ditto.
7636
7637         * glyphs-widget.c:
7638         (check_valid_instantiator): disallow glyphs in the instantiator,
7639         they must now be vectors.
7640         (check_valid_instantiator_list): ditto.
7641         (glyph_instantiator_to_glyph): use internal symbol rather than
7642         intern.
7643         (widget_update): renamed from widget_set_property. Call cascaded
7644         update methods.
7645         (redisplay_widget): renamed from update_widget.
7646         (widget_layout): image_instance_layout now takes position as well
7647         as size.
7648         (widget_normalize): ditto.
7649         (widget_instantiate): ditto.
7650         (tab_control_query_geometry) ditto.:
7651         (tab_control_update): renamed from tab_control_set_property.
7652         (progress_gauge_update): set_property -> update.
7653         (layout_normalize): rewrite so that child instantiators are
7654         normalized also.
7655         (layout_update): new function. Create glyphs from the normalized
7656         children and cope with any other layout keywords. We do not
7657         instantiate children here that will be take care of by
7658         redisplay_output_layout.
7659         (layout_instantiate): call layout_update and not much else.
7660         (layout_post_instantiate): not sure whether this is needed
7661         anymore.
7662         (layout_query_geometry): query glyph geometry rather than
7663         image_instance geometry.
7664         (layout_layout): set offsets from pass in parameters. Use glyph
7665         geometry and layout functions rather than image instance ones.
7666         (native_layout_layout): ditto.
7667         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
7668         (image_instantiator_widget): set_property -> update.
7669         (image_instantiator_buttons): ditto.
7670         (image_instantiator_progress_guage): ditto.
7671         (image_instantiator_tab_control): ditto.
7672         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
7673         (image_instantiator_layout): add update method.
7674
7675         * glyphs-msw.c (bmp_normalize):
7676         (mswindows_resource_normalize): add dest_mask so that it can be
7677         proprogated by layout_normalize.
7678         (begin_defer_window_pos): make optional because it may not be the
7679         right thing to do and it introduces differences with X.
7680         (mswindows_unmap_subwindow): ditto.
7681         (mswindows_map_subwindow): ditto.
7682         (mswindows_redisplay_subwindow): renamed from
7683         mswindows_update_subwindow.
7684         (mswindows_redisplay_widget): ditto.
7685         (mswindows_button_redisplay): renamed from
7686         mswindows_button_update. Update is now what the instantiation
7687         function does for a changed instantiator.
7688         (mswindows_progress_gauge_instantiate): set the progress value
7689         here if appropriate.
7690         (mswindows_tab_control_redisplay): cope with re-ordering of the
7691         members of the tab widget by simply selecting the new top
7692         widget. This makes things appear ok if you click on a tab.
7693         (mswindows_combo_box_instantiate): image_instance_layout now takes
7694         position as well as size.
7695         (mswindows_progress_gauge_redisplay): renamed from
7696         mswindows_progress_gauge_update.
7697         (console_type_create_glyphs_mswindows): fix update -> redisplay.
7698         (image_instantiator_format_create_glyphs_mswindows): ditto.
7699
7700         * glyphs-eimage.c (jpeg_normalize):
7701         (gif_normalize):
7702         (png_normalize):
7703         (tiff_normalize): add dest_mask so that it can be proprogated by
7704         layout_normalize.
7705
7706         * elhash.c:
7707         (print_hash_table):
7708         (hash_table_weakness_validate):
7709         (decode_hash_table_weakness):
7710         (Fhash_table_weakness):
7711         (Fhash_table_type):
7712         (syms_of_elhash): use Ben's naming scheme for hashtable types..
7713
7714         * console.h (struct console_methods): move update_* to
7715         redisplay_*.
7716
7717 2000-07-20  Ben Wing  <ben@xemacs.org>
7718
7719         * *.[ch] (XSETOBJ): remove unused middle argument.
7720         lisp-disunion.h: correct wrap_object() to one argument.
7721
7722 2000-07-15  Ben Wing  <ben@xemacs.org>
7723
7724         * s/cygwin32.h:
7725         * s/cygwin32.h (CYGWIN_CONV_PATH):
7726         Add missing logb prototype for v1.1.
7727         Use post-b20 names and alias to pre-b20 names when pre-b20.
7728
7729         * s/windowsnt.h: [5].
7730
7731 2000-07-15  Ben Wing  <ben@xemacs.org>
7732
7733         * Makefile.in.in (x_objs):
7734         * Makefile.in.in (sheap_objs):
7735         * Makefile.in.in (objs):
7736         added win32.o, cosmetic cleanups.
7737
7738         * alloc.c (Fmake_byte_code):
7739         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
7740         etc. macros which declare their own args now.
7741
7742         * alloc.c (syms_of_alloc):
7743         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
7744
7745         * buffer.c:
7746         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
7747
7748         * buffer.c (Fget_file_buffer):
7749         Fixed GCPRO problem.
7750
7751         * buffer.c (get_truename_buffer):
7752         Fixed comment about GC checking.
7753
7754         * buffer.c (syms_of_buffer):
7755         Undeclared those dedicated frame funs.
7756         [2].
7757
7758         * buffer.h:
7759         Define convenience macros for internal/external conversions.
7760         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
7761         and Qenvironment_variable_encoding for cleaner code.
7762
7763         * bufslots.h:
7764         Remove dedicated-frame; in lisp.
7765
7766         * bytecode.c (funcall_compiled_function):
7767         [1].
7768
7769         * bytecode.c (syms_of_bytecode):
7770         [2].
7771
7772         * console-msw.c:
7773         * console-msw.c (mswindows_show_console): Rewrote.
7774
7775         * console-msw.c (Fmswindows_debugging_output): New.
7776         Sends to OutputDebugString (special MSWin debugger interface).
7777
7778         * console-msw.c (Fmswindows_message_box):
7779         Fixed stupid bugs so it works when called from kill-emacs.
7780
7781         * console-msw.c (syms_of_console_mswindows):
7782         Declare Fmswindows_debugging_output.
7783
7784         * console-msw.h:
7785         New MSWin prototypes.
7786
7787         * console-msw.h (struct mswindows_frame):
7788         New entry last-click-mods for improved button-modifier support.
7789
7790         * console-msw.h (FRAME_MSWINDOWS_POPUP):
7791         New struct entry `popup' with corresponding accessor.
7792
7793         * console-x.c:
7794         * console-x.c (split_up_display_spec):
7795         * console-x.c (get_display_arg_connection):
7796         * console-x.c (x_semi_canonicalize_console_connection):
7797         * console-x.c (x_canonicalize_device_connection):
7798         [[[6]]]: Change char to more specific type.
7799         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
7800
7801         * console-x.c (x_semi_canonicalize_console_connection):
7802         * console-x.c (x_canonicalize_device_connection):
7803         [[[9]]]: Fix up error signalling to use new structured error system.
7804
7805         * console-x.h:
7806         [[[4]]]: Define codesys aliases:
7807         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7808         Qx_color_name_encoding, Qx_display_name_encoding.
7809
7810         * console.h (struct console_methods):
7811         New method make_dialog_box_internal supersedes older
7812         popup_dialog_box method.
7813
7814         * data.c:
7815         Define many new errors, part of new structured errors.
7816
7817         * data.c (init_errors_once_early):
7818         * data.c (syms_of_data):
7819         [2].
7820
7821         * device-msw.c (mswindows_init_device):
7822         [[[5]]]: Cleanup to support NT 3.51.
7823
7824         * device-msw.c (decode_devmode): Cleanup.
7825
7826         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7827         * device-msw.c (mswindows_handle_print_dialog_box):
7828         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7829         * device-msw.c (syms_of_device_mswindows):
7830         Delete the dialog box primitives recently introduced by Kirill and
7831         instead interface to general dialog box interface.
7832
7833         * device-x.c:
7834         * device-x.c (compute_x_app_name):
7835         * device-x.c (x_init_device):
7836         * device-x.c (Fx_valid_keysym_name_p):
7837         * device-x.c (Fx_set_font_path):
7838         [6].
7839         [7].
7840
7841         * device.h (wrap_device): New.
7842         First of its kind; meant to replace XSETDEVICE.
7843
7844         * dialog-msw.c: Many file-dialog symbols.
7845
7846         * dialog-msw.c (mswindows_register_popup_frame): New.
7847         * dialog-msw.c (mswindows_is_dialog_msg): New.
7848         For supporting kbd traversal in dialog boxes.
7849
7850         * dialog-msw.c (dialog_proc):
7851         Support hitting ESC in dialogs.
7852
7853         * dialog-msw.c (struct):
7854         Common dialog box errors.
7855
7856         * dialog-msw.c (handle_file_dialog_box): New.
7857         Add file dialog code.
7858
7859         * dialog-msw.c (handle_question_dialog_box):
7860         Redo existing code to support new question dialog syntax.
7861
7862         * dialog-msw.c (console_type_create_dialog_mswindows):
7863         We support new dialog console method.
7864
7865         * dialog-msw.c (syms_of_dialog_mswindows):
7866         * dialog-msw.c (vars_of_dialog_mswindows):
7867         New file dialog symbols, vars.
7868
7869         * dialog-x.c:
7870         * dialog-x.c (maybe_run_dbox_text_callback):
7871         * dialog-x.c (dbox_descriptor_to_widget_value):
7872         * dialog-x.c (x_make_dialog_box_internal):
7873         * dialog-x.c (console_type_create_dialog_x):
7874         Mule-ize entire file.
7875         Redo to support question dialog syntax.
7876         [6].
7877
7878         * dialog.c:
7879         * dialog.c (Fmake_dialog_box_internal):
7880         * dialog.c (syms_of_dialog):
7881         Kill old popup-dialog-box, replace with new primitive.
7882         Just call device method or signal error.
7883
7884         * eldap.c (Fldap_open):
7885         * eldap.c (Fldap_search_basic):
7886         * eldap.c (Fldap_add):
7887         * eldap.c (Fldap_modify):
7888         [1].
7889         [7].
7890
7891         * emacs.c:
7892         * emacs.c (make_arg_list_1):
7893         * emacs.c (make_arg_list):
7894         Mule-ize call to dll_init().
7895         [6].
7896         [8].
7897
7898         * emacs.c (make_argc_argv):
7899         * emacs.c (free_argc_argv):
7900         * emacs.c (init_cmdargs):
7901         * emacs.c (main_1):
7902         * emacs.c (Fkill_emacs):
7903         * emacs.c (Fdump_emacs):
7904         Update comments about what can be used in syms_* etc.
7905         Call init_win32() when necessary.
7906         Fix up MS Win dialog box in kill-buffer to actually work right.
7907         [7].
7908
7909         * eval.c:
7910         * eval.c (For):
7911         * eval.c (Fand):
7912         * eval.c (Fprogn):
7913         * eval.c (Fprog1):
7914         * eval.c (Fprog2):
7915         * eval.c (FletX):
7916         * eval.c (Flet):
7917         * eval.c (condition_case_3):
7918         * eval.c (Feval):
7919         * eval.c (function_argcount):
7920         * eval.c (funcall_lambda):
7921         [1].
7922
7923         * eval.c (type_error): New.
7924         * eval.c (maybe_type_error): New.
7925         * eval.c (continuable_type_error): New.
7926         * eval.c (maybe_continuable_type_error): New.
7927         * eval.c (type_error_with_frob): New.
7928         * eval.c (maybe_type_error_with_frob): New.
7929         * eval.c (continuable_type_error_with_frob): New.
7930         * eval.c (maybe_continuable_type_error_with_frob): New.
7931         New functions for use with structured errors.
7932
7933         * event-Xt.c:
7934         * event-Xt.c (x_event_to_emacs_event):
7935         Buttons are now modifiers too.
7936
7937         * event-Xt.c (emacs_Xt_current_event_timestamp):
7938         Implement new event method.
7939         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7940
7941         * event-msw.c:
7942         * event-msw.c (ntpipe_shove_writer): [5].
7943         * event-msw.c (mswindows_enqueue_mouse_button_event):
7944         * event-msw.c (mswindows_drain_windows_queue):
7945         * event-msw.c (mswindows_wnd_proc): [7].
7946         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7947         * event-msw.c (mswindows_modifier_state):
7948         Throughout: support new button modifiers.
7949
7950         * event-msw.c (emacs_mswindows_current_event_timestamp):
7951         Implement new event method.
7952         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7953
7954         * event-stream.c:
7955         * event-stream.c (event_stream_current_event_timestamp): New.
7956         * event-stream.c (maybe_kbd_translate): New functionality.
7957         * event-stream.c (vars_of_event_stream):
7958         Document new kbd-translate-table functionality.
7959
7960         * event-stream.c (Fcurrent_event_timestamp): New.
7961         New primitive for use in fabricated events.
7962         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7963
7964         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7965
7966         * events.c:
7967         * events.c (Fmake_event):
7968         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7969         [1].
7970         [9].
7971
7972         * events.c (format_event_object): fix gcc warnings.
7973
7974         * events.c (Fevent_timestamp): Document new primitives.
7975
7976         * events.c (TIMESTAMP_HALFSPACE): New.
7977
7978         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7979         comparing timestamps correctly (half-space algorithm).
7980
7981         * events.c (Fevent_modifier_bits): Doc fix.
7982
7983         * events.c (Fevent_modifiers): Major doc addition.
7984         * events.c (event_x_y_pixel_internal): Typo fix.
7985         * events.c (syms_of_events): Declare new primitives.
7986
7987         * events.h:
7988         Update long comment for button modifiers, timestamps.
7989
7990         * events.h (struct event_stream):
7991         New current_event_timestamp method.
7992
7993         * extents.c:
7994         * extents.c (extent_in_region_p):
7995         * extents.c (decode_extent):
7996         * extents.c (Fset_extent_parent):
7997         * extents.c (decode_map_extents_flags):
7998         Fix gcc warnings.
7999         [9].
8000
8001         * extents.c (struct extent_at_arg):
8002         * extents.c (decode_extent_at_flag):
8003         * extents.c (extent_at_mapper):
8004         * extents.c (extent_at_bytind):
8005         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
8006         * extents.c (Fextents_at): New primitive. [9].
8007         * extents.c (symbol_to_glyph_layout): [9].
8008         Support new primitive `extents-at'.
8009
8010
8011         * extents.c (get_text_property_bytind):
8012         extent_at_bytind has another arg.
8013         [9].
8014
8015         * extents.c (syms_of_extents): New primitive.
8016
8017         * file-coding.c (Fmake_coding_system): [1].
8018         * file-coding.c (subsidiary_coding_system): fix gcc warning
8019         * file-coding.c (syms_of_file_coding): [2].
8020
8021         * fileio.c (Fexpand_file_name):
8022         * fileio.c (Fsysnetunam):
8023         * fileio.c (Ffile_exists_p):
8024         * fileio.c (Ffile_executable_p):
8025         * fileio.c (Fverify_visited_file_modtime):
8026         Clean up GCPROing.
8027
8028         * fileio.c (syms_of_fileio): [2].
8029
8030         * filelock.c (lock_file_1):
8031         * filelock.c (current_lock_owner):
8032         * filelock.c (lock_if_free):
8033         * filelock.c (lock_file):
8034         * filelock.c (unlock_file):
8035         Clean up GCPROing.
8036
8037         * fns.c (concat): Fix gcc warning.
8038
8039         * fns.c (Fmember):
8040         * fns.c (Fold_member):
8041         * fns.c (Fmemq):
8042         * fns.c (Fold_memq):
8043         * fns.c (memq_no_quit):
8044         * fns.c (Fassoc):
8045         * fns.c (Fold_assoc):
8046         * fns.c (Fassq):
8047         * fns.c (Fold_assq):
8048         * fns.c (assq_no_quit):
8049         * fns.c (Frassoc):
8050         * fns.c (Fold_rassoc):
8051         * fns.c (Frassq):
8052         * fns.c (Fold_rassq):
8053         * fns.c (rassq_no_quit):
8054         * fns.c (Fdelete):
8055         * fns.c (Fold_delete):
8056         * fns.c (Fdelq):
8057         * fns.c (Fold_delq):
8058         * fns.c (delq_no_quit):
8059         * fns.c (Fremassoc):
8060         * fns.c (Fremassq):
8061         * fns.c (remassq_no_quit):
8062         * fns.c (Fremrassoc):
8063         * fns.c (Fremrassq):
8064         * fns.c (remrassq_no_quit):
8065         * fns.c (Freverse):
8066         * fns.c (mapcar1):
8067         [1].
8068
8069         * frame-msw.c (mswindows_init_frame_1):
8070         * frame-msw.c (mswindows_delete_frame):
8071         Register popups with dialog code so keyboard traversing works.
8072
8073         * frame-tty.c (tty_raise_frame_no_select): [1].
8074
8075         * frame-x.c:
8076         * frame-x.c (x_set_frame_text_value):
8077         * frame-x.c (x_set_frame_properties):
8078         * frame-x.c (x_create_widgets):
8079         [7].
8080
8081         * frame.c:
8082         * frame.c (Fmouse_pixel_position): Minor doc fixes.
8083
8084         * frame.h (wrap_frame): New.
8085         Macro like wrap_device.
8086
8087         * general.c:
8088         * general.c (SYMBOL):
8089         * general.c (syms_of_general):
8090         Major reorg.  This is now just a wrapper and symbols themselves
8091         are listed in general-slots.h.
8092
8093         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
8094         * glyphs-msw.c (mswindows_resource_instantiate): [5].
8095
8096         * glyphs-msw.c (mswindows_native_layout_instantiate):
8097         Add DS_CONTROL so keyboard traversal will work.
8098
8099         * glyphs-widget.c:
8100         * glyphs-widget.c (syms_of_glyphs_widget):
8101         Move some symbols to general-slots.h.
8102
8103         * glyphs-x.c:
8104         * glyphs-x.c (xbm_instantiate_1):
8105         * glyphs-x.c (x_xbm_instantiate):
8106         * glyphs-x.c (x_xface_instantiate):
8107         * glyphs-x.c (autodetect_instantiate):
8108         * glyphs-x.c (cursor_font_instantiate):
8109         * glyphs-x.c (x_update_widget):
8110         * glyphs-x.c (x_widget_instantiate):
8111         * glyphs.c (bitmap_to_lisp_data):
8112         * glyphs.c (pixmap_to_lisp_data):
8113         [7].
8114
8115         * glyphs.c (syms_of_glyphs):
8116         [2].
8117
8118         * gui-x.c:
8119         * gui-x.c (print_widget_value):
8120         * gui-x.c (menu_separator_style_and_to_external):
8121         * gui-x.c (add_accel_and_to_external):
8122         * gui-x.c (button_item_to_widget_value):
8123         * gui-x.c (gui_items_to_widget_values_1):
8124         * gui-x.c (gui_items_to_widget_values):
8125         * gui-x.c (syms_of_gui_x):
8126         * gui-x.c (vars_of_gui_x):
8127         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
8128         [9].
8129
8130         * gui-x.h:
8131         Muleize, prototype changes matching gui-x.c.
8132
8133         * gui.c:
8134         * gui.c (separator_string_p):
8135         * gui.c (gui_item_add_keyval_pair):
8136         * gui.c (make_gui_item_from_keywords_internal):
8137         * gui.c (signal_too_long_error):
8138         * gui.c (parse_gui_item_tree_item):
8139         * gui.c (syms_of_gui):
8140         * gui.c (vars_of_gui):
8141         * gui.h:
8142         menu-no-selection-hook moved here (used by MSWin).
8143         Move some symbols to general-slots.h.
8144         [6].
8145         [9].
8146
8147         * insdel.c (get_buffer_pos_char):
8148         * insdel.c (get_buffer_range_char):
8149         Add GC comments.
8150
8151         * keymap.c (keymap_lookup_directly):
8152         * keymap.c (keymap_store):
8153         * keymap.c (ensure_meta_prefix_char_keymapp):
8154         * keymap.c (describe_map):
8155         * keymap.h:
8156         Support new button modifiers.
8157
8158         * lisp-disunion.h (wrap_object):
8159         * lisp-disunion.h (XSETOBJ):
8160         Rename make_obj to wrap_object.
8161
8162         * lisp-union.h:
8163         * lisp-union.h (make_int):
8164         * lisp-union.h (make_char):
8165         Support wrap_object.
8166
8167         * lisp.h:
8168         * lisp.h (LIST_LOOP):
8169         * lisp.h (EXTERNAL_LIST_LOOP):
8170         * lisp.h (LIST_LOOP_2):
8171         * lisp.h (EXTERNAL_LIST_LOOP_1):
8172         * lisp.h (EXTERNAL_LIST_LOOP_2):
8173         * lisp.h (EXTERNAL_LIST_LOOP_3):
8174         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
8175         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8176         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
8177         * lisp.h (EXTERNAL_ALIST_LOOP_5):
8178         * lisp.h (EXTERNAL_ALIST_LOOP_6):
8179         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
8180         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
8181         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
8182         * lisp.h (struct Lisp_Symbol):
8183         * lisp.h (maybe_continuable_error_with_frob):
8184         Fix up section comments.
8185         Add new types for char to indicate usage.
8186         Delete symbols auto-generated from general-slots.h.
8187         Add prototypes for structured error functions.
8188         Add long comments describing looping macros and change interface
8189         so that lvalues are automatically declared.
8190         Add NO_DECLARE macro in case callers want to declare lvalues
8191         themselves.
8192
8193         * lread.c (read_syntax_error):
8194         * lread.c (continuable_read_syntax_error):
8195         * lread.c (read_structure):
8196         * lread.c (sequence_reader):
8197         * lread.c (read_list_conser):
8198         * lread.c (read_compiled_function):
8199         Rename syntax_error and continuable_syntax_error to avoid clash
8200         with same-named structured error functions.
8201
8202         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8203         * menubar-msw.c (populate_menu_add_item):
8204         * menubar-msw.c (populate_or_checksum_helper):
8205         [5].
8206         [9].
8207
8208         * menubar-x.c:
8209         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8210         Mule-ize whole file.
8211
8212         * menubar.c (Fnormalize_menu_item_name): Add optimization.
8213
8214         * mule-charset.c (Fmake_charset):
8215         * mule-wnnfns.c (Fwnn_set_param):
8216         [1].
8217
8218         * ntproc.c (create_child):
8219         * ntproc.c (Fwin32_set_current_locale):
8220         Add comments portending doom.
8221
8222         * objects-msw.c:
8223         * objects-msw.c (old_font_enum_callback_2):
8224         * objects-msw.c (font_enum_callback_1):
8225         * objects-msw.c (mswindows_enumerate_fonts):
8226         [5].
8227
8228         * objects-x.c:
8229         * objects-x.c (allocate_nearest_color):
8230         * objects-x.c (x_parse_nearest_color):
8231         * objects-x.c (x_initialize_color_instance):
8232         * objects-x.c (x_print_color_instance):
8233         * objects-x.c (x_finalize_color_instance):
8234         * objects-x.c (x_valid_color_name_p):
8235         * objects-x.c (x_initialize_font_instance):
8236         * objects-x.c (x_print_font_instance):
8237         * objects-x.c (valid_x_font_name_p):
8238         * objects-x.c (truename_via_FONT_prop):
8239         * objects-x.c (truename_via_random_props):
8240         * objects-x.c (truename_via_XListFonts):
8241         * objects-x.c (x_font_truename):
8242         * objects-x.c (x_font_instance_truename):
8243         * objects-x.c (x_font_instance_properties):
8244         * objects-x.c (x_list_fonts):
8245         * objects-x.c (x_find_charset_font):
8246         Mule-ize entire file.
8247         [7].
8248
8249         * objects-x.h:
8250         Mule-verify.
8251
8252         * print.c:
8253         * print.c (std_handle_out_external):
8254         * print.c (debug_print_no_newline):
8255         * print.c (syms_of_print):
8256         Output to all debugger kinds in debug-print.
8257         Fix console-output code under MSWin to actually work.
8258
8259         * process-nt.c (send_signal):
8260         * process-nt.c (nt_create_process):
8261         Use newer Unicode macros.
8262
8263         * process-unix.c (unix_create_process):
8264         * process-unix.c (unix_canonicalize_host_name):
8265         * process-unix.c (unix_open_network_stream):
8266         [7].
8267
8268         * scrollbar-x.c:
8269         Mule-verify.
8270
8271         * search.c (syms_of_search):
8272         [2].
8273
8274         * select-msw.c (mswindows_destroy_selection):
8275         Use LIST_LOOP_2.
8276
8277         * select-x.c (symbol_to_x_atom):
8278         [7].
8279
8280         * select.c (syms_of_select):
8281         [2].
8282
8283         * sound.c (Fplay_sound_file):
8284         [7].
8285
8286         * specifier.c:
8287         * specifier.c (decode_specifier_type):
8288         * specifier.c (Fvalid_specifier_locale_type_p):
8289         * specifier.c (check_valid_locale_or_locale_type):
8290         * specifier.c (decode_locale):
8291         * specifier.c (decode_locale_type):
8292         * specifier.c (decode_locale_list):
8293         * specifier.c (check_valid_domain):
8294         * specifier.c (decode_specifier_tag_set):
8295         * specifier.c (Fcanonicalize_tag_set):
8296         * specifier.c (Fdefine_specifier_tag):
8297         * specifier.c (Fspecifier_tag_predicate):
8298         * specifier.c (check_valid_inst_list):
8299         * specifier.c (check_valid_spec_list):
8300         * specifier.c (decode_how_to_add_specification):
8301         * specifier.c (check_modifiable_specifier):
8302         * specifier.c (specifier_add_spec):
8303         * specifier.c (boolean_validate):
8304         * specifier.c (display_table_validate):
8305         [9].
8306
8307         * specifier.c (syms_of_specifier):
8308         Move some symbols to general-slots.h.
8309         [2].
8310
8311         * symbols.c:
8312         * symbols.c (Fmapatoms):
8313         * symbols.c (Fapropos_internal):
8314         Add GCPROs.
8315
8316         * symbols.c (set_default_buffer_slot_variable):
8317         * symbols.c (set_default_console_slot_variable):
8318         [1].
8319
8320         * symbols.c (defsymbol_massage_name_1):
8321         * symbols.c (defkeyword_massage_name):
8322         * symbols.c (deferror_1):
8323         * symbols.c (deferror):
8324         * symbols.c (deferror_massage_name_and_message):
8325         * symeval.h:
8326         * symeval.h (DEFSYMBOL):
8327         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
8328
8329         * symbols.c (syms_of_symbols):
8330         [2].
8331
8332         * symsinit.h:
8333         * symsinit.h (init_win32): New.
8334         Also new is syms_of_dialog_mswindows.
8335
8336         * syswindows.h:
8337         Add new Unicode macros, missing Cygwin wide-char functions,
8338         convenience conversion macros for Qmswindows_tstr, macros for
8339         encapsulating required MSWin <-> Cygwin filename conversions,
8340         prototype for dynamically-extracted (not in NT 3.51) functions.
8341
8342         * toolbar-x.c:
8343         Mule-verify.
8344
8345         * tooltalk.c (Fadd_tooltalk_message_arg):
8346         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
8347         * tooltalk.c (Fadd_tooltalk_pattern_arg):
8348         [7].
8349
8350         * tooltalk.c (syms_of_tooltalk):
8351         [2].
8352
8353         * unexnt.c:
8354         * unexnt.c (unexec):
8355         Fix up headers, declaration of unexec() to be more standard.
8356
8357 2000-07-20  Martin Buchholz  <martin@xemacs.org>
8358
8359         * offix.h: Revert change to guard macros - they're used in offix.c!
8360
8361 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8362
8363         * lisp.h: Defsubred Fdelete.
8364
8365         * console-msw.h:  (msprinter_default_printer): Added.
8366
8367         * console-msw.c (msprinter_canonicalize_console_connection):
8368         (msprinter_canonicalize_device_connection): Added.
8369
8370         * device-msw.c (msprinter_default_printer):
8371         (Fmswingows_get_default_printer):
8372         (signal_enum_priner_error):
8373         (Fmswingows_printer_list): Added.
8374
8375 2000-07-19  Martin Buchholz <martin@xemacs.org>
8376
8377         * XEmacs 21.2.35 is released.
8378
8379 2000-07-19  Martin Buchholz  <martin@xemacs.org>
8380
8381         * select-x.c (x_handle_selection_request):
8382         Text selected in xemacs and pasted into xterm failed to appear.
8383         Spelling fixes and cosmetic changes.
8384
8385 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8386
8387         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
8388         XEmacs frame (fix for doubling chars in dialog boxes).
8389
8390 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
8391
8392         * select.c (select_convert_in, select_convert_out):
8393         Don't call intern() every time.
8394
8395         * select.c (Qselect_convert_in, Qselect_convert_out): New.
8396         * select.c (vars_of_select): Initialise them.
8397
8398 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
8399
8400         * select.c (selection-coercible-types): New.
8401
8402         * select.c (own-selection-internal):
8403         * select.c (get-selection-internal):
8404         MULE bug fix - these should default to COMPOUND_TEXT and not
8405         STRING for MULE. I think.
8406
8407         * select.c (select_convert_out): Use selection-coercible-types
8408         to find types that we can attempt to perform coercions on.
8409
8410 2000-07-18  Martin Buchholz  <martin@xemacs.org>
8411
8412         * mule-wnnfns.c:
8413         * mule-canna.c:
8414         Add coding: cookie to identify encoding.
8415
8416         * mule-canna.c (CANNA_mode_keys): make static.
8417         Use proper prototypes, even for functions of no arguments.
8418         Remove external prototype for Fding().
8419
8420         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
8421
8422         * select.c (syms_of_select): Add missing DEFSUBR.
8423
8424 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
8425
8426         * select.c (get_selection_internal, own_selection_internal):
8427         Make the type default to STRING, rather than placing a nil type
8428         into Vselection_alist.
8429
8430 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
8431
8432         * gpmevent.c (tty_selection_exists_p):
8433         * gpmevent.c (tty_own_selection):
8434         Updated parameter lists.
8435
8436 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
8437
8438         * select.h (selection-alist): Removed declaration.
8439
8440         * select.h (get_local_selection):
8441         * select.c (get_local_selection):
8442         Made static.
8443
8444         * select.h (convert_selection): Removed declaration.
8445         * select.c (convert_selection): Removed.
8446         This function belongs in Lisp.
8447
8448         * select.h (select_convert_in): Declare.
8449         * select.h (select_convert_out): Declare.
8450         * select.c (select_convert_in): New.
8451         * select.c (select_convert_out): New.
8452         New conversion functions for other files to call.
8453
8454         * select.h (select_notify_buffer_kill): Declare.
8455         * select.c (select_notify_buffer_kill): New.
8456         New functions that get called from kill-buffer.
8457
8458         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
8459         X-specific lisp code.
8460
8461         * select.h: Declare some of the lisp-visible functions for
8462         external use.
8463
8464         * select.c (clean_local_selection_data): Removed. This was
8465         a disgusting function, and previously should have been in
8466         select-x.c in any case. The functionality is now provided
8467         in select-convert-from-integer (select.el).
8468
8469         * select.c (available-selection-types): Fixed stupidity where
8470         INTEGER and ATOM got added twice. Also add STRING when we see an
8471         extent.
8472
8473         * select.c (get-selection-internal): Removed symbol stripping. No
8474         longer causes conversion when data comes from the internal cache.
8475
8476         * select.c (syms_of_select): Added new functions.
8477
8478         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
8479         error checking - previously this called abort!
8480
8481         * select-x.c (x_own_selection): Changed comment.
8482
8483         * select-x.c (x_handle_selection_request): Use select_convert_out.
8484         Don't mess with selection-alist; it's an internal variable of select.c.
8485
8486         * select-x.c (x_get_foreign_selection): Use select_convert_in.
8487
8488         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
8489         rather than messing with selection-alist.
8490
8491         * select-msw.c (mswindows_get_foreign_selection):
8492         Use TO_INTERNAL_FORMAT rather than hacking.
8493
8494 2000-07-14  Martin Buchholz  <martin@xemacs.org>
8495
8496         * process-unix.c (unix_open_multicast_group):
8497         (unix_open_multicast_group): Remove useless casts.
8498
8499 2000-07-13  Martin Buchholz  <martin@xemacs.org>
8500
8501         * sound.c (Fplay_sound): Fix `unused variable' warning.
8502
8503         * emacs.c (main): Use correct type for _environ on SCO5.
8504
8505 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
8506
8507         * console.h (own_selection_method):
8508         * console.h (selection_exists_p_method):
8509         * console.h (available_selection_types_method): New.
8510         * console.h (register_selection_data_type_method): New.
8511         * console.h (selection_data_type_name): New.
8512
8513         * console-msw.h (mswindows_destroy_selection): Declare it.  New
8514         function & alist to track GlobalAlloc()'d handles that need
8515         releasing when the clipboard data gets replaced or emptied.
8516
8517         * event-msw.c (mswindows_wnd_proc): Call it.
8518
8519         * lisp.h, general.c (Qappend): New symbol representing a
8520         `how-to-add' mode.
8521
8522         * select.c (own-selection-internal):
8523         * select.c (selection-exists-p):
8524         * select.c (available-selection-types): New.
8525         * select.c (register-selection-data-type): New.
8526         * select.c (selection-data-type-name): New.  New functions to deal
8527         with device-specific selection data formats.
8528         * select.c (selection-converter-out-alist): Renamed.
8529         * select.c (selection-converter-in-alist): New.
8530         * select.c (selection-appender-alist): New.  Added new alists.
8531         * select.c (syms_of_select, vars_of_select): Added new symbols &
8532         variables.
8533         * select.c (get_local_selection): Split.
8534         * select.c: Removed spurious type checking - selections may now be
8535         of any type, not just strings.
8536         * select.c (own-selection-internal):
8537
8538         * select.h, select.c (convert_selection): New. Created
8539         convert_selection() function based on get_local_selection().
8540         * select.h, select.c (QCF_*): New symbols representing mswindows
8541         clipboard formats.
8542         * select.h, select.c (Qreplace_all, Qreplace_existing): New
8543         symbols representing `how-to-add' modes.
8544
8545         * select-msw.c (x_sym_p): New.
8546         * select-msw.c (symbol_to_ms_cf): New.
8547         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
8548         symbols & clipboard formats. Can also handle string names.
8549         * select-msw.c (mswindows_own_selection):
8550         * select-msw.c (mswindows_selection_exists_p):
8551         Added `data-type' parameter. Use it.
8552         * select-msw.c (mswindows_available_selection_types): New.
8553         * select-msw.c (mswindows_register_selection_data_type): New.
8554         * select-msw.c (mswindows_selection_data_type_name): New.
8555         * select-msw.c (mswindows_own_selection):
8556         * select-msw.c (mswindows_get_foreign_selection):
8557         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
8558         * select-msw.c (console_create_select_mswindows): Added new methods.
8559         * select-msw.c (mswindows_destroy_selection): New.
8560         * select-msw.c (Vhandle_alist): New list.
8561         * select-msw.c (mswindows_own_selection):
8562
8563         * select-x.c (x_own_selection):
8564         * select-x.c (x_selection_exists_p):
8565         * select-x.c: Added some comments about maybe using new
8566         functionality.
8567         * select-x.c (x_own_selection):
8568
8569         * specifier.c: Remove definition of Qappend (now in general.c)
8570         * specifier.c (syms_of_specifier): Remove Qappend.
8571
8572 2000-07-12  Martin Buchholz  <martin@xemacs.org>
8573
8574         * config.h.in: Add socklen_t.
8575
8576         * s/decosf4-0.h: No special compiler flags needed or desired.
8577         In particular, undefine _BSD for DEC OSF 4.0.
8578
8579 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8580
8581         * redisplay-msw.c (msprinter_frame_output_end): Added.
8582         (console_type_create_redisplay_mswindows): Referred the above.
8583
8584         * frame.c (setup_frame_without_minibuffer): Do not create a
8585         default minibuffer frame on a printer device.
8586
8587         * frame-msw.c (apply_dc_geometry): Added.
8588         (msprinter_start_page):
8589         (msprinter_init_frame_3):
8590         (msprinter_eject_page): Use it.
8591
8592         * console-msw.h (struct msprinter_frame): Added pix_left and top,
8593         and removed residual duplex and orientation properties.
8594
8595 2000-07-11  Martin Buchholz  <martin@xemacs.org>
8596
8597         * eval.c (function_argcount): Work around a DEC CC compiler bug.
8598
8599         * unexalpha.c: Remove system prototypes from C sources!
8600
8601 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
8602
8603         * eval.c: Remove references to M-x edit-options in DEFUNs for
8604         `defvar' and `defconst'.
8605
8606 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8607
8608         * config.h.in: Remove SMART_INCLUDE hackery.
8609
8610         PostgreSQL hacking:
8611         * config.h.in: Don't use SMART_INCLUDE.
8612
8613         * postgresql.h: Include libpq-fe.h here.  Fix typo.
8614         * inline.c: Simply #include "postgresql.h"
8615         * postgresql.c:
8616         - Don't use SMART_INCLUDE
8617         - Use simply "const".
8618         - Use standard doc string conventions.
8619         - Use correct type for result of PQstatus.
8620
8621 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8622
8623         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
8624
8625         C++ compilation changes.
8626         * config.h.in (EXTERN_C): Define.
8627         * config.h.in (not): This is also a C++ keyword.
8628         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
8629         * cm.c: Use EXTERN_C.
8630         * redisplay-tty.c: Use EXTERN_C.
8631         * sysdep.c: Use EXTERN_C.  Remove Gould support.
8632
8633 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8634
8635         * general.c: Remove duplicate definition for Qfunction.
8636
8637 2000-07-08  Ben Wing  <ben@xemacs.org>
8638
8639         * device-msw.c (msprinter_init_device):
8640         * device-msw.c (sync_printer_with_devmode):
8641         * device-msw.c (handle_devmode_changes):
8642         * device-msw.c (print_dialog_worker):
8643         * device-msw.c (Fmsprinter_apply_settings):
8644         * device-msw.c (hash_devmode):
8645         * device-msw.c (Fmsprinter_settings_despecialize):
8646         use Qmswindows_tstr, not Qctext.
8647
8648         * vm-limit.c (check_memory_limits):
8649         avoid infinite loop printing warning messages.
8650
8651 2000-07-05  Craig Lanning  <lanning@scra.org>
8652
8653         * Makefile.in.in: Add support for including the Windows resources
8654         when building with the cygwin and mingw targets.
8655
8656         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
8657         not set or not correct.
8658         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
8659         (init_initial_directory): Don't try to use $PWD on the
8660         WIN32_NATIVE target.
8661
8662         * s\cygwin32.h:
8663         [[Add -mwindows to eliminate console window.]] not required --ben
8664         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8665         (MAIL_USE_POP): removed; now handled by configure.
8666
8667         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
8668         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
8669         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8670         (MAIL_USE_POP): removed; now handled by configure.
8671         (ENCAPSULATE_STAT): from Dan Holmsand, added.
8672         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
8673         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
8674         constant string.
8675         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
8676         up from <winsock.h> via systime.h.
8677         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
8678         (getpagesize): from Dan Holmsand, added.
8679         Added #endif which was left dangling by Ben's mega patch; added
8680         comment to help prevent this in the future.
8681
8682         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
8683
8684 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8685
8686         * console-msw.h (struct mswindows_device): Removed unnecessary
8687         cached device geometry values.
8688         Added update_tick and an accessor macro.
8689         (Lisp_Devmode): Added lrecord declaration.
8690         (struct msprinter_device): Contain devmode as a Lisp object.
8691         Added mswindows_get_selected_frame_hwnd();
8692
8693         * console.h (struct console_methods): Indentation nitpicking.
8694
8695         * device-msw.c (mswindows_init_device): Do not initialize geometry
8696         cache. Initialize update tick.
8697         (mswindows_device_system_metrics): Ask the device for its geometry.
8698         (global_free_2_maybe):
8699         (devmode_to_hglobal):
8700         (handle_printer_changes):
8701         (ensure_not_printing):
8702         (print_dialog_worker):
8703         (Fmsprinter_print_setup_dialog):
8704         (Fmsprinter_print_dialog):
8705         (plist_get_margin):
8706         (plist_set_margin):
8707         (Fmsprinter_page_setup_dialog): Added functions.
8708         (sync_printer_with_devmode):
8709         (handle_devmode_changes):
8710         (Fmsprinter_get_settings):
8711         (Fmsprinter_select_settings):
8712         (Fmsprinter_apply_settings):
8713         (allocate_devmode):
8714         (Fmsprinter_settings_copy):
8715         (Fmsprinter_settings_despecialize):
8716         (print_devmode):
8717         (finalize_devmode):
8718         (equal_devmode):
8719         (hash_devmode): Added functions
8720         (syms_of_device_mswindows): Init devmode lrecord class.
8721
8722         * device.h: Added an exfun for find-device.
8723
8724         * event-msw.c (mswindows_wnd_proc): Do not update the cached
8725         geometry; although, recreate the device compatible DC.
8726
8727         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
8728         (msprinter_init_frame_3):
8729         (msprinter_frame_property):
8730         (msprinter_internal_frame_property_p):
8731         (msprinter_frame_properties):
8732         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
8733         print job properties (will move to device settings).
8734
8735         * lisp.h: Added symbols.
8736
8737         * general.c (syms_of_general): Declared them.
8738
8739         * hash.c (string_hash): Added.
8740
8741         * lrecord.h (lrecord_type): Added devmode lrecord type.
8742
8743 2000-07-02  Mike Sperber <mike@xemacs.org>
8744
8745         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
8746         FreeBSD 4.0.
8747
8748 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
8749
8750         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
8751         integer.
8752
8753 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
8754
8755         * data.c (Fstring_to_number): Don't recognize floating point if
8756         base is not 10.
8757
8758 2000-06-22  Martin Buchholz  <martin@xemacs.org>
8759
8760         * glyphs-widget.c (tab_control_query_geometry):
8761         (widget_query_geometry):
8762         (button_query_geometry):
8763         * glyphs.c (text_query_geometry):
8764         Enforce type correctness.
8765
8766 2000-06-18  Martin Buchholz  <martin@xemacs.org>
8767
8768         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
8769         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
8770
8771 2000-06-17  Martin Buchholz  <martin@xemacs.org>
8772
8773         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
8774         conflicts with gcc's fixincluded version of FOO.h.
8775
8776         * glyphs.h (image_instance_geometry): Remove trailing `,'
8777
8778 2000-06-08  Mike Alexander  <mta@arbortext.com>
8779
8780         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
8781         (shove_thread): Don't write the same output twice
8782         (make_ntpipe_output_stream): Increase priority of shove thread
8783         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
8784         chance to run
8785         (ntpipe_shove_closer): Don't delete the pipe until we're done with
8786         it.
8787
8788 2000-06-12  Ben Wing  <ben@xemacs.org>
8789
8790         * s\mingw32.h (sigset):
8791         * s\windowsnt.h (sigset):
8792         rename msw_ to mswindows_ for consistency with general convention.
8793
8794 2000-06-12  Ben Wing  <ben@xemacs.org>
8795
8796         * console-msw.c:
8797         * console-msw.c (mswindows_get_console_hwnd):
8798         * console-msw.c (mswindows_ensure_console_allocated):
8799         * console-msw.c (mswindows_hide_console):
8800         * console-msw.c (mswindows_show_console):
8801         * console-msw.c (mswindows_ensure_console_buffered):
8802         * console-msw.c (mswindows_output_console_string):
8803         * console-msw.c (mswindows_windows9x_p):
8804         * console-msw.h:
8805         * device-msw.c (mswindows_get_workspace_coords):
8806         * device-msw.c (mswindows_device_system_metrics):
8807         * dialog-msw.c (mswindows_popup_dialog_box):
8808         * event-msw.c (mswindows_wnd_proc):
8809         * frame-msw.c (mswindows_size_frame_internal):
8810         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8811         * menubar-msw.c (displayable_menu_item):
8812         * menubar-msw.c (mswindows_char_is_accelerator):
8813         * nt.c:
8814         * nt.c (mswindows_sigset):
8815         * nt.c (mswindows_sigrelse):
8816         * nt.c (mswindows_sigpause):
8817         * nt.c (mswindows_raise):
8818         * nt.c (timer_proc):
8819         * ntproc.c:
8820         * ntproc.c (find_child_console):
8821         * ntproc.c (sys_kill):
8822         * print.c:
8823         * print.c (std_handle_out_external):
8824         * process-nt.c (find_child_console):
8825         * process-nt.c (send_signal_the_95_way):
8826         * process-nt.c (ensure_console_window_exists):
8827         * process-nt.c (nt_create_process):
8828         * syssignal.h:
8829         rename msw_ to mswindows_ for consistency with general convention.
8830
8831         * emacs.c:
8832         * dumper.c:
8833         include nt.h, not syswindows.h.
8834
8835         * nt.c (mswindows_fstat):
8836         * nt.c (mswindows_stat):
8837         prefix mswindows_ instead of attempting to directly override the
8838         library functions.  fix declarations.
8839
8840         * nt.h:
8841         include syswindows.h.  move some sysdep.h stuff here.
8842
8843         * ntheap.h:
8844         include syswindows.h, not <windows.h>.
8845
8846         * ntplay.c:
8847         clean up headers.
8848
8849         * sysdep.c:
8850         clean up headers.
8851
8852         * sysdep.c (sys_fstat):
8853         * sysdep.c (sys_stat):
8854         call mswindows versions when appropriate.
8855
8856         * sysdep.h:
8857         move mswin decls to nt.h.
8858
8859         * syswindows.h:
8860         add long comment describing appropriate use of the various windows
8861         headers.
8862
8863 2000-06-11  Ben Wing  <ben@xemacs.org>
8864
8865         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8866
8867 2000-06-10  Ben Wing  <ben@xemacs.org>
8868
8869         * Makefile.in.in (release):
8870         Correction to make sure xemacs.exe always dumped when correct.
8871
8872         * alloca.c:
8873         * balloon_help.c:
8874         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8875
8876         * buffer.c (set_buffer_internal):
8877         [[[[2]]]]: Remove HAVE_FEP code.
8878
8879         * buffer.c (init_initial_directory):
8880         [3].
8881
8882         * bytecode.c:
8883         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8884         individual files.
8885
8886         * callproc.c:
8887         * callproc.c (call_process_cleanup):
8888         * callproc.c (Fold_call_process_internal):
8889         * callproc.c (child_setup):
8890         * callproc.c (getenv_internal):
8891         * callproc.c (init_callproc):
8892         * callproc.c (vars_of_callproc):
8893         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8894         __CYGWIN32__ -> CYGWIN.
8895         DOS_NT -> WIN32_NATIVE.
8896         Remove MSDOS support/references, converting to WIN32_NATIVE
8897           where correct.
8898         __MINGW32__ -> MINGW.
8899         Fix windows.h includes.
8900         Remove bogus HAVE_NTGUI.
8901
8902         * config.h.in:
8903         [2].
8904
8905         * console-msw.c:
8906         mswindows_message_outputted added for use in allowing startup
8907         errors on the console to be seen.
8908
8909         * console-msw.c (msw_ensure_console_allocated):
8910         * console-msw.c (msw_output_console_string):
8911         * console-msw.c (DHEADER):
8912         * console-msw.c (DOPAQUE_DATA):
8913         * console-msw.c (DEVENT):
8914         * console-msw.c (DCONS):
8915         * console-msw.c (DCONSCDR):
8916         * console-msw.c (DSTRING):
8917         * console-msw.c (DVECTOR):
8918         * console-msw.c (DSYMBOL):
8919         * console-msw.c (DSYMNAME):
8920         Fix warnings.
8921
8922         * console-stream.c (stream_init_console):
8923         Fix text/binary problems.
8924
8925         * device-msw.c:
8926         * device-msw.c (mswindows_finish_init_device):
8927         * device-msw.c (mswindows_delete_device):
8928         [1].
8929
8930         * device.c (handle_asynch_device_change):
8931         [3].
8932
8933         * dgif_lib.c:
8934         * dgif_lib.c (DGifOpenFileName):
8935         * dgif_lib.c (DGifOpenFileHandle):
8936         * dgif_lib.c (DGifGetLine):
8937         * dgif_lib.c (DGifGetPixel):
8938         Added config.h/lisp.h, fix up includes.
8939         [1].
8940
8941         * dired-msw.c:
8942         [4].
8943
8944         * dired.c:
8945         * dired.c (file_name_completion):
8946         * dired.c (Ffile_attributes):
8947         * dired.c (syms_of_dired):
8948         [1].
8949
8950         * dumper.c:
8951         * dumper.c (pdump_file_unmap):
8952         * dumper.c (pdump_load):
8953         [1].
8954
8955         * editfns.c:
8956         * editfns.c (Ftemp_directory):
8957         * editfns.c (user_login_name):
8958         * editfns.c (Fuser_real_login_name):
8959         * editfns.c (get_home_directory):
8960         [1].
8961
8962         * elhash.c (finish_marking_weak_hash_tables):
8963         [[[[5]]]]: Fix GCC warnings.
8964
8965         * emacs.c:
8966         * emacs.c (mswindows_handle_hardware_exceptions):
8967         * emacs.c (make_arg_list_1):
8968         * emacs.c (main_1):
8969         * emacs.c (Fkill_emacs):
8970         * emacs.c (Fdump_emacs):
8971         [1].
8972         Fix problems with nested crashes, add long comment.
8973
8974         * event-Xt.c (init_event_Xt_late):
8975         [1].
8976
8977         * event-msw.c:
8978         * event-msw.c (mswindows_dde_callback):
8979         * event-msw.c (mswindows_handle_sticky_modifiers):
8980         * event-msw.c (mswindows_wnd_proc):
8981         [1].
8982         [5].
8983
8984         * events.c (character_to_event):
8985         [1].
8986
8987         * fileio.c:
8988         * fileio.c (Ffile_name_directory):
8989         * fileio.c (Ffile_name_nondirectory):
8990         * fileio.c (directory_file_name):
8991         * fileio.c (Fexpand_file_name):
8992         * fileio.c (Fsubstitute_in_file_name):
8993         * fileio.c (Ffile_name_absolute_p):
8994         * fileio.c (check_executable):
8995         * fileio.c (Ffile_readable_p):
8996         * fileio.c (Ffile_accessible_directory_p):
8997         * fileio.c (Ffile_modes):
8998         * fileio.c (Funix_sync):
8999         * fileio.c (vars_of_fileio):
9000         [1]. [4].
9001
9002         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
9003
9004         Expand getdefdir defn.
9005         Fix bogus rename() comment.
9006
9007         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
9008         to use standard XEmacs include files, e.g. sysfile.h, rather
9009         than system-specific includes.
9010
9011         * fns.c:
9012         * fns.c (Fsubseq):
9013         [5]. [6].
9014
9015         * frame.c (vars_of_frame):
9016         [1].
9017
9018         * getloadavg.c:
9019         * getloadavg.c (getloadavg):
9020         [1]. [6].
9021         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
9022         (We don't use it elsewhere in the code; just add a comment.)
9023
9024         * gif_io.c:
9025         [6].
9026         Add config.h.
9027
9028         * glyphs-msw.c:
9029         * glyphs-msw.c (mswindows_resource_instantiate):
9030         [1].
9031
9032         * glyphs-x.c (x_native_layout_instantiate):
9033         [5].
9034
9035         * gui-msw.c (Fmswindows_shell_execute):
9036         [1].
9037
9038         * insdel.c:
9039         [4].
9040
9041         * lisp.h:
9042         [4]. [5].
9043
9044         * lread.c (locate_file_in_directory_mapper):
9045         [1].
9046
9047         * lstream.c:
9048         [4].
9049
9050         * mem-limits.h:
9051         * mem-limits.h (get_lim_data):
9052         [1].
9053
9054         * menubar-msw.c:
9055         [4].
9056
9057         * ndir.h:
9058         [1].
9059
9060         * nt.c:
9061         * nt.c (getwd):
9062         * nt.c (closedir):
9063         * nt.c (rva_to_section):
9064         * nt.c (mswindows_executable_type):
9065         [1]. [6].
9066         Fix closedir() defn.
9067
9068         * nt.h:
9069         [[[[8]]]]: *_OK defs moved to sysfile.h.
9070
9071         * ntproc.c:
9072         [6]. [7].
9073
9074         * objects-x.c:
9075         [4].
9076
9077         * print.c:
9078         * print.c (std_handle_out_external):
9079         [1]. [4].
9080
9081         * process-nt.c:
9082         * process-nt.c (nt_create_process):
9083         [6].
9084         try to fix process quoting somewhat.
9085
9086         * process-unix.c (unix_create_process):
9087         [1].
9088
9089         * process.c:
9090         * process.c (vars_of_process):
9091         Add Vnull_device.
9092
9093         * process.h:
9094         [1].
9095
9096         * realpath.c:
9097         * realpath.c (xrealpath):
9098         [1].
9099
9100         * redisplay-tty.c (init_tty_for_redisplay):
9101         [3].
9102
9103         * redisplay.c:
9104         [4]. [6].
9105
9106         * scrollbar-msw.c:
9107         [4].
9108
9109         * sheap.c:
9110         * sheap.c (more_static_core):
9111         * sheap.c (report_sheap_usage):
9112         [5]. [6].
9113
9114         * signal.c:
9115         * signal.c (alarm_signal):
9116         [1]. [6].
9117
9118         * sound.c:
9119         [6].
9120
9121         * strftime.c:
9122         * strftime.c (zone_name):
9123         [1]. [5].
9124
9125         * symsinit.h (init_sunpro):
9126         [1].
9127
9128         * syscommctrl.h:
9129         commctrl.h not in Cygwin b20.1.
9130
9131         * sysdep.c:
9132         * sysdep.c (endif):
9133         * sysdep.c (sys_subshell):
9134         * sysdep.c (init_baud_rate):
9135         * sysdep.c (emacs_get_tty):
9136         * sysdep.c (emacs_set_tty):
9137         * sysdep.c (tty_init_sys_modes_on_device):
9138         * sysdep.c (init_system_name):
9139         * sysdep.c (sys_open):
9140         * sysdep.c (interruptible_open):
9141         * sysdep.c (sys_fopen):
9142         * sysdep.c (sys_mkdir):
9143         * sysdep.c (sys_rename):
9144         * sysdep.c (get_process_times_1):
9145         [1]. [6].
9146
9147         * sysdep.h:
9148         [1].
9149
9150         * sysdir.h:
9151         * sysdir.h (DIRENTRY_NONEMPTY):
9152         [1]. [6].
9153
9154         * sysdll.c (dll_init):
9155         * sysdll.h:
9156         [1].
9157
9158         * sysfile.h:
9159         [1]. [6]. [8].
9160         added text/binary defs.
9161
9162         * sysfloat.h:
9163         [1].
9164
9165         * sysproc.h:
9166         * sysproc.h (EDESTADDRREQ):
9167         * sysproc.h (poll_fds_for_input):
9168         [1]. [6].
9169
9170         * syspwd.h:
9171         [6].
9172
9173         * syssignal.h:
9174         [1].
9175
9176         * systime.h:
9177         [1]. [6].
9178
9179         * systty.h:
9180         [1].
9181
9182         * syswindows.h:
9183         [1].
9184         Always define WIN32_LEAN_AND_MEAN.
9185
9186         * unexcw.c (unexec):
9187         [5].
9188
9189         * unexec.c:
9190         * unexec.c (copy_text_and_data):
9191         * unexec.c (adjust_lnnoptrs):
9192         [1].
9193
9194         * unexnt.c:
9195         * unexnt.c (_start):
9196         [1].
9197
9198 2000-06-07  Ben Wing  <ben@xemacs.org>
9199
9200         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
9201         was used only as a model.  We've long since extracted any useful
9202         logic or code out of this. (I just did an exhaustive search.)
9203
9204         * s\msdos.h: Removed.
9205
9206         * s\windows95.h: Removed.
9207
9208 2000-06-10  Ben Wing  <ben@xemacs.org>
9209
9210         * s\cygwin32.h:
9211         [1]. [5].
9212         Don't use extern with fun defs.
9213
9214         * s\mingw32.h:
9215         [1]. [7].
9216         Remove nt\inc include.
9217         Remove getdisk, getdefdir. (The former is unused, the latter
9218         expanded in fileio.h.)
9219
9220         * s\windowsnt.h:
9221         * s\windowsnt.h (WIN32_NATIVE):
9222         * s\windowsnt.h (HAVE_STRCASECMP):
9223         [1]. [7].
9224         Add long comment about preprocessor changes.
9225         Remove getdisk, getdefdir. (The former is unused, the latter
9226         expanded in fileio.h.)
9227
9228 2000-06-10  Ben Wing  <ben@xemacs.org>
9229
9230         * m\arm.h:
9231         * m\delta.h:
9232         * m\intel386.h:
9233         * m\sequent.h:
9234         * m\template.h:
9235         * m\windowsnt.h:
9236         [1].
9237         Remove bogus/unused NO_SOCK_SIGIO.
9238
9239 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
9240
9241         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
9242         not an Emchar.
9243
9244 2000-06-04  Mike Sperber <mike@xemacs.org>
9245
9246         * casetab.c (set_case_table): For `set-standard-case-table',
9247         actually deposit the new case tables where the rest of XEmacs can
9248         see them.
9249
9250 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
9251
9252         * data.c (Faset): Don't cast XCHAR() to unsigned char.
9253
9254 2000-06-05  Ben Wing  <ben@xemacs.org>
9255
9256         * callproc.c (child_setup): Don't do close_load_descs() under
9257         MS Windows.  Put in a comment explaining why.
9258
9259 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
9260
9261         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
9262         Toolkit shell" which breaks `kill-compilation' on Windows NT
9263         native, retaining STDERR handling improvements.
9264
9265 2000-06-01  Andreas Jaeger  <aj@suse.de>
9266
9267         * s/s390.h: Support for S390, based on a patch by Martin
9268         Schwidefsky <schwidefsky@de.ibm.com>.
9269
9270 2000-05-30  Andy Piper  <andy@xemacs.org>
9271
9272         * window.c (allocate_window):
9273         (make_dummy_parent):
9274         (Fset_window_configuration): use new hashtable type.
9275
9276         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
9277         (struct image_instantiator_methods):
9278         (struct Lisp_Image_Instance): make instance geometry signed.
9279
9280         * glyphs.c (instantiate_image_instantiator):
9281         (image_instance_query_geometry):
9282         (image_instance_layout):
9283         (image_instance_layout):
9284         (query_string_geometry):
9285         (text_query_geometry):
9286         (image_instantiate):
9287         (image_instantiate):
9288         (cache_subwindow_instance_in_frame_maybe):
9289         (subwindow_query_geometry): make instance geometry signed.
9290
9291         * glyphs-widget.c (widget_query_geometry):
9292         (widget_layout):
9293         (button_query_geometry):
9294         (tree_view_query_geometry):
9295         (tab_control_query_geometry):
9296         (layout_query_geometry):
9297         (layout_layout):
9298         (native_layout_layout): make instance geometry signed.
9299
9300 2000-05-29  Olivier Galibert  <galibert@pobox.com>
9301
9302         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
9303         constant.
9304
9305         * general.c (syms_of_general): Add Qfull_assoc symbol.
9306
9307         * data.c (finish_marking_weak_lists): Mark full-assoc lists
9308         correctly.
9309         (decode_weak_list_type): Decode full-assoc type.
9310         (encode_weak_list_type): Encode full-assoc type.
9311         (Fmake_weak_list): Update doc string.
9312
9313 2000-05-30  Andy Piper  <andy@xemacs.org>
9314
9315         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
9316
9317         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
9318         (decode_hash_table_weakness): ditto.
9319         (Fhash_table_weakness): ditto.
9320         (Fhash_table_type): ditto.
9321         (finish_marking_weak_hash_tables): ditto.
9322         (hash_table_weakness_validate): ditto.
9323         (syms_of_elhash): ditto.
9324
9325 2000-05-28  Martin Buchholz <martin@xemacs.org>
9326
9327         * XEmacs 21.2.34 is released.
9328
9329 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
9330
9331         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
9332         start cache.
9333         (updating_line_start_cache): Gone.
9334         (regenerate_window): Replace resetting of VERTICAL_CLIP by
9335         generic code to force a minimum of 1 line laid out in the
9336         CMOTION_DISP case.
9337
9338 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
9339
9340         * glyphs.c (instantiate_image_instantiator): Check for initialized
9341         height & width no longer special cases IMAGE_NOTHING.
9342         (nothing_instantiate): Set height and width of instance.
9343
9344 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9345
9346         * unexelf.c (unexec): Search for ".data" section.
9347         Initialize new_data2_offset from old_data_index.
9348         Remove redundant check for ElfW.
9349
9350 2000-05-23  Andy Piper  <andy@xemacs.org>
9351
9352         * glyphs.c (get_image_instantiator_governing_domain): allow more
9353         specific domains as the governing domain rather than expecting an
9354         exact match. This fixes problems with layouts.
9355
9356 2000-05-22  Andy Piper  <andy@xemacs.org>
9357
9358         * redisplay-output.c (compare_runes): check for non-images
9359
9360         * glyphs.c (set_glyph_dirty_p): ditto.
9361         (update_glyph_cachel_data): ditto.
9362
9363         * glyphs-widget.c (layout_post_instantiate): ditto.
9364         (layout_post_instantiate): ditto.
9365
9366         * event-msw.c (mswindows_wnd_proc): warning removal.
9367
9368 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
9369
9370         * s\mingw32.h: Added #undef for CLASH_DETECTION.
9371
9372         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
9373
9374         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
9375
9376         * nt.c (rva_to_section): mingw32 needs rva_to_section.
9377         (mswindows_executable_type): mingw32 now has enough headers for
9378         this to work.
9379
9380 2000-05-20  Andy Piper  <andy@xemacs.org>
9381
9382         * console-msw.c (mswindows_output_last_error): ; -> ,
9383
9384 2000-05-12  Andy Piper  <andy@xemacs.org>
9385
9386         * console-msw.c (FROB): compare ints with ints.
9387
9388 2000-05-11  Andy Piper  <andy@xemacs.org>
9389
9390         * glyphs-x.c (x_finalize_image_instance): make minimal build
9391         happy.
9392
9393 2000-05-20  Ben Wing  <ben@xemacs.org>
9394
9395         * event-Xt.c:
9396         * event-Xt.c (vars_of_event_Xt):
9397         move modifier-keys-are-sticky to event-stream.c.
9398
9399         * event-msw.c:
9400         * event-msw.c (mswindows_enqueue_mouse_button_event):
9401         * event-msw.c (key_needs_default_processing_p):
9402         * event-msw.c (XEMSW_LCONTROL):
9403         * event-msw.c (mswindows_handle_sticky_modifiers):
9404         * event-msw.c (FROB):
9405         * event-msw.c (clear_sticky_modifiers):
9406         * event-msw.c (output_modifier_keyboard_state):
9407         * event-msw.c (output_alt_keyboard_state):
9408         * event-msw.c (mswindows_wnd_proc):
9409         * event-msw.c (mswindows_modifier_state):
9410         * event-msw.c (emacs_mswindows_handle_magic_event):
9411         implement sticky modifiers.
9412
9413         * event-stream.c:
9414         * event-stream.c (vars_of_event_stream):
9415         move modifier-keys-are-sticky here.
9416
9417         * lisp.h:
9418         add CHECK_FUNCTION.
9419
9420         * rangetab.c:
9421         implement map-range-table.
9422
9423
9424 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
9425
9426         * redisplay-tty.c (reset_tty_modes):
9427         (tty_redisplay_shutdown): Adjust argument type to
9428         tty_frame_output_end.
9429
9430 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
9431
9432         * eval.c (Fbacktrace): Don't output a line with only right
9433         parenthesis.
9434
9435 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
9436
9437         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
9438         (Fpq_reset_poll): Ditto.
9439
9440 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
9441
9442         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
9443
9444 2000-05-16  Ben Wing  <ben@xemacs.org>
9445
9446         * buffer.c:
9447         * buffer.c (dfc_convert_to/from_internal_format):
9448         * buffer.c (reinit_vars_of_buffer):
9449         Fix conversion functions to allow reentrancy.
9450
9451         * console-msw.c:
9452         * console-msw.c (mswindows_output_last_error):
9453         New fun, generally useful -- output a human-readable
9454         version of GetLastError() on the console.
9455
9456         * console-msw.h:
9457         * console-msw.h (struct mswindows_frame):
9458         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
9459
9460         * console-stream.c (stream_output_begin):
9461         * console-stream.c (stream_output_end):
9462         * console-stream.c (stream_output_vertical_divider):
9463         * console-stream.c (stream_clear_region):
9464         * console-stream.c (stream_flash):
9465         * console-stream.c (console_type_create_stream):
9466         Delete blank stream methods, not needed.
9467
9468         * console.h (struct console_methods):
9469         Split begin/end methods into window and frame.
9470
9471         * event-msw.c:
9472         * event-msw.c (mswindows_handle_paint):
9473         * event-msw.c (output_alt_keyboard_state):
9474         * event-msw.c (mswindows_wnd_proc):
9475         * event-msw.c (vars_of_event_mswindows):
9476         Comment about problems with ignored-expose.
9477         Define mswindows-debug-events; not really implemented.
9478
9479         * frame-msw.c (mswindows_init_frame_1):
9480         random cleanups.
9481
9482         * glyphs-msw.c:
9483         * glyphs-msw.c (begin_defer_window_pos):
9484         * glyphs-msw.c (mswindows_unmap_subwindow):
9485         * glyphs-msw.c (mswindows_map_subwindow):
9486         * glyphs-msw.c (mswindows_resize_subwindow):
9487         Use DeferWindowPos to reduce flashing when mapping/unmapping.
9488
9489         * glyphs.c (make_image_instance_1):
9490         Fix crash.
9491
9492         * gutter.c (Fredisplay_gutter_area):
9493         Use new begin/end methods.
9494
9495         * lisp.h (Dynarr_new2):
9496         New creation fun.
9497
9498         * redisplay-msw.c:
9499         * redisplay-msw.c (mswindows_frame_output_begin):
9500         * redisplay-msw.c (mswindows_frame_output_end):
9501         * redisplay-msw.c (console_type_create_redisplay_mswindows):
9502         New begin/end methods -- handle DeferWindowPos.
9503
9504         * redisplay-output.c (redisplay_move_cursor):
9505         * redisplay-output.c (redraw_cursor_in_window):
9506         * redisplay-output.c (redisplay_update_line):
9507         * redisplay-output.c (redisplay_output_window):
9508         New begin/end methods.
9509
9510         * redisplay-tty.c:
9511         * redisplay-tty.c (tty_frame_output_begin):
9512         * redisplay-tty.c (tty_frame_output_end):
9513         * redisplay-tty.c (console_type_create_redisplay_tty):
9514         New begin/end methods.
9515
9516         * redisplay-x.c:
9517         * redisplay-x.c (x_window_output_begin):
9518         * redisplay-x.c (x_window_output_end):
9519         * redisplay-x.c (console_type_create_redisplay_x):
9520         New begin/end methods.
9521
9522         * redisplay.c (redisplay_frame):
9523         * redisplay.c (Fredisplay_echo_area):
9524         New begin/end methods.
9525         use MAYBE_DEVMETH for clear_frame; it may not exist.
9526
9527         * window.h (WINDOW_XFRAME):
9528         WINDOW_XFOO macros -- get locale and decode struct pointer.
9529
9530
9531 2000-05-12  Ben Wing  <ben@xemacs.org>
9532
9533         * emacs.c:
9534         * emacs.c (ensure_no_quitting_from_now_on):
9535         * emacs.c (fatal_error_signal):
9536         * emacs.c (mswindows_handle_hardware_exceptions):
9537         * emacs.c (main):
9538         * emacs.c (Fkill_emacs):
9539         * emacs.c (shut_down_emacs):
9540         * emacs.c (assert_failed):
9541         various improvements in fatal error handling.
9542
9543         * eval.c:
9544         move preparing_for_armageddon to emacs.c.
9545
9546         * lisp.h:
9547         declare fatal_error_in_progress.
9548
9549         * print.c:
9550         * print.c (std_handle_out_external):
9551         * print.c (std_handle_out_va):
9552         * print.c (stderr_out):
9553         * print.c (stdout_out):
9554         use console under mswin when no standard output.
9555         don't do code conversion during fatal error.
9556
9557         * scrollbar.c (Fscrollbar_page_up):
9558         * scrollbar.c (Fscrollbar_page_down):
9559         fix missing else.  reindent.
9560
9561 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
9562
9563         Emergency fix.
9564
9565         * glyphs.h (GLYPH_CACHEL_DESCENT):
9566         (GLYPH_CACHEL_DESCENT):
9567         (GLYPH_CACHEL_DESCENT):
9568         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
9569         used in case these are inline functions.
9570         Use more absurd values to error check.
9571
9572         include window.h for error check functions.
9573
9574 2000-05-11  Ben Wing  <ben@xemacs.org>
9575
9576         * cmdloop.c (Freally_early_error_handler):
9577         Display message box under windows; otherwise, message will disappear
9578         before it can be viewed.
9579
9580         * console-msw.c:
9581         * console-msw.c (Fmswindows_message_box):
9582         * console-msw.c (FROB):
9583         * console-msw.c (syms_of_console_mswindows):
9584         Define new fun `mswindows-message-box'.
9585         #### I will merge this into `popup-dialog-box'; just give me
9586         a bit of time.
9587
9588         * general.c:
9589         * general.c (syms_of_general):
9590         Some new symbols used in `mswindows-message-box'.
9591
9592         * glyphs.c:
9593         * glyphs.c (Fset_image_instance_property):
9594         put warning in this fun.
9595
9596         * glyphs.h:
9597         * glyphs.h (GLYPH_CACHEL_WIDTH):
9598         * glyphs.h (GLYPH_CACHEL_ASCENT):
9599         * glyphs.h (GLYPH_CACHEL):
9600         * glyphs.h (GLYPH_CACHEL_GLYPH):
9601         define error-checking versions to try to catch a bug i've seen --
9602         redisplay gets in an infinite loop because the glyph width of the
9603         continuation glyph is 65535.
9604
9605         * lisp.h:
9606         Extern message-box stuff.
9607
9608         * window.c (allocate_window):
9609         * window.c (make_dummy_parent):
9610         * window.c (Fset_window_configuration):
9611         Use EQUAL not EQ for subwindow caches to make them work a bit
9612         better. (Something is still very broken.)
9613
9614
9615 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
9616
9617         * glyphs.c (image_instantiate): Suppress gcc warnings.
9618         (Fmake_image_instance): Fix doc string.
9619         * specifier.c (Fmake_specifier): Ditto.
9620
9621 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
9622
9623         * paths.h.in (PATH_LOCK): Removed.
9624         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
9625         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
9626
9627 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9628
9629         * fns.c (Ffeaturep): Update e-mail address in doc-string.
9630         Document (featurep '(and xemacs 21.02)).
9631
9632 2000-05-09  Ben Wing  <ben@xemacs.org>
9633
9634         * buffer.c (complex_vars_of_buffer):
9635         update modeline-format doc.
9636
9637         * device.h:
9638         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
9639
9640         * emacs.c:
9641         timeline of all released versions of Emacs, for use in creating
9642         authorship comments and in synching up.
9643
9644         * glyphs-widget.c (image_instantiator_buttons):
9645         * glyphs-widget.c (image_instantiator_edit_fields):
9646         * glyphs-widget.c (image_instantiator_combo_box):
9647         * glyphs-widget.c (image_instantiator_scrollbar):
9648         * glyphs-widget.c (image_instantiator_progress_guage):
9649         * glyphs-widget.c (image_instantiator_tree_view):
9650         * glyphs-widget.c (image_instantiator_tab_control):
9651         * glyphs-widget.c (image_instantiator_labels):
9652         * glyphs-widget.c (image_instantiator_layout):
9653         * glyphs-widget.c (image_instantiator_native_layout):
9654         rename decode_domain method to governing_domain.
9655
9656         * glyphs.c:
9657         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
9658         * glyphs.c (add_entry_to_device_ii_format_list):
9659         make sure we don't put an entry more than once into the list.
9660         * glyphs.c (check_instance_cache_mapper):
9661         *************************************************************
9662         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9663         HAVE BEEN GETTING.
9664         *************************************************************
9665         * glyphs.c (get_image_instantiator_governing_domain):
9666         clean up, expand on new concept of governing domain.
9667         * glyphs.c (instantiate_image_instantiator):
9668         * glyphs.c (allocate_image_instance):
9669         use governing_domain instead of cache_domain in naming.
9670         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
9671         * glyphs.c (make_image_instance_1):
9672         * glyphs.c (Fmake_image_instance):
9673         allow for any domain (not just device), and process the
9674         governing domain correctly.  very big doc fix.
9675         * glyphs.c (Fimage_instance_domain):
9676         new primitive, to retrieve the governing domain of an image instance.
9677         * glyphs.c (image_instantiate):
9678         use new governing_domain stuff.  this fixes a crash you could get
9679         by instantiating certain widget glyphs in frame locales. (should
9680         signal an error instead of crashing.)
9681         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
9682         * glyphs.c (Fglyphp): clean up doc.
9683         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
9684         * glyphs.c (syms_of_glyphs):
9685         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
9686         * glyphs.c (image_instantiator_format_create): add some comments about
9687         bogus code.
9688         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
9689         for current-display-table. (Apparently Hrjove implemented in 1998 a
9690         design I wrote up in 1996, but didn't update the doc string.)
9691
9692         * glyphs.h: clean up a doc string.
9693         * glyphs.h (governing_domain):
9694         * glyphs.h (struct image_instantiator_methods):
9695         changes for governing_domain stuff.
9696
9697         * gutter.c:
9698         * gutter.c (Fgutter_specifier_p):
9699         * gutter.c (Fgutter_size_specifier_p):
9700         * gutter.c (Fgutter_visible_specifier_p):
9701         * objects.c:
9702         * objects.c (Fcolor_specifier_p):
9703         * objects.c (Ffont_specifier_p):
9704         * objects.c (Fface_boolean_specifier_p):
9705         doc strings moved to make-*-specifier.
9706
9707         * redisplay.c (add_disp_table_entry_runes_1):
9708         * redisplay.c (generate_fstring_runes):
9709         * redisplay.c (screen):
9710         add random comments and doc strings.
9711
9712         * specifier.c:
9713         * specifier.c (Fmake_specifier):
9714         major overhaul of this doc string.
9715
9716         * specifier.c (Fvalid_specifier_domain_p):
9717         comment about the bogosity of image instances being domains.
9718         * specifier.c (decode_domain):
9719         now non-static, used in glyphs.c.
9720         * specifier.c (specifier_instance):
9721         comment about the bogosity of image instances being domains.
9722         * specifier.c (Fgeneric_specifier_p):
9723         move doc string to make-generic-specifier.
9724         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
9725         rebackslashify.
9726
9727         * specifier.h:
9728         * specifier.h (DOMAIN_FRAME):
9729         * specifier.h (DOMAIN_LIVE_P):
9730         * specifier.h (DOMAIN_XDEVICE):
9731         rebackslashify.
9732         add comments about problems with these macros.
9733         prototype for decode_domain.
9734
9735         * toolbar.c:
9736         * toolbar.c (Ftoolbar_specifier_p):
9737         move doc string to `make-toolbar-specifier'.
9738
9739         * window.c (window_unmap_subwindows_cache_mapper):
9740         *************************************************************
9741         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9742         HAVE BEEN GETTING.
9743         *************************************************************
9744
9745 2000-05-09  Andy Piper  <andy@xemacs.org>
9746
9747         * glyphs.h: declare reset_frame_subwindow_instance_cache.
9748
9749         * window.c (Fset_window_configuration): reset the frame subwindow
9750         cache and re-initialize the window subwindow caches.
9751
9752         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
9753
9754 2000-05-09  Ben Wing  <ben@xemacs.org>
9755
9756         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
9757         DWORD.
9758
9759 2000-04-26  Mike Woolley  <mike@bulsara.com>
9760
9761         * ntheap.c: Changed recreate_heap to limit the amount reserved
9762         for the heap to that which is actually available. Also now
9763         displays a message box (with some dignostics) in the event that
9764         it still can't start.
9765
9766 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9767
9768         * callproc.c (Fold_call_process_internal): GCPRO path
9769
9770 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
9771
9772         Patch by Bill Perry.
9773
9774         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
9775         back data instead of #ifdef.
9776         (Fscrollbar_page_down): ditto.
9777
9778 2000-05-07  Ben Wing  <ben@xemacs.org>
9779
9780         * buffer.h:
9781         Kludge for defining Qmswindows_tstr.
9782
9783         * nt.c:
9784         * nt.c (open_input_file):
9785         * nt.c (open_output_file):
9786         * nt.c (rva_to_section):
9787         * nt.c (mswindows_executable_type):
9788         Move all memory-mapped-file routines here (some were in unexnt.c,
9789         which is bad because they are used by process-nt.c, and unexnt
9790         won't be around when portable dumping).  Synched the above routines
9791         with FSF 20.6.
9792
9793         * nt.h:
9794         Removed ifdef'd out bogus code.
9795         Fixed some prototypes.
9796
9797         * nt.h (file_data):
9798         * nt.h (OFFSET_TO_RVA):
9799         * nt.h (RVA_TO_OFFSET):
9800         * nt.h (RVA_TO_PTR):
9801         Moved the memory-mapped-file structures, macros and prototypes
9802         here, to parallel nt.c.  ntheap.h should really be removed
9803         entirely, and it's a non-portable-dumper specific file.
9804
9805         * ntheap.h (round_to_next):
9806         Moved the memory-mapped-file structures, macros and prototypes
9807         to nt.h.
9808
9809         * ntproc.c (compare_env):
9810         Moved rva_to_section and mswindows_executable_type to nt.c.
9811         Moved compare_env to process-nt.c.
9812         ntproc.c will die, one day.
9813
9814         * ntproc.c (sys_spawnve):
9815         Account for win32_ -> mswindows_.
9816
9817         * process-nt.c:
9818         * process-nt.c (struct nt_process_data):
9819         * process-nt.c (ensure_console_window_exists):
9820         * process-nt.c (compare_env):
9821         * process-nt.c (nt_create_process):
9822         * process-nt.c (nt_kill_process_by_pid):
9823         * process-nt.c (syms_of_process_nt):
9824         * process-nt.c (vars_of_process_nt):
9825         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9826         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9827         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9828         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9829         Move compare_env here from ntproc.c.
9830
9831         * process.c (Fprocess_send_region):
9832         Takes an optional fourth argument, BUFFER, which should fix some
9833         problems with call-process.
9834
9835         * syscommctrl.h:
9836         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9837
9838         * syswindows.h:
9839         Move ICC_BAR_CLASSES to syscommctrl.h.
9840         Add preliminary macros for MSWindows/Mule.  More to come.
9841
9842         * unexnt.c:
9843         * unexnt.c (unexec):
9844         open_output_file moved to nt.c.
9845
9846
9847 2000-05-05  Andy Piper  <andy@xemacs.org>
9848
9849         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9850         instance from the frame cache also since GC may catch up too late
9851         to make frame deletion sane.
9852
9853 2000-05-04  Andy Piper  <andy@xemacs.org>
9854
9855         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9856         (x_finalize_image_instance): ungcpro on deletion.
9857
9858         * glyphs.c (image_instantiator_format_create): give pointers a
9859         query geometry method so that the geometry is at least set.
9860
9861         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9862         initialize layouts if using widgets.
9863
9864 2000-05-03  Andy Piper  <andy@xemacs.org>
9865
9866         * nt.c: remove bogus reference to sysmmsystem.h
9867
9868         * gui-x.c (popup_selection_callback): fix no selection abort.
9869
9870 2000-05-02  Andy Piper  <andy@xemacs.org>
9871
9872         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9873         (mswindows_widget_instantiate): ditto.
9874
9875         * glyphs-widget.c (initialize_widget_image_instance): initialize
9876         children correctly.
9877         (widget_instantiate): cope with children and items in the same
9878         instance.
9879
9880         * glyphs.c (mark_image_instance): cope with children as a first
9881         class member.
9882         (image_instance_equal): ditto.
9883         (image_instance_hash): ditto.
9884         (image_instance_changed): ditto.
9885
9886 2000-04-30  Andy Piper  <andy@xemacs.org>
9887
9888         * glyphs.c (subwindow_query_geometry): new function. Return some
9889         defaults.
9890         (subwindow_instantiate): don't assign dimensions if none have been
9891         given.
9892         (image_instantiator_format_create): add subwindow_query_geometry.
9893         (print_image_instance): cope with layouts as widgets.
9894
9895 2000-04-29  Andy Piper  <andy@xemacs.org>
9896
9897         * frame.c (delete_frame_internal): call
9898         free_frame_subwindow_instance_cache so that all subwindows are
9899         finalized before their parent.
9900         (mark_frame): remove subwindow_cachels.
9901         (Fmake_frame): remove subwindow_cachel manipulation.
9902         (allocate_frame_core): subwindow_instance_cache is a weak list.
9903         (delete_frame_internal): set subwindow_instance_cache to nil.
9904
9905         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9906         finalization safe.
9907         (mswindows_finalize_image_instance): use the device
9908         not the domain as the domain may have died already.
9909
9910         * glyphs-x.c (x_finalize_image_instance): ditto.
9911         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9912         HEIGHT.
9913
9914         * redisplay-output.c (redisplay_unmap_subwindows): update for
9915         subwindow instance cache as a weak list.
9916         (redisplay_unmap_subwindows_maybe): ditto.
9917         (redisplay_unmap_subwindows_except_us): ditto.
9918
9919         * glyphs.c (unmap_subwindow): error checking will check the domain
9920         so don't deal with it here. Don't use cachels anymore.
9921         (map_subwindow): ditto.
9922         (update_subwindow_cachel_data): remove old accessor names.
9923         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9924         (Fresize_subwindow): don't update cachel.
9925         (mark_subwindow_cachels):
9926         (update_subwindow_cachel_data):
9927         (add_subwindow_cachel):
9928         (get_subwindow_cachel_index):
9929         (update_subwindow_cachel):
9930         (reset_subwindow_cachels):
9931         (mark_subwindow_cachels_as_not_updated): deleted.
9932         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9933         subwindow instance to the frame cache.
9934         (find_matching_subwindow): update for subwindow instance cache as
9935         a weak list.
9936         (update_widget_instances): ditto.
9937         (image_instance_type_to_mask):inlined.
9938         (free_frame_subwindow_instance_cache): new function. finalize all
9939         subwindows that are instantiated.
9940
9941         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9942         of cachel information.
9943         (IMAGE_INSTANCE_DISPLAY_X):
9944         (IMAGE_INSTANCE_DISPLAY_Y):
9945         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9946         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9947         (XIMAGE_INSTANCE_DISPLAY_X):
9948         (XIMAGE_INSTANCE_DISPLAY_Y):
9949         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9950         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9951         remove subwindow_cachel structure and function references.
9952         (image_instance_type_to_mask): inline from glyphs.c
9953
9954         * redisplay.c (redisplay_frame): remove subwindow_cachel
9955         references.
9956
9957         * frame.h (struct frame): remove subwindow_cachels.
9958         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9959
9960         * frameslots.h: add subwindow_instance_cache.
9961
9962         * window.c (replace_window): check subwindow cache of replacement.
9963         (window_unmap_subwindows_cache_mapper):
9964         (window_unmap_subwindows): new functions. Unmap all subwindows
9965         cached on this window.
9966         (mark_window_as_deleted): unmap all subwindows.
9967
9968 2000-04-27  Andy Piper  <andy@xemacs.org>
9969
9970         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9971
9972         * glyphs-widget.c (widget_layout): return something.
9973         (layout_layout): return something. Fail if not initialized.
9974         (layout_query_geometry): ditto.
9975         (image_instantiator_native_layout): new function. Initialized the
9976         native layout type.
9977         (widget_instantiate): don't do layout stuff here.
9978
9979         * glyphs.c (instantiate_image_instantiator): reorded calling or
9980         instantiate and post_instantiate with layout in between.
9981         (image_instance_layout): be more selective about deciding whether
9982         the layout has been done or not.
9983
9984         * glyphs.h (struct image_instantiator_methods): return a value
9985         from layout_method.
9986
9987 2000-04-26  Andy Piper  <andy@xemacs.org>
9988
9989         * glyphs.c (allocate_image_instance): make initial width and
9990         height unspecified. Set initialized to 0.
9991
9992         * syscommctrl.h new file. Encapsulates commctrl.h.
9993
9994         * syswindows.h new file. Encapsulates windows.h.
9995
9996         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9997         * nt.c: ditto.
9998         * console-msw.h: ditto.
9999
10000         * redisplay-tty.c (tty_output_display_block): remove layout references.
10001
10002         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
10003         window handle rather than just the frame.
10004
10005         * glyphs.c (mark_image_instance): remove layout references.
10006         (print_image_instance): ditto.
10007         (image_instance_equal): ditto.
10008         (image_instance_hash): ditto.
10009         (decode_image_instance_type): ditto.
10010         (encode_image_instance_type): ditto.
10011         (image_instantiate): ditto.
10012         (allocate_glyph): ditto.
10013         (Fimage_instance_height): ditto.
10014         (Fimage_instance_width): ditto.
10015         (update_subwindow): ditto.
10016
10017         * redisplay-x.c (x_output_display_block): recode for layouts as
10018         widgets.
10019
10020         * redisplay-output.c (redisplay_output_layout): recode for layouts
10021         as widgets.
10022         (compare_runes): remove layout references.
10023
10024         * redisplay-msw.c (mswindows_output_display_block): recode for
10025         layouts as widgets.
10026
10027         * glyphs-widget.c (image_instantiator_layout): remove
10028         layout_possible_dest_types.
10029         (layout_possible_dest_types): deleted.
10030
10031         * glyphs.h (image_instance_type): remove layout references.
10032         (struct Lisp_Image_Instance): ditto. Add initialized flag.
10033         (IMAGE_INSTANCE_INITIALIZED): new accessor.
10034         (XIMAGE_INSTANCE_INITIALIZED): ditto.
10035
10036 2000-04-25  Andy Piper  <andy@xemacs.org>
10037
10038         * glyphs-widget.c (image_instantiator_buttons):
10039         (image_instantiator_edit_fields):
10040         (image_instantiator_combo_box):
10041         (image_instantiator_scrollbar):
10042         (image_instantiator_progress_guage):
10043         (image_instantiator_tree_view):
10044         (image_instantiator_tab_control):
10045         (image_instantiator_labels):
10046         (image_instantiator_layout): call default post_instantiate method.
10047         (widget_post_instantiate): new function. Simply lays out the
10048         widgets.
10049
10050         * glyphs.h (struct image_instantiator_methods): add
10051         post_instantiate method.
10052
10053         * glyphs.c (instantiate_image_instantiator): add post_instantiate
10054         method calls.
10055
10056 2000-04-23  Andy Piper  <andy@xemacs.org>
10057
10058         * glyphs.h (struct image_instantiator_methods): add
10059         decode_domain_method.
10060         (struct Lisp_Image_Instance): remove subwindow frame - it can be
10061         derived from the domain.
10062         (IMAGE_INSTANCE_FRAME): new accessor.
10063         (XIMAGE_INSTANCE_FRAME): ditto.
10064
10065         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
10066         instead of _SUBWINDOW_FRAME.
10067         (finalize_image_instance): ditto.
10068         (Fimage_instance_foreground): ditto.
10069         (Fimage_instance_background): ditto.
10070         (image_instantiate): ditto.
10071         (update_subwindow_cachel): ditto.
10072         (update_subwindow): ditto.
10073         (unmap_subwindow): ditto.
10074         (map_subwindow): ditto
10075         (subwindow_instantiate): ditto.
10076         * glyphs-msw.c (mswindows_update_widget): ditto.
10077         (mswindows_progress_gauge_instantiate): ditto.
10078         (mswindows_tab_control_update): ditto.
10079         * glyphs-x.c (x_update_widget): ditto.
10080         (x_widget_instantiate): ditto.
10081         (x_tab_control_instantiate): ditto.
10082         (x_tab_control_update): ditto.
10083         * event-msw.c (mswindows_wnd_proc): ditto
10084
10085         * glyphs-widget.c (image_instantiator_layout): use
10086         subwindow_decode_domain.
10087         (image_instantiator_buttons): ditto.
10088         (image_instantiator_edit_fields): ditto.
10089         (image_instantiator_combo_box): ditto.
10090         (image_instantiator_scrollbar): ditto.
10091         (image_instantiator_progress_guage): ditto.
10092         (image_instantiator_tree_view): ditto.
10093         (image_instantiator_tab_control): ditto.
10094         (image_instantiator_labels): ditto.
10095         (image_instantiator_layout): ditto.
10096
10097         * glyphs.c: add instance error checking to many functions.
10098         (instantiate_image_instantiator): decode device from cache_domain.
10099         (image_instantiate): partially rewrite by using
10100         decode_image_instantiator_domain to determine what domain the
10101         instance needs to be cached in.
10102         (decode_image_instantiator_domain): new function. Determine what
10103         domain the image needs to be cached in.
10104         (check_window_subwindow_cache): new error checking function.
10105         (check_instance_cache_mapper): ditto.
10106         (check_image_instance_structure): ditto.
10107         (subwindow_decode_domain): new function. Encodes a window as a
10108         subwindow's cache domain.
10109         (image_instantiator_format_create): use it for text and
10110         subwindows.
10111
10112 2000-04-21  Andy Piper  <andy@xemacs.org>
10113
10114         * glyphs.c (image_instance_device): new function.
10115         (image_instance_frame): new function.
10116         (image_instance_window): new function.
10117         (image_instance_live_p): new function.
10118
10119         * window.c (mark_window_as_deleted): reset the subwindow_instance_
10120         cache to nil.
10121
10122         * glyphs.h (struct Lisp_Image_Instance): device->domain.
10123         (IMAGE_INSTANCE_DOMAIN): new accessor.
10124         (XIMAGE_INSTANCE_DOMAIN): ditto.
10125
10126         * glyphs-x.c (x_finalize_image_instance): device->domain.
10127
10128         * glyphs-msw.c (init_image_instance_geometry): device->domain.
10129         (mswindows_finalize_image_instance): ditto.
10130
10131         * glyphs-eimage.c (jpeg_instantiate): device->domain.
10132         (gif_instantiate): ditto.
10133         (png_instantiate): ditto.
10134         (tiff_instantiate): ditto.
10135
10136         * glyphs.c (instantiate_image_instantiator): use domain rather
10137         than device.
10138         (mark_image_instance): device -> domain.
10139         (print_image_instance): ditto.
10140         (finalize_image_instance): ditto.
10141         (image_instance_equal): ditto.
10142         (allocate_image_instance): ditto.
10143         (Fcolorize_image_instance): ditto.
10144         (query_string_geometry): ditto.
10145         (image_instantiate): ditto
10146         (query_string_font): ditto.
10147         (image_instantiate): ditto.
10148         (update_subwindow): ditto.
10149         (unmap_subwindow): ditto.
10150         (map_subwindow): ditto.
10151         (subwindow_instantiate): ditto.
10152
10153         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
10154         (DOMAIN_FRAME): ditto.
10155         (DOMAIN_WINDOW): ditto.
10156         (DOMAIN_LIVE_P): ditto.
10157         (XDOMAIN_DEVICE): ditto.
10158         (XDOMAIN_FRAME): ditto.
10159         (XDOMAIN_WINDOW): ditto.
10160
10161         * specifier.c (Fvalid_specifier_domain_p): add image instances as
10162         a valid specifier domain.
10163
10164 2000-04-19  Andy Piper  <andy@xemacs.org>
10165
10166         * glyphs-widget.c (syms_of_glyphs_widget): remove
10167         widget-callback-current-channel.
10168         (vars_of_glyphs_widget): ditto.
10169         * glyphs.h: ditto
10170
10171         * gui.c (get_gui_callback): revert to previous behaviour.
10172
10173 2000-04-18  Andy Piper  <andy@xemacs.org>
10174
10175         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
10176         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
10177         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
10178
10179         * glyphs.c (image_instance_equal): add margin_width.
10180         (image_instance_hash): ditto.
10181
10182         * glyphs-widget.c (widget_instantiate): deal with margin-width.
10183         (layout_query_geometry): ditto.
10184         (layout_layout): ditto.
10185         (syms_of_glyphs_widget): add margin-width.
10186         (image_instantiator_layout): allow margin-width.
10187
10188         * glyphs.c (update_widget_instances): make a normal function.
10189         (syms_of_glyphs): remove Qupdate_widget_instances.
10190         * glyphs.h: ditto.
10191
10192         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
10193         so that we don't corrupt ideas about the last event or
10194         command. Remove widget-callback-current-channel fiddling.
10195         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10196
10197 2000-05-01  Martin Buchholz <martin@xemacs.org>
10198
10199         * XEmacs 21.2.33 is released.
10200
10201 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
10202
10203         * make-src-depend: Allow dots in header file name.
10204
10205 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
10206
10207         * mule-charset.h (struct charset_lookup): Add
10208         next_allocated_1_byte_leading_byte and
10209         next_allocated_2_byte_leading_byte.
10210         * mule-charset.c: Move above two variables so that those values
10211         will be dumped.
10212
10213 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
10214
10215         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
10216         when string length is zero.
10217         (find_charsets_in_emchar_string): Ditto.
10218
10219 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
10220
10221         * lisp.h: extern Qdialog and Qmenubar.
10222
10223         * gui-x.c: added events.h.
10224                 also fixed typo which made the file uncompilable.
10225
10226         * general.c: Added Qmenubar and Qdialog
10227
10228 2000-04-28  Ben Wing  <ben@xemacs.org>
10229
10230         * frame-msw.c (mswindows_init_frame_1):
10231         * frame-msw.c (mswindows_mark_frame):
10232         * event-msw.c (mswindows_enqueue_dispatch_event):
10233         * console-msw.h:
10234         * console-msw.h (struct mswindows_frame):
10235         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
10236         there are now three hash tables for callbacks.
10237         mswindows_enqueue_dispatch_event is no longer static.
10238
10239         * dialog-x.c (maybe_run_dbox_text_callback):
10240         * dialog-x.c (dbox_descriptor_to_widget_value):
10241         switch to new cons3 form for callbacks.
10242
10243         * glyphs-msw.c (mswindows_register_gui_item):
10244         * glyphs-msw.c (mswindows_widget_instantiate):
10245         * glyphs-msw.c (add_tree_item):
10246         * glyphs-msw.c (add_tab_item):
10247         new image instance parameter, so it can be passed to callback-ex.
10248         respect :callback-ex as well as :callback.
10249
10250         * glyphs-widget.c (VALID_GUI_KEYWORDS):
10251         add :callback-ex.
10252
10253         * glyphs.c (print_image_instance):
10254         prettify, e.g. now prints widget type.
10255
10256         * gui-x.h:
10257         certain funs have new image instance parameter.
10258
10259         * gui.c:
10260         * gui.c (get_gui_callback):
10261         * gui.c (gui_item_add_keyval_pair):
10262         * gui.c (gui_item_init):
10263         * gui.c (gui_add_item_keywords_to_plist):
10264         * gui.c (mark_gui_item):
10265         * gui.c (gui_item_hash):
10266         * gui.c (gui_item_equal):
10267         * gui.c (copy_gui_item):
10268         * gui.c (syms_of_gui):
10269         recognize callback-ex in a number of places.
10270         also, fix the annoying "can't get out of yes-no dialog" bug.
10271
10272         * gui.h:
10273         * gui.h (struct Lisp_Gui_Item):
10274         recognize callback-ex in a number of places.
10275
10276         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10277         new parameter in button_item_to_widget_value.
10278
10279         * glyphs-x.c (x_update_widget):
10280         * glyphs-x.c (x_button_instantiate):
10281         * glyphs-x.c (x_button_update):
10282         * glyphs-x.c (x_progress_gauge_instantiate):
10283         * glyphs-x.c (x_edit_field_instantiate):
10284         * glyphs-x.c (x_combo_box_instantiate):
10285         * glyphs-x.c (x_tab_control_instantiate):
10286         * glyphs-x.c (x_label_instantiate):
10287         new image instance parameter in various places.
10288
10289         * event-Xt.c:
10290         * event-Xt.c (enqueue_Xt_dispatch_event):
10291         this fun gets exported.
10292
10293         * gui-msw.c:
10294         * gui-msw.c (mswindows_handle_gui_wm_command):
10295         handle both :callback and :callback-ex, and generate our own
10296         event because it's one of the callback-ex arguments.
10297
10298         * gui-x.c:
10299         * gui-x.c (popup_selection_callback):
10300         handle both :callback and :callback-ex, and generate our own
10301         event because it's one of the callback-ex arguments.
10302         * gui-x.c (button_item_to_widget_value):
10303         * gui-x.c (gui_items_to_widget_values_1):
10304         * gui-x.c (gui_item_children_to_widget_values):
10305         * gui-x.c (gui_items_to_widget_values):
10306         new image instance parameter in various places.
10307
10308         * fns.c (Freplace_list):
10309         fix small typo in doc string.
10310
10311         * lisp.h:
10312         declare enqueue_Xt_dispatch_event.
10313
10314 2000-04-28  Ben Wing  <ben@xemacs.org>
10315
10316         * buffer.c:
10317         * buffer.c (Frecord_buffer):
10318         * buffer.c (syms_of_buffer):
10319         delete record-buffer-hook.
10320
10321         * fns.c:
10322         * fns.c (Freplace_list):
10323         * fns.c (syms_of_fns):
10324         new primitive replace-list.
10325
10326         * frameslots.h:
10327         slot for old buffer-alist.
10328
10329         * lisp.h:
10330         exfun replace-list.
10331
10332         * redisplay.c:
10333         * redisplay.c (redisplay_frame):
10334         * redisplay.c (syms_of_redisplay):
10335         * redisplay.c (vars_of_redisplay):
10336         new hook buffer-list-changed-hook.
10337         call it.
10338
10339 2000-04-27  Ben Wing  <ben@xemacs.org>
10340
10341         * extents.h: extern in_modeline_generation.
10342
10343         * redisplay.c (generate_formatted_string_db): set
10344         in_modeline_generation.
10345
10346         * extents.c (extent_changed_for_redisplay): don't mark redisplay
10347         flags if in modeline generation.  otherwise frame-modified-tick
10348         is ticked far too often.
10349         Declare in_modeline_generation.
10350
10351 2000-04-26  Ben Wing  <ben@xemacs.org>
10352
10353         * emacs.c (vars_of_emacs): document quick-build "error-checking"
10354         option.
10355         (vars_of_emacs): add quick-build as an error-checking option.
10356         A bit kludgy, but there doesn't seem much point in creating
10357         a real var for this.
10358
10359         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
10360
10361 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10362
10363         * redisplay.h (struct display_line): Add a new variable,
10364         line_continuation.
10365
10366         * redisplay.c (create_text_block): Set dl->line_continuation if
10367         the line continues.
10368         (create_string_text_block): Ditto.
10369         (regenerate_window_incrementally): Use line_continuation instead
10370         of searching continuation glyph.
10371         (add_margin_runes): Call add_glyph_rune.
10372         (add_glyph_rune): Handle margin glyph.
10373
10374 2000-04-20  Martin Buchholz  <martin@xemacs.org>
10375
10376         * filelock.c (fill_in_lock_file_name):
10377         ANSIfy.
10378         Check for IS_ANY_SEP instead of '/'.
10379         (lock_file_1):
10380         Avoid generating gratuitous garbage.  Call user_login_name() directly.
10381         Never check errno without first seeing that system call failed.
10382         (unlock_file): Add GCPRO.
10383         (Flock_buffer): Fix docstring.
10384         (Ffile_locked_p): Fix docstring.  Add GCPRO.
10385
10386 2000-04-19  Martin Buchholz  <martin@xemacs.org>
10387
10388         * sysdep.c (get_pty_max_bytes):
10389         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
10390         strings longer than 252 bytes.
10391
10392         * md5.c: Unconditionally include ANSI header <limits.h>
10393
10394         * glyphs-x.c (convert_EImage_to_XImage):
10395         * lisp-union.h (union Lisp_Object):
10396         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
10397
10398 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10399
10400         * filelock.c (current_lock_owner): Remove unused variable o, p.
10401
10402 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
10403
10404         * callint.c: Remove multiply defined symbol Qlet
10405         (syms_of_callint): ditto.
10406
10407 2000-04-14  Andy Piper  <andy@xemacs.org>
10408
10409         * general.c (syms_of_general): add last-command, this-command, let
10410         and funcall.
10411
10412         * lisp.h: declare various symbols.
10413
10414         * glyphs.h: declare Qwidget_callback_current_channel;
10415
10416         * glyphs-widget.c (syms_of_glyphs_widget): add
10417         Qgui_callback_current_channel.
10418         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
10419
10420         * gui-msw.c (mswindows_handle_gui_wm_command): bind
10421         widget-callback-current-channel when invoking the interactive
10422         arg. Also bind last-command and next-command when invoking the
10423         widget updates.
10424         * gui-x.c (popup_selection_callback): ditto.
10425
10426         * gui.c (get_gui_callback): massage args so that we are always
10427         calling eval. This allows us to add our own variable bindings
10428         outside.
10429
10430         * glyphs-x.c (x_button_instantiate): use
10431         gui_items_to_widget_values since this is GC safe.
10432         (x_progress_gauge_instantiate): ditto.
10433         (x_edit_field_instantiate): ditto.
10434         (x_label_instantiate): ditto.
10435
10436         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
10437         (emacs_Xt_event_widget_focus_out): new function
10438         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
10439         focus.
10440         (emacs_Xt_event_add_widget_actions): new function. add focus
10441         functions as actions.
10442         (init_event_Xt_late): use it.
10443
10444 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
10445
10446         * event-stream.c (Fdispatch_event): Doc fix.
10447
10448 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
10449
10450         * postgresql.c: Remove all references to PQsetenv*.
10451
10452         * postgresql.h: Remove references to PGsetenvHandler object.
10453         * lrecord.h (lrecord_type): Ditto.
10454
10455 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10456
10457         * glyphs-msw.h (struct mswindows_image_instance_data): Added
10458         real_heigh and real_width members, and accessor macros for these.
10459
10460         * glyphs-msw.c (init_image_instance_geometry): New function.
10461         (init_image_instance_from_dibitmap): Use it.
10462         (mswindows_resource_instantiate): Use it.
10463         (init_image_instance_from_xbm_inline): Use it.
10464         (mswindows_initialize_image_instance_mask): Use real bitmap
10465         geometry.
10466         (mswindows_create_resized_bitmap): Ditto.
10467         (mswindows_create_resized_mask): Ditto.
10468
10469         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
10470         and bitmap to their surface size.
10471
10472 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
10473
10474         * process-unix.c (unix_send_process): Guard against process MIA
10475         after Faccept_process_output.
10476
10477 2000-04-11  Ben Wing  <ben@xemacs.org>
10478
10479         * eval.c (unbind_to_hairy): fix brokenness introduced by
10480         nanosecond speed improvements.
10481
10482 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
10483
10484         * sunplay.c (init_device): To play sounds correctly, the device
10485         apparently needs to be initialized at least once by XEmacs.  Make
10486         it so.
10487
10488 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10489
10490         * redisplay.c (add_margin_runes): Add text image glyph
10491           handling.
10492
10493 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10494
10495         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
10496         gcc is newer than 2.5.
10497
10498 2000-04-06  Colin Rafferty  <colin@xemacs.org>
10499
10500         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
10501
10502         * fns.c (size_bit_vector):
10503         * alloc.c (size_vector):
10504         (make_vector_internal):
10505         (make_bit_vector_internal):
10506         (sweep_bit_vectors_1):
10507         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
10508
10509 2000-04-06  Andy Piper  <andy@xemacs.org>
10510
10511         * gmalloc.c (malloc): undo previous change.
10512         (malloc): ditto.
10513         (free): ditto.
10514         (realloc): ditto.
10515
10516 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
10517
10518         * line-number.c (buffer_line_number): Revert to former version.
10519
10520 2000-04-06  Andy Piper  <andy@xemacs.org>
10521
10522         * gmalloc.c (malloc): add error checking.
10523         (malloc): ditto.
10524         (free): ditto.
10525         (realloc): ditto.
10526
10527         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
10528         button_item_to_widget_value arg.
10529
10530         * glyphs-x.c (x_button_instantiate): add extra
10531         button_item_to_widget_value arg.
10532         (x_progress_gauge_instantiate): ditto.
10533         (x_edit_field_instantiate): ditto.
10534         (x_label_instantiate): ditto.
10535
10536         * gui-x.c (gui_items_to_widget_values_1): add extra
10537         button_item_to_widget_value arg.
10538         (button_item_to_widget_value): add extra menu_item_p arg.
10539
10540         * gui-x.h: change signature of button_item_to_widget_value.
10541
10542         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
10543         button_item_to_widget_value arg.
10544
10545 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10546
10547         * buffer.h (struct buffer): auto_save_modified should be long.
10548
10549 2000-04-05  Andy Piper  <andy@xemacs.org>
10550
10551         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
10552         type.
10553         (button_query_geometry): give a little more room so that athena
10554         buttons fit.
10555
10556 2000-04-05  Andy Piper  <andy@xemacs.org>
10557
10558         * faces.c (complex_vars_of_faces): The widget face should inherit
10559         the font of the gui-element face.
10560
10561 2000-04-04  Andy Piper  <andy@xemacs.org>
10562
10563         * glyphs-x.c (x_button_update): new function. unconditionally
10564         update a button's state when the instance is dirty.
10565         (image_instantiator_format_create_glyphs_x): add x_button_update.
10566         (x_widget_instantiate): remove old resize cruft.
10567
10568 2000-04-02  Andy Piper  <andy@xemacs.org>
10569
10570         * frame.c (change_frame_size_1): The introduction of gutters means
10571         that we need to allow 0 as a potential frame dimension.
10572
10573 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10574
10575         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
10576         image glyph if allow_cursor.
10577         (add_hscroll_rune): Don't allow cursor to border glyph.
10578         (create_text_block): Ditto.
10579
10580         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
10581         text not in buffer.
10582         (redisplay_output_layout): Call ensure_face_cachel_complete for
10583         text image glyph.
10584
10585
10586 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10587
10588         * redisplay.c (add_glyph_rune): Adding text image as text runes.
10589
10590         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
10591         not in buffer
10592
10593         * redisplay-tty.c (tty_output_display_block): Delete the routine
10594         for text image glyph
10595         * redisplay-x.c (x_output_display_block): ditto
10596         * redisplay-msw.c (mswindows_output_display_block): ditto
10597
10598 2000-02-02  Mike Alexander  <mta@arbortext.com>
10599
10600         Note: Some of these were committed by accident as part of other
10601         patches.
10602
10603         * regex.c (regex_compile): Avoid compiler warnings.
10604
10605         * ntproc.c (sys_spawnve): Avoid compiler warnings.
10606
10607         * nt.h: Declare term_ntproc correctly.
10608
10609         * nt.c: Remove incorrect declaration of get_home_directory which
10610         is declared correctly in lisp.h.
10611
10612         * keymap.c (get_keyelt): Avoid compiler warnings.
10613         (raw_lookup_key_mapper): Avoid compiler warnings.
10614
10615         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
10616
10617         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
10618
10619         * filemode.c (mode_string): Avoid compiler warnings.
10620
10621         * file-coding.c (Fcoding_system_aliasee): Add return statement to
10622         avoid warning.
10623
10624         * events-mod.h: Undef some things that winuser.h defines differently.
10625
10626         * data.c (Faset): Avoid compiler warnings.
10627
10628         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
10629
10630 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10631
10632         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
10633         Fall through to simple beep on error.
10634         Replace "extern" by real header file.
10635
10636         * linuxplay.c: Use nativesound.h
10637         (play_sound_data): Return error code. Be less verbose on error.
10638
10639         * sunplay.c: Use nativesound.h
10640         (play_sound_data): Return error code. Be less verbose on error.
10641
10642         * ntplay.c: Use nativesound.h
10643         (play_sound_data): Return fake error code
10644
10645         * sgiplay.c: Use nativesound.h
10646         (play_sound_data): Return error code
10647
10648         * hpplay.c: Use nativesound.h, partially implement
10649         new error code. Break compilation until finished.
10650         (play_sound_data): error code.
10651
10652         * nativesound.h (play_sound_file):
10653           (play_sound_data): Prototype in new header.
10654
10655 2000-03-31  Andy Piper  <andy@xemacs.org>
10656
10657         * glyphs-widget.c: (button_query_geometry): new function. Adjust
10658         for toggle and radio buttons.
10659         (image_instantiator_buttons): use it.
10660
10661 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10662
10663         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
10664         (x_update_horizontal_scrollbar_callback): Return if no mirror was
10665         found. Scrollbar event probably belonged to some old config.
10666
10667 2000-03-31  Andy Piper  <andy@xemacs.org>
10668
10669         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
10670         than 1.
10671         (initialize_widget_image_instance): default layout to
10672         LAYOUT_HORIZONTAL rather than 0.
10673         (widget_instantiate): reverse the item list at the end rather than
10674         every iteration.
10675         (layout_layout): re-code for the border text at the front of the
10676         item list rather than at the end.
10677         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
10678         provided by the user.
10679         (widget_query_geometry): comment.
10680
10681 2000-03-30  Andy Piper  <andy@xemacs.org>
10682
10683         * glyphs-widget.c (image_instantiator_layout): allow standard
10684         widget keywords in layouts.
10685
10686         * gutter.c (output_gutter): cope with nil gutter contents.
10687
10688         * frame.c (Fset_frame_properties): add gutter docs.
10689
10690 2000-03-29  Andy Piper  <andy@xemacs.org>
10691
10692         * toolbar-msw.c (TBSTYLE_FLAT): add.
10693         (mswindows_output_toolbar): minor fiddling.
10694
10695 2000-03-29  Andy Piper  <andy@xemacs.org>
10696
10697         * gutter.c (output_gutter): force gutter size recalculation if
10698         what we are trying to display won't fit.
10699         (update_gutter_geometry): new function. A per-gutter version of
10700         update_frame_gutter_geometry.
10701         (update_frame_gutter_geometry): use it.
10702         (redraw_exposed_gutter): add extra debugging output.
10703
10704 2000-03-28  Mike Alexander  <mta@arbortext.com>
10705
10706         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
10707         (pdump_file_unmap): Implement it on Windows
10708         (pdump_file_get): Save alocated handles for pdump_file_unmap
10709
10710 2000-03-28  Andy Piper  <andy@xemacs.org>
10711
10712         * gui.c (get_gui_callback): treat Quit specially.
10713
10714 2000-03-27  Andy Piper  <andy@xemacs.org>
10715
10716         * glyphs.c (image_instantiate): be careful to check in the same
10717         way we assigned.
10718
10719 2000-03-27  Didier Verna  <didier@xemacs.org>
10720
10721         * config.h.in: define the proper SMART_INCLUDE macro.
10722         handle renaming of `foo_h_path' to `foo_h_file'.
10723
10724         * database.c: ditto.
10725
10726         * emacs.c: ditto.
10727
10728         * linuxplay.c: ditto.
10729
10730         * terminfo.c: ditto.
10731
10732         * tooltalk.h: ditto.
10733
10734 2000-03-27  Andy Piper  <andy@xemacs.org>
10735
10736         * glyphs-msw.c (mswindows_update_widget): make sure the widget
10737         gets updated whenever the face might have changed.
10738
10739 2000-03-26  Mike Alexander  <mta@arbortext.com>
10740
10741         * dumper.c (pdump_resource_free): Fix the comment.
10742
10743 2000-03-21  Olivier Galibert  <galibert@pobox.com>
10744
10745         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
10746
10747 2000-03-22  Mike Alexander  <mta@arbortext.com>
10748
10749         * dumper.c: Include Windows headers on Windows
10750         (pdump_resource_free): Add a body to the function
10751         (pdump_load): exe_name -> exe_path and add some comments.
10752
10753 2000-03-25  Mike Alexander  <mta@arbortext.com>
10754
10755         * gui.c (copy_gui_item_tree): Return a value in all cases
10756
10757 2000-03-21  Didier Verna  <didier@xemacs.org>
10758
10759         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
10760         lwlib/config.h.in.
10761         (SMART_INCLUDE): new macro.
10762         (POSTGRES_INCLUDE): new macro to include postgresql headers from
10763         the proper location.
10764
10765         * postgresql.c: use it.
10766
10767         * inline.c: ditto.
10768
10769 2000-03-24  Andy Piper  <andy@xemacs.org>
10770
10771         * gutter.c (redraw_exposed_gutters): must be "in display" when we
10772         do this.
10773
10774 2000-03-24  Andy Piper  <andy@xemacs.org>
10775
10776         * redisplay-output.c (compare_runes): use image_instance_changed
10777         to detect changes. Do not depend on glyphs_changed, only depend on
10778         dirtiness.
10779          (redisplay_output_layout): add debug messages.
10780         (compare_runes): ditto.
10781
10782         * glyphs.h: declare new functions.
10783         (struct Lisp_Image_Instance): remove percent and associated
10784         accessors.
10785
10786         * gui.h: declare new copying functions.
10787
10788         * gui.c (copy_gui_item_tree): new function.
10789         (copy_gui_item): new function.
10790         (gui_item_id_hash): revert to standard hash.
10791         (gui_item_hash): ditto.
10792         (gui_item_hash_internal): deleted.
10793         (mark_gui_item): mark value.
10794         (gui_item_add_keyval_pair): add value.
10795         (gui_item_init): ditto.
10796         (gui_add_item_keywords_to_plist): ditto.
10797         (gui_item_equal): ditto.
10798         (syms_of_gui): add Q_value.
10799
10800         * glyphs-x.c (x_progress_gauge_update): use pending items and
10801         value for setting the state.
10802         (x_update_widget): don't set items from pending here.
10803
10804         * glyphs-widget.c (update_widget): update items here.
10805         (progress_gauge_set_property): use items for storing value. Put
10806         new value in pending items.
10807
10808         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10809         items for new value. Convert percent -> value.
10810         (mswindows_tab_control_update): don't update items here.
10811
10812         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10813         (update_subwindow): ditto.
10814         (image_instance_changed): new function. Compare hash values and
10815         past and present widget items.
10816         (image_instantiate): We more careful about where we instantiate
10817         things.
10818         (image_instantiate): add error checking.
10819
10820         * gutter.c (syms_of_gutter): use -hook.
10821
10822 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10823
10824         * console-tty.c (Fset_console_tty_input_coding_system): Use
10825         Qkeyboard.
10826         (Fset_console_tty_output_coding_system): Use Qterminal.
10827         (tty_init_console): Use Qkeyboard and Qterminal.
10828
10829 2000-03-21  Ben Wing  <ben@xemacs.org>
10830
10831         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10832         From Mike Alexander <mta@arbortext.com>.
10833
10834 2000-03-21  Ben Wing  <ben@xemacs.org>
10835
10836         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10837         process brokenness.  Proper implementation to come.
10838         * callproc.c:
10839         Rename call-process-internal to old-call-process-internal.
10840         New impl. in process.el.
10841
10842 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10843
10844         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10845
10846 2000-03-20  Andy Piper  <andy@xemacs.org>
10847
10848         * glyphs.c (full_list_hash): make hashes of the same elements in
10849         different orders return different values.
10850
10851 2000-03-20  Martin Buchholz <martin@xemacs.org>
10852
10853         * XEmacs 21.2.32 is released.
10854
10855 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10856
10857         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10858         (DFC_MALLOC_USE_CONVERTED_DATA):
10859         Add aliasing-safe casts to allow use with char* or unsigned char*
10860         lvalues.
10861
10862         * eldap.c (Fldap_open):
10863         (Fldap_search_basic):
10864         (Fldap_add):
10865         (Fldap_modify):
10866         Make C++-compilable.
10867         Make sure GCPRO'ed variables are initialized.
10868         Use temp variables to avoid repeated calls to Flength.
10869
10870 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10871
10872         * sysfile.h:
10873         Make sure PATH_MAX is always defined.
10874         Include limits.h for PATH_MAX.
10875         Deprecate use of MAXPATHLEN.
10876
10877 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10878
10879         * emacs.c: Add reinit_vars_of_fileio.
10880         * symsinit.h: Add reinit_vars_of_fileio.
10881         * fileio.c (reinit_vars_of_fileio): New.
10882         * fileio.c (Fmake_temp_name):
10883         Initialize temp_name random number from microseconds to make
10884         collisions even less likely.  Initialize always at process startup
10885         time.  (make-temp-name) used to return the same file name twice in
10886         a row when PDUMP.
10887         Random stylistic fiddling.
10888         Comment fixes.
10889
10890 2000-03-20  Andy Piper  <andy@xemacs.org>
10891
10892         * glyphs.c (image_instantiate): allow text glyphs to be
10893         instantiated in the minibuffer window.
10894
10895 2000-03-19  Andy Piper  <andy@xemacs.org>
10896
10897         * glyphs.c (image_instance_hash): be careful about which items we
10898         hash on.
10899
10900         * glyphs-widget.c (tab_control_set_property): record into pending
10901         items rather than the actual items.
10902
10903         * glyphs-x.c (x_update_widget): use pending items to update with.
10904
10905         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10906         to update with.
10907
10908         * glyphs.c (mark_image_instance): mark pending items.
10909
10910         * window.c (Fset_window_configuration): record the buffer.
10911         (Fselect_window): totally revert previous change which breaks many
10912         things.
10913
10914 2000-03-18  Andy Piper  <andy@xemacs.org>
10915
10916         * glyphs-msw.c (mswindows_tab_control_update): force selected
10917         item.
10918
10919         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10920         window domain cache, otherwise we get inconsistencies at
10921         startup. There is something fishy at startup which can lead to the
10922         minibuffer being the selected window when the gutter content is
10923         instantiated.
10924
10925         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10926         gcpros.
10927         (parse_gui_item_tree_children): ditto.
10928         (parse_gui_item_tree_item): ditto.
10929
10930         * glyphs.c (Fupdate_widget_instances): return something.
10931
10932 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10933
10934         * window.c (Fselect_window): Undo 2000-03-17 change.
10935
10936 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10937
10938         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10939         against v7.0 libraries.  Insta-coredump city until the postgres
10940         folks fix it.
10941
10942 2000-03-17  Andy Piper  <andy@xemacs.org>
10943
10944         * faces.c (complex_vars_of_faces): don't give the widget face an
10945         inherited background pixmap.
10946
10947         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10948         selected item.
10949
10950         * event-stream.c (Fdispatch_non_command_events): return something.
10951
10952         * gutter.c (output_gutter): use widget face.
10953         (clear_gutter): ditto.
10954
10955         * NEWS: adjust again.
10956
10957         * window.c (Fselect_window): make sure this runs to completion to
10958         avoid oddities with Fset_window_configuration.
10959         (Fcurrent_window_configuration): in general do not save the
10960         minibuffer as the selected window.
10961
10962         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10963
10964 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10965
10966         * emacs.c (Frunning_temacs_p): Revert previous patch.
10967         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10968
10969 2000-03-16  Andy Piper  <andy@xemacs.org>
10970
10971         * glyphs-x.c (x_tab_control_update): if no widget values then
10972         return.
10973
10974         * NEWS: update for new features.
10975
10976         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10977         synthetic event to the native system.
10978         (reinit_vars_of_event_Xt): set force_event_pending to
10979         emacs_Xt_force_event_pending.
10980
10981         * events.h (struct event_stream): add force_event_pending.
10982
10983         * specifier.c (recompute_one_cached_specifier_in_window): add
10984         comment.
10985
10986         * redisplay.c (redisplay_frame): don't call
10987         update_frame_subwindows. Reset subwindow cachels when
10988         subwindows_changed, removing this was an optimization too far.
10989
10990         * redisplay-output.c (compare_runes): reorganize so that we catch
10991         glyph changes when we want them. Set optimize_output when this
10992         would help layouts.
10993         (redisplay_output_layout): remove frame_really_changed, use
10994         optimize_output instead.
10995
10996         * redisplay-msw.c (mswindows_output_display_block): reset
10997         optimize_output after outputting a glyph.
10998         * redisplay-x.c (x_output_display_block): ditto.
10999         * redisplay-tty.c (tty_output_display_block): ditto.
11000
11001         * gutter.c: (specifier_vars_of_gutter): use new spec changed
11002         functions.
11003         (gutter_specs_changed): do specific gutter positions.
11004         (top_gutter_specs_changed): new function. Only update the
11005         specified gutter specs.
11006         (bottom_gutter_specs_changed): ditto.
11007         (left_gutter_specs_changed): ditto.
11008         (right_gutter_specs_changed): ditto.
11009
11010         * gui.c (gui_item_hash_internal): new function, does a real hash.
11011         (gui_item_id_hash): use it.
11012         (gui_item_hash): hash the eval'ed gui_item.
11013
11014         * gui-x.c (popup_selection_callback): send an eval event to call
11015         Fupdate_widget_instances.
11016
11017         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
11018         to call Fupdate_widget_instances.
11019
11020         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
11021         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
11022
11023         * glyphs.c: (update_frame_subwindows): deleted.
11024         (Fupdate_widget_instances): new function for updating the dirty
11025         state of widgets that might have changed.
11026         (syms_of_glyphs): add Qupdate_widget_instances.
11027         (full_list_hash): hash a list completely.
11028         (image_instance_hash): use it for items and properties.
11029
11030         * frame-msw.c (mswindows_size_frame_internal): remove unused
11031         variable.
11032
11033         * faces.h (struct face_cachel): fix comment.
11034
11035         * event-stream.c (Fdispatch_non_command_events): new
11036         function. Process non-command events, forcing an event cycle
11037         beforehand.
11038         (syms_of_event_stream): declare.
11039         (event_stream_force_event_pending): new function. Force an event
11040         on the native event queue so that an event cycle will occur next
11041         time we check.
11042
11043         * event-msw.c:
11044         (struct ntpipe_shove_stream):
11045         (mswindows_enqueue_dispatch_event):
11046         (mswindows_dequeue_dispatch_event):
11047         (mswindows_cancel_dispatch_event):
11048         (mswindows_pump_outstanding_events):
11049         (mswindows_drain_windows_queue):
11050         (mswindows_handle_paint):
11051         (mswindows_wnd_proc):
11052         (mswindows_key_to_emacs_keysym):
11053         (get_process_input_waitable):
11054         (emacs_mswindows_delete_stream_pair): re-indent file.
11055         (mswindows_need_event): do not process further fds if the windows
11056         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
11057         fixes the 100% cpu problem.
11058         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
11059
11060 2000-03-15  Olivier Galibert  <galibert@pobox.com>
11061
11062         * alloc.h: New.
11063         * dumper.h: New.
11064         * dumper.c: New.
11065
11066         * emacs.c: Moved dump file searching to dumper.c.
11067         (Frunning_temacs_p): Fixed.
11068
11069         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
11070         last_lrecord_type_index_assigned.
11071
11072 2000-02-20  Olivier Galibert  <galibert@pobox.com>
11073
11074         * symsinit.h: Added reinit parameter to init_console_stream
11075         declaration.
11076
11077         * lisp.h: Added file parameter to pdump_load declaration.
11078
11079         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
11080         support.  Added dump file searching.
11081
11082         * config.h.in: Added EMACS_PROGNAME.
11083
11084         * console-stream.c (init_console_stream): Fix reinitialisation
11085         when running from temacs.
11086
11087         * alloc.c (pdump): Add id support.
11088         (pdump_load): Add file parameter and signature/id support.
11089
11090         * Makefile.in.in: Add full pdump support.
11091
11092 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
11093
11094         * postgresql.c: Update documentation to reflect latest code
11095         status.
11096         (print_result): Show tuple counts in printed representation when
11097         appropriate.
11098         (Fpq_put_nbytes): MULE-ize.
11099         (Fpq_get_line_async): Ditto.
11100
11101 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
11102
11103         * postgresql.c (Fpq_lo_import): Fix return value.
11104         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
11105
11106 2000-03-13  Ben Wing  <ben@xemacs.org>
11107
11108         * alloc.c (pdump_load):
11109         Fix compile warning under mswin.
11110
11111 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
11112
11113         * postgresql.c: Mule-ization, bug fixes.
11114         Use PG_CODING to encapsulate coding system name changes.
11115         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
11116         (pg-coding-system): Create.
11117
11118         (Fpq_conn_defaults): Mule-ize.
11119         (Fpq_connectdb): Mule-ize & bug fix.
11120         (Fpq_connect_start): Mule-ize.
11121         (Fpq_set_client_encoding): Mule-ize.
11122         (Fpq_finish): Document `DEAD' connection status.
11123         (Fpq_clear): Ditto.
11124         (Fpq_pgconn): Mule-ize.
11125         (Fpq_exec): Mule-ize & bug fix.
11126         (Fpq_send_query): Ditto.
11127         (Fpq_get_result): Ditto.
11128         (Fpq_res_status): Mule-ize.
11129         (Fpq_result_error_message): Mule-ize.
11130         (Fpq_ntuples): fix comments.
11131         (Fpq_fname): Mule-ize.
11132         (Fpq_fnumber): Mule-ize.
11133         (Fpq_ftype): fix comments.
11134         (Fpq_get_value): Mule-ize.
11135         (Fpq_cmd_status): Ditto.
11136         (Fpq_cmd_tuples): Ditto.
11137         (Fpq_oid_value): Ditto.
11138         (Fpq_notifies): Ditto.
11139         (Fpq_lo_import): Ditto.
11140         (Fpq_lo_export): Ditto.
11141         (Fpq_get_line): Ditto.
11142         (Fpq_put_line): Mule-ize and bug fix.
11143         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
11144
11145 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
11146
11147         * postgresql.c (vars_of_postgresql): Mule-ize.
11148         (Fpq_conn_defaults): Ditto.
11149
11150 2000-03-12  Ben Wing  <ben@xemacs.org>
11151
11152         * alloc.c (Fmake_byte_code):
11153         * alloc.c (debug_string_purity_print):
11154         * alloc.c (pdump_backtrace):
11155         * alloc.c (pdump_get_indirect_count):
11156         * alloc.c (pdump_register_sub):
11157         * alloc.c (pdump_register_object):
11158         * alloc.c (pdump_register_struct):
11159         * alloc.c (pdump_dump_data):
11160         * alloc.c (pdump_reloc_one):
11161         Minor cleanups.
11162
11163         * console-msw.c:
11164         * console-msw.c (GetConsoleHwnd):
11165         * console-msw.c (msw_hide_console):
11166         * console-msw.c (msw_show_console):
11167         * console-msw.c (msw_ensure_console_buffered):
11168         * console-msw.c (msw_output_console_string):
11169         * console-msw.c (console_type_create_mswindows):
11170
11171         a) Added functions to manipulate the console window for use with
11172         shell support.
11173
11174         b) Added support for writing text to the console, which is now
11175         used under Windows when xemacs is not being run non-interactively,
11176         to write text that would otherwise be destined for stdout because
11177         under these circumstances, text written to stdout tends to
11178         disappear and not be seen.
11179
11180         * console-msw.h:
11181         * event-Xt.c:
11182         * event-Xt.c (x_event_to_emacs_event):
11183         * event-Xt.c (describe_event_window):
11184         * events-mod.h (XEMACS_MOD_CONTROL):
11185         * events.c:
11186         * events.c (Fmake_event):
11187         * events.c (character_to_event):
11188         * events.c (event_to_character):
11189         * events.c (format_event_object):
11190         * events.c (Fevent_modifiers):
11191         * events.h:
11192         * events.h (struct key_data):
11193         * events.h (struct button_data):
11194         * events.h (struct misc_user_data):
11195         * frame-x.c (Fcde_start_drag_internal):
11196         * frame-x.c (Foffix_start_drag_internal):
11197         * gpmevent.c (Freceive_gpm_event):
11198         * keymap.c:
11199         * keymap.c (bucky_sym_to_bucky_bit):
11200         * keymap.c (control_meta_superify):
11201         * keymap.c (make_key_description):
11202         * keymap.c (keymap_lookup_directly):
11203         * keymap.c (create_bucky_submap):
11204         * keymap.c (keymap_store):
11205         * keymap.c (define_key_check_and_coerce_keysym):
11206         * keymap.c (define_key_parser):
11207         * keymap.c (define_key_alternate_name):
11208         * keymap.c (Fdefine_key):
11209         * keymap.c (raw_lookup_key_mapper):
11210         * keymap.c (struct map_keymap_unsorted_closure):
11211         * keymap.c (map_keymap_unsorted_mapper):
11212         * keymap.c (map_keymap_sort_predicate):
11213         * keymap.c (map_keymap_sorted):
11214         * keymap.c (accessible_keymaps_mapper_1):
11215         * keymap.c (where_is_recursive_mapper):
11216         * keymap.c (describe_map_mapper):
11217         * keymap.c (describe_map_sort_predicate):
11218         * keymap.c (describe_map):
11219         * keymap.c (complex_vars_of_keymap):
11220         And a number of other files, the key modifier preprocessor
11221         constants that xemacs uses have names that conflict with constants
11222         defined under MS Windows for other purposes, so they were renamed
11223         to begin with the prefix XEMACS_. The variables that hold such
11224         modifiers were changed to consistently be of type int to fix
11225         various compile warnings.
11226
11227         * console.c (complex_vars_of_console):
11228         * device.c:
11229         * device-msw.c:
11230         * device-msw.c (mswindows_finish_init_device):
11231         * device-msw.c (msw_get_workspace_coords):
11232         * device-msw.c (mswindows_device_system_metrics):
11233         and various other files, added support for a new
11234         device property called offset-workspace which returns the position
11235         of the upper left corner of the workspace area and goes along with
11236         the existing size-workspace property.
11237
11238         * dialog-msw.c:
11239         * dialog-msw.c (push_bufbyte_string_as_unicode):
11240         * dialog-msw.c (mswindows_popup_dialog_box):
11241         Added support for XEmacs-style accelerator specifications in
11242         button text.  Note: I didn't add support for this under X Windows,
11243         and somebody needs to do this.
11244
11245         * dialog.c:
11246         * dialog.c (Fpopup_dialog_box):
11247         Documented the support for accelerators that was just mentioned.
11248
11249         editfns.c (get_home_directory): Changed behavior under Windows
11250         when HOME not defined; former behavior was irretrievably broken.
11251
11252         * emacs.c:
11253         * emacs.c (main_1):
11254         * emacs.c (main):
11255         * minibuf.c (clear_echo_area_internal):
11256         * minibuf.c (echo_area_append):
11257         * print.c:
11258         * print.c (std_handle_out_external):
11259         * print.c (std_handle_out_va):
11260         * print.c (fatal):
11261         * print.c (write_string_to_stdio_stream):
11262         * print.c (output_string):
11263         * print.c (debug_print):
11264         * print.c (debug_backtrace):
11265         * print.c (debug_short_backtrace):
11266         Cleaned up the code that prints text to stdout so that this can be
11267         changed to output into a console window instead under MS Windows,
11268         as described above.
11269
11270         * eval.c:
11271         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
11272         * eval.c (internal_catch):
11273         * eval.c (unwind_to_catch):
11274         * eval.c (throw_or_bomb_out):
11275         * eval.c (condition_case_1):
11276         * eval.c (signal_1):
11277         * eval.c (check_error_state_sanity):
11278         * eval.c (call_with_suspended_errors_1):
11279         * eval.c (call_with_suspended_errors):
11280         * eval.c (reinit_vars_of_eval):
11281         Added code to catch throw loops and check for a pesky bug that may
11282         be gone now.
11283
11284         * event-msw.c:
11285         * event-msw.c (key_needs_default_processing_p):
11286         * event-msw.c (mswindows_wnd_proc):
11287         * event-msw.c (mswindows_modifier_state):
11288         * event-msw.c (emacs_mswindows_quit_p):
11289         * event-msw.c (vars_of_event_mswindows):
11290         a) Added support for using the alt key to select menu items as is
11291         standard under MS Windows.  This is controlled using the variable
11292         menu-accelerator-enabled, just like under X Windows.  There is an
11293         option on the options menu to turn this support on.  I really
11294         think that it should be on by default under Windows, but I'm not
11295         going to make this change yet.
11296
11297         b)  Added support for dynamic display size changes under Windows.
11298
11299         * event-stream.c:
11300         * event-stream.c (maybe_echo_keys):
11301         * event-stream.c (Fnext_event):
11302         * event-stream.c (command_builder_find_leaf):
11303         * event-stream.c (lookup_command_event):
11304         * event-stream.c (execute_command_event):
11305         * event-stream.c (pre_command_hook):
11306         * event-stream.c (post_command_hook):
11307         * event-stream.c (syms_of_event_stream):
11308         * event-stream.c (vars_of_event_stream):
11309         * event-stream.c (complex_vars_of_event_stream):
11310         * events.h (struct command_builder):
11311
11312         a) Tried to clean up a little bit the horribly written x-specific
11313         accelerator code that crept into this file.  I moved this code
11314         into menubar-x.c where it belongs. I also needed to move the
11315         command builder structure into the file events.h because it is
11316         accessed directly by this accelerator code.  What I didn't do, but
11317         which should be done at some point, is to properly abstract this
11318         code using device methods instead of the kludgy way that it
11319         currently hooks into the event code.
11320
11321         b) Added the lisp variables this-command-properties and
11322         last-command- properties, which should be used to synchronize two
11323         adjacent commands in preference to playing games with the variable
11324         this-command, which is typically what happens.
11325
11326         c) Added some slightly nasty code to hook into the lisp support
11327         for shifted- motion-key selection.  This is actually necessary for
11328         somewhat complicated reasons, which are described in
11329         simple.el. (NB: I think the proper thing would be to have the code
11330         that calls the pre and post command hooks also call out to generic
11331         lisp functions in simple.el, where all built-in stuff could be
11332         added.  I will think about this more.)
11333
11334         * event-unixoid.c (poll_fds_for_input):
11335         * lread.c (readchar):
11336         * redisplay-tty.c (tty_clear_frame):
11337         * redisplay-x.c (x_get_gc):
11338         * signal.c (interrupt_signal):
11339         And a whole bunch of other files: fixed up places that printed
11340         directly to stderr to instead call the function stderr_out so that
11341         the changes I made under Windows work correctly.
11342
11343         * filemode.c (mode_string):
11344         Warning fixes.
11345
11346         * frame-msw.c:
11347         * frame-msw.c (mswindows_size_frame_internal):
11348         Fixed the computation of frame size and position to keep the frame
11349         within the workspace area, rather than within the physical
11350         dimensions of the screen, so that the frame doesn't overlap window
11351         manager decorations, such as the start menu and toolbar, typically
11352         at the bottom of the screen.
11353
11354         * frame.c (vars_of_frame):
11355         Changed the default frame title format under MS Windows to consist
11356         of buffername-XEmacs, which is standard under MS Windows.  I think
11357         it might be a good idea to change this everywhere because I think
11358         it is superior to the current frame title format, but this is the
11359         kind of change that is likely to cause some people to get annoyed,
11360         so I'm not making it.
11361
11362         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
11363
11364         * gui-msw.c (mswindows_handle_gui_wm_command):
11365         Fixed compile warnings.
11366
11367         * gui-x.c:
11368         * gui-x.c (strdup_and_add_accel):
11369         * gui-x.c (button_item_to_widget_value):
11370         * gui-x.h:
11371         Added code to automatically put an accelerator onto the beginning
11372         of menu items that don't have one as is now the standard, and is
11373         described more later.  Also fixed things so that the menu item
11374         name can be an evaluated expression, again a new standard.
11375
11376         * gui.c:
11377         * gui.c (gui_item_add_keyval_pair):
11378         * gui.c (make_gui_item_from_keywords_internal):
11379         * gui.c (gui_add_item_keywords_to_plist):
11380         * gui.c (gui_item_accelerator):
11381         * gui.c (gui_name_accelerator):
11382         * gui.c (gui_item_included_p):
11383         * gui.c (gui_item_display_flush_left):
11384         * gui.c (gui_item_display_flush_right):
11385         * gui.c (parse_gui_item_tree_item):
11386         * gui.c (parse_gui_item_tree_children):
11387         * gui.c (parse_gui_item_tree_list):
11388         Mule-ized.  Cleanup.  GCPRO addition.
11389
11390         * line-number.c (buffer_line_number):
11391         * lisp.h:
11392         * lisp.h (EMACS_INT_MAX):
11393         Added the manifest constant EMACS_INT_MIN corresponding to the
11394         existing constant EMACS_INT_MAX.  This is partially to fix compile
11395         warnings under Windows, and partly for cleanliness.
11396
11397         * menubar-msw.c:
11398         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
11399         * menubar-msw.c (msw_translate_menu_or_dialog_item):
11400         * menubar-msw.c (displayable_menu_item):
11401         * menubar-msw.c (populate_menu_add_item):
11402         * menubar-msw.c (populate_or_checksum_helper):
11403         * menubar-msw.c (populate_menu):
11404         * menubar-msw.c (update_frame_menubar_maybe):
11405         * menubar-msw.c (prune_menubar):
11406         * menubar-msw.c (msw_char_is_accelerator):
11407         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
11408         * menubar-msw.c (mswindows_handle_wm_command):
11409         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
11410         * menubar-msw.c (mswindows_handle_wm_initmenu):
11411         * menubar-msw.c (mswindows_update_frame_menubars):
11412         * menubar-msw.c (mswindows_free_frame_menubars):
11413         * menubar-msw.c (mswindows_popup_menu):
11414         Fixed a bug in handling accelerators where an extra character
11415         would be displayed in the menu item.  Also generalized the
11416         function displayable_menu_item because it is now used by the
11417         dialog box code as well.  And finally, added code in the functions
11418         that create the menubar to extract a list of accelerators for the
11419         top level menubar, which is used in the event code to determine
11420         whether a particular alt-key combination should be used to invoke
11421         a menu item, or should be passed through to access the standard
11422         XEmacs keymap binding for this key combination.
11423
11424         Much needed GCPROing.
11425
11426         * menubar-x.c:
11427         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11428         * menubar-x.c (menu_item_descriptor_to_widget_value):
11429         * menubar-x.c (restore_in_menu_callback):
11430         * menubar-x.c (x_popup_menu):
11431         * menubar-x.c (menu_move_up):
11432         * menubar-x.c (menu_move_down):
11433         * menubar-x.c (menu_move_left):
11434         * menubar-x.c (menu_move_right):
11435         * menubar-x.c (menu_select_item):
11436         * menubar-x.c (command_builder_operate_menu_accelerator):
11437         * menubar-x.c (menu_accelerator_junk_on_error):
11438         * menubar-x.c (command_builder_find_menu_accelerator):
11439         * menubar-x.c (Faccelerate_menu):
11440         * menubar.h:
11441         Moved a whole bunch of code here that was previously in
11442         event-stream.c as described above.  There is also code connected
11443         to the new standard of adding an accelerator to the beginning of
11444         menu items that don't have one as described above and below.
11445
11446         * menubar.c:
11447         * menubar.c (menu_parse_submenu_keywords):
11448         * menubar.c (Fmenu_find_real_submenu):
11449         * menubar.c (Fnormalize_menu_item_name):
11450         * menubar.c (syms_of_menubar):
11451         * menubar.c (vars_of_menubar):
11452         * menubar.c (complex_vars_of_menubar):
11453
11454         a) Cleaned up a bunch of documentation and improved it.
11455
11456         b) XEmacs now automatically adds an accelerator onto the beginning
11457         of any menu items that don't have one.  I did this because there
11458         will inevitably be some menu items on the main menubar that don't
11459         have accelerators on them because the package that adds that
11460         particular menu item hasn't yet been fixed up to have accelerators
11461         in them and it looked rather strange to have some items with and
11462         some items without accelerators, especially since even in items
11463         without accelerators, you can, at least under windows, still
11464         access the item through an accelerator corresponding to the first
11465         character in the item's name.  If people don't like this behavior,
11466         I can add a variable to turn it off optionally, but I'm not sure
11467         this is a good idea because we really do need to have accelerators
11468         on all of the menu items, and if a package doesn't like the
11469         accelerators being put on the first character, then it should put
11470         the accelerators where they belong.
11471
11472         c) I made a behavior change, which is that the descriptor that
11473         specifies the text of the menu item, which formerly was just a
11474         string, can now also be an evaluated expression.  This makes this
11475         descriptor parallel with all of the others, which could also be
11476         evaluated expressions.  This also obviates the need for the
11477         keyword :label, which was previously listed in the documentation
11478         as unimplemented, and which was for the same purpose.
11479
11480         d) GCPROing.
11481
11482         * ntproc.c:
11483         * ntproc.c (new_child):
11484         * ntproc.c (sys_spawnve):
11485         * ntproc.c (find_child_console):
11486         * ntproc.c (sys_kill):
11487         Fixed compile warnings.  By the way, this file should really go
11488         away entirely, and this will happen as soon as Kirill makes his
11489         final round of process cleanups, which affect the function
11490         call-process.
11491
11492         * process-nt.c:
11493         * process-nt.c (struct nt_process_data):
11494         * process-nt.c (find_process_from_pid):
11495         * process-nt.c (send_signal_the_nt_way):
11496         * process-nt.c (enable_child_signals):
11497         * process-nt.c (find_child_console):
11498         * process-nt.c (send_signal_the_95_way):
11499         * process-nt.c (nt_finalize_process_data):
11500         * process-nt.c (ensure_console_window_exists):
11501         * process-nt.c (nt_create_process):
11502         * process-nt.c (nt_kill_child_process):
11503         * process-nt.c (nt_kill_process_by_pid):
11504         * process-nt.c (nt_open_network_stream):
11505         * process-nt.c (vars_of_process_nt):
11506         Copied over code from Emacs 20.5 to correctly send signals to sub-
11507         processes under Windows 95.  Also added code to automatically
11508         create and hide console window when a sub-process is created under
11509         Windows 95, which obviates the need for the separate runemacs.exe
11510         executable, and finally implemented some variables that were
11511         implemented in Emacs 20.5, but previously not in XEmacs.  These
11512         include mswindows- start-process-share-console and
11513         mswindows-start-process-inherit-error-mode. (Both of these only
11514         apply to Windows 95.)
11515
11516         * regex.c (regex_compile): Fixed a compile warning.
11517
11518         * select-msw.c:
11519         * select-msw.c (mswindows_own_selection):
11520         * select-msw.c (mswindows_get_foreign_selection):
11521         * select-msw.c (mswindows_disown_selection):
11522         * select-msw.c (console_type_create_select_mswindows):
11523         * select-msw.c (syms_of_select_mswindows):
11524         Cleaned up the file and implemented the device method
11525         selection_exists_p, which had accidentally been left out.  Also
11526         removed four lisp functions that were remnants from before the
11527         time when the selection code was properly device abstracted.
11528         These functions are no longer needed because there are generic
11529         equivalents, and because they were added recently and don't exist
11530         in FSF Emacs, I don't think there's any problem with just deleting
11531         them.
11532
11533         * sysdep.c:
11534         * sysdep.c (sys_subshell):
11535         Fixed a compile warning, although in this case there's probably
11536         something wrong with this code, and it ought to be looked into
11537         more thoroughly by somebody who understands it.
11538
11539         * window.c:
11540         * window.c (Fwindow_text_area_height):
11541         * window.c (Fwindow_width):
11542         * window.c (Fwindow_full_width):
11543         * window.c (Fwindow_pixel_width):
11544         * window.c (debug_print_window):
11545         * window.c (syms_of_window):
11546         Added functions window-text-area-height and window-full-width,
11547         which are functions for returning various width and height
11548         characteristics of a window. (One of these functions is necessary
11549         for making the file dialog box work correctly, and the other one
11550         was added for completeness.)  Also added a table to the
11551         documentation for window-height which describes the entire scheme
11552         for accessing width and height characteristics of a window.
11553
11554 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11555
11556         * nt.c (fstat): Added a comment for another problem with
11557         non-encapsulated [f]stat(), reported by Adrian Aichner
11558         <aichner@ecf.teradyne.com>.
11559
11560 2000-03-11  Andy Piper  <andy@xemacs.org>
11561
11562         * window.c (make_dummy_parent): initialize subwindow instance
11563         cache.
11564         (Fset_window_configuration): zero extent_modiff.
11565
11566 2000-03-10  Andy Piper  <andy@xemacs.org>
11567
11568         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
11569         more changes can be triggered.
11570         (Fredisplay_frame): ditto.
11571         (Fredraw_device): ditto.
11572         (Fredisplay_device): ditto.
11573         (redisplay_frame): make non-static.
11574         (redisplay_frame): call update_frame_gutter_geometry outside of
11575         display proper.
11576
11577         * gutter.h: declare update_frame_gutter_geometry.
11578
11579         * redisplay.h: declare redisplay_frame.
11580
11581         * gutter.c (update_frame_gutter_geometry): move geometry changes
11582         in update_frame_gutters here. Geometry changes can only occur
11583         outside of redisplay.
11584         (update_frame_gutters): remove geometry change code.
11585         (Fredisplay_gutter_area): make sure that we are in display when we
11586         update and that we have flushed any size changes.
11587
11588 2000-03-11  Andy Piper  <andy@xemacs.org>
11589
11590         * alloc.c (pdump_dump_data): remove i & count shadows.
11591
11592 2000-02-27  Mike Alexander  <mta@arbortext.com>
11593
11594         * sysdep.h: Declare pdump_read_file
11595
11596         * sysdep.c (pdump_read_file): New function
11597
11598         * alloc.c (pdump_load): Call pdump_read_file to get the portable
11599         dump data
11600
11601 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
11602
11603         * lrecord.h: add `lrecord_type_pgsetenv'.
11604
11605 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
11606
11607         * symsinit.h: declare (vars|syms)_of* functions.
11608         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
11609
11610 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
11611
11612         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
11613
11614         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
11615         GCCs.
11616
11617         * emacs.c (main_1): Call postgres initialization code.
11618
11619         * postgresql.h: New file.  PostgreSQL RDBMS support.
11620         * postgresql.c: New file.
11621
11622 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11623
11624         * redisplay-output.c (redisplay_output_display_block): Disable
11625         redundant code.
11626
11627 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11628
11629         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
11630         (Fcanna_henkan_next): Ditto.
11631         (Fcanna_bunsetu_henkou): Ditto.
11632         (Fcanna_henkan_kakutei): Ditto.
11633         (Fcanna_henkan_end): Ditto.
11634         (Fcanna_henkan_quit): Ditto.
11635         (Fcanna_henkan_next): Set retun value correctly.
11636         (c2mu): Use unsigned char instead of signed char.
11637
11638 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11639
11640         * emacs.c (main_1): Always call syms_of_gui.
11641         * inline.c: include gui.h
11642
11643 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11644
11645         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
11646         converted to Lisp_Object.
11647         (Qtop_bottom): New variable.
11648         (syms_of_redisplay): Initialize it.
11649         * redisplay.h (Vvisible_bell): Ditto.
11650         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
11651         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
11652         only flash top and bottom.
11653
11654 2000-03-08  Andy Piper  <andy@xemacs.org>
11655
11656         * buffer.c (Frename_buffer): record new buffer name the right way.
11657
11658 2000-03-08  Andy Piper  <andy@xemacs.org>
11659
11660         * glyphs.c (update_subwindow): increase hash depth so that widget
11661         items get picked up properly.
11662
11663         * redisplay-output.c (compare_runes): increase hash depth so that
11664         widget items get picked up properly.
11665
11666 2000-03-08  Andy Piper  <andy@xemacs.org>
11667
11668         * gutter.c (output_gutter): add some debug.
11669
11670         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
11671         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
11672         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
11673
11674         * redisplay-output.c (compare_runes): use display_hash to
11675         determine if glyphs really are not the same.
11676
11677         * glyphs.c (update_subwindow): check display_hash to see if
11678         anything really needs to be updated. If not then do
11679         nothing. Record the display_hash after updating.
11680         (image_instance_equal): compare the image_instance face also.
11681
11682 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
11683
11684         * redisplay.h: Fix comment style.
11685
11686 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11687
11688         * consle-msw.h (struct mswindows_frame):
11689         Added new member paint_pending to indicate whether a WM_PAINT
11690         magic event has been queued for this frame.
11691
11692         * event-msw.c (mswindows_drain_windows_queue):
11693         Don't queue a WM_PAINT magic event if one is already queued.
11694         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
11695
11696         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
11697
11698 2000-03-07  Didier Verna  <didier@xemacs.org>
11699
11700         * dired.c: #include `regex.h' after `sysfile.h'.
11701
11702 2000-03-06  Martin Buchholz  <martin@xemacs.org>
11703
11704         * sound.c (init_nas_sound): Fix compiler warning.
11705
11706         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
11707         (FREE_STRUCT_P):
11708         (MARK_STRUCT_AS_FREE):
11709         (MARK_STRUCT_AS_NOT_FREE):
11710         Make `gcc -fstrict-aliasing' work properly.
11711
11712 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11713
11714         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
11715         (mswindows_delete_device): Call CoUnnitialize().
11716
11717         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
11718
11719 2000-02-25    <CraigL@DyCon.com>
11720
11721         * process-nt.c: MinGW now has <shellapi.h>, but still needs
11722         <errno.h>.
11723
11724         * sysdep.c: This extern declaration for environ prevents MinGW
11725         from finding the variable in CRTDLL.DLL.
11726
11727         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
11728         windows headers.
11729         (SHGFI_EXETYPE): ..
11730         (WM_MOUSEWHEEL): ..
11731         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
11732         definitions.
11733         (MMRESULT): Removed, now defined in cygwin's windows headers.
11734         (TIMECAPS): ..
11735         (uid_t,gid_t,pid_t,ssize_t): ..
11736         (_timeb): Removed, MinGW defines both _timeb and timeb.
11737         (HAVE_H_ERRNO): Added.
11738         (HAVE_TZNAME): Added, configure is not detecting this.
11739
11740 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
11741
11742         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
11743         * syntax.c (syntax_match): Use it.
11744
11745         * cmds.c: Import auto-fill-chars from FSF Emacs.
11746         (Vauto_fill_chars): New variables.
11747         (internal_self_insert): Check Vauto_fill_chars.
11748         (vars_of_cmds):
11749         Declare auto-fill-chars as a Lisp variable and initialize it.
11750
11751 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11752
11753         * fileio.c (Fmake_symbolic_link):
11754         (Ffile_symlink_p):
11755         Run handlers even if local machine doesn't have symlinks.
11756
11757 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11758
11759         * event-msw.c (mswindows_drain_windows_queue):
11760         Don't generate paint magic events for non-XEmacs frames.
11761
11762 2000-03-05  Andy Piper  <andy@xemacs.org>
11763
11764         * redisplay.c (redisplay_frame): generate_displayable_area and
11765         friends assumes that we are not in GC, we therefore have to make
11766         sure that this doesn't happen.
11767
11768         * gutter.c (calculate_gutter_size): generate_displayable_area
11769         assumes that we are not in GC, we therefore have to make sure that
11770         this doesn't happen.
11771
11772 2000-03-05  Martin Buchholz  <martin@xemacs.org>
11773
11774         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
11775
11776 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11777
11778         * redisplay.c (regenerate_window): Make sure we set a sane value
11779         for end_pos even if we jump out of the loop.
11780         (regenerate_window): Answer Ben's question :-).
11781         (start_end_of_last_line): Add may_error argument.
11782         (start_of_last_line):
11783         (end_of_last_line): Pass may_error = 0.
11784         (end_of_last_line_may_error): New function.
11785         (pixel_to_glyph_translation): Use it, so we don't crash in
11786         event_to_glyph.
11787
11788 2000-03-04  Andy Piper  <andy@xemacs.org>
11789
11790         * window.h (struct window): add gutter_extent_modiff.
11791
11792         * window.c (allocate_window): zero out gutter_extent_modiff.
11793
11794         * redisplay.h: declare sync_display_line_structs.
11795
11796         * redisplay.c (add_glyph_rune): add a better comment.
11797
11798         * redisplay-output.c (sync_display_line_structs): made non-static.
11799         (compare_runes): remove unneccesary glyph cachel access.
11800
11801         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
11802
11803         * gutter.c (output_gutter): don't output the gutter if extent
11804         changes only involve extents in buffers. use 4 sets of display
11805         lines.
11806         (gutter_extent_signal_changed_region_maybe): new function. Mark
11807         extents in gutters as changed.
11808         (update_frame_gutters): use 4 sets of display lines.
11809         (reset_gutter_display_lines): ditto.
11810         (free_frame_gutters): ditto.
11811         (redraw_exposed_gutter): force output of gutters.
11812
11813         * frame.h (struct frame): add 4 sets of gutter display lines.
11814
11815         * extents.c: (extent_changed_for_redisplay): signal changes to
11816         extents in strings in the gutter as well as extents in buffers.
11817
11818 2000-03-02  Andy Piper  <andy@xemacs.org>
11819
11820         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11821
11822         * frame.c (Fmake_frame): make sure the gutters get initialized
11823         after the frame is visible.
11824         (set_frame_selected_window): re-arrange compilation macros a
11825         little.
11826         (change_frame_size_1): mark gutters changed.
11827
11828         * device.c (Fset_device_class): mark gutters changed.
11829
11830 2000-03-01  Andy Piper  <andy@xemacs.org>
11831
11832         * window.c (window_top_frame_gutter_height): deleted.
11833         (window_bottom_frame_gutter_height): ditto.
11834         (window_left_frame_gutter_height): ditto.
11835         (window_right_frame_gutter_height): ditto.
11836         (window_top_gutter_height): don't use them.
11837         (window_bottom_gutter_height): ditto.
11838         (window_left_gutter_width): ditto.
11839         (window_right_gutter_width): ditto.
11840         (Fsplit_window): ditto.
11841         (Fwindow_pixel_edges): don't use border dimensions here.
11842
11843         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11844         (update_scrollbar_instance): ditto.
11845
11846         * redisplay.c (generate_modeline): don't take gutters into account.
11847         (generate_modeline): ditto.
11848         (redisplay_frame): small gutter display optimization.
11849
11850         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11851
11852         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11853         gutters into account.
11854
11855         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11856         for window position and type.
11857
11858         * gutter.c (get_gutter_coords): fix for frame gutters.
11859         (update_frame_gutters): update frame geometry if the gutters have
11860         changed.
11861         (init_frame_gutters): record current gutter geometries.
11862
11863         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11864         var.
11865         (mswindows_widget_instantiate): ditto.
11866
11867         * frame.h (struct frame): add current_gutter_bounds.
11868
11869         * frame.c (change_frame_size_1): position window and minibuffer
11870         appropriately taking into account the frame gutters.
11871
11872         * frame-x.c: (x_initialize_frame_size): take into account the
11873         frame gutters.
11874
11875 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11876
11877         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11878
11879 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11880
11881         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11882
11883 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11884
11885         * file-coding.c (reset_decoding_stream): Clear previous
11886         detection state when autodetect.
11887
11888 2000-02-29  Didier Verna  <didier@xemacs.org>
11889
11890         * extents.c (set_extent_glyph_1): don't require extents to be
11891         attached.
11892
11893 2000-02-27  Andy Piper  <andy@xemacs.org>
11894
11895         * gutter.c (Fset_default_gutter_position): don't default left and
11896         right gutter visibility to t.
11897         (Fset_default_gutter_position): run
11898         default-gutter-position-changed-hook.
11899         (syms_of_gutter): add default-gutter-position-changed-hook.
11900
11901 2000-02-26  Andy Piper  <andy@xemacs.org>
11902
11903         * specifier.c (Fmake_specifier): add gutter references.
11904
11905         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11906
11907         * lisp.h: declare Fvalid_plist_p.
11908
11909         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11910         as changed.
11911         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11912         well as its visibility so that it gets reconstructed.
11913         (construct_window_gutter_spec): new function. Construct a string
11914         to be displayed in the gutter from a plist of strings. Take care
11915         to only use elements that are declared as visible.
11916         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11917         WINDOW_GUTTER.
11918         (gutter_validate): allow plists of strings in the specifier.
11919         (gutter_specs_changed): construct the real_gutter from the gutter
11920         specs using construct_window_gutter_spec.
11921         (gutter_visible_validate): gutter-visible is a new specifier type.
11922         (Fgutter_visible_specifier_p): new function for the new specifier.
11923         (syms_of_gutter): declare gutter-visible and
11924         Fgutter_visible_specifier_p.
11925         (specifier_type_create_gutter): intitalize new gutter-visible
11926         specifier.
11927         (reinit_specifier_type_create_gutter): ditto.
11928         (specifier_vars_of_gutter): use new specifier type for gutter
11929         visibility.
11930         (init_frame_gutters): construct real_gutter correctly.
11931         (Fgutter_specifier_p): beef up documentation.
11932         (Fgutter_size_specifier_p): ditto.
11933
11934         * winslots.h: add real_gutter slots.
11935
11936 2000-02-25  Andy Piper  <andy@xemacs.org>
11937
11938         * device-msw.c: Be kind to older cygwin versions. From Raymond
11939         Toy <toy@rtp.ericsson.se>.
11940
11941         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11942         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11943
11944 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11945
11946         * elhash.c (MARK_OBJ): Practice macro hygiene.
11947
11948 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11949
11950         * miscplay.c: s/__inline__/inline/g;
11951         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11952         (get_device_compdc): INLINE ==> static inline
11953         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11954         find -name '*.h' | \
11955         xargs global-replace \
11956         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11957
11958 2000-02-25  Andy Piper  <andy@xemacs.org>
11959
11960         * window.c (window_top_frame_gutter_height): new function.
11961         (window_top_window_gutter_height): ditto.
11962         (window_top_gutter_height): use them.
11963         (window_bottom_frame_gutter_height): new function.
11964         (window_bottom_window_gutter_height): ditto.
11965         (window_bottom_gutter_height): use them.
11966         (window_left_window_gutter_width): new function.
11967         (window_left_frame_gutter_width): ditto.
11968         (window_left_gutter_width): use them.
11969         (window_right_window_gutter_width): new function.
11970         (window_right_frame_gutter_width): ditto.
11971         (window_right_gutter_width): use them.
11972         (window_pixel_height): new function. calulate window pixel height
11973         with frame gutter involvement.
11974         (Fsplit_window): calculate new sizes taking frame gutters into
11975         account.
11976         (window_char_height_to_pixel_height): don't include frame gutters.
11977         (window_char_height): use window_pixel_height.
11978         (window_pixheight): rename from window_pixel_height.
11979         (change_window_height): use it.
11980         (window_pixel_height_to_char_height): don't include frame gutters.
11981         (window_char_width_to_pixel_width): ditto.
11982
11983 2000-02-25  Andy Piper  <andy@xemacs.org>
11984
11985         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11986         if it is.
11987
11988 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11989
11990         * alloc.c (staticpro):
11991         (staticpro_nodump):
11992         (dumpstruct):
11993         (dumpopaque):
11994         (pdump_wire):
11995         (pdump_wire_list):
11996         (compact_string_chars):
11997         (pdump_dump_wired):
11998         Convert:  if (foo) abort();  ==>  assert (! foo);
11999
12000         * eldap.c (Fldap_search_basic):
12001         (Fldap_add):
12002         (Fldap_modify):
12003         (Fldap_delete):
12004         Fix compiler warnings, and possible crashes if (random) return
12005         value were to be used.
12006
12007 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12008
12009         * device-msw.c: Workaround ResetDC failure.
12010
12011         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
12012         applying a devmode.
12013
12014         * redisplay-msw.c (get_frame_dc): Added start_page_p.
12015         (mswindows_text_width): Do not start printer page.
12016
12017         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
12018
12019         * glyphs-msw.c: Added image methods to msprinter console and
12020         msprinter-specific image instantiation.
12021
12022 2000-02-20  Mike Alexander  <mta@arbortext.com>
12023
12024         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
12025         to avoid crashes when selection-sets-clipboard is on
12026         (mswindows_own_selection): ditto
12027
12028 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12029
12030         * glyphs-msw.c:
12031         * redisplay-msw.c (get_frame_dc):
12032         (get_frame_compdc):
12033         * console-msw.h:
12034         * device-msw.c (mswindows_init_device):
12035         (mswindows_delete_device):
12036         (msprinter_init_device):
12037         (msprinter_delete_device):
12038         * frame-msw.c (mswindows_init_frame_1):
12039         (mswindows_delete_frame):
12040         (msprinter_init_frame_3):
12041         (msprinter_delete_frame): Move compatible DC to device object from
12042         frame object, for both mswindows and msprinter. Only one at a time
12043         is needed, it is a real waste to have one per frame!
12044
12045 2000-02-23  Andy Piper  <andy@xemacs.org>
12046
12047         * glyphs.c: add dynamic width and height elements.
12048         (image_instance_equal): ditto.
12049
12050         * glyphs-widget.c (widget_query_geometry): calculate width and
12051         height dynamically if required.
12052         (initialize_widget_image_instance): initialize dynamic dimensions.
12053         (widget_instantiate): pick-up dynamic dimensions.
12054
12055         * glyphs.h (struct Lisp_Image_Instance): add width and height for
12056         dynamic determination. Add appropriate macros.
12057
12058         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
12059         dimensions safe.
12060         (WINDOW_GUTTER_SIZE): ditto.
12061         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
12062
12063         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
12064         inline.
12065         (get_frame_dc): ditto.
12066
12067         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
12068         here.
12069
12070 2000-02-23  Martin Buchholz <martin@xemacs.org>
12071
12072         * XEmacs 21.2.31 is released.
12073
12074 2000-02-22  Ben Wing <ben@xemacs.org>
12075
12076         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
12077
12078 2000-02-22  Andy Piper  <andy@xemacs.org>
12079
12080         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
12081
12082 2000-02-21  Mike Sperber <mike@xemacs.org>
12083
12084         * .dbxrc:
12085         * .gdbinit:
12086         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
12087         variables.
12088
12089 2000-02-21  Mike Sperber <mike@xemacs.org>
12090
12091         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
12092
12093 2000-02-21  Martin Buchholz <martin@xemacs.org>
12094
12095         * XEmacs 21.2.30 is released.
12096
12097 2000-02-20  Martin Buchholz  <martin@xemacs.org>
12098
12099         Performance hacking.
12100         * *.c (syms_of_*):
12101         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
12102         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
12103         * emacs.c (main_1):
12104         * lisp.h (DEFUN):
12105         * console.c (DEFVAR_CONSOLE_LOCAL_1):
12106         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
12107         * symeval.h (DEFVAR_SYMVAL_FWD):
12108         * symbols.c (guts_of_unbound_marker):
12109         Make all c_readonly objects also lisp_readonly and marked for life.
12110         * lrecord.h (struct lrecord_implementation):
12111         Document flags better.
12112         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
12113         * lrecord.h (DECLARE_LRECORD):
12114         * lrecord.h (XSETRECORD):
12115         * lrecord.h (RECORDP):
12116         * lrecord.h (RECORD_TYPEP):
12117         * lrecord.h (RECORD_MARKER): New.
12118         * lrecord.h (error_check_*):
12119         * lrecord.h (CONCHECK_NONRECORD):
12120         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
12121         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
12122         * lrecord.h (set_lheader_implementation):
12123         * lrecord.h (enum lrecord_type): New.
12124         * symeval.h (SYMBOL_VALUE_MAGIC_P):
12125         * alloc.c (disksave_object_finalization_1):
12126         * alloc.c (mark_object):
12127         * alloc.c (lrecord_type_index):
12128         * alloc.c (tick_lcrecord_stats):
12129         * alloc.c (Fgarbage_collect):
12130         * alloc.c (init_alloc_once_early):
12131         * alloc.c (pdump_load):
12132         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
12133         * alloc.c (lrecord_type_index): Delete.
12134         Make lisp object type indexes be constant.
12135           Makes (byte-compile) 5% faster.
12136         Put all marker functions into their own array.
12137           Makes (garbage-collect) 5% faster.
12138         Optimize SYMBOL_VALUE_MAGIC_P.
12139           Makes (byte-compile) 2-3% faster.
12140         * config.h.in (gc_checking_assert): New.
12141         * alloc.c: Use gc_checking_assert().
12142         * .dbxrc: Make compatible with new object type implementation.
12143         * .gdbinit: Make compatible with new object type implementation.
12144         * alloc.c: Delete all symbols defined only for debugging, such as
12145         Lisp_Type_Vector and lrecord_charset.
12146
12147 2000-02-21  Andy Piper  <andy@xemacs.org>
12148
12149         * gui-msw.c (Fmswindows_shell_execute): fix file location
12150         problems.
12151
12152         * buffer.c (Fkill_buffer): remove buffer from alist buffer
12153         unshowing so that set_window_buffer doesn't undo
12154         kill_buffer_hook's hard work.
12155
12156         * glyphs-widget.c (tab_control_query_geometry): don't count the
12157         first item when calculating geometry.
12158
12159         * glyphs.c (map_subwindow): remove redundant code.
12160         (update_frame_subwindows): be more circumspect about when to
12161         update subwindows.
12162
12163         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
12164         when items haven't changed. Update faces if faces have changed as
12165         well as just the widget face.
12166         (x_tab_control_update): Update faces if faces have changed as well
12167         as just the widget face.
12168
12169 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12170
12171         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
12172         registration.
12173         (build_syscolor_string): Use mswindows_color_to_string to try to
12174         get a named color.
12175         (mswindows_device_system_metrics): Reverse the foreground and
12176         background colors so that they match the documentation.
12177
12178         * objects-msw.c: (mswindows_X_color_map): tweak some values so
12179         they match the default Windows palette.
12180         (mswindows_color_to_string): New function.
12181
12182 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12183
12184         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
12185
12186 2000-02-18  Olivier Galibert  <galibert@pobox.com>
12187
12188         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
12189         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
12190
12191         * symbols.c (init_symbols_once_early): Removed obsolete
12192         DATA_SEG_BITS related kludge.
12193         (defvar_magic): Ditto.
12194
12195         * malloc.c: Removed obsolete DATA_SEG_BITS
12196         * ralloc.c: Ditto.
12197         * mem-limits.h: Ditto.
12198
12199         * Makefile.in.in: Removed obsolete HAVE_SHM
12200         * emacs.c: Ditto.
12201
12202 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12203
12204         *  device-msw.c (mswindows_delete_device): Free DDE string
12205         handles.
12206
12207 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12208
12209         * keymap.c (get_keyelt):
12210         * unexnt.c (unexec):
12211         * vm-limit.c (memory_warnings):
12212         * ntheap.c (recreate_heap):
12213         * ntheap.h (UNINIT_PTR):
12214         * select-msw.c (Fmswindows_get_clipboard):
12215         (Fmswindows_set_clipboard):
12216         * objects-msw.h (MSWINDOWS_BAD_HFONT):
12217         * objects-msw.c:
12218         * menubar-msw.c (displayable_menu_item):
12219         * glyphs-msw.c:
12220         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
12221         * sysdep.c (sys_subshell):
12222         * process-nt.c (nt_create_process):
12223         * nt.c (normalize_filename):
12224         (dostounix_filename):
12225         (unixtodos_filename):
12226         * ntproc.c (win32_executable_type):
12227         * ntplay.c (play_sound_data_1):
12228         (play_sound_file):
12229         * editfns.c (get_home_directory):
12230         * event-msw.c (struct winsock_stream):
12231         (mswindows_dde_callback):
12232         * device-msw.c (msprinter_init_device):
12233         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
12234
12235         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
12236         mswindows_clear_toolbar were swapped!
12237
12238         * objects-msw.c:(colormap_t):
12239         (fontmap_t):
12240         * emacs.c (struct standard_args): Fixed const jumble.
12241
12242         * glyphs-widget.c (update_widget): Fixed comparison notation.
12243
12244         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
12245
12246         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
12247         __declspec(noreturn) syntax.
12248
12249 2000-02-19  Martin Buchholz  <martin@xemacs.org>
12250
12251         * eldap.c (Fldap_open):
12252         (Fldap_search_basic):
12253         (Fldap_add):
12254         (Fldap_modify):
12255         Use new coding system conversion macros.
12256
12257 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12258
12259         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
12260
12261 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
12262
12263         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
12264         (Fldap_add, Fldap_modify, Fldap_delete): New functions
12265
12266         * eldap.c (Qadd, Qreplace): New constant symbols
12267         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
12268         interruptions by XEmacs signals
12269         Remove unnecessary calls to slow_down_interrupts and
12270         speed_up_interrupts
12271         (Fldap_search_basic): Renamed from Fldap_search_internal
12272         Added new optional parameter VERBOSE that triggers the
12273         display of progress messages
12274         Remove unnecessary calls to slow_down_interrupts and
12275         speed_up_interrupts
12276         LDAP result code analysis rewritten
12277         (Fldap_add, Fldap_modify, Fldap_delete): New functions
12278         (syms_of_eldap): Define the new symbols and functions
12279
12280
12281 2000-02-17  Martin Buchholz  <martin@xemacs.org>
12282
12283         * realpath.c: Determine PATH_MAX maximally portably.
12284
12285         * insdel.c (bytecount_to_charcount): Optimize.
12286         The function used to be optimized for entirely ASCII sequences.
12287         Now it is optimized for successive characters from the same
12288         charset.  This also wins big for _mostly_ ASCII sequences.
12289
12290         * fileio.c (Ffile_truename): convert return from realpath() using
12291         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
12292         - Rewrite GCPROing slightly.
12293
12294         * sysdep.c (sys_open): Do filename conversion, like all other
12295         sys_* functions.  Fixes bug:
12296         (let ((file-name-coding-system 'iso-8859-2))
12297            (write-region x y latin2-name))
12298         ==> writes filename using internal encoding.
12299
12300 2000-02-18  Martin Buchholz  <martin@xemacs.org>
12301
12302         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
12303         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
12304         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
12305         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
12306         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
12307         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
12308         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
12309         (CONST_IF_NOT_DEBUG): Delete.
12310         * alloc.c (this_one_is_unmarkable): Delete.
12311         (mark_object): Don't check for this_one_is_unmarkable. Use the
12312         c_readonly flag instead.
12313         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
12314
12315 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12316
12317         * event-msw.c (mswindows_drain_windows_queue):
12318         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
12319         away redundant repaint events.
12320
12321 2000-02-17  Andy Piper  <andy@xemacs.org>
12322
12323         * redisplay.h: declare mark_redisplay_structs.
12324
12325         * redisplay.c (redisplay_window):
12326         (redisplay_frame): don't check subwindows_state_changed.
12327         (mark_redisplay): mark gutters here.
12328
12329         * glyphs.c: (instantiate_image_instantiator): always layout if we
12330         haven't done so already.
12331         (allocate_image_instance): don't mark as dirty.
12332         (update_subwindow): bind inhibit_quit.
12333
12334         * gutter.c (mark_gutters): new function.
12335
12336         * glyphs-x.c (x_update_widget): Always resize to get round a
12337         widget bug.
12338
12339         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
12340         breaking absolutely everything.
12341
12342         * gutter.h: declare mark_gutters.
12343
12344 2000-02-16  Martin Buchholz <martin@xemacs.org>
12345
12346         * XEmacs 21.2.29 is released.
12347
12348 2000-02-15  Olivier Galibert  <galibert@pobox.com>
12349
12350         * fns.c (size_bit_vector): Fix computation of the size.
12351
12352 2000-02-15  Martin Buchholz  <martin@xemacs.org>
12353
12354         * *.[ch]: Change CONST to const globally.
12355         find -name '*.[ch]' | \
12356         xargs global-replace \
12357         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
12358         - Remove vestigial references to CONST_IS_LOSING
12359
12360 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12361
12362         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
12363         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
12364         events instead of dispatching them directly.
12365         (mswindows_handle_paint): New function to do repainting.
12366         (mswindows_wnd_proc):
12367         (emacs_mswindows_handle_magic_event): Call above function.
12368
12369 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12370
12371         * objects-msw.c (mswindows_create_font_variant): Return the new
12372         font handle.
12373         (initialize_font_instance): Get font metrics from the underlined
12374         variant of the font to cope with the case where the underlined
12375         font has a bigger descent.
12376
12377 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12378
12379         * gui.c (gui_item_accelerator): Return the first underlined
12380         character in item name.
12381
12382 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12383
12384         * lisp.h: Added Qprinter.
12385
12386         * general.c (syms_of_general): Initialized it.
12387
12388         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
12389         (get_frame_dc):
12390         (get_frame_compdc): Made inline.
12391
12392         * console.h (struct console_methods): Added eject_page method.
12393
12394         * frame.h: Added FRAME_DISPLAY_P and friends.
12395         Aligned backslahes in many macros in more readable fashion.
12396         Added page_number to struct frame, and an accessor macro
12397         for it.
12398
12399         * defice.h: Added DEVICE_DISPLAY_P and friends.
12400
12401         * device.c (Fdevice_printer_p): Used these.
12402
12403         * frame.c (allocate_frame_core): Initialize page number.
12404         (Fprint_job_page_number):
12405         (Fprint_job_eject_page): Implemented.
12406
12407         * frame-msw.c (msprinter_eject_page): Added method.
12408         (msprinter_start_page): Added.
12409
12410         * window.c (Fwindow_truncated_p): Fixed docstring.
12411         (Fwindow_last_line_visible_height): Implemented.
12412
12413 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12414
12415         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
12416
12417 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12418
12419         * syntax.c (scan_words): Always advance at least one character.
12420
12421 2000-02-13  Andy Piper  <andy@xemacs.org>
12422
12423         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
12424         to make sure the glyph is in the cachels.
12425
12426         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
12427         global image instance flag.
12428         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
12429         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
12430
12431         * glyphs.c (allocate_image_instance): set dirty bits correctly.
12432         (Fset_image_instance_property): mark layout as changed.
12433         (invalidate_glyph_geometry_maybe): mark layout as changed.
12434         (glyph_width): use new NEEDS_LAYOUT macro.
12435         (glyph_ascent): ditto.
12436         (glyph_descent): ditto.
12437         (glyph_height): ditto.
12438         (image_instance_layout): mark layout as clean after laying out.
12439         (update_subwindow): don't mark layout as clean here.
12440
12441         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
12442         should no longer be needed.
12443
12444         * glyphs-x.c (x_update_widget): sanitize asserts.
12445         (x_finalize_image_instance): sanitize assignment to widgets.
12446
12447         * glyphs-widget.c (widget_instantiate): don't need to clear the
12448         layout flag here.
12449
12450 2000-02-13  Martin Buchholz  <martin@xemacs.org>
12451
12452         * sysdep.c (getcwd): Use standard prototype.
12453         * sysdep.h (getcwd): Use standard prototype.
12454
12455         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
12456         (sequence, start, end).
12457         Remove redundant type checking.
12458         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
12459         view of `caller-protects') to avoid a crash where the real fix was
12460         found elsewhere.
12461
12462 2000-02-12  Martin Buchholz  <martin@xemacs.org>
12463
12464         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
12465
12466         * s/sol2.h: Remove feature macro initialization.
12467
12468         * alloc.c (alloc_lcrecord): Add more type checking assertions.
12469         (vector_hash): New.  Code from internal_hash.
12470         * lrecord.h:
12471         Fix up allocation subsystem comments.
12472
12473         * config.h.in: Add __EXTENSIONS__ for Solaris.
12474
12475         * systime.h (EMACS_GETTIMEOFDAY): New.
12476         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
12477         Remove Solaris-specific code.
12478         Use void* for the (ignored) second arg for gettimeofday().
12479
12480         * elhash.c (hash_table_hash): Implement it, finally.
12481         * elhash.c:  Use hashcode_t.
12482
12483         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
12484         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
12485
12486         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
12487         * fns.c (size_bit_vector):
12488         * alloc.c (size_vector):
12489         (make_vector_internal):
12490         (make_bit_vector_internal):
12491         (sweep_bit_vectors_1):
12492         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
12493
12494 2000-02-10  Martin Buchholz  <martin@xemacs.org>
12495
12496         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
12497         Include strings.h to avoid warnings for bzero and strcasecmp.
12498
12499 2000-02-10  Olivier Galibert  <galibert@pobox.com>
12500
12501         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
12502         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
12503
12504         * fns.c (size_bit_vector): New.  Declare bit vectors as a
12505         sequence.
12506
12507 2000-02-10  Olivier Galibert  <galibert@pobox.com>
12508
12509         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
12510         use a value field instead.
12511         (symbol_value_forward_forward): Use value field.
12512         (DEFVAR_SYMVAL_FWD): Use value field.
12513         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
12514         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
12515         (DEFVAR_CONST_INT): Ditto.
12516         (DEFVAR_BOOL): Ditto.
12517         (DEFVAR_CONST_BOOL): Ditto.
12518         (DEFVAR_INT_MAGIC): Ditto.
12519         (DEFVAR_BOOL_MAGIC): Ditto.
12520
12521         * symbols.c (guts_of_unbound_marker): Use value field.
12522         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
12523         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
12524
12525         * lisp.h: Declare dumpopaque and noninteractive1.
12526
12527         * alloc.c (dumpopaque): Added.
12528         (pdump_dump_opaquevec): Added.
12529         (pdump): Call pdump_dump_opaquevec to dump opaque data.
12530         (pdump_load): Reload opaque data.  Sync noninteractive1 with
12531         noninteractive.
12532
12533 2000-02-10  Andy Piper  <andy@xemacs.org>
12534
12535         * glyphs.c (image_instance_layout): if the size changes, mark it
12536         as such.
12537
12538         * redisplay-output.c (redisplay_output_layout): Update the
12539         subwindow here.
12540         (redisplay_output_subwindow): ditto.
12541
12542         * glyphs.c (update_subwindow): make sure we reset flags for
12543         layouts as well as everything else.
12544
12545         * glyphs-widget.c (layout_layout): don't need to set the instances
12546         dimensions here.
12547
12548 2000-02-09  Martin Buchholz  <martin@xemacs.org>
12549
12550         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
12551         not HAVE_DLOPEN, which is a lower-level thing.
12552
12553         * .cvsignore: Ignore gmon.out
12554
12555 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
12556
12557         * .cvsignore: Ignore portable dumper xemacs.dmp file
12558
12559 2000-02-09  Andy Piper  <andy@xemacs.org>
12560
12561         * redisplay-output.c (redisplay_output_layout): be more clever
12562         about when we output based on the changed flags.
12563
12564         * glyphs.h (struct image_instantiator_methods): add update_method.
12565         (struct Lisp_Image_Instance): add changed flags. Declare new
12566         macros for manipulating them.
12567
12568         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
12569         (image_instance_parent_glyph): find an image_instance's parent
12570         glyph or image_instance.
12571         (image_instance_layout): mark the size as changed.
12572         (set_image_instance_dirty_p): new function. mark an image
12573         instance, plus all of its parents, as dirty.
12574         (Fset_image_instance_property): use it.
12575         (Fglyph_animated_timeout_handler): use it.
12576         (update_subwindow): call update_widget and device methods for
12577         update_subwindow. Mark all changed flags as clean.
12578         (Fresize_subwindow): mark size as changed.
12579
12580         * glyphs-x.c (x_finalize_image_instance): try and detect gc
12581         failures.
12582         (x_update_subwindow): only resize subwindows here.
12583         (x_update_widget): new function. Update all changed properties of
12584         a widget.
12585         (x_resize_subwindow): deleted.
12586         (x_widget_set_property): deleted.
12587         (x_progress_gauge_set_property): deleted.
12588         (x_progress_gauge_update): new function. Implement recorded
12589         changes.
12590         (x_tab_control_update): ditto.
12591         (x_tab_control_set_property): deleted.
12592         (console_type_create_glyphs_x): declare new functions.
12593         (image_instantiator_format_create_glyphs_x): ditto.
12594
12595         * glyphs-widget.c (widget_set_property): mark text changed.
12596         (update_widget): new function. Update properties of a widget.
12597         (widget_instantiate): for layouts make sure we set their
12598         children's parent correctly.
12599         (tab_control_set_property): new function. Record changes that will
12600         take place under redisplay's control.
12601         (progress_gauge_set_property): ditto.
12602         (image_instantiator_progress_guage): declare new functions.
12603         (image_instantiator_tab_control): ditto.
12604
12605         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
12606         now.
12607         (mswindows_update_widget): new function. Update all properties on
12608         a widget that have changed.
12609         (mswindows_button_update): new function. Update a button's set
12610         state.
12611         (mswindows_tab_control_update): new function. Update the items in
12612         a tab.
12613         (mswindows_tab_control_set_property): deleted.
12614         (mswindows_progress_gauge_update): new function. Update the
12615         progress gauge's progress.
12616         (mswindows_widget_set_property): deleted. This is all done
12617         asynchronously now.
12618         (mswindows_progress_gauge_set_property): ditto.
12619         (console_type_create_glyphs_mswindows): declare new methods.
12620         (image_instantiator_format_create_glyphs_mswindows): ditto.
12621
12622         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
12623         (msprinter_set_frame_properties): ditto.
12624
12625         * console.h (struct console_methods): Add update_widget_method.
12626
12627 2000-02-09  Andy Piper  <andy@xemacs.org>
12628
12629         * gui-msw.c (Fmswindows_shell_execute): Make
12630         mswindows-shell-execute industrial strength.
12631
12632 2000-02-08  Martin Buchholz  <martin@xemacs.org>
12633
12634         * lrecord.h: Make macro argument `props' match member function `plist'.
12635         * fns.c (Fget):
12636         * fns.c (Fput):
12637         * fns.c (Fremprop):
12638         * fns.c (Fobject_plist):
12639         * alloc.c:
12640         * symbols.c:
12641         Object property list frobbing cleanup.
12642         - Allow any lisp object (compared with `eq'), not just symbols, as
12643           keys in object plists.
12644         - Move symbol plist frobbing into symbols.c, where it belongs.
12645         - Move string plist frobbing into alloc.c, where it belongs.
12646         - Everything's an lrecord now, so no need to test for symbolp, etc.
12647         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
12648
12649         * extents.c: Reorder code to remove declarations.
12650
12651         * frame.h (store_in_alist): Remove useless declaration.
12652
12653 2000-02-07  Martin Buchholz  <martin@xemacs.org>
12654
12655         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
12656         * config.h.in: Add HAVE_XCONVERTCASE.
12657
12658 2000-02-07  Andy Piper  <andy@xemacs.org>
12659
12660         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
12661         it breaks many things.
12662
12663 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12664
12665         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
12666         actually can start a common comment type.
12667         * src/syntax.h (SYNTAX_END_P): ditto for end.
12668
12669 2000-02-07  Martin Buchholz <martin@xemacs.org>
12670
12671         * XEmacs 21.2.28 is released.
12672
12673 2000-02-06  Martin Buchholz  <martin@xemacs.org>
12674
12675         * event-Xt.c (x_keysym_to_character): New.
12676         (maybe_define_x_key_as_self_inserting_character): New.
12677         (x_has_keysym): New.
12678         Auto-define all keys on the keyboard as self-insert-key.
12679
12680 2000-02-02  Martin Buchholz  <martin@xemacs.org>
12681
12682         * menubar.c (vars_of_menubar): A small code simplification.
12683
12684         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
12685
12686         * ExternalShell.c:
12687         * ExternalClient.c:
12688         * EmacsShell-sub.c:
12689         * EmacsManager.c:
12690         * EmacsFrame.c:
12691         Use consistent style for specifying X resources.
12692
12693         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
12694         This makes (dontusethis-set-symbol-value-handler) actually usable.
12695
12696         * lrecord.h (lrecord_decription_type):
12697         * alloc.c (pdump_register_sub):
12698         (pdump_dump_data):
12699         (pdump_reloc_one):
12700         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
12701         Comply with XEmacs coding style.
12702         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
12703         args, and XD_LISP_OBJECT_ARRAY with 3 args.
12704
12705         * keymap.c (Faccessible_keymaps):
12706         Make (accessible-keymaps map "\C-h") do the Right Thing.
12707         Make (accessible-keymaps map []) do the Right Thing.
12708         Make (accessible-keymaps map "") do the Right Thing.
12709         (check_keymap_definition_loop): New function.
12710         (keymap_store_internal): Keep luser from shooting self in foot,
12711           via (define-key ctl-x-4-map "p" global-map).
12712         Remove fullness slot from struct Lisp_Keymap, since hash tables
12713         are now reliable.
12714         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
12715
12716 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12717
12718         * redisplay.c (init_redisplay): Fix small memory leak.
12719         * elhash.h:
12720         * elhash.c (pdump_reorganize_hash_table):
12721         Rename from reorganize_hash_table. Change prototype.
12722         Reuse the original memory for hentries.  Save 100k.
12723         * alloc.c (PDUMP_READ): new macro.
12724         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
12725         * alloc.c: No need to #ifndef before #undef.
12726
12727         * print.c: Allow debug_print() to print readably by modifying
12728         debug_print_readably.  Use consistent variable names.
12729
12730         * .dbxrc: Try to get things to work even if stopped in a function
12731         without source available by explicitly specifying source files.
12732 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12733
12734         * unexnt.c (_start): Removed bogus code which caused loading heap
12735         from differrent executable file.
12736         Removed bogus assignment to _fmode, which caused inconsistencies.
12737
12738 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12739
12740         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
12741         Have spawnve encapsulation regard DONT_ENCAPSULATE.
12742         Do not preliminary `#define signal sigset'.
12743
12744         * systime.h: Do not prototype environ on windows nt and cygwin,
12745         this conflicts with system header.
12746
12747         * syssignal.h: Use correct define for WINDOWSNT
12748
12749         * sysdep.h: Do not prototype environ on windows nt, this conflicts
12750         with system header.
12751
12752         * sysdep.c (near start of file): Fixed commentary and rearranged
12753         ifdefs in readable order.
12754         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
12755         (start_of_text):
12756         (end_of_text):
12757         (end_of_data): Do not compile in if using PDUMP.
12758
12759         * symsinit.h: Prototyped vars_of_nt().
12760
12761         * ntproc.c (windows9x_p): Added, instead of os_subtype.
12762         (find_child_console): Use it.
12763         (sys_kill): Use it.
12764
12765         * ntheap.h: Do not extern os_subtype.
12766
12767         * ntheap.c (cache_system_info): Do not cache unneeded:
12768         nt_major_version, nt_minor_version and os_subtype.
12769         (recreate_heap): Do not compile in when PDUMPing.
12770
12771         * nt.c (geteuid and friends): Use the new varibale
12772         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
12773         (init_user_info): Removed the above mentioned hackery.
12774         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
12775         stat has been fixed in the C runtime.
12776         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
12777
12778         * file-coding.c (struct file_coding_dump): Do not define
12779         ucs_to_mule_table in the struct if not MULE.
12780         (struct struct lrecord_description fcd_description_1): Do not dump
12781         the above.
12782
12783         * emacs.c (main_1): Call vars_of_nt().
12784         (right before Fdump_emacs_data): Don't need lastfile if using both
12785         portabe dumper and system malloc.
12786
12787         * alloc.c (Fmemory_limit): Conditionalized out.
12788         (pdump): Use OPEN_BINARY for the portable dump file.
12789         (pdump_load): Ditto.
12790
12791 2000-02-02  Mike Alexander  <mta@arbortext.com>
12792
12793         * nt.c (convert_time): Set tm_isdst before calling mktime and
12794         avoid calling it at all if the compiler supports 64 bit integers.
12795         Also initialize utc_base_ft before using it.
12796
12797 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12798
12799         * frame.c (change_frame_size_1): Take f->internal_border_width
12800         into consideration when calculating the width of the frame.
12801
12802 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12803
12804         * window.c (frame_min_height):
12805         (frame_size_valid_p):
12806         (frame_pixsize_valid_p): Added.
12807         (check_frame_size): Generalized.
12808
12809         * window.h: Prototyped the above.
12810
12811         * lisp.h:
12812         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12813         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12814         Deleted Vwin32_* and Vbinary_process_* unused variables.
12815
12816         * device-msw.c (msprinter_init_device): Do not get printer font
12817         list; Added DEVMODE functions.
12818
12819         * frame-msw.c: Added lots of printer code.
12820
12821         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12822         general.c.
12823
12824         * console-msw.h: Added more msprinter device private slots.
12825
12826 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12827
12828         * event-msw.c (key_needs_default_processing_p): Added.
12829         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12830
12831 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12832
12833         * glyphs.c (image_instance_layout): Mark image instance as clean
12834         after layout.
12835         (glyph_dirty_p): Removed redundant function.
12836         (invalidate_glyph_geometry_maybe): Added.
12837         (update_glyph_cachel_data): Call it.
12838
12839         * glyphs.h: Prototyped it.
12840
12841         * redisplay.c (add_glyph_rune): Call it.
12842         (redisplay_window): Reset glyphs cachels when frame faces have
12843         changed, thus forcing recomputation of built-in border glyphs.
12844
12845 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12846
12847         * Makefile.in.in: Make portable dumper and purify play well together.
12848         Add imperfect, but better than nothing, support for pdump.
12849         Remove xemacs.dmp when temacs is re-generated.
12850         Don't ignore errors when dumping xemacs.
12851
12852         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12853
12854 2000-01-28  Andy Piper  <andy@xemacs.org>
12855
12856         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12857         (setup_normal_frame): ditto.
12858         (setup_frame_without_minibuffer): ditto.
12859         (setup_minibuffer_frame): ditto.
12860         (delete_frame_internal): ditto.
12861         (Fmake_frame_invisible): ditto.
12862         (Ficonify_frame): ditto.
12863
12864         * window.h: change Fset_window_buffer signature.
12865
12866         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12867         (Fset_window_buffer): allow recording of buffer if the window is
12868         the selected window.
12869         (window_loop): Use new Fset_window signature.
12870
12871 2000-01-23  Daniel Pittman  <daniel@danann.net>
12872
12873         * config.h.in: Added template for `HAVE_ATHENA_3D'
12874
12875 2000-01-29  Andy Piper  <andy@xemacs.org>
12876
12877         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12878
12879         * gutter.c (output_gutter): Don't output if the window isn't live.
12880
12881 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12882
12883         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12884         of 01/12/00: Moved SetFocus back here where it belongs.
12885
12886 2000-01-23  Andy Piper  <andy@xemacs.org>
12887
12888         * s/cygwin32.h: declare printer things.
12889
12890 2000-01-26  Andy Piper  <andy@xemacs.org>
12891
12892         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12893         Alexander.
12894
12895 2000-01-24  Andy Piper  <andy@xemacs.org>
12896
12897         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12898         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12899
12900         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12901
12902         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12903
12904         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12905
12906         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12907         (mswindows_output_display_block): Avoid local shadows.
12908
12909         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12910         (mswindows_enqueue_mouse_button_event): ditto.
12911         (mswindows_handle_gui_wm_command): remove declaration.
12912
12913         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12914         warnings.
12915
12916         * console-msw.h: Avoid shadows.
12917         (mswindows_get_toolbar_button_text):
12918         (emacs_mswindows_create_stream_pair):
12919         (emacs_mswindows_delete_stream_pair):
12920         (mswindows_handle_toolbar_wm_command): declare.
12921
12922         * device-msw.c (build_syscolor_string): Avoid shadows.
12923
12924 2000-01-23  Andy Piper  <andy@xemacs.org>
12925
12926         * glyphs-widget.c (widget_instantiate): reverse the items for
12927         layouts so that children are in the expected order.
12928
12929 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12930
12931         * ralloc.c: safe_bcopy ==> memmove
12932         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12933         * s/msdos.h: Remove BCOPY macros.
12934         * insdel.c (gap_right): Remove BCOPY conditional code.
12935         * insdel.c (gap_left): Remove BCOPY conditional code.
12936         XEmacs demands a working ANSI C compiler - hence memmove.
12937
12938         * regex.c (regex_compile): Remove accidental use of trigraphs.
12939
12940 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12941
12942         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12943         event timestamp.
12944
12945 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12946
12947         * event-msw.c (mswindows_drain_windows_queue): Added the
12948         parameter.
12949         (mswindows_need_event): Commented the call to
12950         mswindows_drain_windows_queue().
12951         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12952         only.
12953
12954         * console-msw.h: Moved a few function prototypes here from
12955         event-msw.c.
12956
12957         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12958         parameter from unsigned short to unsigned long.
12959         (Fmswindows_shell_execute): Added return value.
12960
12961 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12962
12963         * sysdep.c (init_system_name):
12964           process-unix.c (unix_canonicalized_host_name):
12965         Don't call freeaddrinfo() if getaddrinfo() fails.
12966
12967         * process-unix.c (unix_open_unix_network_stream):
12968         Moved the code to get a port # into address loop.
12969
12970 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12971
12972         * buffer.c (reinit_vars_of_buffer):
12973         The right place to initialize conversion_in_dynarr and
12974         conversion_out_dynarr.
12975
12976         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12977
12978         * process-unix.c (unix_canonicalize_host_name): Muleize.
12979         (unix_open_network_stream): Muleize.
12980
12981         * buffer.h: Fix up prototypes for ralloc.c functions.
12982
12983 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12984         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12985         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12986                 instead of gethostbyname()
12987         * process-unix.c: In unix_canonicalize_host_name() and
12988                 unix_open_network_stream(), add code to use getaddrinfo()
12989                 instead of gethostbyname().
12990
12991 2000-01-27  Daniel Pittman <daniel@danann.net>
12992
12993         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12994         libs when built with flat Athena.
12995
12996 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12997
12998         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12999         Use coding standards for function prototypes.
13000
13001 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13002
13003         * dialog-msw.c (push_lisp_string_as_unicode):
13004         * doc.c (unparesseuxify_doc_string):
13005         * dired.c (Fuser_name_completion_1):
13006         * dired.c (Fuser_name_all_completions):
13007         * dired.c (free_user_cache):
13008         * dired.c (user_name_completion):
13009         * console-x.c (get_display_arg_connection):
13010         * minibuf.c (clear_echo_area_internal):
13011         * minibuf.c (echo_area_append):
13012         * eldap.c (Fldap_open):
13013         * eldap.c (Fldap_search_internal):
13014         * frame-x.c (x_set_frame_text_value):
13015         * frame-x.c (x_set_frame_properties):
13016         * frame-x.c (x_create_widgets):
13017         * redisplay-tty.c (term_get_fkeys_1):
13018         * objects-x.c (x_parse_nearest_color):
13019         * objects-x.c (x_valid_color_name_p):
13020         * objects-x.c (x_initialize_font_instance):
13021         * objects-x.c (x_list_fonts):
13022         * objects-x.c (x_find_charset_font):
13023         * tooltalk.c (Fadd_tooltalk_message_arg):
13024         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
13025         * tooltalk.c (Fadd_tooltalk_pattern_arg):
13026         * process-unix.c (unix_create_process):
13027         * ntproc.c (sys_spawnve):
13028         * sound.c (Fplay_sound_file):
13029         * sound.c (Fplay_sound):
13030         * buffer.c (init_initial_directory):
13031         * buffer.c (init_buffer):
13032         * editfns.c (init_editfns):
13033         * editfns.c (Ftemp_directory):
13034         * editfns.c (Fuser_full_name):
13035         * editfns.c (uncache_home_directory):
13036         * editfns.c (get_home_directory):
13037         * editfns.c (Fuser_home_directory):
13038         * editfns.c (Fformat_time_string):
13039         * editfns.c (Fcurrent_time_string):
13040         * gui-x.c (button_item_to_widget_value):
13041         * database.c (Fopen_database):
13042         * event-Xt.c (x_to_emacs_keysym):
13043         * event-Xt.c (x_event_to_emacs_event):
13044         * event-Xt.c (describe_event_window):
13045         * event-msw.c (mswindows_wnd_proc):
13046         * glyphs-eimage.c (jpeg_instantiate):
13047         * glyphs-eimage.c (gif_instantiate):
13048         * glyphs-eimage.c (png_instantiate):
13049         * glyphs-eimage.c (tiff_instantiate):
13050         * glyphs-x.c (xbm_instantiate_1):
13051         * glyphs-x.c (x_xbm_instantiate):
13052         * glyphs-x.c (x_xface_instantiate):
13053         * glyphs-x.c (autodetect_instantiate):
13054         * glyphs-x.c (cursor_font_instantiate):
13055         * glyphs-x.c (x_widget_instantiate):
13056         * glyphs-x.c (x_widget_set_property):
13057         * glyphs-x.c (x_widget_property):
13058         * glyphs-x.c (BUILD_GLYPH_INST):
13059         * print.c (write_string_to_stdio_stream):
13060         * print.c (output_string):
13061         * print.c (Falternate_debugging_output):
13062         * print.c (Fexternal_debugging_output):
13063         * glyphs-msw.c (extract_xpm_color_names):
13064         * glyphs-msw.c (mswindows_xpm_instantiate):
13065         * glyphs-msw.c (bmp_instantiate):
13066         * glyphs-msw.c (resource_name_to_resource):
13067         * glyphs-msw.c (mswindows_resource_instantiate):
13068         * glyphs-msw.c (xbm_instantiate_1):
13069         * glyphs-msw.c (mswindows_xbm_instantiate):
13070         * glyphs-msw.c (mswindows_xface_instantiate):
13071         * glyphs-msw.c (mswindows_widget_instantiate):
13072         * glyphs-msw.c (add_tree_item):
13073         * glyphs-msw.c (add_tab_item):
13074         * glyphs-msw.c (mswindows_combo_box_instantiate):
13075         * glyphs-msw.c (mswindows_widget_property):
13076         * glyphs-msw.c (mswindows_combo_box_property):
13077         * glyphs-msw.c (mswindows_widget_set_property):
13078         * console.c (stuff_buffered_input):
13079         * objects-msw.c (mswindows_initialize_color_instance):
13080         * objects-msw.c (mswindows_valid_color_name_p):
13081         * objects-msw.c (mswindows_list_fonts):
13082         * objects-msw.c (mswindows_font_instance_truename):
13083         * bytecode.c (optimize_compiled_function):
13084         * select-x.c (symbol_to_x_atom):
13085         * select-x.c (x_atom_to_symbol):
13086         * select-x.c (hack_motif_clipboard_selection):
13087         * select-x.c (selection_data_to_lisp_data):
13088         * select-x.c (lisp_data_to_selection_data):
13089         * select-x.c (Fx_get_cutbuffer_internal):
13090         * select-x.c (Fx_store_cutbuffer_internal):
13091         * buffer.h (TO_EXTERNAL_FORMAT): New function.
13092         * buffer.h (TO_INTERNAL_FORMAT): New function.
13093         * emacs.c (make_arg_list_1):
13094         * emacs.c (make_argc_argv):
13095         * emacs.c (main_1):
13096         * emacs.c (Fdump_emacs):
13097         * emacs.c (split_string_by_emchar_1):
13098         * file-coding.h:
13099         * lisp.h:
13100         * lstream.h:
13101         * symsinit.h:
13102         * device-x.c (x_init_device):
13103         * device-x.c (Fx_valid_keysym_name_p):
13104         * device-x.c (Fx_get_font_path):
13105         * device-x.c (Fx_set_font_path):
13106         * glyphs.c (bitmap_to_lisp_data):
13107         * glyphs.c (pixmap_to_lisp_data):
13108         * alloc.c (make_ext_string): Use coding system arguments.  Update
13109         all callers.
13110         * alloc.c (build_string):
13111         * callproc.c (child_setup):
13112         * callproc.c (init_callproc):
13113         * fileio.c (lisp_strerror):
13114         * fileio.c (directory_file_name):
13115         * fileio.c (Fexpand_file_name):
13116         * fileio.c (Ffile_truename):
13117         * fileio.c (Fsysnetunam):
13118         * fileio.c (Fdo_auto_save):
13119         * sysdep.c (sys_readdir):
13120         * tests.c: New file.  Allow adding C tests.
13121         Replace GET_* macros with a more comprehensible and flexible
13122         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
13123         Modify all calls.
13124         Any coding system can be used to do format conversion.
13125         Eliminate enum external_data_format.
13126         Eliminate convert_to_external_format.
13127         Eliminate convert_to_internal_format.
13128         Make sure file-name, keyboard, terminal, and ctext are always
13129         defined as coding systems or aliases.  Make
13130         file-name-coding-system, terminal-coding-system, and
13131         keyboard-coding-system magical variables that are equivalent to
13132         defining the corresponding coding system aliases.
13133
13134         * file-coding.c (Fcoding_system_canonical_name_p): New function.
13135         * file-coding.c (Fcoding_system_alias_p): New function.
13136         * file-coding.c (Fcoding_system_aliasee): New function.
13137         * file-coding.c (append_suffix_to_symbol): New function.
13138         * file-coding.c (dangling_coding_system_alias_p): New function.
13139         * file-coding.c (Ffind_coding_system):
13140         * file-coding.c (Fcopy_coding_system):
13141         * file-coding.c (encode_coding_no_conversion):
13142         * file-coding.c (syms_of_file_coding):
13143         * file-coding.c (vars_of_file_coding):
13144         Rewrite coding system alias code.
13145         Allow nested aliases, like symbolic links.
13146         Allow redefinition of coding system aliases.
13147         Prevent existence of dangling coding system aliases.
13148
13149         * dired.c (Fuser_name_completion_1):
13150         * dired.c (Fuser_name_all_completions):
13151         A crash would happen if user did QUIT in the middle of building
13152         user_name_cache.  Remove redundant code in mainline and unwind_protect.
13153
13154         * lisp.h:
13155         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
13156
13157         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
13158         an unsigned char *.  Update all callers.
13159
13160 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13161
13162         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
13163
13164 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13165
13166         * elhash.c (hentry_description): Use more portable definition.
13167         (resize_hash_table): Initialize new hentries using
13168         xnew_array_and_zero, thereby simplifying the code.
13169
13170         * mule-charset.c (make_charset): Make sure entire object is
13171         initialized, to avoid Purify warnings.
13172
13173         * alloc.c (resize_string): Fix unlikely crash with big strings.
13174
13175 2000-01-24  Martin Buchholz  <martin@xemacs.org>
13176
13177         * realpath.c (xrealpath):
13178         Don't call getwd().
13179
13180 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13181
13182         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
13183
13184 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
13185
13186         * unexelfsgi.c (unexec): Change the way we decide which segment
13187         should be extended.
13188
13189         Assumption that .bss section should be outside the PT_LOADable
13190         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
13191         it's present) is inside the 'data' segment. This would fail the
13192         test which was used to find a segment to grow and cover new
13193         heap. Instead of this assumption, I created another one - on IRIX
13194         the segment to grow should start below .bss and it's address
13195         should extent above the end of .bss. Once this segment is
13196         identified, it's grown to accommodate the new heap and new
13197         zero-length .bss section is added at the end of .data2.
13198
13199 2000-01-25  Martin Buchholz  <martin@xemacs.org>
13200
13201         * eval.c (Feval): Wrong number of arguments should use original
13202         function, not the indirect_function version of it.
13203
13204 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13205
13206         * glyphs-x.c (x_button_instantiate): Don't add image if
13207         it is not a pixmap.
13208         (x_locate_pixmap_file): Call Fexpand_file_name when file name
13209         is relative.
13210
13211 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
13212
13213         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
13214         declaration.
13215         (DEFVAR_INT_MAGIC): Ditto.
13216         (DEFVAR_BOOL_MAGIC): Ditto.
13217         * glyphs.h: Reindent backslash.
13218
13219 2000-01-24  Martin Buchholz  <martin@xemacs.org>
13220
13221         * glyphs-widget.c (layout_query_geometry):
13222         (layout_layout): Use correct types for gheight, gwidth.
13223
13224 2000-01-24  Martin Buchholz  <martin@xemacs.org>
13225
13226         * EmacsManager.c (QueryGeometry): Purified.
13227
13228 2000-01-23  Martin Buchholz  <martin@xemacs.org>
13229
13230         * alloc.c (make_float): Make sure entire object is initialized, to
13231         avoid Purify warnings.
13232         (pdump_register_sub): Remove useless assignment.
13233         (pdump): Use xmalloc, not malloc.
13234         (pdump_load): Use xmalloc, not malloc.
13235
13236 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13237
13238         * callproc.c:
13239         * dired-msw.c:
13240         * fileio.c:
13241         * process-nt.c:
13242         * redisplay-msw.c:
13243         * sysdep.c: Removed redundant #include <windows.h>
13244
13245 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13246
13247         * frame.c (delete_frame_internal): Do not delete device when its
13248         implementation so declares.
13249         (delete_frame_internal): Set device selected frame to nil when
13250         last frame goes away.
13251
13252         * device-msw.c (msprinter_device_system_metrics): Implemented.
13253         (mswindows_device_system_metrics): Added 'device-dpi property.
13254
13255         * device.c: (Fdevice_printer_p): Added.
13256         Added 'offset-workspace device metric.
13257
13258         * console.h (device_metrics): Declared DM_offset_workspace.
13259
13260 2000-01-23  Martin Buchholz  <martin@xemacs.org>
13261
13262         * fileio.c (Ffile_truename): Remove pointless and confusing
13263         initialization of elen.
13264
13265         * glyphs-widget.c: Compiler warning fixes.
13266
13267 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
13268
13269         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
13270         instead of a Lisp_Object as argument to make it consistent with
13271         the other LIVE_P macros.
13272         (CHECK_LIVE_PROCESS): New macro.
13273
13274         * process.c: Declare Qprocess_live_p.
13275         (Fprocess_live_p): New function.
13276         (create_process): Use PROCESS_LIVE_P.
13277         (read_process_output): Ditto.
13278         (set_process_filter): Ditto.
13279         (Fdelete_process): Ditto.
13280         (kill_buffer_processes): Ditto
13281         (process_send_signal): Use CHECK_LIVE_PROCESS.
13282         (Fprocess_input_coding_system): Check whether process is still
13283         alive (fix PR#1061).
13284         (Fprocess_output_coding_system): Ditto.
13285         (Fprocess_coding_system): Ditto.
13286         (Fset_process_input_coding_system): Ditto.
13287         (Fset_process_output_coding_system): Ditto.
13288
13289 2000-01-23  Andy Piper  <andy@xemacs.org>
13290
13291         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
13292         layout and widget.
13293
13294         * glyphs.c (mark_image_instance): take into account changed
13295         image_instance format.
13296         (image_instance_equal): ditto.
13297         (image_instance_hash): ditto.
13298
13299         * glyphs-widget.c (widget_instantiate): Incorporate layout
13300         instantiation here. Delay layout of the layout until later.
13301         (layout_instantiate): deleted.
13302         (layout_query_geometry): new function. get the geometry of a
13303         layout.
13304         (layout_layout): layout a layout dynamically.
13305         (image_instantiator_widget): New function - splitting up
13306         image_instantiator_format_create_glyphs_widget for netwinder
13307         compilation.
13308         (image_instantiator_buttons):
13309         (image_instantiator_edit_fields):
13310         (image_instantiator_combo_box):
13311         (image_instantiator_scrollbar):
13312         (image_instantiator_progress_guage):
13313         (image_instantiator_tree_view):
13314         (image_instantiator_tab_control):
13315         (image_instantiator_labels):
13316         (image_instantiator_layout): ditto.
13317         (image_instantiator_format_create_glyphs_widget): Call preceding
13318         functions.
13319
13320 2000-01-22  Martin Buchholz  <martin@xemacs.org>
13321
13322         * process.c (Fset_process_coding_system):
13323         * device-x.c (Fx_keysym_hash_table):
13324         Docstring fixes.
13325
13326         * lstream.c (Lstream_write): Return documented value, not 0.
13327
13328         * fileio.c (directory_file_name):
13329         (Fsubstitute_in_file_name):
13330         (Fsubstitute_insert_file_contents_internal):
13331         (Fwrite_region_internal):
13332         * emacs.c:
13333         * sysdep.c:
13334         * getloadavg.c:
13335         * systty.h:
13336         Remove vestigial APOLLO-conditional code.
13337
13338 2000-01-21  Martin Buchholz  <martin@xemacs.org>
13339
13340         * getpagesize.h: Add guard macros.
13341         * libsst.h: Add guard macros.
13342         * libst.h: Add guard macros.
13343         * line-number.h: Add guard macros.
13344         * ndir.h: Add guard macros.
13345         * sysfloat.h: Add guard macros.
13346         * sysfile.h: Add guard macros.
13347         * sysproc.h: Add guard macros.
13348         * syswait.h: Add guard macros.
13349         * xintrinsic.h: Add guard macros.
13350         * xintrinsicp.h: Add guard macros.
13351         * xmmanager.h: Add guard macros.
13352         * xmmanagerp.h: Add guard macros.
13353         * xmprimitive.h: Add guard macros.
13354         * xmu.h: Add guard macros.
13355         * gpmevent.h: Add copyright statement. Add guard macros.
13356         * miscplay.h: Add guard macros.
13357         * *.h: Use consistent C-standards-approved guard macro names.
13358
13359         * opaque.c (make_opaque): Switch parameter order.
13360         * opaque.h (make_opaque): Switch parameter order.
13361         Update all callers.
13362         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
13363
13364         * config.h.in (type_checking_assert): Added.
13365         (bufpos_checking_assert): Added.
13366
13367 2000-01-21  Martin Buchholz  <martin@xemacs.org>
13368
13369         * alloc.c: Harmless pdump changes.
13370         - Use countof().
13371         - spell alignment correctly.
13372         * sysdep.c: Use countof()
13373
13374 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13375
13376         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
13377         initially_selected_for_input() console method, default to 0.
13378         (semi_canonicalize_console_connection): Try to delegate to
13379         canonicalize_console_connection if no such console method.
13380         (canonicalize_console_connection): Vice versa.
13381         (print_console): Do not print nil connection.
13382
13383         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
13384         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
13385         (XDEVIMPF_FRAMELESS_OK): Added.
13386         (CONSOLE_INHERITS_METHOD): Added.
13387
13388         * console-msw.c (mswindows_canonicalize_console_connection):
13389         Added.
13390         (mswindows_canonicalize_device_connection): Added.
13391
13392         * console-msw.h (struct msprinter_device): Added this struct and
13393         accessor macros.
13394         (mswindows_device): Made fontlist a lisp object.
13395
13396         * device.c (semi_canonicalize_device_connection):  Try to delegate
13397         to canonicalize_device_connection if no such console method.
13398         (canonicalize_device_connection): Vice versa.
13399         (print_device): Do not print nil connection.
13400
13401         * device-msw.c (mswindows_init_device): Call InitCommonControls
13402         when have widgets.
13403         (mswindows_delete_device): Removed fontlist deallocation.
13404         (mswindows_mark_device): Added.
13405
13406         * events.c (event_equal): Added abort() at unreached code.
13407         (event_hash): Ditto.
13408
13409         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
13410         fallback tags of Windows devices.
13411
13412         * general.c (syms_of_general): Initialized Qmsprinter.
13413
13414         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
13415         of fallback tags of Windows devices.
13416
13417         * lisp.h: Declared Qmsprinter.
13418
13419         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
13420         of strings.
13421         (mswindows_list_fonts): Ditto.
13422         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
13423         that it can be used by both mswindows and msprinter devices.
13424         (initialize_font_instance): Added.
13425         (mswindows_initialize_font_instance): Use it.
13426         (msprinter_initialize_font_instance): Added.
13427
13428         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
13429         and implementation flags check.
13430         (redisplay_without_hooks): Changed the call to the above.
13431         (Fredraw_device): Ditto.
13432         (Fredisplay_device): Ditto.
13433
13434         * redisplay-msw.c (get_frame_dc): Implemented.
13435         (get_frame_compdc): Implemented.
13436         (many functions): Use the two functions above to get device
13437         contexts, ether for a window or a printer.
13438
13439 2000-01-21  Olivier Galibert  <galibert@pobox.com>
13440
13441         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
13442         initialization here.
13443         (init_symbols_once_early): Call it.
13444         * emacs.c (main_1): Call it.
13445         * symsinit.h: Declare it.
13446
13447 2000-01-19  Olivier Galibert  <galibert@pobox.com>
13448
13449         * alloc.c: Use a lrecord_header * in the backtrace instead of a
13450         Lisp_Object.
13451         (pdump_backtrace): Ditto.
13452         (pdump_register_object): Ditto.  Cleanup use of the pointers.
13453         (pdump_get_entry): Abort if trying to register a null pointer.
13454         (pdump_dump_data): Cleanup types when relocating.
13455         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
13456         (pdump_dump_rtables): Remove bad casts.
13457         (pdump_load): Cleanup relocation w.r.t union type.  Use a
13458         Lisp_Object instead of a EMACS_INT for the hashtable
13459         reorganization.
13460
13461 2000-01-20  Martin Buchholz  <martin@xemacs.org>
13462
13463         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
13464
13465         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
13466
13467         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
13468
13469         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
13470
13471 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13472
13473         * faces.h (FACE_STRIKETHRU_P): Added.
13474
13475         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
13476         of font variants.
13477
13478         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
13479         (mswindows_set_dc_font): New function, aware of font variants,
13480         separated from mswindows_update_dc.
13481
13482         * objects-msw.h (struct mswindows_font_instance_data): Added
13483         definition.
13484
13485         * objects-msw.c (mswindows_finalize_font_instance): Delete all
13486         cached fonts and the data structure.
13487         (mswindows_initialize_font_instance): Added creation of font data
13488         structure.
13489         (mswindows_print_font_instance): Print at least something.
13490         (mswindows_create_font_variant): Implemented.
13491         (mswindows_get_hfont): Implemented.
13492
13493 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
13494
13495         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
13496         prototyping problem with msvc.
13497
13498         * emacs.c (main_1): added syms_of_gui_mswindows() call
13499
13500         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
13501         syms_of_gui_mswindows() function
13502
13503         * symsinit.h: added the prototype for syms_of_gui_mswindows()
13504
13505 2000-01-18  Martin Buchholz <martin@xemacs.org>
13506
13507         * XEmacs 21.2.27 is released.
13508
13509 2000-01-18  Martin Buchholz  <martin@xemacs.org>
13510
13511         * glyphs-eimage.c (struct tiff_error_struct):
13512         (tiff_error_func):
13513         (tiff_warning_func):
13514         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
13515
13516         * unexmips.c:
13517         * unexhp9k3.c:
13518         * unexfreebsd.c:
13519         * unexec.c: Remove vestigial Lucid C code.
13520         * unexalpha.c:
13521         * unexaix.c:
13522         * termcap.c:
13523         * libsst.c: Ansify.
13524         Remove declarations of errno and strerror().
13525
13526         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
13527
13528         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
13529
13530 2000-01-16  Martin Buchholz  <martin@xemacs.org>
13531
13532         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
13533         Optimize.
13534
13535 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13536
13537         * md5.c:
13538         * file-coding.c:
13539         * file-coding.h:
13540         Change enum eol_type to eol_type_t.
13541
13542 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13543
13544         * gui.c (get_gui_callback): Check cons before accessing car.
13545
13546 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13547
13548         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
13549         (XSETSPECIFIER_TYPE): Ditto.
13550
13551 2000-01-17  Didier Verna  <didier@xemacs.org>
13552
13553         * redisplay.c (generate_fstring_runes): compute string size in
13554         characters, not bytes.
13555
13556 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13557
13558         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
13559
13560 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
13561
13562         * print.c (print_error_message): Call print_prepare().
13563
13564 2000-01-14  Martin Buchholz  <martin@xemacs.org>
13565
13566         * .dbxrc: Renamed from dbxrc.
13567
13568         * events.c (event_to_character):
13569         Use `assert (foo)' instead of `if (!foo) abort()'
13570
13571         * .gdbinit (xtype): Add documentation.
13572         * .gdbinit (check-temacs): New function.
13573         * .gdbinit (check-xemacs): New function.
13574         * dbxrc (check-xemacs): New function.
13575         * dbxrc (check-xemacs): New function.
13576
13577 2000-01-14  Andy Piper  <andy@xemacs.org>
13578
13579         * glyphs-widget.c (widget_query_geometry): Make sure that we
13580         calculate default dimensions correctly.
13581
13582 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13583
13584         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
13585
13586         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
13587         pdump_wire'd variable.
13588
13589         * emacs.c: (main_1): Conditionalized calls to
13590         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
13591
13592 2000-01-13  Martin Buchholz  <martin@xemacs.org>
13593
13594         * window.c (Fset_window_configuration):
13595         * sysdep.c (_start):
13596         * input-method-motif.c (res):
13597         * event-Xt.c (Xt_process_to_emacs_event):
13598         Simple compiler warning fixes.
13599
13600         * bytecode.c (funcall_compiled_function): Use the original
13601         function symbol on the backtrace list in preference to the
13602         compiled_function object in error messages.
13603
13604 2000-01-13  Andy Piper  <andy@xemacs.org>
13605
13606         * glyphs-x.c (update_widget_face): Make sure we update the widget
13607         background as well as foreground.
13608
13609 2000-01-13  Andy Piper  <andy@xemacs.org>
13610
13611         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
13612         fields to subwindow.
13613         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
13614         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
13615         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13616         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13617
13618         * glyphs-widget.c (check_valid_tab_orientation): new function.
13619         (initialize_widget_image_instance): zero orientation and
13620         justification.
13621         (widget_instantiate): pick up orientation.
13622         (tab_control_query_geometry): return appropriate values for
13623         vertical tabs.
13624
13625         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
13626         appropriate creation flags for left, right and bottom tabs.
13627
13628         * s/cygwin32.h: add tab definitions.
13629
13630 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13631
13632         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
13633         frame upon hiding a subwindow.
13634         (mswindows_button_instantiate): Changed the push button style to
13635         BS_PUSHBUTTON.
13636         (mswindows_button_instantiate): Removed button BS_NOTIFY
13637         style.
13638         (mswindows_button_instantiate): Removed redundant check for
13639         a disabled gui item.
13640         (mswindows_button_instantiate): Made use of WS_TABSTOP
13641         consistent: "operable" controls (edit, button, tree, scroll) have
13642         this style, "display-only" ones (static, progress gauge) do
13643         not. This style is currently ignored by XEmacs though. Also,
13644         removed the WS_EX_CONTROLPARENT style - it is not for children,
13645         it is for their parents!
13646         (mswindows_edit_field_instantiate): Ditto.
13647         (mswindows_progress_gauge_instantiate): Ditto.
13648         (mswindows_tree_view_instantiate): Ditto.
13649         (mswindows_tab_control_instantiate): Ditto.
13650         (mswindows_scrollbar_instantiate): Ditto.
13651         (mswindows_combo_box_instantiate): Ditto.
13652         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
13653         style to the "clip" window.
13654         (mswindows_button_instantiate): Removed compilation warning by
13655         equally typing terms of the ?: operator.
13656
13657 2000-01-12  Didier Verna  <didier@xemacs.org>
13658
13659         * redisplay.c (generate_fstring_runes): new parameter holding the
13660         last modeline-format extent.
13661         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
13662         extent, fill the glyph block with it.
13663         (generate_fstring_runes): handle these parameters.
13664         (generate_formatted_string_db): ditto.
13665
13666         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
13667         glyphs'extents in the modeline.
13668
13669 1999-01-11  Mike Woolley  <mike@bulsara.com>
13670
13671         * ntheap.c: Reduced the reserved heap space from 1Gb down to
13672         256Mb, as a workaround for the non-starting problem many people
13673         have experienced.
13674
13675 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13676
13677         * console-tty.c (Fset_console_tty_output_coding_system):
13678         Force redrawing tty frame.
13679
13680 2000-01-10  Didier Verna  <didier@xemacs.org>
13681
13682         * redisplay.c (generate_fstring_runes): fix size computation bug.
13683
13684 2000-01-09  William M. Perry <wmperry@aventail.com>
13685
13686         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
13687
13688 2000-01-09  Andy Piper  <andy@xemacs.org>
13689
13690         * glyphs-msw.c: index -> i to avoid shadows.
13691         (xbm_create_bitmap_from_data): make static.
13692         (check_valid_string_or_int): deleted.
13693         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
13694
13695         * glyphs-x.c (x_update_subwindow): remove unused args.
13696
13697         * glyphs.c (glyph_image_instance): return the thing. Don't set the
13698         back pointer - this is done in allocate_image_instance.
13699         (query_string_font): return Qnil to make the compiler happy.
13700         (unmap_subwindow): set to ~0 to make the compiler happy.
13701         (glyph_query_geometry): comment out until used.
13702         (glyph_layout): ditto.
13703
13704 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13705
13706         * insdel.c (signal_after_change): Remove extraneous unbind_to().