update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * chartab.c (put_char_table): When a charset is specified as a
4         range in UTF-2000, don't support builtin characters.
5
6 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
7
8         * mule-charset.c (decode_defined_char): Don't refer external
9         database if Qunbound or Qnil are found.
10         (Fsave_charset_mapping_table): Don't define it if
11         HAVE_CHISE_CLIENT is not defined.
12         (Freset_charset_mapping_table): New function.
13         (load_char_decoding_entry_maybe): Store Qnil if a character is not
14         found in external database.
15         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
16         if HAVE_CHISE_CLIENT is not defined; add new builtin function
17         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
18
19 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
20
21         * text-coding.c (decode_coding_utf8): Check CCS is specified or
22         not.
23
24 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
25
26         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
27         Q_lowercase, Q_uppercase in UTF-2000.
28
29         * chartab.c (get_char_table): Add special code for the standard
30         case table to use character attribute `->downcase' and
31         `->uppercase' for case operations in UTF-2000.
32
33         * casetab.c (Qflippedcase): New variable in UTF-2000.
34         (Q_lowercase): Likewise.
35         (Q_uppercase): Likewise.
36         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
37         and `->uppercase' in UTF-2000.
38         (complex_vars_of_casetab): Assign attribute name `downcase' to
39         downcase and CANON table of Vstandard_case_table in UTF-2000;
40         assign attribute name `flippedcase' to upcase and EQV table of
41         Vstandard_case_table in UTF-2000.
42
43 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
44
45         * text-coding.c (decode_add_er_char): Support isolated-chars.
46         (char_encode_as_entity_reference): Likewise.
47
48 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
49
50         * emacs.c (Vutf_2000_lisp_directory): New variable.
51         (Vconfigure_utf_2000_lisp_directory): Likewise.
52         (complex_vars_of_emacs): Add new variable
53         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
54
55 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
56
57         * char-ucs.h (DECODE_CHAR): Delete special code for
58         `chinese-big5-1' and `chinese-big5-2'.
59
60         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
61         (Qbig5_2): Likewise.
62         (decode_defined_char): Support CONVERSION_BIG5_1 and
63         CONVERSION_BIG5_2.
64         (decode_builtin_char): Likewise.
65         (charset_code_point): Likewise.
66         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
67         'conversion in UTF-2000.
68         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
69         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
70         `chinese-big5-2' as children of `chinese-big5'.
71
72         * char-ucs.h (CONVERSION_BIG5_1): New macro.
73         (CONVERSION_BIG5_2): New macro.
74
75 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
76
77         * text-coding.c (char_encode_big5): Support entity-reference.
78
79 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
80
81         * text-coding.c (char_encode_as_entity_reference): New function.
82         (char_encode_utf8): Use `char_encode_as_entity_reference'.
83
84 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
85
86         * text-coding.c (decode_coding_big5): Support entity-reference
87         decoding feature.
88
89 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
90
91         * text-coding.c (allocate_coding_system): Initialize initial
92         charsets for CODESYS_UTF8.
93         (Fmake_coding_system): Accept charset-g0, charset-g1 and
94         charset-g2 for CODESYS_UTF8.
95         (decode_coding_utf8): Use charset-g0.
96         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
97         to force variants to map to UCS.
98
99 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
100
101         * text-coding.c (Qutf_8_mcs): New variable.
102         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
103         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
104         instead of `utf-8' in UTF-2000.
105
106 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
107
108         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
109         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
110         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
111         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
112         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
113         CONVERSION_96x96x96x96 are introduced.
114         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
115         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
116         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
117
118         * char-ucs.h (CONVERSION_94): New macro.
119         (CONVERSION_96): New macro.
120         (CONVERSION_94x94): New macro.
121         (CONVERSION_96x96): New macro.
122         (CONVERSION_94x94x94): New macro.
123         (CONVERSION_96x96x96): New macro.
124         (CONVERSION_94x94x94x60): New macro.
125         (CONVERSION_94x94x94x94): New macro.
126         (CONVERSION_96x96x96x96): New macro.
127
128 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
129
130         * chartab.c (Vcharacter_variant_table): Deleted.
131         (Fchar_variants): Use character-attribute `->ucs-variants' instead
132         of `Vcharacter_variant_table'.
133         (Fput_char_attribute): Likewise.
134         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
135         (complex_vars_of_chartab): Likewise.
136
137 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
138
139         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
140
141         * fns.c (Qideographic_structure): New variable.
142         (Qkeyword_char): New variable.
143         (ids_format_unit): New function.
144         (Fideographic_structure_to_ids): New function.
145         (syms_of_fns): Add new symbols `ideographic-structure' and
146         `:char'; add new builtin function `ideographic-structure-to-ids'.
147
148         * data.c (Fchar_ref_p): New function.
149         (syms_of_data): Add new builtin function `char-ref-p'.
150
151         * chartab.h: Add an EXFUN for `Ffind_char'.
152
153 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
154
155         * text-coding.c (Vcharacter_composition_table): Deleted.
156         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
157         in every UTF-2000.
158
159         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
160         UTF-2000.
161         (Vcharacter_composition_table): Deleted.
162         (Fget_composite_char): Use the implementation for external-DB
163         support in every UTF-2000.
164         (Fput_char_attribute): Likewise.
165         (char_attribute_system_db_file): Don't define if external-DB
166         feature is not available.
167         (Fsave_char_attribute_table): Likewise.
168         (Fmount_char_attribute_table): Likewise.
169         (Fclose_char_attribute_table): Likewise.
170         (Freset_char_attribute_table): Likewise.
171         (Fload_char_attribute_table): Likewise.
172         (syms_of_chartab): Don't define `save-char-attribute-table',
173         `mount-char-attribute-table', `reset-char-attribute-table',
174         `close-char-attribute-table' and `load-char-attribute-table' if
175         external-DB feature is not available.
176         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
177
178 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
179
180         * text-coding.c (Qcomposition): Add extern if external-DB feature
181         is supported.
182         (Vcharacter_composition_table): Don't add extern if external-DB
183         feature is supported.
184         (COMPOSE_ADD_CHAR): Modify for new data-representation of
185         character composition rule if external-DB feature is supported.
186
187         * chartab.c (Vcharacter_composition_table): Don't define if
188         external-DB feature is supported.
189         (Qcomposition): New variable.
190         (Fget_composite_char): New implementation for external-DB support.
191         (Fput_char_attribute): Use `composition' property of each
192         character instead of `Vcharacter_composition_table' to store
193         character-composition rules if external-DB feature is supported.
194         (syms_of_chartab): Add new symbol `composition'.
195         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
196         external-DB feature is supported.
197
198 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
199
200         * chartab.c (Vchar_db_stingy_mode): New variable.
201         (load_char_attribute_maybe): Close database if
202         Vchar_db_stingy_mode is not NIL.
203         (Fload_char_attribute_table_map_function): Use
204         `get_char_id_table_0' instead of `get_char_id_table'.
205         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
206
207         * chartab.h (get_char_id_table_0): New inline function.
208         (get_char_id_table): Use `get_char_id_table_0'.
209
210 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
211
212         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
213         and `COMPOSE_ADD_CHAR'.
214         (decode_coding_iso2022): Use `decode_flush_er_chars'.
215
216 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
217
218         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
219         instead of `DECODE_ADD_UCS_CHAR'.
220         (COMPOSE_ADD_CHAR): Likewise.
221
222 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
223
224         * text-coding.c (decode_flush_er_chars): New inline function.
225         (decode_add_er_char): New function.
226         (decode_coding_utf8): Use `decode_flush_er_chars' and
227         `decode_add_er_char'.
228
229 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
230
231         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
232         done before `decode_output_utf8_partial_char'.
233
234         * mule-charset.c (complex_vars_of_mule_charset): Specify
235         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
236         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
237
238 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
239
240         * mule-charset.c (decode_defined_char): New function; search
241         mother.
242         (decode_builtin_char): Don't search mother if
243         XCHARSET_MAX_CODE(charset) == 0.
244         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
245         == 0 even if code >= XCHARSET_MAX_CODE(charset).
246         (Fdecode_char): Use `decode_defined_char' instead of
247         `DECODE_DEFINED_CHAR'.
248         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
249         mother of `Vcharset_ucs_jis'.
250
251         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
252         instead of `DECODE_DEFINED_CHAR'.
253
254         * char-ucs.h (decode_defined_char): Renamed from
255         `DECODE_DEFINED_CHAR'; changed to normal function.
256         (DECODE_CHAR): Use `decode_defined_char' instead of
257         `DECODE_DEFINED_CHAR'.
258
259         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
260
261 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
262
263         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
264
265         * text-coding.c (Vcoded_charset_entity_reference_alist): New
266         variable.
267         (Quse_entity_reference): New variable.
268         (Qd): New variable.
269         (Qx): New variable.
270         (QX): New variable.
271         (coding_system_description): Add description for
272         `ccs_priority_list'.
273         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
274         (allocate_coding_system): Initialize `ccs_priority_list' in
275         UTF-2000.
276         (Fmake_coding_system): Add description about
277         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
278         (codesys).
279         (Fcoding_system_property): Accept `disable-composition' and
280         `use-entity-reference' in UTF-2000.
281         (struct decoding_stream): Add new member `er_counter' and `er_buf'
282         in UTF-2000.
283         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
284         (decode_coding_utf8): Decode entity-reference if
285         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
286         (char_encode_utf8): Encode non-Unicode characters as
287         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
288         (str->codesys).
289         (syms_of_file_coding): Add new symbols `use-entity-reference',
290         `d', `x', `X'.
291         (vars_of_file_coding): Add new variable
292         `coded-charset-entity-reference-alist'.
293         (complex_vars_of_file_coding): Declare `disable-composition' and
294         `use-entity-reference' to be coding-system-properties in UTF-2000.
295
296         * file-coding.h (struct Lisp_Coding_System): Add new member
297         `use_entity_reference' and `ccs_priority_list'.
298         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
299         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
300         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
301
302 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
303
304         * chartab.c (save_uint8_byte_table): Don't clear the table.
305         (save_uint16_byte_table): Likewise.
306         (save_byte_table): Likewise.
307         (Fmount_char_attribute_table): New function.
308         (syms_of_chartab): Add new builtin function
309         `mount-char-attribute-table'.
310
311 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
312
313         * mule-charset.c (Fsave_charset_mapping_table): Open database as
314         "w+" mode.
315         (load_char_decoding_entry_maybe): Open database as read-only mode.
316
317         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
318         open database as "w+" mode.
319         (load_char_attribute_maybe): Open database as read-only mode.
320         (Fload_char_attribute_table): Likewise.
321
322 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
323
324         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
325         (char_table_description): Delete member `db_file'.
326         (Fmake_char_table): Don't refer `ct->db_file'.
327         (Fcopy_char_table): Likewise.
328         (Fsave_char_attribute_table): Likewise.
329         (Fclose_char_attribute_table): Likewise.
330         (Freset_char_attribute_table): Likewise.
331         (load_char_attribute_maybe): Likewise.
332         (Fload_char_attribute_table): Likewise.
333
334         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
335
336 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
337
338         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
339         (Fsave_char_attribute_table): Don't check `ct->db_file' if
340         `ct->db' is living.
341         (load_char_attribute_maybe): Likewise.
342         (Fload_char_attribute_table): Likewise.
343
344 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
345
346         * chartab.c (Fclose_char_attribute_table): Set Qnil on
347         `ct->db_file' unconditionally.
348
349 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
350
351         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
352         UTF-2000.
353         (char_table_description): Add description for `db_file' and `db'
354         in UTF-2000.
355         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
356         UTF-2000.
357         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
358         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
359         (Fclose_char_attribute_table): New function.
360         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
361         (load_char_attribute_maybe): Change interface; use `cit->db_file'
362         and `cit->db'.
363         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
364         (syms_of_chartab): Add new builtin function
365         `Fclose_char_attribute_table'.
366
367 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
368
369         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
370         `db' in UTF-2000.
371         (load_char_attribute_maybe): Change interface.
372         (get_char_id_table): Modify for `load_char_attribute_maybe'.
373
374 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
375
376         * database.h: Add an EXFUN for `Fdatabase_live_p'.
377
378 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
379
380         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
381         instead of `DECODE_CHAR' for mother; don't use special code for
382         chinese-big5 to use code space of chinese-big5-1 and
383         chinese-big5-2.
384         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
385         `MAX_CHAR_BIG5_CDP' for chinese-big5.
386
387         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
388         (MAX_CHAR_BIG5_CDP): Revival.
389
390 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
391
392         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
393         the XLFD registry-encoding name of `chinese-big5'.
394
395 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
396
397         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
398         (Qchinese_big5_cdp): Deleted.
399         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
400         (complex_vars_of_mule_charset): Delete coded-charset
401         `chinese-big5-cdp'.
402
403         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
404         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
405         `CHARSET_ID_OFFSET - n' for private CCS.
406         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
407         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
408         of `MIN_LEADING_BYTE'.
409         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
410         `(CHARSET_ID_OFFSET - 97)'.
411         (MIN_CHAR_BIG5_CDP): Deleted.
412         (MAX_CHAR_BIG5_CDP): Deleted.
413
414 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
415
416         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
417
418 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
419
420         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
421         (vars_of_mule): Add new variable `utf-2000-version' [moved from
422         chartab.c].
423
424         * chartab.c (Vutf_2000_version): Moved to mule.c.
425         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
426
427 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
428
429         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
430         when HAVE_CHISE_CLIENT is not defined.
431
432         * mule.c (vars_of_mule): Provide feature `chise' when
433         HAVE_CHISE_CLIENT is defined.
434
435 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
436
437         * config.h.in (UTF2000): Add comment.
438         (HAVE_CHISE_CLIENT): New macro.
439
440 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
441
442         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
443         CONSP.
444         (Fput_char_attribute): Likewise.
445         (char_attribute_system_db_file): Encode file-name of attribute.
446         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
447         the initial value.
448
449 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
450
451         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
452         (Fsave_charset_mapping_table): Use
453         `char_attribute_system_db_file'.
454         (load_char_decoding_entry_maybe): Likewise.
455
456         * chartab.h (Qsystem_char_id): New external variable.
457         (char_attribute_system_db_file): New prototype.
458
459         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
460         (char_attribute_system_db_file): New function.
461         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
462         (Freset_char_attribute_table): Likewise.
463         (load_char_attribute_maybe): Likewise.
464         (Fload_char_attribute_table): Likewise.
465         (syms_of_chartab): Add new symbol `system-char-id'.
466
467 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
468
469         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
470         `XCHARSET_GRAPHIC(ccs)'.
471
472 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
473
474         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
475
476 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
477
478         * chartab.c (Q_ucs_variants): New variable.
479         (syms_of_chartab): Add new symbol `->ucs-variants'.
480         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
481         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
482         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
483
484         * mule-charset.c (load_char_decoding_entry_maybe): New function.
485
486         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
487         `HAVE_DATABASE' is defined.
488         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
489         `HAVE_DATABASE' is defined.
490
491 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
492
493         * chartab.c (Fsave_char_attribute_table): Don't clear internal
494         attribute-table.
495         (Freset_char_attribute_table): New function.
496         (syms_of_chartab): Add new builtin function
497         `reset-char-attribute-table'.
498
499 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
500
501         * chartab.c (load_char_attribute_maybe): Don't make directories.
502
503 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
504
505         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
506
507         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
508         for decoding-table.
509
510 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
511
512         * mule-charset.c (Fsave_charset_mapping_table): Use
513         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
514
515         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
516         instead of `XCHARSET_CHARS'.
517
518 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
519
520         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
521         (XCHARSET_BYTE_SIZE): Likewise.
522
523         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
524         mule-charset.c].
525         (XCHARSET_BYTE_SIZE): Likewise.
526
527 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
528
529         * chartab.c (Fput_char_attribute): Use exec-directory instead of
530         data-directory to store database.
531         (Fsave_char_attribute_table): Likewise.
532         (load_char_attribute_maybe): Likewise.
533         (Fload_char_attribute_table): Likewise.
534
535 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
536
537         * mule-charset.c (Fsave_charset_mapping_table): New function.
538         (syms_of_mule_charset): Add new builtin function
539         `save-charset-mapping-table'.
540
541 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
542
543         * char-ucs.h (decoding_table_check_elements): Delete prototype.
544         (get_ccs_octet_table): New inline function.
545         (put_ccs_octet_table): Likewise.
546         (decoding_table_put_char): Use `get_ccs_octet_table' and
547         `put_ccs_octet_table'.
548         (decoding_table_remove_char): Use `decoding_table_put_char'.
549         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
550
551         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
552         into encoding_table.
553         (make_charset): Use Qunbound instead Qnil as initial value of
554         decoding_table.
555
556 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
557
558         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
559         element is Qunloaded.
560         (map_over_uint16_byte_table): Likewise.
561         (map_over_byte_table): Likewise.
562         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
563         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
564         database support, load encoding-table of the specified
565         coded-charset if it is not loaded yet.
566         (save_uint8_byte_table): New function of UTF-2000 with external
567         database support.
568         (save_uint16_byte_table): Likewise.
569         (save_byte_table): Likewise.
570         (Fput_char_attribute): Don't store value into external database
571         even if the external database feature is supported in UTF-2000;
572         set `attribute' as name of char-table if the external database
573         feature is supported.
574         (Fsave_char_attribute_table): New function in UTF-2000.
575         (syms_of_chartab): Add new builtin function
576         `save-char-attribute-table' in UTF-2000.
577
578 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
579
580         * chartab.c (char_attribute_table_to_put): New variable in
581         UTF-2000.
582         (Qput_char_table_map_function): Likewise.
583         (value_to_put): Likewise.
584         (Fput_char_table_map_function): New function in UTF-2000.
585         (put_char_table): Use `Fmap_char_attribute' for
586         CHARTAB_RANGE_CHARSET in UTF-2000.
587         (Fput_char_attribute): Store symbol instead of string in
588         `XCHAR_TABLE_NAME (table)'.
589         (load_char_attribute_maybe): Likewise.
590         (syms_of_chartab): Add new symbol/function
591         `put-char-table-map-function'.
592
593 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
594
595         * database.h: Add new EXFUN for `Fmap_database'.
596
597         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
598         (syms_of_database): Likewise.
599
600         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
601         UTF-2000.
602         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
603         (XCHAR_TABLE_UNLOADED): Likewise.
604
605         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
606         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
607         HAVE_DATABASE is defined.
608         (char_attribute_table_to_load): New variable of UTF-2000 with
609         external database support.
610         (Qload_char_attribute_table_map_function): Likewise.
611         (Fload_char_attribute_table_map_function): New function of
612         UTF-2000 with external database support.
613         (Fload_char_attribute_table): New function of UTF-2000.
614         (Fmap_char_attribute): Call Fload_char_attribute_table if
615         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
616         (syms_of_chartab): Add new symbol and function
617         `load-char-attribute-table-map-function' in UTF-2000 with external
618         database support; add new function `load-char-attribute-table' in
619         UTF-2000.
620
621 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * chartab.h (load_char_attribute_maybe): New prototype for
624         UTF-2000 with DATABASE support.
625         (get_char_id_table): Use `load_char_attribute_maybe' if
626         HAVE_DATABASE is defined.
627
628         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
629         with DATABASE support.
630
631 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
632
633         * chartab.c (Fput_char_attribute): Use S-expression as key of
634         external database.
635
636         * chartab.h (get_char_id_table): Use S-expression as key of
637         external database.
638
639 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
640
641         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
642         if an element is not loaded, load the corresponding attributes
643         from an external database.
644         (map_over_uint16_byte_table): Likewise.
645         (map_over_byte_table): Likewise.
646         (map_char_table): Modify for `map_over_uint8_byte_table',
647         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
648         element is not loaded, load the corresponding attributes from an
649         external database.
650         (Fput_char_attribute): Change initial values to Qunloaded.
651
652         * chartab.h (get_char_id_table): If a character attribute is not
653         loaded and the attribute value is not found in an external
654         database, store Qunbound as the attribute value.
655
656 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
657
658         * chartab.c (BT_UINT8_unloaded): New macro.
659         (UINT8_VALUE_P): Accept Qunloaded.
660         (UINT8_ENCODE): Likewise.
661         (UINT8_DECODE): Likewise.
662         (BT_UINT16_unloaded): New macro.
663         (UINT16_VALUE_P): Accept Qunloaded.
664         (UINT16_ENCODE): Likewise.
665         (UINT16_DECODE): Likewise.
666         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
667         BT_UINT16_unloaded.
668         (mark_char_table): Mark `ct->name' in UTF-2000.
669         (char_table_description): Add `name' in UTF-2000.
670         (Fmake_char_table): Initialize `ct->name'.
671         (Fcopy_char_table): Copy `ct->name'.
672         (Fput_char_attribute): Store value into an external database if
673         HAVE_DATABASE is defined.
674
675         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
676         UTF-2000.
677         (CHAR_TABLE_NAME): New macro in UTF-2000.
678         (XCHAR_TABLE_NAME): New macro in UTF-2000.
679         (get_char_id_table): Try to read an external database if Qunloaded
680         is stored in a table.
681
682         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
683         Qunloaded.
684
685 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
686
687         * database.h: Add EXFUN definitions for Fopen_database,
688         Fput_database, Fget_database and Fclose_database.
689
690         * data.c (Qunloaded): New variable in UTF-2000.
691
692         * lisp.h (Qunloaded): New variable in UTF-2000.
693
694 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
695
696         * mule-charset.c (put_char_ccs_code_point): Modify for
697         `decoding_table_remove_char' and `decoding_table_put_char'.
698         (remove_char_ccs): Modify for `decoding_table_remove_char'.
699
700         * char-ucs.h (decoding_table_remove_char): Change arguments to
701         hide decoding_table vector.
702         (decoding_table_put_char): Likewise.
703
704 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
705
706         * mule-charset.c (decoding_table_remove_char): Moved to
707         char-ucs.h.
708         (decoding_table_put_char): Likewise.
709
710         * char-ucs.h (decoding_table_check_elements): New prototype [moved
711         from mule-charset.c].
712         (decoding_table_remove_char): New inline function [moved from
713         mule-charset.c].
714         (decoding_table_put_char): Likewise.
715
716 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
717
718         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
719         extension.
720
721 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
722
723         * mule-charset.c (decode_builtin_char): Support mother charsets.
724
725 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
726
727         * mule-charset.c (Q94x94x60): New variable.
728         (charset_code_point): Support conversion `94x94x60'.
729         (Fmake_charset): Likewise.
730         (syms_of_mule_charset): Add new symbol `94x94x60'.
731
732         * char-ucs.h (CONVERSION_94x94x60): New macro.
733
734 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
735
736         * mule-charset.c (charset_code_point): Unify code about
737         `code-offset'.
738
739 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
740
741         * mule-charset.c (charset_code_point): Merge code about builtin
742         characters into code about mother charsets; don't use
743         `range_charset_code_point'.
744         (range_charset_code_point): Deleted.
745
746 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
747
748         * mule-charset.c (Qcode_offset): New variable.
749         (Fmake_charset): Use `XUINT' to get value of `min-code' and
750         `max-code'; accept new property `code-offset'.
751         (syms_of_mule_charset): Add new symbol `code-offset'.
752
753 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
754
755         * mule-charset.c (range_charset_code_point): Fixed.
756
757 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
758
759         * mule-charset.c (decode_builtin_char): Change semantics of
760         code-offset of coded-charset.
761         (charset_code_point): Likewise.
762         (range_charset_code_point): Likewise.
763         (complex_vars_of_mule_charset): Modify for the change.
764
765 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * mule-charset.c (Fencode_char): Reverse arguments.
768
769         * mule-charset.c (charset_code_point): Fixed.
770
771 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
772
773         * mule-charset.c (Vcharset_mojikyo): Deleted.
774         (Vcharset_mojikyo_2022_1): Deleted.
775         (Vcharset_mojikyo_pj_{1..21}): Deleted.
776         (Qmin_code): New variable in UTF-2000.
777         (Qmax_code): Likewise.
778         (Qmother): Likewise.
779         (Qconversion): Likewise.
780         (Q94x60): Likewise.
781         (Qmojikyo): Deleted.
782         (Qmojikyo_2022_1): Deleted.
783         (Qmojikyo_pj_{1..22}): Deleted.
784         (mark_charset): Mark `cs->mother'.
785         (charset_description): Add description for `mother'.
786         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
787         new arguments `mother' and `conversion'; use
788         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
789         (charset_code_point): Moved from char-ucs.h; support `mother'
790         charset feature.
791         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
792         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
793         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
794         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
795         allow 2 as the value of `graphic' in UTF-2000; add new properties
796         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
797         require `final' in UTF-2000; modify for `make_charset'.
798         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
799         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
800         (Fcharset_property): Support `mother', `min-code' and `max-code'.
801         (Fencode_char): New function.
802         (syms_of_mule_charset): Add new builtin function `encode-char' in
803         UTF-2000; add new symbols `min-code', `max-code', `mother',
804         `conversion' and `94x60'; delete symbols `mojikyo',
805         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
806         (complex_vars_of_mule_charset): Modify for `make_charset' change;
807         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
808         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
809
810         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
811         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
812
813         * char-ucs.h (Vcharset_mojikyo): Deleted.
814         (Vcharset_mojikyo_2022_1): Deleted.
815         (LEADING_BYTE_MOJIKYO): Deleted.
816         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
817         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
818         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
819         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
820         add new member `mother'; add new member `conversion'.
821         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
822         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
823         (CHARSET_MOTHER): New macro.
824         (CHARSET_CONVERSION): New macro.
825         (CONVERSION_IDENTICAL): New macro.
826         (CONVERSION_94x60): New macro.
827         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
828         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
829         (XCHARSET_MOTHER): New macro.
830         (XCHARSET_CONVERSION): New macro.
831         (MIN_CHAR_MOJIKYO): Deleted.
832         (MAX_CHAR_MOJIKYO): Deleted.
833         (DECODE_MOJIKYO_2022): Deleted.
834         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
835         (charset_code_point): Changed to non-inline function.
836         (encode_char_1): Use `charset_code_point'.
837         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
838
839 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
840
841         * lread.c (read_compiled_function): Fix prototype.
842         (read_vector): Likewise.
843
844 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
845
846         * lrecord.h (struct lrecord_header): Delete `older'.
847         (set_lheader_implementation): Delete code for `older'.
848         (set_lheader_older_implementation): Deleted.
849         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
850         (OLDER_RECORD_P): Deleted.
851         (OLDER_RECORD_HEADER_P): Deleted.
852         (alloc_older_lcrecord): Deleted.
853         (alloc_older_lcrecord_type): Deleted.
854
855         * alloc.c (all_older_lcrecords): Deleted.
856         (alloc_older_lcrecord): Deleted.
857         (disksave_object_finalization_1): Delete code for older objects.
858         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
859         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
860
861 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
862
863         * mule-charset.c (decoding_table_put_char): Use `make_vector'
864         instead of `make_older_vector'.
865         (put_char_ccs_code_point): Likewise.
866         (mark_charset): Mark `cs->decoding_table'.
867         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
868
869         * lisp.h (make_older_vector): Deleted.
870         (make_vector_newer): Deleted.
871
872         * config.h.in (HAVE_GGC): Deleted.
873
874         * alloc.c (make_older_vector): Deleted.
875         (make_vector_newer_1): Deleted.
876         (make_vector_newer): Deleted.
877
878 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
879
880         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
881         (Qideograph_daikanwa_2): New variable.
882         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
883         (complex_vars_of_mule_charset): Add new coded-charset
884         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
885         `LEADING_BYTE_DAIKANWA'.
886
887         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
888         (LEADING_BYTE_DAIKANWA_1): New macro.
889         (LEADING_BYTE_DAIKANWA_2): New macro.
890         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
891
892 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
893
894         * mule-charset.c (complex_vars_of_mule_charset): Change
895         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
896         the second revised version.
897
898 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
899
900         * mule-charset.c (Vcharset_ucs_smp): New variable.
901         (Vcharset_ucs_sip): New variable.
902         (Qucs_smp): New variable.
903         (Qucs_sip): New variable.
904         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
905         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
906         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
907         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
908         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
909         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
910
911         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
912         (LEADING_BYTE_UCS_SIP): New macro.
913         (MIN_CHAR_SMP): New macro.
914         (MAX_CHAR_SMP): New macro.
915         (MIN_CHAR_SIP): New macro.
916         (MAX_CHAR_SIP): New macro.
917
918 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
919
920         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
921         utf-2000.
922
923 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
924
925         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
926         value; don't store value into `encoding_table' of `Lisp_Charset'.
927         (mark_charset): `encoding_table' was deleted.
928         (charset_description): Likewise.
929         (make_charset): Likewise.
930         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
931         `put_char_ccs_code_point'.
932
933         * chartab.h (Fput_char_attribute): New EXFUN.
934
935         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
936         is unified with normal symbol space.
937         (Fget_char_attribute): Likewise.
938         (Fput_char_attribute): Likewise; behavior of
939         `put_char_ccs_code_point' is changed.
940
941         * char-ucs.h: Include "elhash.h".
942         (Vchar_attribute_hash_table): New external variable.
943         (struct Lisp_Charset): Delete `encoding_table'.
944         (CHARSET_ENCODING_TABLE): New implementation; refer
945         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
946         `Lisp_Charset'.
947
948 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
949
950         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
951         (cs) == 0.
952
953 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
954
955         * text-coding.c (char_encode_big5): Prefer charset-g1 than
956         `chinese-big5'.
957
958 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
959
960         * chartab.c (uint8_byte_table_description): New constant.
961         (uint8-byte-table): Use `uint8_byte_table_description'.
962         (uint16_byte_table_description): New constant.
963         (uint16-byte-table): Use `uint16_byte_table_description'.
964
965 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
966
967         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
968         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
969
970 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
971
972         * mule-charset.c (Vcharset_ucs_ks): New variable.
973         (Qucs_ks): New variable.
974         (syms_of_mule_charset): Add new symbol `ucs-ks'.
975         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
976
977         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
978
979 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
980
981         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
982         (Fdecode_char): Likewise.
983
984         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
985         chartab.h.
986         (Fdefine_char): Modify for Fdecode_char.
987         (Ffind_char): Likewise.
988
989         * mule-charset.c (Fdecode_char): Add new optional argument
990         `defined-only'.
991         (Fdecode_builtin_char): Modify for `Fdecode_char'.
992
993 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
994
995         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
996         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
997         (allocate_coding_system): Initialize initial-charsets of
998         CODESYS_BIG5 in XEmacs UTF-2000.
999         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1000         CODESYS_BIG5 in XEmacs UTF-2000.
1001         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1002         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1003
1004         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1005         variables.
1006         (Qideograph_hanziku_{1 .. 12}): Likewise.
1007         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1008         .. 12}'.
1009         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1010         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1011         `ideograph-hanziku-{1 .. 12}'.
1012
1013         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1014         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1015         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1016         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1017         (DECODE_DEFINED_CHAR): New inline function.
1018         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1019
1020 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1021
1022         * mule-charset.c (Vcharset_china3_jef): Renamed from
1023         `Vcharset_japanese_jef_china3'.
1024         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1025         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1026         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1027         (syms_of_mule_charset): Rename `china3-jef' from
1028         `japanese-jef-china3'.
1029         (complex_vars_of_mule_charset): Likewise; rename
1030         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1031
1032         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1033         `LEADING_BYTE_JEF_CHINA3'.
1034         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1035         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1036
1037 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1038
1039         * mule-charset.c (encode_builtin_char_1): Comment out special code
1040         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1041
1042         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1043         (MAX_CHAR_MOJIKYO_0): Comment out.
1044         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1045         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1046         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1047         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1048
1049 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1050
1051         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1052         (Qideograph_cbeta): New variable.
1053         (encode_builtin_char_1): Comment out special code for
1054         coded-charset `mojikyo' and `japanese-jef-china3'.
1055         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1056         (complex_vars_of_mule_charset): Add new coded-charset
1057         `ideograph-cbeta'.
1058
1059         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1060         (MIN_CHAR_CBETA): New macro.
1061         (MAX_CHAR_CBETA): New macro.
1062
1063 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1064
1065         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1066         (LEADING_BYTE_JEF_CHINA3): New macro.
1067         (MIN_CHAR_JEF_CHINA3): New macro.
1068         (MAX_CHAR_JEF_CHINA3): Likewise.
1069         (DECODE_CHAR): Fixed.
1070
1071 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1072
1073         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1074         (Qjapanese_jef_china3): New variable.
1075         (encode_builtin_char_1): Support `japanese-jef-china3'.
1076         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1077         (complex_vars_of_mule_charset): Add new coded-charset
1078         `japanese-jef-china3'.
1079
1080 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1081
1082         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1083         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1084         94^4, 96^3, 96^4, 128^n and 256^n set.
1085         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1086         (map_char_table): Likewise.
1087
1088 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1089
1090         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1091         UTF-2000.
1092
1093 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1094
1095         * chartab.h (get_char_id_table): New inline function.
1096
1097         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1098         function.
1099
1100 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1101
1102         * chartab.h (decode_char_table_range): New prototype in XEmacs
1103         UTF-2000.
1104         (put_char_id_table): New inline function in XEmacs UTF-2000.
1105
1106         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1107         function.
1108         (decode_char_table_range): Delete static declaration in XEmacs
1109         UTF-2000.
1110
1111 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1112
1113         * chartab.c (put_char_id_table): Use `put_char_table'.
1114
1115 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1116
1117         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1118         (map_over_uint16_byte_table): Likewise.
1119         (map_over_byte_table): Likewise.
1120         (map_char_table): Modify for `map_over_uint8_byte_table',
1121         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1122         UTF-2000.
1123
1124 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1125
1126         * chartab.c (struct map_char_table_for_charset_arg): New
1127         structure.
1128         (map_char_table_for_charset_fun): New function.
1129         (map_char_table): Use `map_char_table' for encoding_table of
1130         `range->charset'.
1131
1132 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1133
1134         * chartab.c (map_char_table): Check a character is found in
1135         range->charset instead of non default value is defined in
1136         char-table when range is CHARTAB_RANGE_ROW.
1137
1138 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1139
1140         * chartab.c (map_char_id_table): Deleted.
1141         (Fmap_char_attribute): Use `map_char_table' instead of
1142         `map_char_id_table'.
1143
1144 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1145
1146         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1147         UTF-2000.
1148         (update_syntax_table): Deleted in XEmacs UTF-2000.
1149
1150         * syntax.c (find_defun_start): Use `syntax_table' instead of
1151         `mirror_syntax_table' in XEmacs UTF-2000.
1152         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1153         UTF-2000.
1154         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1155         XEmacs UTF-2000.
1156         (Fmatching_paren): Likewise.
1157         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1158         in XEmacs UTF-2000.
1159         (find_start_of_comment): Likewise.
1160         (find_end_of_comment): Likewise.
1161         (Fforward_comment): Likewise.
1162         (scan_lists): Likewise.
1163         (char_quoted): Likewise.
1164         (Fbackward_prefix_chars): Likewise.
1165         (scan_sexps_forward): Likewise.
1166         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1167         (update_syntax_table): Likewise.
1168
1169         * search.c (skip_chars): Use `syntax_table' instead of
1170         `mirror_syntax_table' in XEmacs UTF-2000.
1171         (wordify): Likewise.
1172         (Freplace_match): Likewise.
1173
1174         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1175         `mirror_syntax_table' in XEmacs UTF-2000.
1176         (WORDCHAR_P_UNSAFE): Likewise.
1177         (re_match_2_internal): Likewise.
1178
1179         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1180         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1181
1182         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1183         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1184
1185         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1186         XEmacs UTF-2000.
1187
1188         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1189         UTF-2000.
1190         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1191         (char_table_description): Delete `mirror_table' in XEmacs
1192         UTF-2000.
1193         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1194         UTF-2000.
1195         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1196         (Fcopy_char_table): Likewise.
1197         (put_char_table): Don't call `update_syntax_table' in XEmacs
1198         UTF-2000.
1199
1200         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1201         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1202         (casify_region_internal): Likewise.
1203
1204         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1205
1206         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1207         `mirror_syntax_table' in XEmacs UTF-2000.
1208
1209         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1210         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1211         (Fexpand_abbrev): Likewise.
1212
1213 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1214
1215         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1216
1217 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1218
1219         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1220         (map_over_uint16_byte_table): Likewise.
1221         (map_over_byte_table): Likewise.
1222         (get_char_id_table): Refer `cit->default_value'.
1223         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1224         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1225         of character-id ranges.
1226         (mark_char_table): Mark `ct->default_value'.
1227         (char_table_description): Add `default_value'.
1228         (fill_char_table): Use `default_value'.
1229         (decode_char_table_range): Decode `nil' as
1230         `CHARTAB_RANGE_DEFAULT'.
1231         (get_char_id_table): Refer `cit->default_value'.
1232         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1233         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1234         temporary hack; check value of char-table is bound or not.
1235         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1236
1237         * chartab.h (struct Lisp_Char_Table): Add new member
1238         `default_value' in XEmacs UTF-2000.
1239         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1240         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1241         UTF-2000.
1242
1243 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1244
1245         * chartab.h (Lisp_Char_ID_Table): Deleted.
1246
1247         * chartab.c (char_table_description): Fix typo.
1248         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1249         `Lisp_Char_ID_Table'.
1250
1251 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1252
1253         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1254         `CHAR_ID_TABLE_P'.
1255
1256         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1257         `CHAR_ID_TABLE_P'.
1258
1259         * chartab.h (XCHAR_ID_TABLE): Deleted.
1260         (XSETCHAR_ID_TABLE): Deleted.
1261         (CHAR_ID_TABLE_P): Deleted.
1262
1263         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1264         `CHAR_ID_TABLE_P'.
1265         (Fget_composite_char): Likewise.
1266         (put_char_table): Likewise.
1267         (add_char_attribute_alist_mapper): Fixed.
1268         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1269         `CHAR_ID_TABLE_P'.
1270         (Fget_char_attribute): Likewise.
1271         (Fget_char_attribute): Likewise.
1272         (Fmap_char_attribute): Likewise.
1273
1274         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1275         `CHAR_ID_TABLE_P'.
1276         (encode_char_1): Likewise.
1277
1278 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1279
1280         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1281         `XCHAR_ID_TABLE'.
1282
1283         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1284         instead of `XCHAR_ID_TABLE'.
1285         (remove_char_ccs): Likewise.
1286
1287         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1288         `XCHAR_ID_TABLE'.
1289         (Fget_composite_char): Likewise.
1290         (Fchar_variants): Likewise.
1291         (put_char_table): Likewise.
1292         (add_char_attribute_alist_mapper): Likewise.
1293         (Fchar_attribute_alist): Likewise.
1294         (Fget_char_attribute): Likewise.
1295         (Fput_char_attribute): Likewise.
1296         (Fmap_char_attribute): Likewise.
1297         (Fmap_char_attribute): Likewise.
1298
1299         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1300         `XCHAR_ID_TABLE'.
1301         (encode_char_1): Likewise.
1302
1303 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1304
1305         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1306         `Lisp_Char_ID_Table'.
1307         (mark_char_id_table): Deleted.
1308         (print_char_id_table): Likewise.
1309         (char_id_table_equal): Likewise.
1310         (char_id_table_hash): Likewise.
1311         (char_id_table_description): Likewise.
1312         (char_id_table): Likewise.
1313         (make_char_id_table): Use `Fmake_char_table' and
1314         `fill_char_table'.
1315         (get_char_id_table): Use `Lisp_Char_Table' instead of
1316         `Lisp_Char_ID_Table'.
1317         (put_char_id_table): Likewise.
1318         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1319         `XCHAR_ID_TABLE'.
1320         (Fremove_char_attribute): Likewise.
1321         (syms_of_chartab): Don't define type `char-id-table'.
1322
1323         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1324         (char_id_table): Likewise.
1325         (GC_CHAR_ID_TABLE_P): Likewise.
1326         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1327         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1328         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1329         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1330         (get_char_id_table): Use `Lisp_Char_Table' instead of
1331         `Lisp_Char_ID_Table'.
1332         (put_char_id_table_0): Likewise.
1333         (put_char_id_table): Likewise.
1334
1335 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1336
1337         * chartab.h: Lisp_Byte_Table related codes are moved from
1338         chartab.h.
1339
1340         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1341
1342 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1343
1344         * chartab.h: Don't include "chartab.h".
1345         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1346         (Lisp_Char_ID_Table): Likewise.
1347         (char_id_table): Likewise.
1348         (XCHAR_ID_TABLE): Likewise.
1349         (XSETCHAR_ID_TABLE): Likewise.
1350         (CHAR_ID_TABLE_P): Likewise.
1351         (GC_CHAR_ID_TABLE_P): Likewise.
1352         (get_char_id_table): Likewise.
1353
1354         * char-ucs.h: Include "chartab.h".
1355         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1356         (Lisp_Char_ID_Table): Likewise.
1357         (char_id_table): Likewise.
1358         (XCHAR_ID_TABLE): Likewise.
1359         (XSETCHAR_ID_TABLE): Likewise.
1360         (CHAR_ID_TABLE_P): Likewise.
1361         (GC_CHAR_ID_TABLE_P): Likewise.
1362         (get_char_id_table): Likewise.
1363
1364 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1365
1366         * chartab.c (copy_uint8_byte_table): New function.
1367         (copy_uint16_byte_table): New function.
1368         (copy_byte_table): New function.
1369         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1370         characters to call.
1371         (map_over_uint16_byte_table): Likewise.
1372         (map_over_byte_table): Likewise.
1373         (get_byte_table): Move prototype to chartab.h.
1374         (put_byte_table): Likewise.
1375         (put_char_id_table_0): Moved to chartab.h.
1376         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1377         (char_table_entry_equal): Likewise.
1378         (char_table_entry_hash): Likewise.
1379         (char_table_entry_description): Likewise.
1380         (char_table_entry): Likewise.
1381         (make_char_table_entry): Likewise.
1382         (copy_char_table_entry): Likewise.
1383         (get_non_ascii_char_table_value): Likewise.
1384         (map_over_charset_ascii): Likewise.
1385         (map_over_charset_control_1): Likewise.
1386         (map_over_charset_row): Likewise.
1387         (map_over_other_charset): Likewise.
1388         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1389         (print_char_table): Likewise.
1390         (char_table_equal): Likewise.
1391         (char_table_hash): Likewise.
1392         (char_table_description): Likewise.
1393         (fill_char_table): Likewise.
1394         (Fcopy_char_table): Likewise.
1395         (get_char_table): Likewise.
1396         (Fget_range_char_table): Likewise.
1397         (put_char_table): Likewise.
1398         (map_char_table): Likewise.
1399         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1400         UTF-2000.
1401
1402 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1403
1404         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1405         `Vauto_fill_chars' in XEmacs UTF-2000.
1406
1407         * chartab.h (get_byte_table): New prototype [moved from
1408         chartab.c].
1409         (put_byte_table): Likewise [moved from chartab.c].
1410         (put_char_id_table_0): New inline function [moved from chartab.c].
1411         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1412         (Lisp_Char_Table_Entry): Likewise.
1413         (char_table_entry): Likewise.
1414         (XCHAR_TABLE_ENTRY): Likewise.
1415         (XSETCHAR_TABLE_ENTRY): Likewise.
1416         (CHAR_TABLE_ENTRYP): Likewise.
1417         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1418         (NUM_ASCII_CHARS): Likewise.
1419         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1420         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1421
1422 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1423
1424         * chartab.c (get_char_id_table): Change interface.
1425         (put_char_id_table_0): New function.
1426         (put_char_id_table): Change interface; new implementation.
1427         (Fget_composite_char): Modify for interface change of
1428         `get_char_id_table'.
1429         (Fchar_variants): Likewise.
1430         (add_char_attribute_alist_mapper): Likewise.
1431         (Fchar_attribute_alist): Likewise.
1432         (Fget_char_attribute): Likewise.
1433         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1434         as same as character as the first argument like `put-char-table';
1435         modify for interface change of `put_char_id_table'.
1436         (Fremove_char_attribute): Modify for interface change of
1437         `put_char_id_table'.
1438
1439 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1440
1441         * text-coding.c: Sync up with XEmacs 21.2.41.
1442         (COMPOSE_ADD_CHAR): Modify for interface change of
1443         `get_char_id_table'.
1444
1445         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1446         change of `put_char_id_table'.
1447         (remove_char_ccs): Likewise.
1448
1449         * chartab.h (put_char_id_table): Change interface.
1450
1451         * char-ucs.h (get_char_id_table): Change interface.
1452         (charset_code_point): Modify for interface change of
1453         `get_char_id_table'.
1454         (encode_char_1): Likewise.
1455
1456 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1457
1458         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1459         argument `ccs'.
1460         (map_over_uint16_byte_table): Likewise.
1461         (map_over_byte_table): Likewise.
1462         (map_char_id_table): Add new argument `range' like
1463         `map_char_table'.
1464         (Fmap_char_attribute): Add new argument `range' like
1465         `Fmap_char_table'.
1466
1467 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1468
1469         * chartab.c (map_over_uint8_byte_table): Change interface of
1470         mapping function to use struct chartab_range instead of Emchar.
1471         (map_over_uint16_byte_table): Likewise.
1472         (map_over_byte_table): Likewise.
1473         (map_char_id_table): Likewise.
1474         (struct slow_map_char_id_table_arg): Deleted.
1475         (slow_map_char_id_table_fun): Deleted.
1476         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1477         function `slow_map_char_table_fun' instead of struct
1478         `slow_map_char_id_table_arg' and function
1479         `slow_map_char_id_table_fun'.
1480
1481 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1482
1483         * mule-charset.c: Move char-it-table related codes to chartab.c.
1484         (Vutf_2000_version): Moved to chartab.c.
1485         (Fdefine_char): Likewise.
1486         (Ffind_char): Likewise.
1487         (syms_of_mule_charset): Move types `uint8-byte-table',
1488         `uint16-byte-table', `byte-table' and `char-id-table' to
1489         chartab.c; move functions `char_attribute_list,
1490         `find_char_attribute_table, `char_attribute_alist,
1491         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1492         `map_char_attribute, `define_char, `find_char, `char_variants and
1493         `get_composite_char to chartab.c; move symbols `=>ucs',
1494         `->decomposition', `compat', `isolated', `initial', `medial',
1495         `final', `vertical', `noBreak', `fraction', `super', `sub',
1496         `circle', `square', `wide', `narrow', `small' and `font' to
1497         chartab.c.
1498         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1499         setting codes for `Vcharacter_composition_table' and
1500         `Vcharacter_variant_table' to chartab.c.
1501         (complex_vars_of_mule_charset): Move setting code for
1502         `Vchar_attribute_hash_table' to chartab.c.
1503
1504         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1505         (make_char_id_table): New prototype.
1506         (put_char_id_table): Likewise.
1507         (Fget_char_attribute): Likewise.
1508
1509         * chartab.c: Move char-id-table related code from mule-charset.c.
1510         (Vutf_2000_version): Moved from mule-charset.c.
1511
1512         * char-ucs.h (Qucs): New external variable.
1513         (put_char_ccs_code_point): New prototype.
1514         (remove_char_ccs): Likewise.
1515
1516 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1517
1518         * mule-charset.c (Vcharset_ucs_jis): New variable.
1519         (Qucs_jis): Likewise.
1520         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1521         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1522
1523         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1524
1525 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1526
1527         * mule-charset.c (map_over_uint8_byte_table): New function.
1528         (map_over_uint16_byte_table): Likewise.
1529         (map_over_byte_table): Likewise.
1530         (map_char_id_table): Likewise.
1531         (slow_map_char_id_table_fun): Likewise.
1532         (Fmap_char_attribute): Likewise.
1533         (syms_of_mule_charset): Add new function `map-char-attribute'.
1534
1535 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1536
1537         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1538         (syms_of_mule_charset): Add new function `find-char'.
1539
1540 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1541
1542         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1543         XEmacs UTF-2000.
1544         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1545         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1546         XEmacs UTF-2000.
1547         (complex_vars_of_mule_charset): Add new coded-charset
1548         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1549         `ideograph-gt-pj-*'.
1550
1551         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1552
1553 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1554
1555         * mule-charset.c (encode_builtin_char_1): Purge codes about
1556         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1557         {MIN|MAX}_CHAR_HEBREW.
1558         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1559         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1560
1561         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1562         (MAX_CHAR_GREEK): Purged.
1563         (MIN_CHAR_CYRILLIC): Purged.
1564         (MAX_CHAR_CYRILLIC): Purged.
1565         (MIN_CHAR_HEBREW): Commented out.
1566         (MAX_CHAR_HEBREW): Likewise.
1567
1568 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1569
1570         * mule-charset.c (Qto_ucs): New variable.
1571         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1572         (Fdefine_char): Likewise.
1573         (syms_of_mule_charset): Add new symbol `=>ucs'.
1574
1575 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1576
1577         * mule-charset.c (Fdecode_char): Fixed.
1578
1579 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1580
1581         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1582         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1583         "tcvn5712-1".
1584
1585 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1586
1587         * mule-charset.c (Vcharset_ucs_big5): New variable.
1588         (Qucs_big5): Likewise.
1589         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1590         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1591
1592         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1593
1594 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1595
1596         * mule-charset.c (decode_builtin_char): Check Big5 code range
1597         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1598
1599 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1600
1601         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1602         (Qchinese_gb12345): Likewise.
1603         (Fdecode_builtin_char): Fixed.
1604         (syms_of_mule_charset): Add `chinese-gb12345'.
1605         (complex_vars_of_mule_charset): Add coded-charset
1606         `chinese-gb12345'.
1607
1608         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1609         (LEADING_BYTE_CHINESE_GB12345): New macro.
1610
1611 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1612
1613         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1614         and `latin-viscii-upper' for `latin-viscii'.
1615
1616 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1617
1618         * mule-charset.c (Fdecode_builtin_char): Comment out
1619         regularization code for ISO-IR GR representation.
1620
1621 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1622
1623         * mule-charset.c (decode_builtin_char): New function; renamed from
1624         `make_builtin_char'; return -1 instead of signal.
1625         (Fdecode_builtin_char): Use `decode_builtin_char'.
1626
1627         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1628         `make_builtin_char'.
1629         (DECODE_CHAR): Use `decode_builtin_char' instead of
1630         `make_builtin_char'; use mapping table of `chinese-big5' for
1631         `chinese-big5-{1,2}'.
1632
1633 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1634
1635         * text-coding.c (char_encode_big5): New function.
1636         (char_finish_big5): Likewise.
1637         (reset_encoding_stream): Use `char_encode_big5' and
1638         `char_finish_big5' for CODESYS_BIG5.
1639         (mule_encode): Don't use `encode_coding_big5'.
1640         (encode_coding_big5): Deleted.
1641
1642 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1643
1644         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1645         0x81- in XEmacs UTF-2000.
1646         (detect_coding_big5): Likewise.
1647
1648 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1649
1650         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1651         generate character-id if the CCS property does not have
1652         corresponding predefined character.
1653         (make_builtin_char): Return -1 if corresponding predefined
1654         character is not found.
1655         (Fdecode_char): Return nil if corresponding character is not
1656         found.
1657         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1658         don't map to builtin ucs space.
1659
1660 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1661
1662         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1663         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1664
1665 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1666
1667         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1668         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1669         (Qideograph_gt): Likewise.
1670         (Qideograph_gt_pj_{1..11}): Likewise.
1671         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1672         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1673         `ideograph-gt-pj-11'.
1674         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1675         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1676         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1677
1678         * char-ucs.h (LEADING_BYTE_GT): New macro.
1679         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1680         (MIN_CHAR_GT): Likewise.
1681         (MAX_CHAR_GT): Likewise.
1682
1683 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1684
1685         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1686         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1687
1688         * doprnt.c (unsigned_int_converters): Add `c'.
1689         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1690
1691         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1692         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1693         `MIN_CHAR_MOJIKYO'.
1694         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1695         (MAX_CHAR_MOJIKYO_0): New macro.
1696         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1697
1698 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1699
1700         * mule-charset.c (Fdefine_char): Delete cemented out code.
1701         (encode_builtin_char_1): Modify for new allocation of builtin
1702         Mojikyo characters.
1703
1704         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1705
1706 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1707
1708         * mule-charset.c (Vcharset_ucs_cns): New variable.
1709         (Qucs_cns): New variable.
1710         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1711         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1712
1713 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1714
1715         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1716
1717 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1718
1719         * search.c (search_buffer): Make `charset_base_code' as
1720         character-id >> 6 to eliminate the corresponding last byte in
1721         UTF-8 representation [I'm not sure it is right thing].
1722         (boyer_moore): Likewise.
1723
1724 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1725
1726         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1727         representation in MULE.
1728
1729 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1730
1731         * text-coding.c (Fmake_coding_system): Use
1732         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1733         `EXTERNAL_PROPERTY_LIST_LOOP'.
1734
1735 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1736
1737         * text-coding.c (decode_output_utf8_partial_char): New function.
1738         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1739
1740 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1741
1742         * text-coding.c (decode_coding_utf8): Output original byte
1743         sequence if it is broken; change order of conditions.
1744
1745         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1746         of conditions.
1747
1748         * mb-multibyte.h (BYTE_ASCII_P):
1749         Use bit ops for char-signedness safety.
1750         (BYTE_C0_P): Use bit ops for char-signedness safety.
1751         (BYTE_C1_P): Use bit ops for char-signedness safety.
1752
1753         * character.h: (XCHAR_OR_CHAR_INT):
1754         Always use inline function.
1755         Remove redundant type checking assert() - XINT will abort quite
1756         nicely.
1757
1758 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1759
1760         * text-coding.c: (Fencode_shift_jis_char):
1761         (Fencode_big5_char):
1762         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1763         Replace 0 with '\0' when working with bytes.
1764         Replace initial "(" with "\(" in docstrings.
1765
1766         (Fmake_coding_system):
1767         When type is ccl and value is vector, register it with a proper
1768         symbol.  And checks whether the given ccl program is valid.
1769         (mule_decode): When calling ccl_driver, if src indicates
1770         NULL pointer, set an empty string instead.
1771         (mule_encode): Likewise.
1772
1773         (detect_eol_type):
1774         (detect_coding_sjis):
1775         (decode_coding_sjis):
1776         (detect_coding_big5):
1777         (decode_coding_big5):
1778         (detect_coding_ucs4):
1779         (decode_coding_ucs4):
1780         (detect_coding_utf8):
1781         (decode_coding_utf8):
1782         (detect_coding_iso2022):
1783         (decode_coding_iso2022):
1784         (decode_coding_no_conversion):
1785         (mule_decode):
1786         Make all detecting and decoding functions take an Extbyte * arg.
1787         (text_encode_generic):
1788         (encode_coding_big5):
1789         (encode_coding_no_conversion):
1790         (mule_encode):
1791         Make all encoding functions take a Bufbyte * arg.
1792         Use size_t instead of unsigned int for memory sizes.
1793         Only cast to unsigned char whenever dereferencing Extbyte *.
1794
1795         (struct lrecord_description fcd_description_1): Use countof.
1796         (complex_vars_of_file_coding):
1797         Use countof instead of sizeof.
1798         Use CHECK_NATNUM instead of CHECK_INT.
1799
1800 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1801
1802         * mule-charset.c (Fget_char_attribute): Add new optional argument
1803         `default-value'.
1804         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1805         (remove_char_ccs): Likewise.
1806
1807 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1808
1809         * text-coding.c (char_encode_shift_jis): New implementation in
1810         UTF-2000.
1811         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1812         ...)'.
1813
1814         * mule-charset.c (Vcharset_chinese_big5): New variable in
1815         UTF-2000.
1816         (Qchinese_big5): New variable in UTF-2000.
1817         (BIG5_SAME_ROW): New macro in UTF-2000.
1818         (make_builtin_char): Use builtin characters of
1819         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1820         characters of `Vcharset_chinese_big5'.
1821         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1822         (complex_vars_of_mule_charset): Add new coded-charset
1823         `chinese-big5' in UTF-2000.
1824
1825         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1826         (Vcharset_chinese_big5): New external variable declaration.
1827         (Vcharset_japanese_jisx0208_1990): Likewise.
1828
1829 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1830
1831         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1832         function.
1833         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1834
1835 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1836
1837         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1838         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1839         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1840         `mojikyo-pj-*'.
1841
1842 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1843
1844         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1845
1846 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1847
1848         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1849         to 0.17.
1850
1851 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1852
1853         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1854         for `CHARSET_BY_ATTRIBUTES'.
1855         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1856         `CHARSET_BY_ATTRIBUTES'.
1857
1858         * text-coding.c (struct decoding_stream): Rename member `CH' to
1859         `CPOS'.
1860         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1861         (decode_coding_sjis): Likewise.
1862         (decode_coding_big5): Likewise.
1863         (decode_coding_ucs4): Likewise.
1864         (decode_coding_utf8): Likewise.
1865         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1866         `CHARSET_BY_ATTRIBUTES'.
1867         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1868         `str->counter'; decode 3, 4 bytes sets.
1869         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1870         sets.
1871         (decode_coding_no_conversion): Use `str->cpos' instead of
1872         `str->ch'.
1873
1874         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1875         (Qmojikyo_2022_1): New variable.
1876         (make_charset): Don't use `CHARSET_TYPE_*'.
1877         (range_charset_code_point): Support coded-charset
1878         `mojikyo-2022-1'.
1879         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1880         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1881         `CHARSET_BY_ATTRIBUTES'.
1882         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1883         `CHARSET_BY_ATTRIBUTES'.
1884         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1885         (complex_vars_of_mule_charset): Add new coded-charset
1886         `mojikyo-2022-1'.
1887
1888         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1889         interface; changed to inline function.
1890
1891         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1892         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1893         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1894         (CHARSET_TYPE_94): Deleted.
1895         (CHARSET_TYPE_94X94): Deleted.
1896         (CHARSET_TYPE_96): Deleted.
1897         (CHARSET_TYPE_96X96): Deleted.
1898         (CHARSET_TYPE_128): Deleted.
1899         (CHARSET_TYPE_128X128): Deleted.
1900         (CHARSET_TYPE_256): Deleted.
1901         (CHARSET_TYPE_256X256): Deleted.
1902         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1903         to inline function.
1904         (DECODE_MOJIKYO_2022): New inline function.
1905         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1906         `Vcharset_mojikyo_2022_1'.
1907
1908 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1909
1910         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1911         instead of `EQ'.
1912         (put_byte_table): Likewise.
1913         (char_id_table_equal): Use `get_byte_table' [new implementation].
1914
1915 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1916
1917         * mule-charset.c: Include <limits.h> in UTF-2000.
1918         (BT_UINT8_MIN): New macro in UTF-2000.
1919         (BT_UINT8_MAX): New macro in UTF-2000.
1920         (BT_UINT8_t): New macro in UTF-2000.
1921         (BT_UINT8_nil): New macro in UTF-2000.
1922         (BT_UINT8_unbound): New macro in UTF-2000.
1923         (INT_UINT8_P): New inline function in UTF-2000.
1924         (UINT8_VALUE_P): New inline function in UTF-2000.
1925         (UINT8_ENCODE): New inline function in UTF-2000.
1926         (UINT8_DECODE): New inline function in UTF-2000.
1927         (mark_uint8_byte_table): New function in UTF-2000.
1928         (print_uint8_byte_table): New function in UTF-2000.
1929         (uint8_byte_table_equal): New function in UTF-2000.
1930         (uint8_byte_table_hash): New function in UTF-2000.
1931         (make_uint8_byte_table): New function in UTF-2000.
1932         (uint8_byte_table_same_value_p): New function in UTF-2000.
1933         (BT_UINT16_MIN): New macro in UTF-2000.
1934         (BT_UINT16_MAX): New macro in UTF-2000.
1935         (BT_UINT16_t): New macro in UTF-2000.
1936         (BT_UINT16_nil): New macro in UTF-2000.
1937         (BT_UINT16_unbound): New macro in UTF-2000.
1938         (INT_UINT16_P): New inline function in UTF-2000.
1939         (UINT16_VALUE_P): New inline function in UTF-2000.
1940         (UINT16_ENCODE): New inline function in UTF-2000.
1941         (UINT16_DECODE): New inline function in UTF-2000.
1942         (UINT8_TO_UINT16): New inline function in UTF-2000.
1943         (mark_uint16_byte_table): New function in UTF-2000.
1944         (print_uint16_byte_table): New function in UTF-2000.
1945         (uint16_byte_table_equal): New function in UTF-2000.
1946         (uint16_byte_table_hash): New function in UTF-2000.
1947         (make_uint16_byte_table): New function in UTF-2000.
1948         (uint16_byte_table_same_value_p): New function in UTF-2000.
1949         (print_byte_table): New function in UTF-2000.
1950         (byte-table): Use `print_byte_table' as printer.
1951         (make_byte_table): Delete second argument `older'.
1952         (byte_table_same_value_p): New function in UTF-2000.
1953         (copy_byte_table): Deleted.
1954         (get_byte_table): New function in UTF-2000.
1955         (put_byte_table): New function in UTF-2000.
1956         (print_char_id_table): New function in UTF-2000.
1957         (char-id-table): Use `print_char_id_table' as printer.
1958         (make_char_id_table): Delete second argument `older'.
1959         (get_char_id_table): Use `get_byte_table [new implementation].
1960         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1961         implementation].
1962         (Ffind_char_attribute_table): New function in UTF-2000.
1963         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1964         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1965         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1966         (syms_of_mule_charset): Add new function
1967         `find-char-attribute-table' in UTF-2000.
1968
1969         * lrecord.h (enum lrecord_type): Add
1970         `lrecord_type_uint16_byte_table' and
1971         `lrecord_type_uint8_byte_table'.
1972
1973         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1974         (Lisp_Uint8_Byte_Table): New type.
1975         (XUINT8_BYTE_TABLE): New macro.
1976         (XSETUINT8_BYTE_TABLE): New macro.
1977         (UINT8_BYTE_TABLE_P): New macro.
1978         (GC_UINT8_BYTE_TABLE_P): New macro.
1979         (struct Lisp_Uint16_Byte_Table): New structure.
1980         (Lisp_Uint16_Byte_Table): New type.
1981         (XUINT16_BYTE_TABLE): New macro.
1982         (XSETUINT16_BYTE_TABLE): New macro.
1983         (UINT16_BYTE_TABLE_P): New macro.
1984         (GC_UINT16_BYTE_TABLE_P): New macro.
1985
1986 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1987
1988         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1989         (Vcharacter_ideographic_strokes_table): Deleted.
1990         (Vcharacter_total_strokes_table): Deleted.
1991         (Vcharacter_morohashi_daikanwa_table): Deleted.
1992         (Vcharacter_decomposition_table): Deleted.
1993         (Qname): Deleted because it is duplicated.
1994         (Qideographic_radical): Deleted.
1995         (Qideographic_strokes): Deleted.
1996         (Qtotal_strokes): Deleted.
1997         (Qmorohashi_daikanwa): Deleted.
1998         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1999         `ideographic-radical', `ideographic-strokes', `total-strokes',
2000         `morohashi-daikanwa' and `->decomposition'.
2001         (Fget_char_attribute): Likewise.
2002         (Fput_char_attribute): Likewise; use `make-vector' instead of
2003         `make_older_vector' for `->decomposition' value.
2004         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2005         `ideograph-daikanwa'.
2006         (syms_of_mule_charset): Delete builtin symbols `name',
2007         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2008         `morohashi-daikanwa'.
2009         (vars_of_mule_charset): Don't setup
2010         `Vcharacter_ideographic_radical_table',
2011         `Vcharacter_ideographic_strokes_table',
2012         `Vcharacter_total_strokes_table',
2013         `Vcharacter_morohashi_daikanwa_table' and
2014         `Vcharacter_decomposition_table'.
2015
2016 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2017
2018         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2019         `make_older_vector', `make_vector_newer_1' and
2020         `make_vector_newer'.
2021
2022         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2023         `make_older_vector' and `make_vector_newer'.
2024
2025         * config.h.in (HAVE_GGC): New macro.
2026
2027 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2028
2029         * mule-charset.c (struct char_attribute_list_closure): New
2030         structure in UTF-2000.
2031         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2032         (Fchar_attribute_list): Likewise.
2033         (Fset_charset_mapping_table): Use `make_vector_newer'.
2034         (Fdecode_builtin_char): New function in UTF-2000.
2035         (syms_of_mule_charset): Add new function `char-attribute-list' and
2036         `decode-builtin-char' in UTF-2000.
2037
2038         * lisp.h (make_vector_newer): New prototype.
2039
2040         * alloc.c (make_vector_newer_1): New function.
2041         (make_vector_newer): New function.
2042
2043 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2044
2045         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2046         50100)'.
2047
2048 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2049
2050         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2051         (Vcharacter_attribute_table): Deleted.
2052         (Vcharacter_name_table): Deleted.
2053         (put_char_attribute): Deleted.
2054         (remove_char_attribute): Deleted.
2055         (struct char_attribute_alist_closure): New structure.
2056         (add_char_attribute_alist_mapper): New function.
2057         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2058         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2059         (Fget_char_attribute): Likewise.
2060         (Fput_char_attribute): Likewise.
2061         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2062         of `remove_char_attribute'.
2063         (Fdefine_char): Return character.
2064         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2065         and `Vcharacter_name_table'.
2066         (complex_vars_of_mule_charset): Likewise
2067         `Vchar_attribute_hash_table'.
2068
2069 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * character.h (CHARC_CHARSET): New macro.
2072         (CHARC_CHARSET_ID): New macro.
2073         (CHARC_CODE_POINT): New macro.
2074         (CHARC_COLUMNS): New macro.
2075         (CHARC_TO_CHAR): New inline function.
2076         (CHARC_EQ): New inline function.
2077         (CHARC_ASCII_EQ): New inline function.
2078         (CHARC_IS_SPACE): New inline function.
2079         (ASCII_TO_CHARC): New inline function.
2080
2081         * char-ucs.h (encode_char_2): Deleted.
2082         (ENCODE_CHAR): Use `encode_char_1' again.
2083         (breakup_char_1): Likewise.
2084         (CHAR_TO_CHARC): New inline function.
2085
2086         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2087
2088 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2089
2090         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2091         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2092         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2093         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2094         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2095         `CHARC_IS_SPACE'.
2096         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2097
2098         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2099         `CHARC_CODE_POINT'.
2100         (x_output_display_block): Use `CHARC_CHARSET' and
2101         `CHARC_ASCII_EQ'.
2102
2103         * redisplay-tty.c (tty_output_display_block): Use
2104         `CHARC_ASCII_EQ'.
2105         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2106
2107         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2108
2109         * insdel.c (find_charsets_in_charc_string): Use
2110         `CHARC_CHARSET_ID'.
2111         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2112         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2113         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2114         (convert_charc_string_into_malloced_string): Likewise.
2115
2116 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2117
2118         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2119         instead of <Emchar_dynarr *> for buf; use
2120         `convert_bufbyte_string_into_charc_dynarr' instead of
2121         `convert_bufbyte_string_into_emchar_dynarr'; use
2122         `find_charsets_in_charc_string' instead of
2123         `find_charsets_in_emchar_string'.
2124
2125         * redisplay.h:
2126         - Include "character.h".
2127         (struct rune): New member `cglyph'; delete member `chr'.
2128
2129         * redisplay.c (redisplay_text_width_charc_string): New function;
2130         delete `redisplay_text_width_emchar_string'.
2131         (rtw_charc_dynarr): New variable; renamed from
2132         `rtw_emchar_dynarr'.
2133         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2134         `rtw_emchar_dynarr'; use
2135         `convert_bufbyte_string_into_charc_dynarr' instead of
2136         `convert_bufbyte_string_into_emchar_dynarr'; use
2137         `redisplay_text_width_charc_string' instead of
2138         `redisplay_text_width_emchar_string'.
2139         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2140         instead of `rtw_emchar_dynarr'; use
2141         `convert_bufbyte_string_into_charc_dynarr' instead of
2142         `convert_bufbyte_string_into_emchar_dynarr'.
2143         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2144         `redisplay_text_width_charc_string' instead of
2145         `redisplay_text_width_emchar_string'.
2146         (create_text_block): Modify for <struct rune> change.
2147         (generate_formatted_string_db): Likewise.
2148         (create_string_text_block): Likewise.
2149         (pixel_to_glyph_translation): Likewise.
2150
2151         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2152         instead of <const Emchar *>.
2153         (x_text_width): Likewise.
2154         (x_output_display_block): Use <Charc_dynarr *> instead
2155         <Emchar_dynarr *>; modify for <structure rune> change.
2156         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2157         *>.
2158
2159         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2160         <const Emchar *>; use `charc_string_displayed_columns' instead of
2161         `emchar_string_displayed_columns'.
2162         (tty_output_display_block): Use <Charc_dynarr *> instead of
2163         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2164         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2165         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2166         `tty_output_emchar_dynarr_dynarr'.
2167         (tty_output_charc_dynarr): New function; delete
2168         `tty_output_charc_dynarr'.
2169
2170         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2171         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2172         <Emchar_dynarr *> for buf; use
2173         `convert_bufbyte_string_into_charc_dynarr' instead of
2174         `convert_bufbyte_string_into_emchar_dynarr'.
2175
2176         * frame.c (title_string_charc_dynarr): New variable; renamed from
2177         `title_string_emchar_dynarr'.
2178         (generate_title_string): Use `title_string_charc_dynarr' instead
2179         of `title_string_emchar_dynarr'; use
2180         `convert_charc_string_into_malloced_string' instead of
2181         `convert_emchar_string_into_malloced_string'.
2182         (init_frame): Use `title_string_charc_dynarr' instead of
2183         `title_string_emchar_dynarr'.
2184
2185         * console.h:
2186         - Include "character.h".
2187         (struct console_methods): Use <const Charc *> instead of <const
2188         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2189         <Emchar_dynarr *> in output_string_method.
2190
2191         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2192         <Emchar_dynarr *>.
2193
2194         * console-stream.c (stream_text_width): Use <const Charc *>
2195         instead of <const Emchar *>.
2196
2197         * character.h (Charc_dynarr): New type.
2198
2199         * char-ucs.h (structure Charc): New structure; define new type
2200         `Charc'.
2201
2202         * char-lb.h (DECODE_CHAR): New inline function.
2203         (encode_char_1): New inline function.
2204         (ENCODE_CHAR): New macro.
2205         (structure Charc): New structure; define new type `Charc'.
2206
2207         * char-1byte.h (Vcharset_control_1): New macro.
2208         (Vcharset_latin_iso8859_1): New macro.
2209         (DECODE_CHAR): New inline function.
2210         (encode_char_1): New inline function.
2211         (ENCODE_CHAR): New macro.
2212         (structure Charc): New structure; define new type `Charc'.
2213
2214         * insdel.c (find_charsets_in_charc_string): New function; delete
2215         `find_charsets_in_emchar_string'.
2216         (charc_string_displayed_columns): New function; delete
2217         `emchar_string_displayed_columns'.
2218         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2219         `convert_bufbyte_string_into_emchar_dynarr'.
2220         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2221         `convert_charc_string_into_bufbyte_dynarr'.
2222         (convert_charc_string_into_malloced_string): New function; delete
2223         `convert_charc_string_into_malloced_string'.
2224
2225         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2226         `find_charsets_in_emchar_string'.
2227         (charc_string_displayed_columns): New prototype; delete
2228         `emchar_string_displayed_columns'.
2229         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2230         `convert_charc_string_into_bufbyte_dynarr'.
2231         (convert_charc_string_into_malloced_string): New prototype; delete
2232         `convert_charc_string_into_malloced_string'.
2233
2234 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2235
2236         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2237
2238 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2239
2240         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2241
2242         * char-ucs.h: Use <short> for <Charset_ID>.
2243
2244         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2245         <Charset_ID>.
2246
2247 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2248
2249         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2250         to 0.16.
2251
2252 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2253
2254         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2255         variable.
2256         (Qmorohashi_daikanwa): New variable.
2257         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2258         for `morohashi-daikanwa' attribute.
2259         (Fget_char_attribute): Likewise.
2260         (Fput_char_attribute): Likewise.
2261         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2262         has the same value of `ideograph-daikanwa'.
2263         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2264         (vars_of_mule_charset): Setup
2265         `Vcharacter_morohashi_daikanwa_table'.
2266
2267 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2268
2269         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2270         attributes.
2271         (add_charset_to_list_mapper): Add `key' instead of
2272         `XCHARSET_NAME (value)' to return aliases.
2273
2274 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2275
2276         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2277         variable.
2278         (Vcharacter_ideographic_strokes_table): New variable.
2279         (Qideographic_radical): New variable.
2280         (Qideographic_strokes): New variable.
2281         (Fchar_attribute_alist): Use
2282         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2283         attribute; use `Vcharacter_ideographic_strokes_table' for
2284         `ideographic-strokes' attribute.
2285         (Fget_char_attribute): Likewise.
2286         (Fput_char_attribute): Likewise.
2287         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2288         `ideographic-strokes'.
2289         (vars_of_mule_charset): Setup
2290         `Vcharacter_ideographic_radical_table' and
2291         `Vcharacter_ideographic_strokes_table'.
2292
2293 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2294
2295         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2296         (Qtotal_strokes): New variable.
2297         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2298         `total-strokes' attribute.
2299         (Fget_char_attribute): Likewise.
2300         (Fput_char_attribute): Likewise.
2301         (syms_of_mule_charset): Add new symbol `total-strokes'.
2302         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2303
2304 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2305
2306         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2307         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2308         are found.
2309         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2310         `->decomposition' attribute.
2311         (Fput_char_attribute): Likewise.
2312         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2313
2314 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2315
2316         * mule-charset.c (decoding_table_check_elements): New function.
2317         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2318
2319 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2320
2321         * mule-charset.c (Fset_charset_mapping_table): Use
2322         `put_char_ccs_code_point'.
2323
2324 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2325
2326         * mule-charset.c (decoding_table_put_char): New inline function.
2327         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2328
2329 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2330
2331         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2332         (XCHARSET_BYTE_SIZE): New macro.
2333         (decoding_table_remove_char): New inline function.
2334         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2335         `decoding_table_remove_char'.
2336         (remove_char_ccs): Use `decoding_table_remove_char'.
2337         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2338
2339 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2340
2341         * mule-charset.c (Vcharacter_name_table): New variable.
2342         (Qname): New variable.
2343         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2344         attribute.
2345         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2346         `Vcharacter_name_table' for `name' attribute.
2347         (Fremove_char_attribute): Use function `remove_char_ccs'.
2348         (put_char_ccs_code_point): New function.
2349         (remove_char_ccs): New function.
2350         (syms_of_mule_charset): Add new symbol `name'.
2351         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2352
2353 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2354
2355         * mule-charset.c (make_byte_table): Add new argument `older'.
2356         (make_char_id_table): Likewise.
2357         (copy_char_id_table): Comment out because it is not used.
2358         (put_char_id_table): Modify for `make_byte_table'.
2359         (Fput_char_attribute): Make encoding_table as older object;
2360         inherit older bit of `Vcharacter_composition_table'.
2361         (mark_charset): Don't mark `cs->encoding_table'.
2362         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2363         normal object; make `Vcharacter_composition_table' as an older
2364         object; delete staticpro for `Vcharacter_composition_table'; make
2365         `Vcharacter_variant_table' as a normal object.
2366
2367         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2368         (mark_object): Don't check older object in UTF-2000.
2369
2370         * lrecord.h (struct lrecord_header): Add new member `older' in
2371         UTF-2000.
2372         (set_lheader_implementation): Setup `SLI_header->older' in
2373         UTF-2000.
2374         (set_lheader_older_implementation): New macro in UTF-2000.
2375         (OLDER_RECORD_P): New macro in UTF-2000.
2376         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2377         (alloc_older_lcrecord): New prototype in UTF-2000.
2378         (alloc_older_lcrecord_type): New macro in UTF-2000.
2379
2380 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2381
2382         * mule-charset.c (byte_table_description): Use
2383         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2384         (char_id_table_description): Delete bogus `, 1'.
2385         (Fget_char_attribute): Refer encoding_table of each coded-charset
2386         to get value of coded-charset attribute of a character.
2387         (Fput_char_attribute): Use `make_older_vector' instead of
2388         `make_vector'; use encoding_table of each coded-charset to store
2389         value of coded-charset attribute of a character.
2390         (Fremove_char_attribute): Use encoding_table of each coded-charset
2391         to store value of coded-charset attribute of a character.
2392         (mark_charset): Mark `cs->encoding_table'; don't mark
2393         `cs->decoding_table'.
2394         (charset_description): Add description of new member
2395         `encoding_table'.
2396         (make_charset): Initialize `encoding_table'.
2397
2398         * char-ucs.h (struct Lisp_Charset): Add new member
2399         `encoding_table'.
2400         (CHARSET_ENCODING_TABLE): New macro.
2401         (XCHARSET_ENCODING_TABLE): New macro.
2402         (charset_code_point): New implementation.
2403         (encode_char_1): Likewise.
2404
2405         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2406         (disksave_object_finalization_1): Call finalizers of
2407         `all_older_lcrecords' in UTF-2000.
2408         (make_older_vector): New function in UTF-2000.
2409         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2410         UTF-2000.
2411
2412         * lisp.h (make_older_vector): New prototype in UTF-2000.
2413
2414 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2415
2416         * lrecord.h (enum lrecord_type): Rename
2417         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2418
2419         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2420         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2421         `get_char_code_table'.
2422
2423         * mule-charset.c (mark_char_id_table): Renamed from
2424         `mark_char_code_table'.
2425         (char_id_table_equal): Renamed from `char_code_table_equal'.
2426         (char_id_table_hash): Renamed from `char_code_table_hash'.
2427         (make_char_id_table): Renamed from `make_char_code_table'.
2428         (copy_char_id_table): Renamed from `copy_char_code_table'.
2429         (get_char_id_table): Renamed from `get_char_code_table'.
2430         (put_char_id_table): Renamed from `put_char_code_table'.
2431         (to_char_id): Renamed from `to_char_code'.
2432
2433         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2434         `Lisp_Char_Code_Table'.
2435         (char_id_table): Renamed from `char_code_table'.
2436         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2437         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2438         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2439         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2440         (get_char_id_table): Renamed from `get_char_code_table'.
2441
2442 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2443
2444         * lrecord.h (enum lrecord_type): Rename
2445         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2446
2447         * mule-charset.c (mark_byte_table): Renamed from
2448         `mark_char_byte_table'.
2449         (byte_table_equal): Renamed from `char_byte_table_equal'.
2450         (byte_table_hash): Renamed from `byte_table_hash'.
2451         (make_byte_table): Renamed from `make_byte_table'.
2452         (copy_byte_table): Renamed from `copy_char_byte_table'.
2453
2454         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2455         `Lisp_Char_Byte_Table'.
2456         (byte_table): Renamed from `char_byte_table'.
2457         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2458         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2459         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2460         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2461
2462 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2463
2464         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2465         (dfc_convert_to_internal_format): Likewise.
2466         
2467         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2468         * text-coding.c (Fcoding_system_alias_p): New function.
2469         * text-coding.c (Fcoding_system_aliasee): New function.
2470         * text-coding.c (append_suffix_to_symbol): New function.
2471         * text-coding.c (dangling_coding_system_alias_p): New function.
2472         * text-coding.c (Ffind_coding_system):
2473         * text-coding.c (Fcopy_coding_system):
2474         * text-coding.c (encode_coding_no_conversion):
2475         * text-coding.c (syms_of_file_coding):
2476         * text-coding.c (vars_of_file_coding):
2477         Rewrite coding system alias code.
2478         Allow nested aliases, like symbolic links.
2479         Allow redefinition of coding system aliases.
2480         Prevent existence of dangling coding system aliases.
2481         Eliminate convert_to_external_format.
2482         Eliminate convert_to_internal_format.
2483         
2484         * text-coding.c: Change enum eol_type to eol_type_t.
2485
2486 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2487
2488         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2489         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2490
2491         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2492         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2493
2494 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2495
2496         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2497         `ideograph-daikanwa'.
2498
2499         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2500         (Vcharset_ucs_bmp): Likewise.
2501         (Vcharset_mojikyo): Add new extern variable definition.
2502         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2503         (Vcharset_latin_iso8859_3): Likewise.
2504         (Vcharset_latin_iso8859_4): Likewise.
2505         (Vcharset_latin_iso8859_9): Likewise.
2506         (Vcharset_latin_viscii_lower): Likewise.
2507         (Vcharset_latin_viscii_upper): Likewise.
2508         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2509         `mojikyo' code-point is used to decode.
2510         (encode_char_2): New function [to convert `mojikyo' code-point to
2511         Mojikyo font encoding].
2512         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2513         (breakup_char_1): Likewise.
2514         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2515
2516 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2517
2518         * text-coding.c (Fmake_coding_system): Add document about
2519         `disable-composition' property.
2520
2521 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2522
2523         * text-coding.c (Qdisable_composition): New variable; delete
2524         `Qcomposite'.
2525         (Fmake_coding_system): Add new property `disable-composite';
2526         delete property `composite'.
2527         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2528         instead of `!CODING_SYSTEM_COMPOSITE'.
2529         (syms_of_file_coding): Add new symbol `disable-composition';
2530         delete symbol `composite'.
2531
2532         * file-coding.h (struct Lisp_Coding_System): Add
2533         `disable_composition'; delete `enable_composition'.
2534         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2535         `CODING_SYSTEM_COMPOSITE'.
2536         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2537         `XCODING_SYSTEM_COMPOSITE'.
2538
2539 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2540
2541         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2542         to 0.15.
2543
2544 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2545
2546         * text-coding.c (Qcomposite): New variable.
2547         (Fmake_coding_system): Add new property `composite'.
2548         (struct decoding_stream): Add `combined_char_count',
2549         `combined_chars' and `combining_table' in UTF-2000.
2550         (COMPOSE_FLUSH_CHARS): New macro.
2551         (COMPOSE_ADD_CHAR): New macro.
2552         (reset_decoding_stream): Reset `str->combined_char_count' and
2553         `str->combining_table' in UTF-2000.
2554         (decode_coding_iso2022): Modify for character-decomposition.
2555         (syms_of_file_coding): Add new symbol `composite'.
2556
2557 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2558
2559         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2560         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2561         of `Vcharacter_composition_table' if `->decomposition' property
2562         has only 1 element.
2563         (Qlatin_tcvn5712): New variable.
2564         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2565         (complex_vars_of_mule_charset): Add new coded-charset
2566         `latin-tcvn5712'.
2567
2568         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2569
2570 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2571
2572         * file-coding.h (struct Lisp_Coding_System): Add
2573         `enable_composition'.
2574         (CODING_SYSTEM_COMPOSITE): New macro.
2575         (XCODING_SYSTEM_COMPOSITE): New macro.
2576
2577 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2578
2579         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2580
2581 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2582
2583         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2584         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2585
2586 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2587
2588         * mule-charset.c (Vcharset_mojikyo): New variable.
2589         (Fdefine_char): Don't use coded-charset which does not have
2590         non-builtin character range to allocate character-id.
2591         (Qmojikyo): New variable.
2592         (syms_of_mule_charset): Add new symbol `mojikyo'.
2593         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2594
2595         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2596         (LEADING_BYTE_MOJIKYO): New macro.
2597         (MIN_CHAR_MOJIKYO): New macro.
2598         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2599         (MAX_CHAR_MOJIKYO): New macro.
2600
2601 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2602
2603         * mule-charset.c (remove_char_attribute): Fixed.
2604
2605 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2606
2607         * mule-charset.c (remove_char_attribute): New function.
2608         (Fremove_char_attribute): New function.
2609         (encode_builtin_char_1): Comment out builtin-support for
2610         greek-iso8859-7 and cyrillic-iso8859-5.
2611         (Fdecode_char): Check `code' is an integer.
2612         (syms_of_mule_charset): Add `remove-char-attribute'.
2613         (MIN_CHAR_GREEK): Deleted.
2614         (MAX_CHAR_GREEK): Likewise.
2615         (MIN_CHAR_CYRILLIC): Likewise.
2616         (MAX_CHAR_CYRILLIC): Likewise.
2617         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2618         MAX_CHAR_GREEK for `greek-iso8859-7'.
2619
2620         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2621         (MAX_CHAR_GREEK): Likewise.
2622         (MIN_CHAR_CYRILLIC): Likewise.
2623         (MAX_CHAR_CYRILLIC): Likewise.
2624
2625 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2626
2627         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2628         format is used without `ucs' property.
2629         (Fdecode_char): Fix problem with GR representation.
2630         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2631         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2632
2633 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2634
2635         * mule-charset.c (make_builtin_char): New function.
2636         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2637         (Fset_charset_mapping_table): Modify for new representation of
2638         code-point.
2639         (Fdecode_char): New function.
2640         (syms_of_mule_charset): Add new builtin function `decode-char' in
2641         UTF-2000.
2642
2643         * char-ucs.h (make_builtin_char): New prototype.
2644         (DECODE_CHAR): New inline function.
2645         (MAKE_CHAR): Use `DECODE_CHAR'.
2646
2647 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2648
2649         * text-coding.c (parse_charset_conversion_specs): Use
2650         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2651         `XCHARSET_TYPE'.
2652         (iso2022_designate): Likewise.
2653
2654         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2655         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2656
2657         * mule-charset.c (Vcharset_ucs): New variable.
2658         (print_charset): Change design; use `CHARSET_CHARS' and
2659         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2660         (make_charset): Change signature to specify `chars' and
2661         `dimension' instead of `type'.
2662         (range_charset_code_point): Modify for 256^n-set.
2663         (encode_builtin_char_1): Encode as `ucs' in default.
2664         (Fmake_charset): Modify for `make_charset'.
2665         (Fmake_reverse_direction_charset): Likewise.
2666         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2667         UTF-2000.
2668         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2669         for `make_charset'.
2670
2671         * char-ucs.h (Vcharset_ucs): New variable.
2672         (LEADING_BYTE_UCS): New macro.
2673         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2674         and `chars' to `unsigned short' from `unsigned int'.
2675         (CHARSET_TYPE): Deleted.
2676         (XCHARSET_TYPE): Deleted.
2677
2678 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2679
2680         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2681
2682         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2683         (ENCODE_CHAR): New macro.
2684
2685 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2686
2687         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2688         to 0.14 (Kawachi-Katakami).
2689
2690 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2691
2692         * text-coding.c (char_encode_shift_jis): Modify for
2693         `charset_code_point'.
2694         (char_encode_iso2022): Likewise.
2695
2696         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2697         (integer) instead of list of <Lisp_Object>s (integers) as the
2698         format of code-point of a coded-charset.
2699         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2700         (encode_builtin_char_1): New function; delete
2701         `split_builtin_char'.
2702         (charset_code_point): Return <int> instead of <Lisp_Object>.
2703         (Fsplit_char): Don't use `SPLIT_CHAR'.
2704
2705         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2706         prototype for `split_builtin_char'.
2707         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2708         (charset_code_point): Likewise.
2709         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2710         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2711
2712 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2713
2714         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2715         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2716
2717 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2718
2719         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2720
2721         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2722         (MAX_CHAR_OBS_94x94): Deleted.
2723
2724 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2725
2726         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2727
2728         * char-ucs.h (MAX_CHAR_BMP): New macro.
2729
2730 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2731
2732         * text-coding.c: Sync with r21-2-24.
2733
2734 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2735
2736         * file-coding.c: Modify for UTF-2000.
2737
2738 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2739
2740         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2741         to 0.13 (Takaida).
2742
2743 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2744
2745         * mule-charset.c (split_builtin_char): Delete builtin support for
2746         `katakana-jisx0201'.
2747         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2748         BMP area in builtin representation.
2749
2750         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2751         `Vcharset_katakana_jisx0201'.
2752
2753 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2754
2755         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2756         (Qisolated): New variable.
2757         (Qinitial): New variable.
2758         (Qmedial): New variable.
2759         (Qfinal): New variable.
2760         (Qvertical): New variable.
2761         (Qsmall): New variable.
2762         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2763         `Qvertical' and `Qsmall'.
2764         (Qmojikyo_pj_[1 .. 21]): New variable.
2765         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2766         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2767         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2768         .. 21]'.
2769
2770 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2771
2772         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2773         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2774         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2775
2776 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2777
2778         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2779         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2780         BMP.
2781         (Qjapanese_jisx0208_1990): New variable.
2782         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2783         (complex_vars_of_mule_charset): Add new coded-charset
2784         `japanese-jisx0208-1990'.
2785
2786         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2787         (MIN_CHAR_JIS_X0208_1990): New macro.
2788         (MAX_CHAR_JIS_X0208_1990): New macro.
2789
2790 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2791
2792         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2793         coded-charset is not found.
2794
2795 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2796
2797         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2798         (Fdefine_char): Use `Fmake_char'.
2799
2800 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2801
2802         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2803         (Vcharset_hiragana_jisx0208): Deleted.
2804         (Vcharset_katakana_jisx0208): Deleted.
2805         (Qideograph_daikanwa): New variable.
2806         (Qhiragana_jisx0208): Deleted.
2807         (Qkatakana_jisx0208): Deleted.
2808         (split_builtin_char): Split `ideograph-daikanwa'.
2809         (Fsplit_char): New implementation for UTF-2000.
2810         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2811         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2812         (complex_vars_of_mule_charset): Add new coded-charset
2813         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2814         `katakana-jisx0208'.
2815
2816         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2817         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2818         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2819         (MIN_CHAR_DAIKANWA): New macro.
2820         (MAX_CHAR_DAIKANWA): New macro.
2821
2822 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2823
2824         * data.c (Fstring_to_number): Don't recognize floating point if
2825         base is not 10.
2826
2827 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2828
2829         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2830
2831 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2832
2833         * mule-charset.c (Qsquare): New variable.
2834         (to_char_code): Add `Qsquare'.
2835         (syms_of_mule_charset): Add new symbol `square'.
2836
2837 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2838
2839         * mule-charset.c (Qcircle): New variable.
2840         (to_char_code): Add `Qcircle'.
2841         (syms_of_mule_charset): Add new symbol `circle'.
2842
2843 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2844
2845         * mule-charset.c (Qfont): New variable.
2846         (to_char_code): Add `Qfont'.
2847         (syms_of_mule_charset): Add new symbol `font'.
2848
2849 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2850
2851         * mule-charset.c (Qsub): New variable.
2852         (to_char_code): Add `Qsub'.
2853         (syms_of_mule_charset): Add new symbol `sub'.
2854
2855 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2856
2857         * mule-charset.c (Fput_char_attribute): Convert each element of
2858         VALUE to GL position if ATTRIBUTE is a GR-set,
2859
2860 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2861
2862         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2863         coded-charset is a GR-set.
2864
2865 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2866
2867         * mule-charset.c (Fput_char_attribute): Check each element of
2868         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2869
2870 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2871
2872         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2873         UTF-2000.
2874         (Qethiopic_ucs): New variable in UTF-2000.
2875         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2876         (complex_vars_of_mule_charset): Add new coded-charset
2877         `ethiopic-ucs' in UTF-2000.
2878
2879         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2880         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2881         9)'.
2882         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2883         10)'.
2884         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2885
2886 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2887
2888         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2889         `ascii'.
2890
2891 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2892
2893         * mule-charset.c (Vcharacter_variant_table): New variable.
2894         (Q_ucs): New variable.
2895         (Fchar_variants): New function.
2896         (Fput_char_attribute): Register `->ucs' value to
2897         `Vcharacter_variant_table'.
2898         (syms_of_mule_charset): Add new function `char-variants' and new
2899         symbol `->ucs'.
2900         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2901
2902 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2903
2904         * mule-charset.c (get_char_code_table): Allow negative character
2905         code.
2906         (put_char_code_table): Likewise.
2907         (Vcharacter_composition_table): New variable.
2908         (Q_decomposition): New variable.
2909         (Qwide): New variable.
2910         (Qnarrow): New variable.
2911         (Qcompat): New variable.
2912         (QnoBreak): New variable.
2913         (Qsuper): New variable.
2914         (Qfraction): New variable.
2915         (to_char_code): New function.
2916         (Fget_composite_char): New function.
2917         (Fput_char_attribute): Register `->decomposition' value to
2918         `Vcharacter_composition_table'.
2919         (syms_of_mule_charset): Add new function `get-composite-char', new
2920         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2921         `super' and `fraction'.
2922         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2923
2924 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2925
2926         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2927         character; copy the return value.
2928
2929 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2930
2931         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2932
2933         * mule-charset.c (range_charset_code_point): Must use make_int.
2934         (split_builtin_char): New function.
2935
2936 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2937
2938         * mule-charset.c (char_byte_table): Change name from
2939         "char-code-table" to "char-byte-table".
2940         (mark_char_code_table): New function.
2941         (char_code_table_equal): New function.
2942         (char_code_table_hash): New function.
2943         (char_code_table_description): New constant.
2944         (char_code_table): New type.
2945         (make_char_code_table): New function.
2946         (copy_char_code_table): New function.
2947         (get_char_code_table): Modify for `char_code_table' type.
2948         (put_char_code_table): Likewise.
2949         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2950         (Kashiwara).
2951
2952         * char-ucs.h (char_code_table): New type.
2953         (XCHAR_CODE_TABLE): New macro.
2954         (XSETCHAR_CODE_TABLE): New macro.
2955         (CHAR_CODE_TABLE_P): New macro.
2956         (GC_CHAR_CODE_TABLE_P): New macro.
2957         (struct Lisp_Char_Code_Table): New structure.
2958
2959 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2960
2961         * mule-charset.c (Fmake_charset): Setup byte_offset for
2962         {94|96}^n-set.
2963
2964 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2965
2966         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2967         character.
2968
2969 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2970
2971         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2972         is found.
2973
2974 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2975
2976         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2977         charset, it is regarded as a charset.
2978         (put_char_attribute): New function in UTF-2000.
2979         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2980         charset, mapping-table of the charset is modified.
2981         (Fdefine_char): New function in UTF-2000.
2982         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2983         `Fput_char_attribute'.
2984         (syms_of_mule_charset): Add new function `define-char' and new
2985         symbol `ucs' in UTF-2000.
2986         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2987
2988 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2989
2990         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2991         non-UTF-2000 configuration.
2992
2993 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2994
2995         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2996         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2997
2998         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2999         deleted.
3000         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3001         (Fset_charset_mapping_table): Likewise.
3002
3003         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3004         (CHARSET_ENCODING_TABLE): Delete.
3005         (XCHARSET_ENCODING_TABLE): Delete.
3006         (charset_code_point): New interface.
3007
3008 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3009
3010         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3011         instead of `charset_get_byte1' and `charset_get_byte2'.
3012
3013         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3014         (charset_get_byte2): Deleted.
3015
3016 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3017
3018         * char-ucs.h (SPLIT_CHAR): New inline function.
3019         (breakup_char_1): Use `SPLIT_CHAR'.
3020
3021         * mule-charset.c (range_charset_code_point): New function.
3022         (charset_code_point): New function.
3023
3024         * char-ucs.h (range_charset_code_point): New interface.
3025         (breakup_char_1): Use `range_charset_code_point'.
3026
3027 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3028
3029         * mule-charset.c (Fmake_charset): Delete unused local variable
3030         `code_offset'.
3031
3032         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3033         (breakup_char_1): Find a charset and code-point in
3034         `Vcharacter_attribute_table'.
3035
3036 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3037
3038         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3039         to 0.10 (Yao).
3040
3041 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3042
3043         * mule-charset.c (Vcharacter_attribute_table): New variable.
3044         (Fchar_attribute_alist): New function.
3045         (Fget_char_attribute): New function.
3046         (Fput_char_attribute): New function.
3047         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3048         too.
3049         (syms_of_mule_charset): Add new function `char-attribute-alist',
3050         `get-char-attribute' and `put-char-attribute'.
3051         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3052
3053 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3054
3055         * mule-charset.c (Fmake_charset): Just use
3056         `get_unallocated_leading_byte'.
3057
3058         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3059         sets; don't use final-byte based number for private sets.
3060
3061 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3062
3063         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3064         integer.
3065
3066 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3067
3068         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3069         to 0.9.
3070
3071 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3072
3073         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3074         of `CHAR_LEADING_BYTE' in UTF-2000.
3075
3076         * insdel.c (find_charsets_in_bufbyte_string): Use
3077         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3078         (find_charsets_in_emchar_string): Likewise.
3079
3080         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3081         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3082
3083         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3084         (CHAR_CHARSET_ID): New macro.
3085
3086 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3087
3088         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3089         charset-id - MIN_LEADING_BYTE.
3090         (put_char_table): Likewise.
3091
3092 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3093
3094         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3095         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3096         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3097         (CHARSET_ID_OFFSET): New macro.
3098         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3099         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3100         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3101         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3102         4).
3103         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3104         5).
3105         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3106         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3107         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3108         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3109         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3110
3111 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3112
3113         * mule-charset.c (next_allocated_leading_byte): New variable in
3114         UTF-2000.
3115         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3116         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3117         (get_unallocated_leading_byte): Simply use
3118         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3119         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3120         UTF-2000.
3121
3122         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3123         (MAX_LEADING_BYTE_PRIVATE): New macro.
3124         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3125         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3126
3127 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3128
3129         * mule-charset.c (Fmake_charset): Allocate final-byte based
3130         charset-id for 94-set, 96-set and 94x94-set.
3131
3132 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3133
3134         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3135         ambiguous `else'.
3136         (Fmake_charset): Likewise.
3137         (complex_vars_of_mule_charset): Modify the font registry of
3138         `ucs-bmp' not to match `Ethiopic-Unicode'.
3139
3140 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3141
3142         * mule-charset.c (complex_vars_of_mule_charset): Add font
3143         registory of `ucs-bmp'.
3144
3145 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3146
3147         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3148         coded-charsets in `default-coded-charset-priority-list' when
3149         breaking up a character.
3150
3151         * mule-charset.c (Vcharset_latin_viscii): New variable.
3152         (Qlatin_viscii): New variable.
3153         (make_charset): Don't use `decoding_table'.
3154         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3155         byte_offset.
3156         (Fset_charset_mapping_table): New implementation.
3157         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3158         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3159         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3160         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3161         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3162         charset `latin_viscii'.
3163
3164         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3165         (CHARSET_TYPE_94X94): Change to 1 from 2.
3166         (CHARSET_TYPE_96): Change to 2 from 1.
3167         (CHARSET_TYPE_128): New macro.
3168         (CHARSET_TYPE_128X128): Change to 5 from 4.
3169         (CHARSET_TYPE_256): New macro.
3170         (CHARSET_TYPE_256X256): Change to 7 from 5.
3171         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3172
3173 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3174
3175         * text-coding.c (char_encode_shift_jis): Refer
3176         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3177         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3178
3179         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3180         (char_byte_table_equal): New function in UTF-2000.
3181         (char_byte_table_hash): New function in UTF-2000.
3182         (char_byte_table_description): New constant in UTF-2000.
3183         (char_byte_table): New type in UTF-2000.
3184         (make_char_byte_table): New function in UTF-2000.
3185         (copy_char_byte_table): New function in UTF-2000.
3186         (make_char_code_table): New macro in UTF-2000.
3187         (get_char_code_table): New function in UTF-2000.
3188         (put_char_code_table): New function in UTF-2000.
3189         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3190         (charset_description): Add setting in UTF-2000.
3191         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3192         `CHARSET_TO_BYTE1_TABLE(cs)'.
3193         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3194         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3195         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3196         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3197         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3198         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3199         `CHARSET_TO_BYTE2_TABLE(cs)'.
3200
3201         * char-ucs.h (char_byte_table): New type.
3202         (XCHAR_BYTE_TABLE): New macro.
3203         (XSETCHAR_BYTE_TABLE): New macro.
3204         (CHAR_BYTE_TABLE_P): New macro.
3205         (GC_CHAR_BYTE_TABLE_P): New macro.
3206         (struct Lisp_Char_Byte_Table): New structure.
3207         (get_char_code_table): New interface.
3208         (Emchar_to_byte_table): Deleted.
3209         (get_byte_from_character_table): Deleted.
3210         (struct Lisp_Charset): Add `encoding_table'; delete
3211         `to_byte1_table' and `to_byte2_table'.
3212         (CHARSET_ENCODING_TABLE): New macro.
3213         (CHARSET_TO_BYTE1_TABLE): Deleted.
3214         (CHARSET_TO_BYTE2_TABLE): Deleted.
3215         (XCHARSET_ENCODING_TABLE): New macro.
3216         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3217         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3218
3219 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3220
3221         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3222         `vietnamese-viscii-*'.
3223
3224 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3225
3226         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3227         (Qvietnamese_viscii_upper): New variable.
3228         (Fdefine_charset_alias): New function.
3229         (syms_of_mule_charset): Add new function `define-charset-alias'.
3230         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3231         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3232         `latin-viscii-*'.
3233
3234 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3235
3236         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3237         (MAX_CHAR_OBS_94x94): New macro.
3238         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3239         for 94x94 sets.
3240
3241         * mule-charset.c (put_byte_from_character_table): Change unit size
3242         from 128 to 256.
3243         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3244         not defined.
3245         (Fmake_reverse_direction_charset): Modify dummy argument of
3246         `make_charset' for non-UTF-2000 environment.
3247
3248 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3249
3250         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3251
3252         * mule-charset.c (destroy_byte_from_character_table): New macro.
3253         (latin_jisx0201_to_ucs): Deleted.
3254         (latin_iso8859_2_to_ucs): Deleted.
3255         (latin_iso8859_3_to_ucs): Deleted.
3256         (latin_iso8859_4_to_ucs): Deleted.
3257         (latin_iso8859_9_to_ucs): Deleted.
3258         (latin_viscii_lower_to_ucs): Deleted.
3259         (latin_viscii_upper_to_ucs): Deleted.
3260         (mark_charset): Mark `cs->decoding_table'.
3261         (Fcharset_mapping_table): Fix DOC-string.
3262         (Fset_charset_mapping_table): New function.
3263         (syms_of_mule_charset): Add nwe function
3264         `set-charset-mapping-table'.
3265         (complex_vars_of_mule_charset): Don't setup and use
3266         `latin_*_to_ucs'.
3267
3268 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3269
3270         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3271         charset.
3272
3273 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3274
3275         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3276         (Vcharset_katakana_jisx0208): New variable.
3277         (Qhiragana_jisx0208): New variable.
3278         (Qkatakana_jisx0208): New variable.
3279         (make_charset): Add new argument `byte_offset'.
3280         (charset_get_byte1): Modify for new coded-charset definition; use
3281         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3282         `XCHARSET_BYTE_OFFSET'.
3283         (Fmake_charset): Modify for `make_charset'.
3284         (Fmake_reverse_direction_charset): Likewise.
3285         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3286         `katakana-jisx0208'.
3287         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3288         `.'  in font registry of charset `katakana-jisx0201',
3289         `latin-jisx0201', `vietnamese-viscii-lower' and
3290         `vietnamese-viscii-upper'; modify DOC-string of charset
3291         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3292         registry of charset `japanese-jisx0208' not to use font for JIS
3293         X0208:1990; add new charset `hiragana-jisx0208' and
3294         `katakana-jisx0208'.
3295
3296         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3297         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3298         (struct Lisp_Charset): Add `byte_offset'.
3299         (CHARSET_BYTE_OFFSET): New macro.
3300         (XCHARSET_UCS_MIN): New macro.
3301         (XCHARSET_UCS_MAX): New macro.
3302         (XCHARSET_CODE_OFFSET): New macro.
3303         (XCHARSET_BYTE_OFFSET): New macro.
3304         (MIN_CHAR_HIRAGANA): New macro.
3305         (MAX_CHAR_HIRAGANA): New macro.
3306         (MIN_CHAR_KATAKANA): New macro.
3307         (MAX_CHAR_KATAKANA): New macro.
3308         (MAKE_CHAR): Modify for new coded-charset definition; use
3309         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3310         `XCHARSET_BYTE_OFFSET'.
3311
3312 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3313
3314         * mule-charset.c (CHAR96): Deleted.
3315         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3316         <Lisp_Object>.
3317         (latin_iso8859_2_to_ucs): Likewise.
3318         (latin_iso8859_3_to_ucs): Likewise.
3319         (latin_iso8859_4_to_ucs): Likewise.
3320         (latin_iso8859_9_to_ucs): Likewise.
3321         (latin_viscii_lower_to_ucs): Likewise.
3322         (latin_viscii_upper_to_ucs): Likewise.
3323         (latin_tcvn5712_to_ucs): Commented out.
3324         (make_charset): Change type of argument `decoding_table' from
3325         <Emchar*> to <Lisp_Object> [vector of characters].
3326         (Fmake_charset): Modify for `make_charset'.
3327         (Fmake_reverse_direction_charset): Likewise.
3328         (Fcharset_mapping_table): New function in UTF-2000.
3329         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3330         UTF-2000.
3331         (complex_vars_of_mule_charset): Modify for type change of
3332         `*_to_ucs'; modify for `make_charset'.
3333
3334         * char-ucs.h (struct Lisp_Charset): Change type of
3335         `decoding_table' from <Emchar*> to <Lisp_Object>.
3336         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3337
3338 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3339
3340         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3341         error with non-UTF-2000-Mule.
3342
3343 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3344
3345         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3346         in lisp again].
3347         (Vcharset_chinese_cns11643_4): Likewise.
3348         (Vcharset_chinese_cns11643_5): Likewise.
3349         (Vcharset_chinese_cns11643_6): Likewise.
3350         (Vcharset_chinese_cns11643_7): Likewise.
3351         (Qchinese_cns11643_3): Likewise.
3352         (Qchinese_cns11643_4): Likewise.
3353         (Qchinese_cns11643_5): Likewise.
3354         (Qchinese_cns11643_6): Likewise.
3355         (Qchinese_cns11643_7): Likewise.
3356         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3357         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3358         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3359         (complex_vars_of_mule_charset): Likewise.
3360
3361 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3362
3363         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3364         96-set.
3365         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3366         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3367
3368 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3369
3370         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3371         0xFF60.
3372         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3373         (breakup_char_1): Likewise.
3374
3375         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3376         one of them includes the specified character.
3377
3378 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3379
3380         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3381
3382 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3383
3384         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3385
3386 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3387
3388         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3389         definition for non-UTF-2000 Mule.
3390         (latin_iso8859_3_to_ucs): Likewise.
3391         (latin_iso8859_4_to_ucs): Likewise.
3392         (latin_iso8859_9_to_ucs): Likewise.
3393         (latin_jisx0201_to_ucs): Likewise.
3394         (MIN_CHAR_THAI): Likewise.
3395         (MAX_CHAR_THAI): Likewise.
3396         (MIN_CHAR_GREEK): Likewise.
3397         (MAX_CHAR_GREEK): Likewise.
3398         (MIN_CHAR_HEBREW): Likewise.
3399         (MAX_CHAR_HEBREW): Likewise.
3400         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3401         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3402         (MIN_CHAR_CYRILLIC): Likewise.
3403         (MAX_CHAR_CYRILLIC): Likewise.
3404
3405 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3406
3407         * char-ucs.h (breakup_char_1): Use
3408         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3409         thai-tis620 and katakana-jisx0201 area.
3410
3411 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3412
3413         * char-ucs.h (breakup_char_1): Use
3414         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3415         area.
3416
3417         * text-coding.c (reset_encoding_stream): Fixed.
3418         (char_encode_ucs4): Delete `& 255'.
3419
3420         * char-ucs.h (breakup_char_1): Use
3421         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3422
3423 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3424
3425         * file-coding.c (Fmake_coding_system): Don't set up
3426         `codesys->fixed.size'.
3427         (encode_coding_no_conversion): Don't refer
3428         `str->codesys->fixed.size'.
3429
3430 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3431
3432         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3433         (latin_a_char_to_byte1): Deleted.
3434         (latin_a_char_to_byte2): Deleted.
3435
3436 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3437
3438         * mule-charset.c (make_charset): Add new argument `ucs_min',
3439         `ucs_max' and `code_offset'.
3440         (charset_get_byte1): New implementation [delete specific charset
3441         depended implementations].
3442         (Fmake_charset): Modify for `make_charset'.
3443         (Fmake_reverse_direction_charset): Likewise.
3444         (complex_vars_of_mule_charset): Likewise.
3445
3446         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3447         `code_offset'.
3448         (CHARSET_UCS_MIN): New macro.
3449         (CHARSET_UCS_MAX): New macro.
3450         (CHARSET_CODE_OFFSET): New macro.
3451         (MAKE_CHAR): Delete charset depended definitions [except
3452         katakana-jisx0201].
3453
3454 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3455
3456         * char-ucs.h (breakup_char_1): Use
3457         `Vdefault_coded_charset_priority_list' for C0-Controls,
3458         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3459
3460 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3461
3462         * char-ucs.h (charset_get_byte1): New function.
3463         (XCHARSET_GET_BYTE1): Deleted.
3464         (charset_get_byte2): New function.
3465         (XCHARSET_GET_BYTE2): Deleted.
3466         (Vdefault_coded_charset_priority_list): New external variable.
3467         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3468         `Vdefault_preferred_coded_charset_list'.
3469
3470         * mule-charset.c (charset_get_byte1): New function.
3471         (charset_get_byte2): New function.
3472         (Vdefault_coded_charset_priority_list): New variable.
3473         (vars_of_mule_charset): Add new variable
3474         `default-coded-charset-priority-list'.
3475
3476 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3477
3478         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3479         (XCHARSET_GET_BYTE2): New inline function.
3480         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3481         `XCHARSET_GET_BYTE2'.
3482
3483 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3484
3485         * mule-charset.c (make_charset): Initialize
3486         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3487         NULL if table is not defined.
3488
3489 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3490
3491         * text-coding.c (char_encode_shift_jis): Use
3492         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3493         `ucs_to_latin_jisx0201'.
3494
3495         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3496         (ucs_to_latin_iso8859_2): Deleted.
3497         (ucs_to_latin_iso8859_3): Deleted.
3498         (ucs_to_latin_iso8859_4): Deleted.
3499         (ucs_to_latin_iso8859_9): Deleted.
3500         (ucs_to_latin_viscii_lower): Deleted.
3501         (ucs_to_latin_viscii_upper): Deleted.
3502         (ucs_to_latin_tcvn5712): Deleted.
3503         (make_charset): Add new argument `decoding_table'; set up
3504         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3505         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3506         `decoding_table' is defined in UTF-2000.
3507         (Fmake_charset): Modify for `make_charset'.
3508         (Fmake_reverse_direction_charset): Likewise.
3509         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3510         and `GENERATE_96_SET'.
3511
3512         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3513         (ucs_to_latin_jisx0201): Deleted.
3514         (latin_iso8859_2_to_ucs): Deleted.
3515         (ucs_to_latin_iso8859_2): Deleted.
3516         (latin_iso8859_3_to_ucs): Deleted.
3517         (ucs_to_latin_iso8859_3): Deleted.
3518         (latin_iso8859_4_to_ucs): Deleted.
3519         (ucs_to_latin_iso8859_4): Deleted.
3520         (latin_iso8859_9_to_ucs): Deleted.
3521         (ucs_to_latin_iso8859_9): Deleted.
3522         (latin_viscii_lower_to_ucs): Deleted.
3523         (ucs_to_latin_viscii_lower): Deleted.
3524         (latin_viscii_upper_to_ucs): Deleted.
3525         (ucs_to_latin_viscii_upper): Deleted.
3526         (struct Lisp_Charset): Renamed `encoding_table' to
3527         `to_byte1_table'; add `to_byte2_table'.
3528         (CHARSET_DECODING_TABLE): New macro.
3529         (CHARSET_TO_BYTE1_TABLE): New macro.
3530         (CHARSET_TO_BYTE2_TABLE): New macro.
3531         (XCHARSET_DECODING_TABLE): New macro.
3532         (XCHARSET_TO_BYTE1_TABLE): New macro.
3533         (XCHARSET_TO_BYTE2_TABLE): New macro.
3534         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3535         tables.
3536         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3537         don't use `ucs_to_*' tables.
3538
3539 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3540
3541         * text-coding.c (Fmake_coding_system): Don't set up
3542         `codesys->fixed.size'.
3543         (encode_coding_no_conversion): Use `if' instead of `switch'.
3544
3545         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3546
3547 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3548
3549         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3550         (Fmake_charset): Modify for `make_charset'.
3551         (Fmake_reverse_direction_charset): Likewise.
3552         (complex_vars_of_mule_charset): Likewise.
3553
3554 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3555
3556         * text-coding.c (char_encode_shift_jis): Use table
3557         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3558
3559 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3560
3561         * text-coding.c (text_encode_generic): Use `if' instead of
3562         `switch'.
3563         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3564         decode JIS-Latin.
3565
3566 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3567
3568         * text-coding.c (encode_coding_sjis): Deleted.
3569         (char_encode_shift_jis): New function.
3570         (char_finish_shift_jis): New function.
3571         (reset_encoding_stream): Set up `encode_char' and `finish' for
3572         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3573         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3574         (char_encode_utf8): Treat `eol_type'.
3575
3576 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3577
3578         * file-coding.c (decode_coding_iso2022): Use
3579         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3580
3581 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3582
3583         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3584         to 0.7 (Hirano).
3585
3586 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3587
3588         * char-lb.h (CHAR_COLUMNS): New macro.
3589
3590 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3591
3592         * text-coding.c (char_encode_ucs4): New function.
3593         (char_finish_ucs4): New function.
3594         (encode_coding_ucs4): Deleted.
3595         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3596         (text_encode_generic): Delete local variable `charset' and `half'.
3597         (ucs_to_mule_table): Deleted.
3598         (mule_to_ucs_table): Deleted.
3599         (Fset_ucs_char): Deleted.
3600         (ucs_to_char): Deleted.
3601         (Fucs_char): Deleted.
3602         (Fset_char_ucs): Deleted.
3603         (Fchar_ucs): Deleted.
3604         (decode_ucs4): Deleted.
3605         (mule_char_to_ucs4): Deleted.
3606         (encode_ucs4): Deleted.
3607         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3608         (decode_coding_utf8): Likewise.
3609         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3610         (char_encode_iso2022): Fixed.
3611         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3612         `Fset_char_ucs' and `Fchar_ucs'.
3613         (complex_vars_of_file_coding): Don't initialize
3614         `ucs_to_mule_table'.
3615
3616         * objects-tty.c (tty_initialize_font_instance): Don't use
3617         `XCHARSET_COLUMNS'.
3618
3619         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3620         UTF-2000.
3621
3622         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3623         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3624
3625         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3626         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3627         (emchar_string_displayed_columns): Likewise.
3628
3629         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3630         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3631         (string_column_at_point): Likewise.
3632         (Fmove_to_column): Likewise.
3633
3634         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3635         `encoding_table' and `decoding_table'.
3636         (CHARSET_REP_BYTES): Deleted.
3637         (XCHARSET_REP_BYTES): Deleted.
3638         (XCHARSET_COLUMNS): Deleted.
3639         (CHAR_COLUMNS): New macro.
3640         (lookup_composite_char): Deleted unconditionally.
3641         (composite_char_string): Likewise.
3642
3643 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3644
3645         * char-ucs.h (Emchar_to_byte_table): New type.
3646         (get_byte_from_character_table): New function interface.
3647         (Vcharset_latin_jisx0201): New variable.
3648         (latin_jisx0201_to_ucs): New variable.
3649         (ucs_to_latin_jisx0201): New variable.
3650         (Vcharset_latin_iso8859_2): New variable.
3651         (latin_iso8859_2_to_ucs): New variable.
3652         (ucs_to_latin_iso8859_2): New variable.
3653         (Vcharset_latin_iso8859_3): New variable.
3654         (latin_iso8859_3_to_ucs): New variable.
3655         (ucs_to_latin_iso8859_3): New variable.
3656         (Vcharset_latin_iso8859_4): New variable.
3657         (latin_iso8859_4_to_ucs): New variable.
3658         (ucs_to_latin_iso8859_4): New variable.
3659         (Vcharset_latin_iso8859_9): New variable.
3660         (latin_iso8859_9_to_ucs): New variable.
3661         (ucs_to_latin_iso8859_9): New variable.
3662         (Vcharset_latin_viscii_lower): New variable.
3663         (latin_viscii_lower_to_ucs): New variable.
3664         (ucs_to_latin_viscii_lower): New variable.
3665         (Vcharset_latin_viscii_upper): New variable.
3666         (latin_viscii_upper_to_ucs): New variable.
3667         (ucs_to_latin_viscii_upper): New variable.
3668         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3669         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3670         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3671         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3672         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3673         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3674         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3675         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3676         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3677         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3678
3679         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3680         (Vcharset_latin_viscii_upper): New variable.
3681         (make_byte_from_character_table): New function.
3682         (put_byte_from_character_table): New function.
3683         (get_byte_from_character_table): New function.
3684         (CHAR96): New macro.
3685         (ucs_to_latin_jisx0201): New variable.
3686         (latin_jisx0201_to_ucs): New variable.
3687         (ucs_to_latin_iso8859_2): New variable.
3688         (latin_iso8859_2_to_ucs): New variable.
3689         (ucs_to_latin_iso8859_3): New variable.
3690         (latin_iso8859_3_to_ucs): New variable.
3691         (ucs_to_latin_iso8859_4): New variable.
3692         (latin_iso8859_4_to_ucs): New variable.
3693         (ucs_to_latin_iso8859_9): New variable.
3694         (latin_iso8859_9_to_ucs): New variable.
3695         (ucs_to_latin_viscii_lower): New variable.
3696         (latin_viscii_lower_to_ucs): New variable.
3697         (ucs_to_latin_viscii_upper): New variable.
3698         (latin_viscii_upper_to_ucs): New variable.
3699         (ucs_to_latin_tcvn5712): New variable.
3700         (latin_tcvn5712_to_ucs): New variable.
3701         (Qlatin_viscii_lower): New variable.
3702         (Qlatin_viscii_upper): New variable.
3703         (syms_of_mule_charset): Set up new symbol
3704         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3705         (complex_vars_of_mule_charset): Set up new charset
3706         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3707         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3708         `ucs_to_<CHARSET>' tables.
3709
3710 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3711
3712         * text-coding.c: New file.
3713
3714 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3715
3716         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3717
3718         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3719         (MAKE_CHAR): Modify for `ucs-bmp'.
3720         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3721         non-MULE characters of BMP.
3722
3723 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3724
3725         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3726         to 0.6.
3727
3728 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3729
3730         * lstream.h:
3731         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3732         - Include character.h for `CHAR_ASCII_P'.
3733
3734         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3735
3736         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3737         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3738
3739         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3740         (BYTE_C0_P): Likewise.
3741         (BYTE_C1_P): Likewise.
3742         (Lstream_get_emchar_1): Likewise.
3743         (Lstream_fput_emchar): Likewise.
3744         (Lstream_funget_emchar): Likewise.
3745         (copy_internal_to_external): Likewise.
3746         (copy_external_to_internal): Likewise.
3747
3748         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3749         (BYTE_C0_P): Likewise.
3750         (BYTE_C1_P): Likewise.
3751         (Lstream_get_emchar_1): Likewise.
3752         (Lstream_fput_emchar): Likewise.
3753         (Lstream_funget_emchar): Likewise.
3754         (copy_internal_to_external): Likewise.
3755         (copy_external_to_internal): Likewise.
3756
3757         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3758         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3759
3760         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3761         (BYTE_ASCII_P): Moved to mb-1byte.h.
3762
3763 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3764
3765         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3766
3767         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3768         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3769         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3770         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3771         (VALIDATE_CHARPTR_FORWARD): Likewise.
3772         (simple_charptr_emchar): Moved to mb-multibyte.h.
3773         (simple_set_charptr_emchar): Likewise.
3774         (simple_charptr_copy_char): Likewise.
3775         (non_ascii_charptr_emchar): Likewise.
3776         (non_ascii_set_charptr_emchar): Likewise.
3777         (non_ascii_charptr_copy_char): Likewise.
3778         (charptr_emchar): Moved to mb-*byte.h.
3779         (set_charptr_emchar): Likewise.
3780         (charptr_copy_char): Likewise.
3781
3782         * mb-1byte.h, mb-multibyte.h: New files.
3783
3784 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3785
3786         * mb-utf-8.h (MULTIBYTE): New macro.
3787         (MAX_EMCHAR_LEN): Moved from buffer.h.
3788         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3789
3790         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3791
3792         * mb-lb.h, multibyte.h: New files.
3793
3794         * char-1byte.h (Charset_ID): Moved from buffer.h.
3795         (MIN_LEADING_BYTE): Likewise.
3796         (LEADING_BYTE_ASCII): Likewise.
3797         (NUM_LEADING_BYTES): Likewise.
3798         (CHARSETP): Likewise.
3799         (CHARSET_BY_LEADING_BYTE): Likewise.
3800         (XCHARSET_LEADING_BYTE): Likewise.
3801         (XCHARSET_GRAPHIC): Likewise.
3802         (XCHARSET_COLUMNS): Likewise.
3803         (XCHARSET_DIMENSION): Likewise.
3804         (CHAR_CHARSET): Likewise.
3805         (CHAR_LEADING_BYTE): Likewise.
3806         (BREAKUP_CHAR): Likewise.
3807         (Vcharset_ascii): Likewise.
3808
3809         * buffer.h: Include multibyte.h unconditionally.
3810         (VALID_CHARPTR_P): Moved to multibyte.h.
3811         (ASSERT_VALID_CHARPTR): Likewise.
3812         (REAL_INC_CHARPTR): Likewise.
3813         (REAL_INC_CHARBYTIND): Likewise.
3814         (REAL_DEC_CHARPTR): Likewise.
3815         (INC_CHARPTR): Likewise.
3816         (INC_CHARBYTIND): Likewise.
3817         (DEC_CHARPTR): Likewise.
3818         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3819         (VALIDATE_CHARPTR_FORWARD): Likewise.
3820         (charptr_n_addr): Likewise.
3821         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3822         (simple_charptr_emchar): Moved to multibyte.h.
3823         (simple_set_charptr_emchar): Likewise.
3824         (simple_charptr_copy_char): Likewise.
3825         (non_ascii_charptr_emchar): Likewise.
3826         (non_ascii_set_charptr_emchar): Likewise.
3827         (non_ascii_charptr_copy_char): Likewise.
3828         (charptr_emchar): Likewise.
3829         (set_charptr_emchar): Likewise.
3830         (charptr_copy_char): Likewise.
3831         (charptr_emchar_n): Likewise.
3832         (Charset_ID): Moved to char-1byte.h.
3833         (Vcharset_ascii): Likewise.
3834         (CHAR_CHARSET): Likewise.
3835         (CHAR_LEADING_BYTE): Likewise.
3836         (LEADING_BYTE_ASCII): Likewise.
3837         (NUM_LEADING_BYTES): Likewise.
3838         (MIN_LEADING_BYTE): Likewise.
3839         (CHARSETP): Likewise.
3840         (CHARSET_BY_LEADING_BYTE): Likewise.
3841         (XCHARSET_LEADING_BYTE): Likewise.
3842         (XCHARSET_GRAPHIC): Likewise.
3843         (XCHARSET_COLUMNS): Likewise.
3844         (XCHARSET_DIMENSION): Likewise.
3845         (BREAKUP_CHAR): Likewise.
3846
3847 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3848
3849         * character.h: Add document about interface for characters.
3850
3851         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3852         (MAKE_CHAR): Delete comment about
3853         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3854         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3855         (BREAKUP_CHAR): Modify name of arguments.
3856         (CHAR_CHARSET): Modify name of argument.
3857
3858         * buffer.h: Delete document about Emchar accessors.
3859
3860 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3861
3862         * character.h (CHAR_INTP): Moved from buffer.h
3863         (CHAR_OR_CHAR_INTP): Likewise.
3864         (XCHAR_OR_CHAR_INT): Likewise.
3865         (CHECK_CHAR_COERCE_INT): Likewise.
3866
3867         * buffer.h (CHAR_INTP): Moved to character.h
3868         (CHAR_OR_CHAR_INTP): Likewise.
3869         (XCHAR_OR_CHAR_INT): Likewise.
3870         (CHECK_CHAR_COERCE_INT): Likewise.
3871
3872 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3873
3874         * character.h:
3875         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3876         - Include char-1byte.h, char-lb.h or char-ucs.h.
3877
3878         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3879
3880         * buffer.h: Include character unconditionally.
3881         (valid_char_p): Moved to char-*.h.
3882         (non_ascii_valid_char_p): Moved to char-lb.h.
3883
3884         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3885
3886 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3887
3888         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3889         in UTF-2000 because it is not ported yet and not to use
3890         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3891         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3892         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3893
3894         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3895         (CHAR_ASCII_P): Moved from character.h.
3896
3897         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3898         (CHAR_ASCII_P): Likewise.
3899         (CHAR_FIELD1_MASK): Deleted.
3900         (CHAR_FIELD2_MASK): Deleted.
3901         (CHAR_FIELD3_MASK): Deleted.
3902         (MAX_CHAR_BASIC_LATIN): New macro.
3903         (CHAR_FIELD1): Deleted.
3904         (CHAR_FIELD2_INTERNAL): Deleted.
3905         (CHAR_FIELD3_INTERNAL): Deleted.
3906         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3907         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3908         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3909         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3910         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3911         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3912         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3913         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3914         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3915         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3916         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3917         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3918         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3919         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3920         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3921         (MIN_CHAR_COMPOSITION): Deleted.
3922         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3923         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3924
3925 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3926
3927         * buffer.h: Include mb-utf-8.h in UTF-2000.
3928
3929         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3930
3931         * mb-utf-8.h: New file.
3932
3933 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3934
3935         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3936         instead of `int'.
3937
3938         * mule-charset.h, buffer.h (Charset_ID): New type.
3939
3940 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3941
3942         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3943         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3944         instead of `MULE_CHAR_PRIVATE_OFFSET',
3945         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3946         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3947         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3948
3949         * character.h (Vcharset_japanese_jisx0212): New variable
3950         definition.
3951
3952 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3953
3954         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3955         (charset_by_attributes): Delete array about direction.
3956         (latin_a_char_to_charset): New variable in UTF-2000.
3957         (latin_a_char_to_byte1): New variable in UTF-2000.
3958         (latin_a_char_to_byte2): New variable in UTF-2000.
3959         (Qucs_bmp): New variable.
3960         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3961         `Bufbyte'.
3962         (next_allocated_2_byte_leading_byte): Likewise.
3963         (non_ascii_set_charptr_emchar): Likewise.
3964         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3965         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3966         `charset_by_attributes'.
3967         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3968         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3969         and `CHARSET_BY_LEADING_BYTE'.
3970         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3971         `utf-2000-version' to `vars_of_mule_charset'.
3972         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3973         define `leading-code-private-11' in UTF-2000; move setting of
3974         `utf-2000-version' from `syms_of_mule_charset'.
3975         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3976         UTF-2000.
3977
3978         * character.h (Charset_ID): New type.
3979         (LEADING_BYTE_UCS_BMP): New macro.
3980         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3981         (CHARSET_ID_OFFSET_94): New macro.
3982         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3983         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3984         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3985         final-byte.
3986         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3987         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3988         (CHARSET_ID_OFFSET_96): New macro.
3989         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3990         CHARSET_ID_OFFSET_96 and final-byte.
3991         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3992         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3993         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3994         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3995         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3996         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3997         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3998         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3999         (LEADING_BYTE_THAI_TIS620): Likewise.
4000         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4001         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4002         (CHARSET_ID_OFFSET_94x94): New macro.
4003         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4004         CHARSET_ID_OFFSET_94x94 and final-byte.
4005         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4006         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4007         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4008         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4009         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4010         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4011         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4012         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4013         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4014         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4015         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4016         (CHARSET_TYPE_128X128): New macro.
4017         (CHARSET_TYPE_256X256): New macro.
4018         (XCHARSET_PRIVATE_P): Delete unconditionally.
4019         (charset_by_attributes): Delete array about direction.
4020         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4021         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4022         (MIN_CHAR_94): New macro.
4023         (MAX_CHAR_94): New macro.
4024         (MIN_CHAR_96): New macro.
4025         (MAX_CHAR_96): New macro.
4026         (MIN_CHAR_94x94): New macro.
4027         (MAX_CHAR_94x94): New macro.
4028         (MIN_CHAR_96x96): New macro.
4029         (MAX_CHAR_96x96): New macro.
4030         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4031         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4032         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4033         - 32)'.
4034         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4035         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4036         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4037         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4038         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4039         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4040         `XCHARSET_LEADING_BYTE' to make code-point.
4041         (latin_a_char_to_charset): New variable.
4042         (latin_a_char_to_byte1): New variable.
4043         (latin_a_char_to_byte2): New variable.
4044         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4045         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4046         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4047
4048         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4049         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4050         (find_charsets_in_emchar_string): Likewise.
4051         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4052
4053         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4054         `int'.
4055         (decode_coding_iso2022): Likewise.
4056
4057         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4058         of `unsigned char'.
4059
4060         * redisplay.c (redisplay_text_width_emchar_string): Use
4061         `Charset_ID' instead of `unsigned char'.
4062         (redisplay_frame_text_width_string): Likewise.
4063
4064         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4065         `unsigned char'.
4066
4067         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4068         instead of `unsigned char'.
4069         (face_cachel_charset_font_metric_info): Likewise.
4070
4071         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4072         (get_non_ascii_char_table_value): Likewise.
4073         (get_char_table): Likewise.
4074         (put_char_table): Likewise.
4075         (map_over_other_charset): Likewise.
4076         (map_char_table): Likewise.
4077
4078         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4079         instead of `unsigned char'.
4080
4081 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4082
4083         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4084         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4085
4086         * mule-charset.c (leading_code_private_11): Don't define in
4087         UTF-2000.
4088
4089         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4090         in UTF-2000 because it is not ported yet and not to use
4091         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4092
4093 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4094
4095         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4096
4097 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4098
4099         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4100         in UTF-2000.
4101
4102         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4103         of unsigned char to store leading-byte.
4104
4105         * chartab.c (get_non_ascii_char_table_value): Don't use
4106         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4107
4108         * file-coding.c (encode_coding_big5): Delete bogus implementation
4109         in UTF2000.
4110
4111         * character.h (LEADING_BYTE_*): Delete definition for
4112         non-UTF-2000.
4113         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4114         (LEADING_BYTE_PREFIX_P): Deleted.
4115         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4116         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4117         (BUFBYTE_LEADING_BYTE_P): Deleted.
4118         (CHARSET_PRIVATE_P): Deleted unconditionally.
4119         (rep_bytes_by_first_byte): Deleted unconditionally.
4120         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4121         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4122         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4123         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4124         (CHAR_FIELD2): Deleted.
4125         (CHAR_FIELD3): Deleted.
4126         (MAKE_CHAR): Delete definition for non-UTF-2000.
4127         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4128         (breakup_char_1): New implementation.
4129         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4130         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4131
4132 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4133
4134         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4135         condition.
4136
4137 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4138
4139         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4140         (CHARSET_PRIVATE_P): Likewise.
4141         (XCHARSET_PRIVATE_P): Likewise.
4142         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4143
4144         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4145         UTF2000.
4146         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4147
4148 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4149
4150         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4151         (NUM_LEADING_BYTES): Changed from 128 to 256.
4152         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4153         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4154         UTF2000.
4155         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4156
4157         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4158         UTF2000.
4159         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4160         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4161         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4162         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4163         (Qchinese_cns11643_3): New variable in UTF2000.
4164         (Qchinese_cns11643_4): New variable in UTF2000.
4165         (Qchinese_cns11643_5): New variable in UTF2000.
4166         (Qchinese_cns11643_6): New variable in UTF2000.
4167         (Qchinese_cns11643_7): New variable in UTF2000.
4168         (syms_of_mule_charset): Define `chinese-cns11643-3',
4169         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4170         and `chinese-cns11643-7' in UTF2000.
4171         (vars_of_mule_charset): Initialize
4172         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4173         + 1 in UTF2000.
4174         (complex_vars_of_mule_charset): Setup charset
4175         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4176         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4177
4178 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4179
4180         * mule-charset.c: Move setting for `leading-code-private-11' from
4181         `syms_of_mule_charset' to `vars_of_mule_charset'.
4182
4183 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4184
4185         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4186         and `NUM_LEADING_BYTES' in assert.
4187
4188 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4189
4190         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4191         instead of 128.
4192         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4193         `NUM_LEADING_BYTES' instead of 128.
4194
4195 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4196
4197         * mule-charset.h (charset_by_leading_byte): Use
4198         `NUM_LEADING_BYTES' instead of 128.
4199         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4200
4201         * mule-charset.c (charset_by_leading_byte): Use
4202         `NUM_LEADING_BYTES' instead of 128.
4203         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4204
4205         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4206         128.
4207
4208 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4209
4210         * mule-charset.c (syms_of_mule_charset): Update to
4211         0.4 (Shin-Imamiya).
4212
4213 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4214
4215         * file-coding.c (encode_coding_sjis): New implementation for
4216         UTF2000.  (decode_coding_sjis): Ditto.
4217
4218 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4219
4220         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4221         Don't define in UTF2000.
4222
4223         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4224         defined.
4225
4226         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4227         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4228         MULE.
4229
4230 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4231
4232         * config.h.in (CHAR_IS_UCS4): New macro.
4233
4234         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4235         conventional MULE representation.
4236         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4237
4238         * mule-charset.h: Reverted to original.
4239
4240         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4241         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4242         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4243
4244         * character.h: New file.
4245
4246         * file-coding.c (Fmake_coding_system): Set 1 to
4247         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4248         defined.
4249         (encode_coding_no_conversion): New implementation for UTF2000.
4250
4251         * file-coding.h (struct Lisp_Coding_System): Add new member
4252         `fixed.size'.
4253
4254 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4255
4256         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4257         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4258         (encode_coding_iso2022): New implementation for UTF2000.
4259
4260 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4261
4262         * mule-canna.c (c2mu): New implementation for UTF2000.
4263         (m2c): Likewise.
4264
4265 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4266
4267         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4268
4269 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4270
4271         * file-coding.c (reset_encoding_stream): Set 0 to
4272         `str->iso2022.current_char_boundary' in UTF2000.
4273         (encode_utf8): Don't define in UTF2000.
4274         (encode_coding_utf8): New implementation for UTF-8 representation
4275         of UTF2000.
4276         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4277
4278 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4279
4280         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4281
4282         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4283         UTF2000.
4284         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4285
4286         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4287
4288         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4289         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4290         as UTF-8 in UTF2000.
4291         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4292         (non_ascii_valid_char_p): Don't define in UTF2000.
4293         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4294         (Lstream_get_emchar_1): Likewise.
4295         (utf-2000-version): New variable in UTF2000.
4296
4297         * lread.c (read_escape): Add new reader `u'.
4298
4299         * insdel.c (three_to_one_table): Don't define in UTF2000.
4300         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4301         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4302         UTF2000.
4303         (bytind_to_bufpos_func): Likewise.
4304         (buffer_mule_signal_inserted_region): Likewise.
4305         (vars_of_insdel): Don't initialize `three_to_one_table'.
4306         (init_buffer_text): Use `buf->text->mule_size' instead of
4307         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4308         UTF2000.
4309
4310         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4311         UTF-8 representation in UTF2000.
4312         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4313         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4314         (decode_coding_iso2022): Don't define local variable `lb' in
4315         UTF2000; don't use LEADING_BYTE in UTF2000; use
4316         `DECODE_ADD_UCS_CHAR' in UTF2000.
4317         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4318
4319         * config.h.in (UTF2000): New macro.
4320
4321         * buffer.h (struct buffer_text): Add new member `mule_size' and
4322         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4323         (valid_char_p): Return always 1 in UTF2000.
4324         (MAX_EMCHAR_LEN): 6 in UTF2000.
4325         (three_to_one_table): Don't define in UTF2000.
4326         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4327         UTF2000.
4328         (real_bytind_to_bufpos): Likewise.
4329
4330         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4331
4332 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4333
4334         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4335         representation change.
4336         (Vutf_2000_version): New variable.
4337         (leading_code_private_11): New variable.
4338         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4339         `leading-code-private-11'.
4340
4341         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4342         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4343         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4344         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4345         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4346         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4347         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4348         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4349         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4350         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4351         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4352         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4353         (MIN_CHAR_GREEK): New macro.
4354         (MAX_CHAR_GREEK): New macro.
4355         (MIN_CHAR_CYRILLIC): New macro.
4356         (MAX_CHAR_CYRILLIC): New macro.
4357         (MIN_CHAR_HEBREW): New macro.
4358         (MAX_CHAR_HEBREW): New macro.
4359         (MIN_CHAR_THAI): New macro.
4360         (MAX_CHAR_THAI): New macro.
4361         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4362         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4363         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4364         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4365         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4366         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4367         (CHAR_FIELD2): New inline function.
4368         (CHAR_FIELD3): New inline function.
4369         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4370         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4371         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4372         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4373         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4374         (MIN_CHAR_COMPOSITION): Likewise.
4375         (CHAR_LEADING_BYTE): Modified for character representation change.
4376         (MAKE_CHAR): Likewise.
4377
4378         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4379         (Vcharset_greek_iso8859_7): Likewise.
4380         (Vcharset_cyrillic_iso8859_5): Likewise.
4381         (Vcharset_hebrew_iso8859_8): Likewise.
4382         (Vcharset_thai_tis620): Likewise.
4383         (Vcharset_katakana_jisx0201): Likewise.
4384
4385 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
4386
4387         * XEmacs 21.4.9 "Informed Management" is released.
4388
4389 2002-08-19  Andy Piper  <andy@xemacs.org>
4390
4391         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
4392         win32 format.
4393
4394         * realpath.c (xrealpath): normalize drive spec also so that dir
4395         sep chars are not mixed on cygwin.
4396
4397 2002-08-06  Jerry James  <james@xemacs.org>
4398
4399         * window.c (Fsplit_window): Count only half of the divider width
4400         against the left window when splitting horizontally. 
4401
4402 2002-06-24  Andy Piper  <andy@xemacs.org>
4403
4404         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
4405         toolbar was cleared.
4406
4407         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
4408         function. Split out from mswindows_output_frame_toolbars.
4409         (mswindows_output_frame_toolbars): move clear pieces to
4410         mswindows_output_frame_toolbars.
4411
4412         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
4413         out from gtk_output_frame_toolbars.
4414         (gtk_output_frame_toolbars): move clear pieces to
4415         gtk_clear_frame_toolbars.
4416
4417         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
4418         the frame is cleared. How this ever worked before is a mystery.
4419         (x_output_frame_toolbars): Only output toolbars.
4420         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
4421
4422         * gutter.c (update_gutter_geometry):
4423         Mark frame layout changed.
4424         (update_frame_gutter_geometry, update_frame_gutters):
4425         Respect frame_layout_changed.
4426
4427         * console.h (struct console_methods): add
4428         clear_frame_toolbars_method.
4429
4430         * redisplay.c (redisplay_frame): call
4431         update_frame_toolbars_geometry and re-order update_frame_toolbars.
4432
4433         * toolbar.h: declare update_frame_toolbars_geometry.
4434
4435         * toolbar.c (update_frame_toolbars_geometry): new function. Split
4436         out from update_frame_toolbars.  Call clear_frame_toolbars.
4437         (update_frame_toolbars): only output, do not change geometry.
4438
4439         * redisplay.c: add frame_layout_changed.
4440
4441         * redisplay.h: add frame_layout_changed.
4442         (CLASS_RESET_CHANGED_FLAGS): set it.
4443         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
4444         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
4445         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
4446
4447         * device.h (struct device): add frame_layout_changed.
4448         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
4449
4450         * frame.h (struct frame): add frame_layout_changed.
4451         (MARK_FRAME_LAYOUT_CHANGED): new.
4452
4453 2002-06-30  Mike Alexander  <mta@arbortext.com>
4454
4455         * event-msw.c (mswindows_need_event): Don't wait for a new message
4456         if the queue is not empty.  Suggested by Paul Moore.
4457
4458 2002-06-12  Andy Piper  <andy@xemacs.org>
4459
4460         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
4461         for printing on accurately.
4462
4463 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
4464
4465         * event-msw.c (mswindows_wnd_proc): Add a handler for the
4466         WM_ACTIVATE message. Make sure that the frame is visible if the
4467         window is visible. This seemss to fix the problem where XEmacs
4468         appears to freeze after switching desktops with certain virtual
4469         window managers.
4470         (debug_output_mswin_message): Added code to output message
4471         parameters for WM_WINDOWPOSCHANGED, 
4472         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
4473
4474 2002-05-25  Andy Piper  <andy@xemacs.org>
4475
4476         * select-x.c (vars_of_select_x): Fix docstring of
4477         x-selection-strict-motif-ownership
4478
4479 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4480
4481         * keymap.c (get_keymap):
4482         Add comment about do_autoload GCPROs own args.
4483
4484 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4485
4486         * bytecode.c (execute_optimized_program): check_opcode ifdef
4487         ERROR_CHECK_BYTE_CODE.
4488
4489 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4490
4491         Thanks to Ben Wing and Michael Sperber.
4492
4493         * eval.c (Fcommand_execute):
4494         (Feval):
4495         (Ffuncall):
4496         (Fmacroexpand_internal):
4497         (function_argcount):
4498         callint.c (Fcall_interactively):
4499         Add comment about do_autoload GCPROs own args.
4500
4501         * (do_autoload): GCPRO both args as well as local Lisp_Object.
4502
4503         * eval.c (Ffuncall): Extra braces to placate GCC.
4504
4505 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
4506
4507         * backtrace.h (grow_specpdl):
4508         (SPECPDL_RESERVE):
4509         * EmacsFrame.c (EmacsFrameSetValues):
4510         * eval.c (grow_specpdl):
4511         * ExternalShell.c (hack_event_masks_1):
4512         * glyphs-x.c (convert_EImage_to_XImage): 
4513         (x_finalize_image_instance):
4514         * ralloc.c (page_size):
4515         (r_alloc_sbrk):
4516         * xgccache.c (gc_cache_hash):
4517         Fix unsigned comparison warnings.
4518
4519 2002-07-29  Jerry James  <james@xemacs.org>
4520
4521         * lread.c (locate_file): Any nonnegative return value indicates
4522         success if MODE is nonnegative.
4523
4524 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
4525
4526         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
4527         argument. 
4528
4529 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
4530
4531         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
4532
4533         * dumper.c (pdump_get_indirect_count):
4534         (pdump_scan_by_alignment):
4535         (pdump_dump_root_struct_ptrs):
4536         (pdump_dump_rtables):
4537         (pdump_dump_root_objects):
4538         (pdump):
4539         * nas.c (WaveOpenDataForReading):
4540         * fns.c (print_bit_vector):
4541         * font-lock.c (SINGLE_SYNTAX_STYLE):
4542         * glyphs.c (check_for_ignored_expose):
4543         (find_matching_subwindow):
4544         * glyphs-eimage.c:
4545         * imgproc.c (get_histogram):
4546         * redisplay.c (point_in_line_start_cache):
4547         * redisplay-output.c (redisplay_unmap_subwindows):
4548         * symbols.c (defsymbol_massage_name_1):
4549         (defkeyword_massage_name):
4550         (deferror_massage_name_and_message):
4551         * redisplay-x.c (x_output_string): 
4552         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
4553         * frame.h (struct frame):
4554         * filelock.c (current_lock_owner):
4555         * doprnt.c (emacs_doprnt_1):
4556         * lisp.h (struct Lisp_Bit_Vector):
4557         (DO_REALLOC):
4558         Fix warnings.
4559
4560 2002-02-13  Ben Wing  <ben@xemacs.org>
4561
4562         * event-stream.c (reset_key_echo):
4563         * event-stream.c (reset_this_command_keys):
4564         * event-stream.c (execute_command_event):
4565         If console is dead as a result of C-x 5 0, then post-command stuff
4566         needs to be careful and do only non-console-specific stuff.
4567
4568 2002-07-01  Mike Sperber <mike@xemacs.org>
4569
4570         * process-unix.c (unix_send_process): Mark coding_outstream as
4571         non-open upon SIGPIPE.
4572
4573         * event-stream.c (Fnext_event): Reorder switch cases to something
4574         that makes sense.
4575
4576 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
4577
4578         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
4579         Don't bogusly reinitialize ascii_character property.
4580
4581 2002-07-08  Mike Sperber <mike@xemacs.org>
4582
4583         * process.c (Fstart_process_internal): Do error checking before we
4584         fork off the child, so the child can't muck with the state of the
4585         parent.
4586
4587 2002-07-08  Mike Sperber <mike@xemacs.org>
4588
4589         * ralloc.c (init_ralloc): Allocate properly for pdump.
4590
4591 2002-06-12  Andy Piper  <andy@xemacs.org>
4592
4593         * glyphs.c (query_string_geometry): check the string.
4594
4595         * glyphs-widget.c (widget_logical_unit_height): cope with nil
4596         widget names.
4597
4598 2002-06-17  Jerry James  <james@xemacs.org>
4599
4600         * sysdll.c: Remove RTLD_GLOBAL initialization.
4601         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
4602
4603 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
4604
4605         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
4606
4607 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
4608
4609         * sysdep.c (sys_rename): Make sys_rename work for the case where
4610         Windows rename sets errno to EACCES if target file exists.
4611
4612 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
4613
4614         * device-msw.c (mswindows_handle_page_setup_dialog_box):
4615         Fix detection of metric units to work on Win95
4616
4617 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
4618
4619         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
4620
4621 2002-04-25  Andy Piper  <andy@xemacs.org>
4622
4623         * redisplay.c (create_text_block): Remove extra comment trailer.
4624
4625 2002-04-24  Andy Piper  <andy@xemacs.org>
4626
4627         * redisplay.c (create_text_block): Don't actually add propagation
4628         data if the line ends after we have added a glyph.
4629
4630 2002-04-22  Andy Piper  <andy@xemacs.org>
4631
4632         * extents.c (extent_fragment_update): check for glyphs we have
4633         previously displayed.
4634         * extents.c (print_extent_1): warning removal.
4635         * extents.h: change prototype.
4636         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
4637         widths correctly for wide glyphs.
4638         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
4639         * redisplay.c (prop_type): add PROP_GLYPH.
4640         * redisplay.c (struct prop_block): add glyph type
4641         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
4642         to the propagation data.
4643         * redisplay.c (create_text_block): if there is a glyph in the
4644         propagation data use it to salt extent_fragment_update.
4645         * redisplay.c (create_string_text_block): ditto.
4646
4647 2002-04-13  Nix  <nix@esperi.demon.co.uk>
4648
4649         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
4650         * redisplay-output.c (compare_runes): Compare them.
4651         * redisplay.c: Update copyright date.
4652         * redisplay.c (pos_data): Add need_baseline_computation field.
4653         * redisplay.c (add_glyph_rune): Update ascent, descent, and
4654         need_baseline_computation; zero yoffset. Set max_pixmap_height
4655         for all pixmaps, not just automatically positioned ones.
4656         * redisplay.c (calculate_yoffset): New, compute yoffset values.
4657         * redisplay.c (calculate_baseline): New, compute textual baseline.
4658         * redisplay.c (add_glyph_rune): Call them.
4659         * redisplay.c (create_text_block): Likewise.
4660         * redisplay.c (create_overlay_glyph_block): Likewise.
4661         * redisplay.c (add_margin_runes): Likewise.
4662         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
4663
4664         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
4665         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
4666         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
4667         * redisplay-msw.c (mswindows_output_string): Likewise.
4668         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
4669         * redisplay-gtk.c (gtk_output_display_block): Likewise.
4670         * redisplay-x.c (x_output_display_block): Likewise.
4671
4672 2002-03-28  Ben Wing  <ben@xemacs.org>
4673
4674         * redisplay.c: Fixed bug in redisplay
4675         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
4676         and down of the lines, since they're bigger than the line
4677         size. (It was seen most obviously when there's a horizontal scroll
4678         bar, e.g. do C-h a glyph or something like that.) The problem was
4679         that the glyph-contrib-p setting on glyphs was ignored even if it
4680         was set properly, which it wasn't until now.
4681
4682 2002-04-24  Andy Piper  <andy@xemacs.org>
4683
4684         * lisp.h (Dynarr_end): Fix definition.
4685
4686 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
4687
4688         * redisplay.c (mark_redisplay): Remove call to
4689         update_frame_window_mirror.
4690
4691 2001-11-15  Andy Piper  <andy@xemacs.org>
4692
4693         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
4694         cygwin (again).
4695
4696 2002-02-13  Andy Piper  <andy@xemacs.org>
4697
4698         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
4699         we did in fact enqueue the XM_MAPFRAME event.
4700
4701 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
4702
4703         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
4704         to fix problem switching between virtual desktops under virtuawin
4705         virtual window manager.
4706
4707 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
4708
4709         * event-msw.c: Typo fix.
4710         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
4711         magic XM_MAPFRAME event has been sent.
4712
4713 2001-11-23  Andy Piper  <andy@xemacs.org>
4714
4715         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
4716
4717 2001-11-21  Andy Piper  <andy@xemacs.org>
4718
4719         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
4720         mouse events outside the frame.
4721
4722 2002-03-20  Andy Piper  <andy@xemacs.org>
4723
4724         * menubar-msw.c (mswindows_popup_menu): warning removal.
4725         * dialog-msw.c (dialog_popped_down): ditto.
4726
4727 2001-12-11  Andy Piper  <andy@xemacs.org>
4728
4729         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
4730         * dialog-msw.c (mswindows_make_dialog_box_internal): set
4731         popup_up_p.
4732         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
4733         * menubar-msw.c (mswindows_handle_wm_command): ditto.
4734         * menubar-msw.c (mswindows_popup_menu): ditto.
4735
4736 2001-10-29  Andy Piper  <andy@xemacs.org>
4737
4738         * dialog-msw.c (handle_directory_dialog_box): quit if the user
4739         cancels.
4740
4741 2002-01-03  Andy Piper  <andy@xemacs.org>
4742
4743         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
4744         letters.
4745         (xrealpath): ditto.
4746
4747 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
4748
4749         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
4750         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
4751         * device-msw.c (mswindows_handle_page_setup_dialog_box):
4752         Detect and handle case where machine is set up for metric units
4753
4754 2002-04-02  Andy Piper  <andy@xemacs.org>
4755
4756         * dired-msw.c (mswindows_get_files): 
4757         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
4758         completely handled by XEmacs. Suggested by Thomas Vogler
4759         <mail@thomas-vogler.de>.
4760
4761 2001-11-14  Andy Piper  <andy@xemacs.org>
4762
4763         * nt.c (REG_ROOT): change registry key to XEmacs.
4764
4765 2002-04-27  Andy Piper  <andy@xemacs.org>
4766
4767         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
4768
4769 2002-04-26  Andy Piper  <andy@xemacs.org>
4770
4771         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
4772         behavior.
4773
4774 2002-03-14  Mike Alexander  <mta@arbortext.com>
4775
4776         * event-msw.c (mswindows_unwait_process): New, remove process from
4777         wait list
4778         * process-nt.c (nt_finalize_process_data): Call
4779         mswindows_unwait_process
4780         * console-msw.h: Declare mswindows_unwait_process
4781
4782 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
4783
4784         * editfns.c (Fdecode_time):
4785         (Fformat_time_string):
4786         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
4787         (make_time): Warning elimination (change arg name).
4788
4789 2001-11-24  Andy Piper  <andy@xemacs.org>
4790
4791         * window.c (Fsplit_window): Doc return type.
4792
4793 2002-04-01  Andy Piper  <andy@xemacs.org>
4794
4795         * emacs.c (Fkill_emacs): Only output message box in interactive
4796         mode.
4797
4798 2002-04-26  Andy Piper  <andy@xemacs.org>
4799  
4800         * config.h.in: pull in 21.5.x change to stop alloca warnings under
4801         cygwin.
4802
4803 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
4804
4805         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
4806         bit platform.
4807
4808 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
4809
4810         * XEmacs 21.4.8 "Honest Recruiter" is released.
4811
4812 2002-05-07  Nix  <nix@esperi.demon.co.uk>
4813
4814         Supersedes 2002-04-17 patch.
4815
4816         * process.h (PROCESS_LIVE_P): Use the process status as
4817         evidence of health, not the state of the input stream.
4818         (PROCESS_READABLE_P): Say if the process is readable
4819         from. (It may be dead nonetheless.)
4820         (CHECK_READABLE_PROCESS): Test for that condition.
4821
4822         * process.c (create_process): Use PROCESS_READABLE_P.
4823         (read_process_output, set_process_filter): Likewise.
4824
4825         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
4826         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
4827
4828         This code is #if 0'd, this is not the time to add new functions:
4829
4830         * process.c (Fprocess_readable_p): Report readability status.
4831         * process.c (Qprocess_readable_p): New, associated symbol...
4832         * process.c (syms_of_process): ... initialize it.
4833
4834 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
4835
4836         * XEmacs 21.4.7 "Economic Science" is released.
4837
4838 2002-04-17  Nix  <nix@esperi.demon.co.uk>
4839
4840         * process.h (PROCESS_LIVE_P): Use the process status as
4841         evidence of health, not the state of the input stream.
4842
4843 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
4844
4845         * sysdep.c (sys_siglist): change "signum" to "signal"
4846
4847 2001-04-21  Martin Buchholz  <martin@xemacs.org>
4848
4849         * s/darwin.h: New file.
4850         Thanks to Greg Parker <gparker@cs.stanford.edu>.
4851         
4852 2002-04-23  Andreas Jaeger  <aj@suse.de>
4853
4854         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
4855         which use lib64 for 64-bit libs.
4856         (START_FILES): Likewise.
4857
4858 2002-02-11  Mike Sperber  <mike@xemacs.org>
4859
4860         * device-x.c: 
4861         (x_IO_error_handler):
4862         (x_init_device): Temporarily keep device in static variable
4863         `device_being_initialized' so we can recover gracefully from
4864         internal XOpenDevice failure.  (XOpenDevice is documented to
4865         return NULL on failure, but sometimes calls the IO error handler
4866         instead.)
4867
4868 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
4869
4870         * dired.c (Ffile_name_all_completions): Change documentation --
4871         remove reference to completion-ignored-extensions.
4872         * dired.c (vars_of_dired): Change documentation for
4873         completion-ignored-extensions -- remove reference to
4874         file-name-all-completions.
4875
4876 2002-03-06  Jerry James  <james@xemacs.org>
4877
4878         * emodules.c (emodules_load): Fix multiple loading of same module.
4879
4880 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
4881         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
4882         RTLD_LAZY to avoid incorrect symbol binding when using nested
4883         shared libraries on Solaris.
4884
4885 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
4886
4887         * fileio.c (Ffind_file_name_handler): Improve docstring.
4888
4889 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
4890
4891         * fns.c (Fmapconcat): Improve docstring.
4892
4893 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
4894
4895         * device-gtk.c: Add prototype for
4896         emacs_gtk_selection_clear_event_handle.
4897         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
4898         selection.  Setup signal handler for "selection_clear_event"
4899         (emacs_gtk_selection_clear_event_handle).
4900
4901         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
4902         other applications owning the clipboard (based on
4903         x_handle_selection_clear).
4904
4905 2001-12-23  William M. Perry  <wmperry@gnu.org>
4906
4907         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
4908         
4909 2002-01-04  Martin Buchholz  <martin@xemacs.org>
4910
4911         * keymap.c (define_key_alternate_name): Parenthesize EQ.
4912
4913 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
4914
4915         * XEmacs 21.4.6 "Common Lisp" is released.
4916
4917 2001-12-16  Torsten Duwe  <duwe@caldera.de>
4918
4919         * search.c (Freplace_match): Add missing sub-expression functionality.
4920
4921         * buffer.c (decode_buffer): Add a check for pointer type to
4922         decode_buffer, before gcc's CSE optimization reorders a
4923         dereference in front of the allow_string test.
4924
4925 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
4926
4927         * window.c (window_loop): Fix bug that sometimes prevented
4928         window_loop() from iterating across multiple devices.  Also, at
4929         Ben's request, changed infloop-detecting code to abort() instead
4930         of silently terminating window_loop().
4931
4932 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
4933
4934         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
4935         * editfns.c (make_time): New function.
4936         (Fencode_time): Use it instead of wasteful_word_to_lisp.
4937         * lisp.h (make_time): Prototype and comment it.
4938         * dired.c (wasteful_word_to_lisp): Deprecate.
4939         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
4940
4941 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
4942
4943         * fileio.c (auto_save_1): Use current coding system, not
4944         escape-quoted.
4945
4946 2001-11-13  Ben Wing  <ben@xemacs.org>
4947
4948         * window.c:
4949         * window.c (window_truncation_on):
4950         * window.c (syms_of_window):
4951         truncate-partial-width-windows should respect the buffer being
4952         displayed, like other redisplay vars.
4953
4954 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
4955
4956         * event-stream.c (Fread_key_sequence): save current buffer.
4957
4958 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
4959
4960         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
4961
4962 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
4963
4964         * alloc.c (lcrecord_stats): Add space for types defined in modules.
4965
4966 2001-10-26  Mike Alexander  <mta@arbortext.com>
4967
4968         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
4969
4970 2001-10-25  Andy Piper  <andy@xemacs.org>
4971
4972         * ChangeLog:
4973         * dialog-msw.c (handle_directory_proc): new function.
4974          (handle_directory_dialog_box): new fucntion.
4975          (handle_file_dialog_box): use new directory dialog support.
4976          (mswindows_make_dialog_box_internal): ditto.
4977         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
4978         handling.
4979         (mswindows_find_frame): make global.
4980         * fileio.c (Fexpand_file_name): build fix.
4981         * general-slots.h: add Qdirectory.
4982         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
4983         handling.
4984         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
4985         cygwin not leaving win32 paths unchanged.
4986         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
4987         cygwin runtime to do path conversion.
4988         (Fmswindows_shell_execute): fix cygwin handling of URLs.
4989         (syms_of_win32): add new function.
4990         * window.c (window_loop): build fix.
4991
4992 2001-10-15  Andy Piper  <andy@xemacs.org>
4993
4994         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
4995
4996 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
4997
4998         * XEmacs 21.4.5 "Civil Service" is released.
4999
5000 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5001
5002         * glyphs-x.c: Force buffer-tab highlight update when moving the
5003         buffer, avoiding an ugly black border, used for keyboard focus
5004         indication, on a widget that can never have keyboard focus, the
5005         buffer tab.
5006
5007 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5008
5009         * process-unix.c (unix_open_multicast_group): Remove too much
5010         conversion between host and network byte order.
5011
5012 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5013
5014         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5015         before replacing them.
5016
5017         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5018         operation.
5019
5020         * src/window.c (undedicate_windows): Use it.
5021         * src/window.h: Add prototype.
5022
5023 2001-09-17  Ben Wing  <ben@xemacs.org>
5024
5025         * fileio.c (normalize_filename):
5026         * fileio.c (Fexpand_file_name):
5027         Fix various C++ compile errors in Andy's recent code.
5028         
5029         * callint.c (Fcall_interactively):
5030         * editfns.c (Ftemp_directory):
5031         * editfns.c (Fuser_full_name):
5032         * emacs.c (argmatch):
5033         * lread.c (locate_file_map_suffixes):
5034         * redisplay-x.c (x_ring_bell):
5035         Fix sign-compare warnings.
5036         
5037 2001-09-08  Andy Piper  <andy@xemacs.org>
5038
5039         * fileio.c (normalize_filename): copied from nt.c
5040         * (Ffile_name_directory): enable win32 paths under cygwin.
5041         * (Ffile_name_nondirectory): ditto.
5042         * (directory_file_name): ditto.
5043         * (Fexpand_file_name): ditto.
5044         * (Ffile_truename): ditto.
5045         * (Fsubstitute_in_file_name): ditto.
5046         * (Ffile_name_absolute_p): ditto.
5047         * (Ffile_readable_p): ditto.
5048
5049 2001-09-08  Andy Piper  <andy@xemacs.org>
5050
5051         * device-msw.c (mswindows_finish_init_device): remove dde
5052         initialization.
5053         * device-msw.c (mswindows_init_dde): factor out from
5054         mswindows_finish_init_device()
5055         * device-msw.c (init_mswindows_very_early): new function
5056         initialize but don't enable dde.
5057         * emacs.c (main_1): call init_mswindows_very_early.
5058         * event-msw.c:
5059         * event-msw.c (mswindows_dde_callback): only execute when we are
5060         ready.
5061         * symsinit.h: declare init_mswindows_very_early.
5062
5063 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5064
5065         [sjt: This has been in 21.5 for months with no complaints.]
5066
5067         * console.h (struct console_methods): Added flags member.
5068         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5069         (CONMETH_IMPL_FLAG):
5070         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5071         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5072
5073         * device.c (window_system_pixelated_geometry): Use the above macros.
5074
5075         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5076         implememntation flag.
5077         * device.h (DEVICE_DISPLAY_P): Use it.
5078
5079         * frame.c (delete_frame_internal): Use the above macro.
5080
5081         * redisplay.c (redisplay_device): Use it.
5082         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5083         (redisplay_frame): Ditto.
5084
5085         * device-msw.c (mswindows_device_implementation_flags): Removed.
5086         (msprinter_device_implementation_flags): Removed.
5087         (console_type_create_device_mswindows): Removed references to
5088         implementation_flags methods, set implementation flags here.
5089         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5090
5091         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5092         (console_type_create_device_gtk): Removed method declaration.
5093         Added commented out statement which semantically matches the
5094         commented out statement in the above removed method.
5095
5096 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5097
5098         The attached patch fixes a few warnings. 
5099
5100         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5101         * src/frame-gtk.c: guard against GNOME calls in GTK only
5102         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5103         * src/select-gtk.c: prototype lisp_to_time
5104
5105 2001-06-08  Ben Wing  <ben@xemacs.org>
5106
5107         ------ gc-in-window-procedure fixes ------
5108         
5109         * alloc.c:
5110         * alloc.c (struct post_gc_action):
5111         * alloc.c (register_post_gc_action):
5112         * alloc.c (run_post_gc_actions):
5113         * alloc.c (garbage_collect_1):
5114         Create "post-gc actions", to avoid those dreaded "GC during window
5115         procedure" problems.
5116
5117         * event-msw.c:
5118         Abort, clean and simple, when GC in window procedure.  We want
5119         to flush these puppies out.
5120
5121         * glyphs-msw.c:
5122         * glyphs-msw.c (finalize_destroy_window):
5123         * glyphs-msw.c (mswindows_finalize_image_instance):
5124         Use a post-gc action when destroying subwindows.
5125
5126         * lisp.h:
5127         Declare register_post_gc_action().
5128
5129         * scrollbar-msw.c:
5130         * scrollbar-msw.c (unshow_that_mofo):
5131         Use a post-gc action when unshowing scrollbar windows, if in gc.
5132
5133         * redisplay.c (mark_redisplay):
5134         Add comment about the utter evilness of what's going down here.
5135
5136         ------ cygwin setitimer fixes ------
5137         
5138         * Makefile.in.in (sheap_objs):
5139         * Makefile.in.in (profile_objs):
5140         * Makefile.in.in (objs):
5141         Compile profile.c only when HAVE_SETITIMER.
5142         
5143         * nt.c (mswindows_sigset):
5144         * nt.c (mswindows_sighold):
5145         * nt.c (mswindows_sigrelse):
5146         * nt.c (mswindows_sigpause):
5147         * nt.c (mswindows_raise):
5148         * nt.c (close_file_data):
5149         Style fixes.
5150         
5151         * nt.c:
5152         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5153         
5154         * profile.c:
5155         * profile.c (Fstart_profiling):
5156         * profile.c (Fstop_profiling):
5157         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5158         instead of just plain setitimer().
5159         
5160         * signal.c:
5161         * signal.c (set_one_shot_timer):
5162         * signal.c (alarm):
5163         Define qxe_setitimer() as an encapsulation around setitimer() --
5164         call setitimer() directly unless Cygwin or MS Win, in which case
5165         we use our simulated version in win32.c.
5166         
5167         * systime.h:
5168         * systime.h (struct itimerval):
5169         * systime.h (ITIMER_REAL):
5170         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5171         comment about "qxe" and the policy regarding encapsulation.
5172
5173         * win32.c:
5174         * win32.c (setitimer_helper_proc):
5175         * win32.c (setitimer_helper_period):
5176         * win32.c (setitimer_helper):
5177         * win32.c (mswindows_setitimer):
5178         Move setitimer() emulation here, so Cygwin can use it.
5179         Rename a couple of functions and variables to be longer and more
5180         descriptive.  In setitimer_helper_proc(), send the signal
5181         using either mswindows_raise() or (on Cygwin) kill().  If for
5182         some reason we are still getting lockups, we'll change the kill()
5183         to directly invoke the signal handlers.
5184
5185         ------ windows shell fixes ------
5186         
5187         * callproc.c:
5188         * ntproc.c:
5189         Comments about how these two files must die.
5190
5191         * callproc.c (init_callproc):
5192         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5193         not just COMSPEC. (more correct and closer to FSF.) Don't
5194         force a value for SHELL into the environment. (Comments added
5195         to explain why not.)
5196         
5197         * nt.c (init_user_info):
5198         Don't shove a fabricated SHELL into the environment.  See above.
5199
5200 2001-06-01  Ben Wing  <ben@xemacs.org>
5201
5202         * Makefile.in.in (ldflags):
5203         eliminate that pesky "defaulting to 00401000" warning.
5204         * nt.h:
5205         eliminate warnings.
5206
5207 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5208
5209         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5210         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5211
5212 2001-04-24  Jerry James <james@xemacs.org>
5213
5214         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5215         correct order.
5216
5217 2001-06-01  Ben Wing  <ben@xemacs.org>
5218
5219         * event-msw.c (debug_mswin_messages):
5220         conditionalize the messages that were causing compile errors.
5221         (if only macros could generate #ifdef statements ...)
5222
5223 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5224
5225         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5226
5227 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5228
5229         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5230
5231 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5232
5233         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5234         * process-unix.c (unix_canonicalize_host_name):
5235         sysdep.c (init_system_name):
5236         Use it to conditionally support IPv6 canonicalization.
5237
5238 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5239
5240         * event-msw.c:
5241         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5242
5243 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5244
5245         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5246         attempt is made to scroll when no scroll bar is available.
5247
5248 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5249
5250         * input-method-motif.c (XIM_delete_frame): New callback.
5251         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5252         got deleted from 21.4.3.)
5253
5254 2001-06-01  Ben Wing  <ben@xemacs.org>
5255
5256         * nt.c (mswindows_utime):
5257         * nt.c (close_file_data):
5258         fix off-by-one-indirection error.
5259
5260 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5261
5262         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5263         because set_file_times() now takes Lisp_Object path, instead of
5264         char*.
5265         * nt.c: Include buffer.h.
5266         * nt.c (convert_from_time_t): New.
5267         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5268         not set mtime correctly.
5269         * nt.h: Declare mswindows_utime().
5270         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5271         path, instead of char*.
5272         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5273
5274 2001-05-30  Ben Wing  <ben@xemacs.org>
5275
5276         For 21.4:
5277
5278         (Stephen, just take all event-msw.c patches.  This includes
5279         the "iconify" fix below.)
5280
5281         * event-msw.c:
5282         * event-msw.c (mswindows_dequeue_dispatch_event):
5283         * event-msw.c (assert):
5284         * event-msw.c (emacs_mswindows_quit_p):
5285         * event-msw.c (debug_mswin_messages):
5286         * event-msw.c (debug_output_mswin_message):
5287         * event-msw.c (vars_of_event_mswindows):
5288         Fix yet more problems with C-g handling.
5289         Implement debug-mswindows-events.
5290         
5291 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5292
5293         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5294         
5295 2001-05-23  Ben Wing  <ben@xemacs.org>
5296
5297         * event-msw.c (winsock_writer):
5298         * event-msw.c (winsock_closer):
5299         prior kludgy code was clobbering the buffer, thinking it was
5300         "unused" space to store an unneeded return value; instead, use
5301         the variable we've already got staring us in the face.
5302
5303 2001-05-17  Andy Piper  <andy@xemacs.org>
5304
5305         * sysfile.h: don't assume that file attributes are boolean
5306
5307 2001-05-23  Ben Wing  <ben@xemacs.org>
5308
5309         * device-msw.c (msprinter_init_device):
5310         signal an error rather than crash with an unavailable network
5311         printer (from Mike Alexander).
5312         
5313         * event-msw.c:
5314         * event-msw.c (struct winsock_stream):
5315         * event-msw.c (winsock_writer):
5316         * event-msw.c (winsock_closer):
5317         * event-msw.c (make_winsock_stream_1):
5318         cleanup headers.  fix (hopefully) an error with data corruption
5319         when sending to a network connection.
5320
5321         * fileio.c (Fexpand_file_name): Fix evil code that attempts
5322         to handle the ~user prefix by (a) always assuming we're referencing
5323         ourselves and not even verifying the user -- hence any file with
5324         a tilde as its first char is invalid! (b) if there wasn't a slash
5325         following the filename, the pointer was set *past* the end of
5326         file and we started reading from uninitialized memory.  Now we
5327         simply treat these as files, always.
5328
5329         * buffer.c (common_init_complex_vars_of_buffer): comment change.
5330         
5331 2001-05-19  Ben Wing  <ben@xemacs.org>
5332
5333         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
5334
5335         * process-nt.c:
5336         * process-nt.c (vars_of_process_nt):
5337         remove unused mswindows-quote-process-args.  rec for 21.4.
5338         
5339 2001-05-12  Ben Wing  <ben@xemacs.org>
5340
5341         * event-msw.c (mswindows_dde_callback):
5342         * event-msw.c (mswindows_wnd_proc):
5343         eliminate cygwin warnings.
5344
5345 2001-05-06  Ben Wing  <ben@xemacs.org>
5346
5347         * console-msw.h:
5348         * device-msw.c:
5349         * device-msw.c (print_dialog_worker):
5350         * device-msw.c (mswindows_handle_print_dialog_box):
5351         * device-msw.c (syms_of_device_mswindows):
5352         * dialog-msw.c (mswindows_make_dialog_box_internal):
5353         * general-slots.h:
5354         implement printing the selection when it's selected.
5355
5356 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
5357
5358         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
5359
5360 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
5361
5362         * lisp.h (EMACS_INT_MAX): This should be one bit less since
5363         EMACS_INT is signed.
5364
5365 2001-04-15  Michael Lausch  <mla@1012surf.net>
5366
5367         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
5368         gtk_widget_request_size() to give scrollbar >0 width for
5369         GTK >1.2.8.
5370
5371 2001-05-30  William M. Perry  <wmperry@gnu.org>
5372
5373         * event-gtk.c: Check for buttons as modifier keys.
5374
5375 2001-05-25  Craig Lanning  <CraigL@Knology.net>
5376
5377         * s\mingw32.h:
5378         Properly find MinGW's <process.h> inside Cygwin's restructured
5379         include directories.  Don't try to include <cygwin/version.h>
5380         since we are dropping support for MinGW in versions of Cygwin
5381         earlier than b21.
5382         * nt.c:
5383         Drop support for MinGW in versions of Cygwin before b21.
5384         * sysdep.c:
5385         Properly find MinGW's <process.h> inside Cygwin's restructured
5386         include directories.
5387         * syswindows.h:
5388         Drop support for MinGW in versions of Cygwin before b21.
5389         * unexcw.c:
5390         Even though a.out.h is no longer detected by configure, allow
5391         MinGW to use it until we figure out how to do the job with Win32.
5392
5393 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
5394
5395         * syntax.c (find_start_of_comment):
5396         Fix `unbalanced parentheses' bug when dealing with mixed comment
5397         styles in c++/java/etc. mode
5398
5399 2001-05-29  Mike Alexander  <mta@arbortext.com>
5400
5401         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
5402         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
5403
5404 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
5405
5406         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
5407
5408 2001-03-31  Mike Sperber <mike@xemacs.org>
5409
5410         * search.c (Freplace_match): Support FSF-style specification of
5411         match subexpression when applied to a buffer.
5412
5413 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5414
5415         * event-stream.c (is_scrollbar_event): add missing semicolon
5416
5417 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
5418
5419         * Makefile.in.in: Use TAR macro instead of hardcoding
5420           tar.  Allows use of GNU tar instead of system tar
5421
5422 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5423
5424         * event-stream.c (is_scrollbar_event): add missing semicolon
5425
5426 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5427
5428         * XEmacs 21.4.3 "Academic Rigor" is released.
5429
5430 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5431
5432         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
5433
5434 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
5435
5436         * buffer.c (Vcase_fold_search): Remove obsolete
5437           comment about non ASCII case-fold-search.  This
5438           bug has been fixed by case-table changes.
5439
5440 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
5441
5442         * event-msw.c: Restore include of events-mod.h.
5443
5444 2001-04-22   zhaoway  <zw@debian.org>
5445
5446         * event-stream.c (is_scrollbar_event): Noop returning 0 if
5447         !HAVE_SCROLLBARS.
5448
5449 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
5450
5451         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
5452
5453 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
5454
5455         * mule-charset.c (Fmake_charset): Add missing else.
5456
5457 2001-04-23  Ben Wing  <ben@xemacs.org>
5458
5459         * event-msw.c (FAKE_MOD_QUIT):
5460         * event-msw.c (mswindows_dequeue_dispatch_event):
5461         * event-msw.c (mswindows_wnd_proc):
5462         * event-msw.c (emacs_mswindows_quit_p):
5463         Get critical quit working.
5464
5465 2001-05-05  Ben Wing  <ben@xemacs.org>
5466
5467         * console-msw.h:
5468         * device-msw.c:
5469         * device-msw.c (mswindows_get_default_margin):
5470         * frame-msw.c (mswindows_size_frame_internal):
5471         * frame-msw.c (msprinter_init_frame_1):
5472         * frame-msw.c (vars_of_frame_mswindows):
5473         Change top/bottom margin defaults to 0.5 inches.
5474
5475 2001-05-01  Martin Buchholz  <martin@xemacs.org>
5476
5477         Fix link error with gcc 3.0 on Linux.
5478         * terminfo.c (UP): Remove.
5479         * terminfo.c (BC): Remove.
5480         * terminfo.c (PC): Remove.
5481         They weren't used, and in any case, these symbols should be
5482         defined in the *library*.
5483
5484 2001-05-03  Martin Buchholz  <martin@xemacs.org>
5485
5486         * s/aix4.h: Fix crash with xlc -O3.
5487         Improve comment explaining how -O3 works.
5488
5489 2001-04-15  Ben Wing  <ben@xemacs.org>
5490
5491         * event-stream.c:
5492         * event-stream.c (Fnext_event):
5493         * event-stream.c (is_scrollbar_event):
5494         * event-stream.c (execute_command_event):
5495         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
5496         crash' problem.  His fix introduces other problems.  We filter
5497         out scrollbar events specifically, making them somewhat invisible
5498         to command-building, and not appearing in `this-command-keys'.
5499         More work is still needed (see comments in event-stream.c), but
5500         this fixes all the major problems.
5501
5502 2001-04-20  Ben Wing  <ben@xemacs.org>
5503
5504         * .cvsignore: Added stuff for Windows.
5505
5506 2001-04-28  Ben Wing  <ben@xemacs.org>
5507
5508         * buffer.c (Ferase_buffer):
5509         * editfns.c (buffer_insert1):
5510         * editfns.c (Finsert_before_markers):
5511         * editfns.c (Finsert_string):
5512         * editfns.c (Finsert_char):
5513         * editfns.c (Fdelete_region):
5514         * editfns.c (Fwiden):
5515         * editfns.c (Fnarrow_to_region):
5516         remove bogus lines setting zmacs_region_stays to 0.
5517         
5518 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5519
5520         * process-unix.c (unix_open_network_stream): If connect() fails
5521         invalidate file descriptor after closing it.
5522
5523 2001-03-08  Mike Alexander  <mta@arbortext.com>
5524
5525         * event-msw.c (mswindows_need_event_in_modal_loop):
5526         Don't dispatch a message if we didn't get one.
5527         (mswindows_need_event):
5528         Terminate the correct process when one exits instead of the first
5529         one on Vprocess_list and look for process termination when in
5530         mswindows_protect_modal_loop.
5531
5532 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
5533
5534         * XEmacs 21.4.1 "Copyleft" is released.
5535
5536 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5537
5538         * input-method-motif.c (XIM_delete_frame): New callback.
5539         (XIM_init_frame): Register it.
5540
5541 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5542
5543         * XEmacs 21.4.0 "Solid Vapor" is released.
5544
5545 2001-04-15  Ben Wing  <ben@xemacs.org>
5546
5547         * cmdloop.c (call_command_loop):
5548         Fix braino in bit-rotting code.
5549         
5550 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
5551
5552         * extents.c (Fset_extent_endpoints): Force creation of extent info
5553         in buffer_or_string.
5554
5555         * extents.c (process_extents_for_insertion_mapper): Correctly
5556         check for open-open zero-length extents.
5557
5558 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5559
5560         * lisp.h: New typedefs Memory_count, Element_count.
5561         * regex.c:
5562         * regex.h:
5563         Sign-compare warning elimination: several unsigned -> signed.
5564         Based on work by Ben Wing <ben@xemacs.org>.
5565
5566 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
5567
5568         * XEmacs 21.2.47 "Zephir" is released.
5569
5570 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
5571
5572         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
5573
5574 2001-04-03  Mike Sperber <mike@xemacs.org>
5575
5576         * search.c: Revert previous patch due because of release.
5577
5578 2001-03-30  Ben Wing  <ben@xemacs.org>
5579
5580         * s\cygwin32.h:
5581         Add missing killpg prototype.
5582
5583         * elhash.c:
5584         Add a comment about fixing problems when a new entry is added
5585         while mapping.
5586
5587         * frame-msw.c (mswindows_init_frame_1):
5588         Fix compile warnings.
5589
5590         * menubar.c (vars_of_menubar):
5591         Provide `menu-accelerator-support' to indicate that we properly
5592         support %_ in menu specifications, so that package code can
5593         conditionalize on this (and remove %_ from menu specifications
5594         on older versions).
5595
5596         * event-msw.c:
5597         * scrollbar-msw.c:
5598         * scrollbar-msw.c (can_scroll):
5599         * scrollbar-msw.h:
5600         Fix handling of mouse wheel under Windows to follow standards --
5601         now scrolls window under pointer, not selected window.
5602
5603 2001-03-31  Mike Sperber <mike@xemacs.org>
5604
5605         * search.c (Freplace_match): Support FSF-style specification of
5606         match subexpression when applied to a buffer.
5607
5608 2001-03-15  Martin Buchholz  <martin@xemacs.org>
5609
5610         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
5611         function to modify KEYMAP, so map over a copy of the hash table.
5612
5613 2001-03-21  Martin Buchholz <martin@xemacs.org>
5614
5615         * XEmacs 21.2.46 "Urania" is released.
5616
5617 2001-03-20  Dan Holmsand  <dan@eyebee.com>
5618
5619         * realpath.c (xrealpath): Make file-truename work with symlinks to
5620         /cygdrive paths on cygwin. Always lowercase drive-letters on
5621         native windows.
5622         (cygwin_readlink): Don't try to find canonical filename unless
5623         file exists.
5624
5625 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
5626
5627         * ChangeLog: Log GTK merge.
5628
5629         * dumper.c:
5630         * select-x.c:
5631         * specifier.c:
5632         * symeval.h:
5633         Revert gratuitous whitespace changes from GTK merge.
5634
5635         * emacs.c: Document end of complex #ifdef @ l. 1495.
5636
5637
5638 2001-03-12  Andy Piper  <andy@xemacs.org>
5639
5640         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
5641         have to do likewise.
5642
5643 2001-03-12  Andy Piper  <andy@xemacs.org>
5644
5645         * sysdep.c: we only support mingw now.
5646
5647 2001-03-09  Andy Piper  <andy@xemacs.org>
5648
5649         * unexcw.c (copy_executable_and_dump_data_section): making approx
5650         overrun a warning only.
5651
5652 2001-03-10  William M. Perry  <wmperry@aventail.com>
5653
5654         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
5655         satisfy Stephen's identical-after-cpp plea.
5656
5657 2001-03-02  Ben Wing  <ben@xemacs.org>
5658
5659         * cmds.c:
5660         * cmds.c (Fforward_char):
5661         * syntax.c:
5662         * window.c:
5663
5664         Augment documentation of the most common motion commands to make
5665         note of the shifted-motion support.
5666         
5667 2001-03-02  Ben Wing  <ben@xemacs.org>
5668
5669         * nt.c (mswindows_fstat):
5670         * nt.c (mswindows_stat):
5671         * search.c (boyer_moore):
5672         Fix compile warnings under Windows.
5673         
5674         * sysdep.c (sys_readdir):
5675         Fix buggy filename-conversion code under Mule.
5676
5677 2001-03-09  William M. Perry  <wmperry@aventail.com>
5678
5679         * Makefile.in.in:
5680         * config.h.in:
5681         * console.c:
5682         * console.h:
5683         * device.c:
5684         * device.h:
5685         * dragdrop.c:
5686         * emacs.c:
5687         * event-stream.c:
5688         * events.c:
5689         * events.h:
5690         * faces.c:
5691         * frame.h:
5692         * general-slots.h:
5693         * glyphs.c:
5694         * gutter.c:
5695         * inline.c:
5696         * lisp.h:
5697         * lrecord.h:
5698         * make-src-depend:
5699         * redisplay-output.c:
5700         * redisplay.c:
5701         * symsinit.h:
5702         * sysfile.h:
5703         * toolbar.c:
5704         * window.c:
5705         The Great GTK Merge.
5706
5707         * ChangeLog.GTK:
5708         * console-gtk.c:
5709         * console-gtk.h:
5710         * device-gtk.c:
5711         * emacs-marshals.c:
5712         * emacs-widget-accessors.c:
5713         * event-gtk.c:
5714         * frame-gtk.c:
5715         * gccache-gtk.c:
5716         * gccache-gtk.h:
5717         * glade.c:
5718         * glyphs-gtk.c:
5719         * glyphs-gtk.h:
5720         * gtk-glue.c:
5721         * gtk-xemacs.c:
5722         * gtk-xemacs.h:
5723         * gui-gtk.c:
5724         * gui-gtk.h:
5725         * menubar-gtk.c:
5726         * native-gtk-toolbar.c:
5727         * objects-gtk.c:
5728         * objects-gtk.h:
5729         * redisplay-gtk.c:
5730         * scrollbar-gtk.c:
5731         * scrollbar-gtk.h:
5732         * select-gtk.c:
5733         * toolbar-gtk.c:
5734         * ui-byhand.c:
5735         * ui-gtk.c:
5736         * ui-gtk.h:
5737         The Great GTK Merge: new files.
5738
5739 2001-02-26  Ben Wing  <ben@xemacs.org>
5740
5741         Reapplied Lstream change.
5742
5743 2001-02-26  Ben Wing  <ben@xemacs.org>
5744
5745         Undid the last change, since it is more controversial than I
5746         thought.  It should be back in at some point soon.
5747         
5748 2001-02-25  Ben Wing  <ben@xemacs.org>
5749
5750         * buffer.c:
5751         * callproc.c (Fold_call_process_internal):
5752         * event-msw.c (ntpipe_slurp_reader):
5753         * event-msw.c (ntpipe_shove_writer):
5754         * event-msw.c (winsock_reader):
5755         * event-msw.c (winsock_writer):
5756         * file-coding.c:
5757         * file-coding.c (detect_eol_type):
5758         * file-coding.c (detect_coding_type):
5759         * file-coding.c (determine_real_coding_system):
5760         * file-coding.c (Fdetect_coding_region):
5761         * file-coding.c (decoding_reader):
5762         * file-coding.c (decoding_writer):
5763         * file-coding.c (mule_decode):
5764         * file-coding.c (Fdecode_coding_region):
5765         * file-coding.c (encoding_reader):
5766         * file-coding.c (encoding_writer):
5767         * file-coding.c (mule_encode):
5768         * file-coding.c (Fencode_coding_region):
5769         * file-coding.c (detect_coding_sjis):
5770         * file-coding.c (decode_coding_sjis):
5771         * file-coding.c (encode_coding_sjis):
5772         * file-coding.c (detect_coding_big5):
5773         * file-coding.c (decode_coding_big5):
5774         * file-coding.c (encode_coding_big5):
5775         * file-coding.c (detect_coding_ucs4):
5776         * file-coding.c (decode_coding_ucs4):
5777         * file-coding.c (encode_coding_ucs4):
5778         * file-coding.c (detect_coding_utf8):
5779         * file-coding.c (decode_coding_utf8):
5780         * file-coding.c (encode_coding_utf8):
5781         * file-coding.c (detect_coding_iso2022):
5782         * file-coding.c (decode_coding_iso2022):
5783         * file-coding.c (encode_coding_iso2022):
5784         * file-coding.c (decode_coding_no_conversion):
5785         * file-coding.c (encode_coding_no_conversion):
5786         * glyphs-x.c (write_lisp_string_to_temp_file):
5787         * gpmevent.c (tty_get_foreign_selection):
5788         * lisp.h:
5789         * lstream.c:
5790         * lstream.c (Lstream_flush_out):
5791         * lstream.c (Lstream_adding):
5792         * lstream.c (Lstream_write_1):
5793         * lstream.c (Lstream_write):
5794         * lstream.c (Lstream_raw_read):
5795         * lstream.c (Lstream_read_more):
5796         * lstream.c (Lstream_read):
5797         * lstream.c (Lstream_unread):
5798         * lstream.c (Lstream_fputc):
5799         * lstream.c (stdio_reader):
5800         * lstream.c (stdio_writer):
5801         * lstream.c (filedesc_reader):
5802         * lstream.c (filedesc_writer):
5803         * lstream.c (lisp_string_reader):
5804         * lstream.c (struct fixed_buffer_stream):
5805         * lstream.c (make_fixed_buffer_input_stream):
5806         * lstream.c (make_fixed_buffer_output_stream):
5807         * lstream.c (fixed_buffer_reader):
5808         * lstream.c (fixed_buffer_writer):
5809         * lstream.c (struct resizing_buffer_stream):
5810         * lstream.c (resizing_buffer_writer):
5811         * lstream.c (dynarr_writer):
5812         * lstream.c (lisp_buffer_reader):
5813         * lstream.c (lisp_buffer_writer):
5814         * lstream.h:
5815         * lstream.h (lstream_implementation):
5816         * lstream.h (struct lstream):
5817         * md5.c (Fmd5):
5818         * process-nt.c (nt_send_process):
5819         * process-unix.c (unix_send_process):
5820         
5821         Correct Lstream lossage due to mixing of signed and unsigned
5822         quantities.  All Lstream uses of size_t and ssize_t are now a
5823         single signed data type Lstream_data_count.  This fixes problems
5824         under Windows with sending large quantities of data to a process,
5825         and may well fix other subtle bugs.
5826
5827 2001-02-23  Martin Buchholz <martin@xemacs.org>
5828
5829         * XEmacs 21.2.45 "Thelxepeia" is released.
5830
5831 2001-02-21  Martin Buchholz  <martin@xemacs.org>
5832
5833         * lisp-union.h (XSETINT): 
5834         (XSETCHAR):
5835         (XSETOBJ): 
5836         Reverse previous change of 2001-02-06.
5837
5838 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
5839
5840         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
5841         buffers.
5842         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5843         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
5844         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
5845         * regex.c (POS_AS_IN_BUFFER): removed
5846         * regex.c (re_search_2):
5847         * regex.c (re_match_2):
5848         Don't use an offset of 1 when calculating buffer positions, since
5849         `BI_BUF_BEGV' does it already.
5850
5851 2001-02-18  Wim Dumon  <wim@easics.be>
5852
5853         * insdel.c (prepare_to_modify_buffer): Also check for
5854         supersession when clash-detection is enabled. 
5855
5856 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
5857
5858         * regex.c (re_match_2_internal):
5859         Convert temp characters from 'const unsigned char' to 're_char'.
5860         Fix crashing bug with extended characters under mule.
5861         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
5862         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
5863         font-lock, pdump, and new syntax-table code.
5864         * syntax.c (find_start_of_comment):
5865         (find_end_of_comment):
5866         (forward-comment):
5867         Fix crashing bugs involving moving beyond end of buffer.
5868         * syntax.c (find_start_of_comment):
5869         Fixed logic to allow proper detection of cases where the same
5870         character is used to end both a two-char comment start and a
5871         two-char comment end sequence. Fixes `(forward-comment -1)'.
5872         * syntax.c (find_start_of_comment):
5873         Return position just past last comment-end character for all cases
5874         (previously was only done for two-char comment-end sequences).
5875         * syntax.c (forward-comment):
5876         Take value returned from `find_end_of_comment', rather than
5877         incrementing it.
5878         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5879         Properly deal with BUFFERP (syntax_cache.object)
5880
5881 2001-02-17  Martin Buchholz  <martin@xemacs.org>
5882
5883         * alloc.c (Fgarbage_collect): 
5884         * alloc.c (make_bit_vector_from_byte_vector):
5885         -Wsign-compare-correctness.
5886
5887 2001-02-16  Martin Buchholz  <martin@xemacs.org>
5888
5889         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
5890         (XSETCHAR): Likewise.
5891         (XSETOBJ): Likewise.
5892
5893 2001-02-15  Martin Buchholz  <martin@xemacs.org>
5894
5895         * mule-canna.c (canna-func-delete_previous): 
5896         Rename to canna-func-delete-previous.
5897
5898 2001-02-14  Martin Buchholz  <martin@xemacs.org>
5899
5900         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
5901
5902 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
5903
5904         * font-lock.c (find_context): Fix C++ compile errors introduced by
5905         recent patch
5906
5907 2001-02-13  Martin Buchholz  <martin@xemacs.org>
5908
5909         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
5910         pragma, but earlier ones barf on the same pragma.
5911
5912 2001-02-06  Mike Sperber <mike@xemacs.org>
5913
5914         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
5915         `configure-mule-lisp-directory'.
5916
5917 2001-02-12  Martin Buchholz  <martin@xemacs.org>
5918
5919         Make sure dump-id.c is compiled in the same way as other .c's.
5920         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
5921         * dump-id.h: Remove.
5922         * emacs.c: Move dump-id.h into dumper.h.
5923         * dumper.h: Move dump-id.h into dumper.h.
5924         * Makefile.in.in:
5925         Use standard .c.o rule for building dump-id.o.
5926         Remove preprocessor flags from link command.
5927         Add dump-id.o to ${otherobjs} if PDUMP.
5928
5929 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
5930
5931         Port FSF 20.7 syntax table improvements.
5932         * syntax.c.
5933         * syntax.h.
5934
5935         Fixups for new syntax table stuff.
5936         * dired.c: Include syntax.c.
5937         (Fdirectory_files): Initialize regex_match_object and
5938         regex_emacs_buffer.
5939         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
5940         and Fget_char_property.
5941
5942         Use ported FSF 20.7 syntax table improvements.
5943         * font-lock.c.
5944         * regex.c.
5945         * search.c.
5946         
5947 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5948
5949         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
5950         Unixware's enum boolean from sys/types.h.
5951
5952 2001-02-10  Martin Buchholz  <martin@xemacs.org>
5953
5954         Fix support for building with latest Purify.
5955         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
5956         (PURIFY_FLAGS): Likewise.
5957
5958 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5959
5960         * fileio.c (lisp_string_set_file_times): New.
5961         * fileio.c (Fcopy_file): Use it.
5962         Fixes bug:
5963         (copy-file filename non-ascii-filename t t)
5964         ==> No such file or directory, non-ascii-filename
5965
5966 2001-02-10  Martin Buchholz  <martin@xemacs.org>
5967
5968         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
5969         USHRT_MAX seems clearer than ~0 anyways.
5970
5971 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5972
5973         dumper improvements.  Inspired by Olivier.
5974         * dumper.c (pdump_max_align): New.
5975         * dumper.c (pdump_add_entry): Use pdump_max_align.
5976         * dumper.c (pdump_get_entry_list): Likewise.
5977         * dumper.c (pdump_scan_by_alignment): Likewise.
5978         Don't iterate through unnecessary alignments.
5979         * dumper.c (pdump_file_get): No need to align result of malloc().
5980         * dumper.c (pdump_mallocadr): Remove.  
5981         The result of malloc() is guaranteed to be maximally aligned.
5982         * dumper.c: s/elmt/elt/g;
5983         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
5984         * dumper.c (pdump_alert_undump_object): Likewise.
5985         * dumper.c (pdump_align_table): 
5986         Don't support alignments > 64.
5987         Store ALIGNOF's, not shift counts, in table.
5988
5989 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5990
5991         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
5992         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
5993         * systime.h: Use HAVE_UTIME.
5994         * sysdep.c (struct utimbuf): Remove.
5995         * sysdep.c (set_file_times): Prefer utime() to utimes().
5996         * config.h.in (HAVE_UTIME): New.
5997         * config.h.in (HAVE_UTIME_H): Remove.
5998         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
5999
6000 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6001
6002         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6003
6004 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6005
6006         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6007
6008 2001-02-08  Martin Buchholz <martin@xemacs.org>
6009
6010         * XEmacs 21.2.44 "Thalia" is released.
6011
6012 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6013
6014         Fixes crashes in kill-emacs on some systems.
6015         * process-unix.c (unix_kill_child_process):
6016         It's OK for kill() to fail with ESRCH.
6017
6018 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6019
6020         Contortions to make .gdbinit tricks work on most systems.
6021         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6022         * alloc.c (dbg_valmask): Make non-const.
6023         * alloc.c (dbg_typemask): Make non-const.
6024         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6025         * alloc.c (dbg_valbits): Make non-const.
6026         * alloc.c (dbg_gctypebits): Make non-const.
6027         * .gdbinit (decode_object): Make it work with AIX cc.
6028
6029 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6030
6031         * elhash.c (make_general_lisp_hash_table):
6032         Use simpler and more efficient calloc to clear entries.
6033
6034 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6035
6036         * window.c (window_scroll): Work around an AIX C compiler bug.
6037         Fixes 'scroll-up' does nothing problem with xlC.
6038
6039 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6040
6041         * .gdbinit: Remove obsolete comment.
6042
6043 2001-01-31  Mike Alexander  <mta@arbortext.com>
6044
6045         * select.c (Fown_selection_internal): Set owned_p for device
6046         method correctly.
6047
6048 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6049
6050         Port to g++ 2.97.
6051         "not" cannot be used as a macro name as it is an operator in C++
6052         * config.h.in: Stop #defining `not'.
6053         * chartab.c (check_category_char): not ==> not_p
6054         * chartab.h: Likewise.
6055         * regex.c (re_match_2_internal): Likewise.
6056
6057 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6058
6059         * lisp-disunion.h: Fix up comments.
6060
6061 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6062
6063         * keymap.c (define_key_check_and_coerce_keysym):
6064         (syms_of_keymap):
6065         Support mouse-6 and mouse-7 bindings in the obvious way.
6066
6067 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6068
6069         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6070
6071 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6072
6073         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6074         Previous patch missed DEFVAR_INT_MAGIC.
6075         Make sure future DEFVAR_foo use correct types.
6076         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6077         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6078         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6079         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6080         * (DEFVAR_INT): Likewise.
6081         * redisplay.c (vertical_clip): Should be of type Fixnum.
6082         * redisplay.c (horizontal_clip): Likewise.
6083         * lisp.h (dump_add_opaque_int): New.
6084         (dump_add_opaque_fixnum): New.
6085
6086 2001-01-29  Andy Piper  <andy@xemacs.org>
6087
6088         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6089         since they can be eval'ed
6090
6091 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6092
6093         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6094         Oops, XEmacs redefines `class'.  Use `typename' instead.
6095
6096 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6097
6098         * dumper.c: Fix C++ compile errors.
6099
6100 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6101
6102         * tparam.c: Use correct prototypes.
6103
6104 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6105
6106         * sysproc.h: #include util.h for NetBSD's openpty.
6107
6108 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6109
6110         More 64-bit correctness.
6111         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6112         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6113         Fix up comments.
6114         This finally finishes the 64-bit SGI port.
6115         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6116         * symbols.c: Fix up comments and type casts.
6117         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6118         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6119         * symeval.h (Fixnum): New type.
6120         * symeval.h (symbol_value_type): Fix up comment.
6121
6122         * commands.h:
6123         * nt.c:
6124         * emacs.c:
6125         * data.c:
6126         * redisplay.c:
6127         * abbrev.c:
6128         * dired-msw.c:
6129         * event-Xt.c:
6130         * eldap.c:
6131         * window.c:
6132         * sound.c:
6133         * event-stream.c:
6134         * eval.c:
6135         * buffer.c:
6136         * mule-canna.c: A million DEFVAR_INTs here...
6137         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6138         * extents.c:
6139         * cmdloop.c:
6140         * lisp.h:
6141         * select-x.c:
6142         * console-x.h:
6143         * event-msw.c:
6144         * mule-wnnfns.c:
6145         * hpplay.c:
6146         * ralloc.c:
6147         * alloc.c:
6148         * keymap.c:
6149         * profile.c:
6150         s/int/Fixnum/g in DEFVAR_INT declarations.
6151
6152 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6153
6154         Port pdump to SGI alignment-sensitive environment.
6155         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6156         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6157         properly aligned.
6158         Define and use aligned reading and writing macros.
6159         Use buffered stdio instead of posix i/o for faster dumping.
6160         Eliminate kludgy 256 byte space for header.
6161         Read and write from dump file using structs for alignment safety.
6162         * dumper.c (pdump_align_stream): New.
6163         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6164         * dumper.c (PDUMP_READ_ALIGNED): New.
6165         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6166         * dumper.c (pdump_static_Lisp_Object): New struct.
6167         * dumper.c (pdump_static_pointer): New struct.
6168         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6169         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6170         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6171         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6172
6173         * dumper.c (pdump_backtrace):
6174         * dumper.c (pdump_get_indirect_count):
6175         * dumper.c (pdump_register_object):
6176         * dumper.c (pdump_register_struct):
6177         * dumper.c (pdump_reloc_one):
6178         * dumper.c (pdump_scan_by_alignment):
6179         * dumper.c (pdump_dump_from_root_struct_ptrs):
6180         * dumper.c (pdump_dump_opaques):
6181         * dumper.c (pdump_dump_rtables):
6182         * dumper.c (pdump_dump_from_root_objects):
6183         * dumper.c (pdump):
6184         * dumper.c (pdump_load_finish):
6185         Use aligned reading and writing.
6186
6187         * dumper.c (pdump_free): Make static.
6188         * dumper.c (pdump_hFile): Likewise.
6189         * dumper.c (pdump_hMap): Likewise.
6190
6191 2001-01-26  Martin Buchholz <martin@xemacs.org>
6192
6193         * XEmacs 21.2.43 "Terspichore" is released.
6194
6195 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6196
6197         Type fiddling for window_config.saved_windows_count
6198         * window.c (struct window_config): 
6199         Make saved_windows_count member unsigned.
6200         * window.c (sizeof_window_config_for_n_windows): 
6201         Make parameter unsigned.
6202         * window.c (mark_window_config):
6203         * window.c (window_config_equal):
6204         * window.c (free_window_configuration):
6205         * window.c (Fset_window_configuration):
6206         * window.c (count_windows):
6207         * window.c (Fcurrent_window_configuration):
6208         * window.c (reinit_vars_of_window):
6209         Update all callers and users.
6210
6211 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6212
6213         Alignment correctness for flexible arrays.
6214         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6215         Make alignment-correct. Add interesting comments.
6216         * alloc.c (size_vector):
6217         * alloc.c (make_vector_internal):
6218         * alloc.c (make_bit_vector_internal):
6219         * alloc.c (sweep_bit_vectors_1):
6220         * fns.c (size_bit_vector):
6221         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6222         * window.c (sizeof_window_config_for_n_windows): 
6223         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6224
6225 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6226
6227         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6228
6229 2001-01-23  Andy Piper  <andy@xemacs.org>
6230
6231         * select.c (Fown_selection_internal): pass owned_p
6232
6233         * select-msw.c (mswindows_own_selection): New Signature.
6234
6235         * console.h (struct console_methods): add owned_p to
6236         _own_selection.
6237
6238         * select-x.c (x_own_selection): pass owned_p
6239         (hack_motif_clipboard_selection): use owned_p
6240         (vars_of_select_x): new variable -
6241         x_selection_strict_motif_ownership.
6242
6243 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6244
6245         * specifier.h (specifier_data_offset): Remove pointless parens.
6246         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6247
6248 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6249
6250         Make Lisp_Object sizeof methods be alignment-correct.
6251         pdump must restore objects to the same alignment as the C compiler
6252         assumes.  It really matters on SGIs.
6253         * lstream.c (aligned_sizeof_lstream): New.
6254         (sizeof_lstream): Use aligned_sizeof_lstream.
6255         (Lstream_new): Likewise.
6256         * opaque.c (aligned_sizeof_opaque): New.
6257         (sizeof_opaque): Use aligned_sizeof_opaque.
6258         (make_opaque): Likewise.
6259         * specifier.c (aligned_sizeof_specifier): New.
6260         (sizeof_specifier): Use aligned_sizeof_specifier.
6261         (make_specifier_internal): Likewise.
6262
6263 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6264
6265         * lstream.h (struct lstream): Use max_align_t for trailing data.
6266         * specifier.h (struct Lisp_Specifier): Likewise.
6267
6268 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6269
6270         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6271         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6272         (CCL_SUSPEND): Likewise.
6273         (CCL_INVALID_CMD): Likewise.
6274         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6275         (ccl_driver): Likewise.
6276         (CCL_WRITE_CHAR): Macro hygiene.
6277         (CCL_WRITE_STRING): Macro hygiene.
6278
6279 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6280
6281         Port "portable" dumper to SunOS 4 and HP-UX.
6282         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6283         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6284         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6285
6286 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6287
6288         * lisp.h (ALIGNOF): A better definition for C++.
6289
6290 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6291
6292         Macro hygiene.
6293         Fix printf warnings: int format, long int arg.
6294         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6295         (PUSH_FAILURE_POINT): Use correct printf formats.
6296         (POP_FAILURE_POINT): Use correct printf formats.  
6297         Use do {...} while (0)
6298
6299 2001-01-20  Martin Buchholz <martin@xemacs.org>
6300
6301         * XEmacs 21.2.42 "Poseidon" is released.
6302
6303 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6304
6305         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
6306
6307 2001-01-19  Martin Buchholz  <martin@xemacs.org>
6308
6309         De-kludgify FIXED_TYPE free list frobbing.
6310         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
6311         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
6312         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
6313         * alloc.c (Lisp_Free): New pseudo lisp object definition.
6314         * alloc.c (LRECORD_FREE_P): New.
6315         * alloc.c (MARK_LRECORD_AS_FREE): New.
6316         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
6317         * alloc.c (STRUCT_FREE_P): Deleted.
6318         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
6319         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
6320         * alloc.c (STRING_CHARS_FREE_P): New.
6321         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
6322         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
6323         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
6324         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
6325         * alloc.c (resize_string): Use new definitions.
6326         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
6327         * alloc.c (verify_string_chars_integrity): Use new definitions.
6328         * alloc.c (compact_string_chars): Use new definitions.
6329         * alloc.c: Update monster comments.
6330         * lrecord.h (lrecord_type): Add some new lrecord types for
6331         alloc.c's use.
6332
6333 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6334
6335         Improve alignment hackery.
6336         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
6337         (max_align_t): Moved from opaque.h - general purpose.
6338         (ALIGN_PTR): Use size_t, not long.
6339         * opaque.h (max_align_t): Move to lisp.h.
6340
6341 2001-01-18  Norbert Koch  <nk@LF.net>
6342
6343         * gui.h: Fix and add prototypes to fix build problems.
6344
6345 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6346
6347         temacs is going away, so `dump-temacs' is now a bad name.
6348         * .dbxrc (dump-temacs): Rename to `dmp'.
6349         * .gdbinit (dump-temacs): Rename to `dmp'.
6350
6351 2001-01-17  Andy Piper  <andy@xemacs.org>
6352
6353         * glyphs.c (print_image_instance): comment to make martin happy.
6354
6355         * glyphs-x.c (x_redisplay_widget): update faces after a frame
6356         change.
6357
6358         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
6359         activation.
6360         (mswindows_tab_control_redisplay): warning suppression.
6361
6362         * glyphs-widget.c (widget_update): re-write to cope with updated
6363         items.
6364         (widget_instantiate): use new gui_item functions.
6365         (tab_control_update): deleted.
6366         (progress_gauge_update): deleted.
6367         (image_instantiator_progress_guage): take out update reference.
6368         (image_instantiator_tree_view): ditto.
6369         (image_instantiator_tab_control): ditto.
6370
6371         * gui.c (widget_gui_parse_item_keywords): new function. Do things
6372         Right the new way.
6373         (gui_item_add_keyval_pair): re-write to cope with descriptors and
6374         return whether anything was changed.
6375         (update_gui_item_keywords): as it sounds.
6376
6377         * gui.h: declare widget_gui_parse_item_keywords.
6378
6379         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
6380         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
6381
6382 2001-01-17  Martin Buchholz <martin@xemacs.org>
6383
6384         * XEmacs 21.2.41 "Polyhymnia" is released.
6385
6386 2001-01-16  Didier Verna  <didier@xemacs.org>
6387
6388         * glyphs.c (image_instantiate): don't use fallbacks when
6389         instantiating a face's background pixmap by inheritance.
6390
6391 2001-01-14  Mike Sperber <mike@xemacs.org>
6392
6393         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
6394         Conditionalize accordingly.
6395
6396 2001-01-16  Martin Buchholz  <martin@xemacs.org>
6397
6398         * dumper.c (pdump_file_get): Fix a compiler warning.
6399
6400 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6401
6402         Make Purify happy when pdumping.
6403         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
6404         iniitalizing all bits of new lisp object memory.
6405         * symbols.c (Fmake_local_variable): Likewise.
6406         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
6407         * symbols.c (Fdefvaralias): Likewise.
6408         * mule-charset.c (vars_of_mule_charset): Likewise.
6409
6410 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6411         Add the `-nd' flag when running pre-dump operations under the debugger.
6412         * .dbxrc (run-temacs): Add `-nd'.
6413         * .dbxrc (update-elc): Likewise.
6414         * .dbxrc (dump-temacs): Likewise.
6415         * .gdbinit (run-temacs): Likewise.
6416         * .gdbinit (check-temacs): Likewise.
6417         * .gdbinit (update-elc): Likewise.
6418         * .gdbinit (dump-temacs): Likewise.
6419
6420 2001-01-14  Martin Buchholz  <martin@xemacs.org>
6421
6422         Allow building 64-bit executables on AIX with GNU malloc, e.g.
6423         export OBJECT_MODE=64
6424         configure --pdump --use-union-type=no
6425         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
6426         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
6427
6428         * miscplay.c (sndcnv8U_2mono):
6429         Avoid two uses of `++' in the same expression.
6430         Suppresses a GCC warning.
6431
6432 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6433
6434         Make sure future compilers don't miscompile alloc.c.
6435         * alloc.c:
6436         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
6437         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
6438
6439 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6440
6441         * dumper.c: A little post-pdump-rename comment fixup.
6442
6443 2001-01-09  Jerry James  <james@eecs.ku.edu>
6444
6445         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
6446
6447 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6448
6449         * *.[ch]: Globally rename symbols using the following `pdump-rename'
6450         script:
6451         #!/bin/sh
6452         replace_symbol () {
6453           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
6454         }
6455
6456         replace_symbol pdump_wire_lists pdump_weak_object_chains
6457         replace_symbol pdump_wire_list dump_add_weak_object_chain
6458
6459         replace_symbol pdump_wires pdump_root_objects
6460         replace_symbol pdump_wire dump_add_root_object
6461
6462         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
6463         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
6464
6465         replace_symbol dumpstructinfos pdump_root_struct_ptrs
6466         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
6467         replace_symbol dumpstructinfo pdump_root_struct_ptr
6468         replace_symbol dumpstruct dump_add_root_struct_ptr
6469
6470         replace_symbol dumpopaque dump_add_opaque
6471         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
6472         replace_symbol dumpopaqueinfos pdump_opaques
6473         replace_symbol dumpopaqueinfo pdump_opaque
6474
6475         replace_symbol nb_structdump nb_root_struct_ptrs
6476         replace_symbol nb_opaquedump nb_opaques
6477
6478         replace_symbol align_table pdump_align_table
6479         replace_symbol dump_header pdump_header
6480
6481         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
6482         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
6483
6484
6485 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6486
6487         * s/aix4.h: Keep the C for AIX compiler from overaggressively
6488         optimizing bytecount_to_charcount().
6489
6490 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6491
6492         * config.h.in:
6493         (HAVE_DLFCN_H): Removed.
6494         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
6495
6496 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6497
6498         Portable dumper maintainability improvements.
6499         * alloc.c (staticpro):
6500         * alloc.c (staticpro_nodump):
6501         * alloc.c (garbage_collect_1):
6502         * alloc.c (reinit_alloc_once_early):
6503         * alloc.c (init_alloc_once_early):
6504         * alloc.c: Move dumper functions to alloc.c.
6505         * dumper.c (pdump_backtrace):
6506         * dumper.c (pdump_dump_structs):
6507         * dumper.c (pdump_dump_opaques):
6508         * dumper.c (pdump_dump_rtables):
6509         * dumper.c (pdump_dump_wired):
6510         * dumper.c (pdump):
6511         * dumper.c (pdump_load_check):
6512         * dumper.c (pdump_load_finish):
6513         * dumper.c (pdump_file_unmap):
6514         * dumper.c (pdump_file_get):
6515         * dumper.c (pdump_resource_free):
6516         * dumper.c (pdump_resource_get):
6517         * dumper.c (pdump_file_free):
6518         * dumper.c (pdump_file_try):
6519         * dumper.c (pdump_load):
6520         Remove fixed size limits on staticpro(), staticpro_nodump(),
6521         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
6522         Remove custom code for dumping lrecord_implementations_table - use
6523         dumpopaque instead.
6524         Remove (most of the) custom code for dumping staticpros - dump it
6525         like any other dynarr.
6526
6527         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
6528         * dumper.c: Moved functions from alloc.c.
6529         * alloc.c (dumpstruct): Moved to dumper.c.
6530         * alloc.c (dumpopaque): Likewise.
6531         * alloc.c (pdump_wire): Likewise.
6532         * alloc.c (pdump_wire_list): Likewise.
6533
6534         * lisp.h (Dynarr_sizeof): New.
6535         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
6536         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
6537         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
6538
6539         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
6540         * lisp.h (dumpopaque): ditto.
6541         * lisp.h (pdump_wire): ditto.
6542         * lisp.h (pdump_wire_list): ditto.
6543
6544 2001-01-09  Martin Buchholz  <martin@xemacs.org>
6545
6546         * make-src-depend (PrintPatternDeps):
6547         Use `sort' to make output independent of perl version.
6548
6549 2001-01-08  Martin Buchholz  <martin@xemacs.org>
6550
6551         Port to Netbsd 1.5.
6552         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
6553         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
6554
6555 2001-01-03  Didier Verna  <didier@xemacs.org>
6556
6557         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
6558         that `focus_frame' is alive before thinking of calling
6559         `redisplay_redraw_cursor' on it.
6560
6561 2001-01-08  Martin Buchholz <martin@xemacs.org>
6562
6563         * XEmacs 21.2.40 is released.
6564
6565 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6566
6567         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
6568
6569 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6570
6571         * alloc.c (dbg_valmask): Make const.
6572         * alloc.c (dbg_typemask): Make const.
6573         * alloc.c (dbg_USE_UNION_TYPE): Make const.
6574         * alloc.c (dbg_valbits): Make const.
6575         * alloc.c (dbg_gctypebits): Make const.
6576
6577 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
6578
6579         * redisplay-x.c (x_bevel_area):
6580         redisplay.h (struct rune):
6581         Typo fixes in comments.
6582
6583 2001-01-05  Andy Piper  <andy@xemacs.org>
6584
6585         * glyphs-x.c (x_redisplay_widget): use size changed for offset
6586         adjustment.
6587
6588         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
6589
6590 2001-01-05  Martin Buchholz  <martin@xemacs.org>
6591
6592         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
6593
6594         * mule-ccl.c (stack_idx_of_map_multiple):
6595         Non const global data must not be initialized!
6596         Found by MIYASHITA Hisashi.
6597
6598 2001-01-02  Andy Piper  <andy@xemacs.org>
6599
6600         * frame.c (change_frame_size): make sure frame size is always
6601         marked as changed.
6602
6603         * glyphs.c (image_instance_layout): minor code reuse.
6604
6605         * window.c (Fcurrent_window_configuration): revert previous
6606         change.
6607
6608 2001-01-02  Martin Buchholz  <martin@xemacs.org>
6609
6610         * glyphs.h:
6611         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
6612
6613 2000-12-31  Andy Piper  <andy@xemacs.org>
6614
6615         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
6616         when widget gets unmapped.
6617
6618         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
6619         function. Make sure widgets losing focus don't just drop it.
6620         (handle_focus_event_1): record the widget with focus.
6621
6622 2000-12-31  Andy Piper  <andy@xemacs.org>
6623
6624         * window.c (allocate_window): use
6625         make_image_instance_cache_hash_table.
6626         (make_dummy_parent): ditto.
6627         (Fset_window_configuration): ditto.
6628
6629         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
6630
6631         * glyphs.c (process_image_string_instantiator): use
6632         INSTANTIATOR_TYPE.
6633         (get_image_instantiator_governing_domain): ditto.
6634         (normalize_image_instantiator): ditto.
6635         (instantiate_image_instantiator): ditto.
6636         (make_image_instance_1): ditto.
6637         (image_instantiate): ditto. Key on glyph *and* instantiator type.
6638         (instantiator_eq_equal): new function for use with instance hash
6639         tables.
6640         (instantiator_eq_hash): ditto.
6641         (make_image_instance_cache_hash_table): create a suitable hash
6642         table for storing image instances.
6643
6644         * elhash.h (hash_table_weakness): new internal weakness type
6645         HASH_TABLE_KEY_CAR_VALUE_WEAK.
6646         declare new functions.
6647
6648         * elhash.c (finish_marking_weak_hash_tables): introduce yet
6649         another weakness type for glyphs.
6650         (make_standard_lisp_hash_table): new function split out from
6651         make_general_lisp_hash_table.
6652         (make_lisp_hash_table): call make_standard_lisp_hash_table.
6653         (hash_table_instantiate): ditto.
6654         (Fmake_hash_table): ditto.
6655
6656 2000-12-31  Martin Buchholz <martin@xemacs.org>
6657
6658         * XEmacs 21.2.39 is released.
6659
6660 2000-12-29  Andy Piper  <andy@xemacs.org>
6661
6662         * menubar.c (menubar_visible_p_changed): signal the frame changed.
6663
6664         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
6665         the frame has changed so that we pick up geometry changes such as
6666         menubar visibility.
6667
6668 2000-12-28  Andy Piper  <andy@xemacs.org>
6669
6670         * lastfile.c (my_ebss): make a char array so we can pad the
6671         bss. Fixes cygwin unexec.
6672
6673         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
6674
6675 2000-12-26  Andy Piper  <andy@xemacs.org>
6676
6677         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
6678         comments and try and be more precise about a non-/SIGIO world.
6679         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
6680         SIGIO.
6681
6682         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
6683         we don't normalize to zero width or height.
6684
6685 2000-12-24  Andy Piper  <andy@xemacs.org>
6686
6687         * Makefile.in.in (ldflags): add -mwindows when appropriate.
6688
6689 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
6690
6691         * s/sco5.h: SCO 5 has pty support.
6692
6693 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
6694
6695         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
6696         input-method-xlib.c contains whole contents of input-method-xfs.c,
6697         so we can use input-method-xlib.c's code for USE_XFONTSET
6698         using #ifdefs.
6699         * input-method-xfs.c: removed.
6700
6701 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
6702
6703         * file-coding.h (enum coding_category_type): reorder enumerators to
6704         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
6705         (now one greater than largest real coding_category_type enumerator).
6706         * file-coding.c (coding_category_symbol, coding_category_by_priority,
6707         coding_category_system, fcd_descriptihon_1, decode_coding_category,
6708         Fcoding_category_list, Fset_coding_priority_list,
6709         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
6710         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
6711
6712 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6713
6714         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
6715         * redisplay-output.c (redisplay_output_window): Clear top of window
6716         when face is changed.
6717         * redisplay-x.c (x_redraw_exposed_window): Call
6718         redisplay_clear_top_of_window.
6719         * redisplay.h: Publish redisplay_clear_top_of_window.
6720
6721 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6722
6723         * buffer.c (Fkill_buffer): Map over all devices.
6724         * window.c (window_loop): Remove UNSHOW_BUFFER code.
6725         (list_windows): New function.
6726         (list_all_windows): Ditto.
6727         (Freplace_buffer_in_windows): Use them.
6728
6729 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
6730
6731         * database.c (berkdb_subtype): Recognize new subtype `queue'.
6732         (Fopen_database): Use `db_create' instead of `db_open'.
6733         (syms_of_database): Initialize Qqueue.
6734
6735 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
6736
6737         * buffer.c (common_init_complex_vars_of_buffer): Initialize
6738         buffer_local_face_property.
6739         * buffer.h (struct buffer): New member buffer_local_face_property.
6740         * window.c (Fset_window_buffer):  Mark window's face as changed
6741         when buffer has buffer local face.
6742         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
6743         * objects.c (color_after_change): Set buffer_local_face_property
6744         when locale of face specifier is buffer.
6745         * objects.c (font_after_change): Ditto.
6746         * objects.c (face_boolean_after_change): Ditto.
6747         * glyphs.c (image_after_change): Ditto.
6748
6749 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6750
6751         * nt.c (mswindows_fstat): Report file permissions, volume serial
6752         number, etc. Code adapted from FSF Emacs 20.7.
6753
6754 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6755
6756         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
6757         of stat when we don't have symbolic links, to make sure
6758         mswindows_stat is called on mswindows.
6759
6760 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6761
6762         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
6763
6764 2000-12-12  Martin Buchholz  <martin@xemacs.org>
6765
6766         * doprnt.c (emacs_doprnt_1): More printing fixes.
6767         Make printing of numbers compatible with libc and FSF Emacs.
6768         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
6769         Use the system printf to do most of the hard work of formatting,
6770         instead of doprnt_1().
6771         Calculate memory to allocate for format string.
6772         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
6773         (doprnt_1): Cleaner code and documentation.
6774
6775 2000-12-01  Jerry James  <james@eecs.ukans.edu>
6776
6777         * Makefile.in.in: Use the loop variable to install headers.
6778
6779 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6780
6781         * window.c (Fsplit_window): Don't invalidate face cache.
6782
6783 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6784
6785         * minibuf.c (Fall_completions): Undo the previous change
6786         which removed checking elements start with space.
6787
6788 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6789
6790         * mule-canna.c: Didier suppression.
6791
6792 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6793
6794         * mule-canna.c: rename static unsigned char buf[] to key_buffer
6795         (warning suppression).  Add English comment translations.
6796
6797 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6798
6799         * unexelfsgi.c (unexec): Better test for mmap failure.
6800
6801 2000-12-05  Martin Buchholz <martin@xemacs.org>
6802
6803         * XEmacs 21.2.38 is released.
6804
6805 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6806
6807         * redisplay.c (bar-cursor): Make a user variable.
6808
6809         * symsinit.h: Add init_postgresql_from_environment.
6810
6811 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6812
6813         * regex.c: Convert to clean C.
6814
6815 2000-12-05  Dan Holmsand  <dan@eyebee.com>
6816
6817         * realpath.c:
6818         Don't #include sysfile.h. Revert to duplicating PATH_MAX
6819         initialization.
6820         (sys_readlink): renamed to system_readlink to avoid conflict with
6821         the other sys_readlink.
6822
6823 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
6824
6825         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
6826
6827 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
6828
6829         * postgresql.c (init_postgresql_from_environment): new function.
6830         (vars_of_postgresql): Move code initializing Lisp variables out and
6831         into init_postgresql_from_environment.
6832         emacs.c (main_1): Call init_postgresql_from_environment if and only
6833         if running a dumped XEmacs.
6834
6835 2000-08-31  Dan Holmsand  <dan@eyebee.com>
6836
6837         * buffer.c: Make find-file-compare-truenames default to true on
6838         windows.
6839
6840         * realpath.c (win32_abs_start):
6841         (cygwin_readlink):
6842         (win32_readlink): New functions.
6843         (xrealpath): Return really real filenames on windows.
6844
6845         * fileio.c (Ffile_truename): Make file-truename work on windows.
6846
6847 2000-11-29  Didier Verna  <didier@xemacs.org>
6848
6849         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
6850         * faces.c (update_face_cachel_data): use it.
6851         * faces.c (add_face_cachel): use it. Complete background pixmap
6852         frobbing in face cache if `update_face_cachel_data' has not done so.
6853
6854 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
6855
6856         * search.c (string_match_1): Don't set last_thing_searched
6857         when search failed.
6858
6859 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
6860
6861         * buffer.c: Include casetab.h
6862         (common_init_complex_vars_of_buffer): Use new case-table object.
6863         * buffer.h: Include casetab.h
6864         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
6865         (DOWNCASE_TABLE_OF): Ditto.
6866         * bufslots.h: Remove char-tables and add case-table.
6867         * casetab.c: Include casetab.h
6868         (CASE_TABLE_P): Removed.
6869         (mark_case_table): New function.
6870         (allocate_case_table): New function.
6871         (Fcase_table_p): Use new case-table.
6872         (case_table_char): New function.
6873         (Fget_case_table): Ditto.
6874         (Fput_case_table): Ditto.
6875         (Fput_case_table_pair): Ditto.
6876         (Fcopy_case_table): Ditto.
6877         (Fcurrent_case_table): Return case-table.
6878         (Fstandard_case_table): Return case-table.
6879         (Fset_case_table): Fix doc-string.
6880         (set_case_table): Use case-table
6881         (syms_of_casetab): DEFSUBR new functions.
6882         (complex_vars_of_casetab): Set up standard case-table.
6883         * casetab.h: New file.
6884         * editfns.c: Include casetab.h
6885         (Fcompare_buffer_substrings): Use case-table.
6886         * inline.c: Include casetab.h
6887         * lisp.h: Remove bogus extern.
6888         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
6889         * search.c: Include casetab.h
6890         (TRANSLATE_ASCII): Removed.
6891         (TRANSLATE): Unconditionally translate character.
6892         (looking_at_1): Use case-table.
6893         (string_match_1): Ditto.
6894         (fast_string_match): Ditto.
6895         (search_command): Ditto.
6896         (search_buffer): Separate boyer_moore.  Check whether
6897         boyer_moore is possible.
6898         (simple_search): New function.
6899         (boyer_moore): Separated from search_buffer. Translate char.
6900
6901 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
6902
6903         * regex.c (RE_TR_ASCII): Removed.
6904         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
6905         (PATFETCH): Call PATFETCH_RAW.
6906         (PATFETCH_RAW): Fetch Emchar.
6907         (PATUNFETCH): Decrement charptr.
6908         (GET_BUFFER_SPACE): Rename b to buf_end.
6909         (BUF_PUSH): Ditto.
6910         (BUF_PUSH_2): Ditto.
6911         (BUF_PUSH_3): Ditto.
6912         (EXTEND_BUFFER): Ditto.
6913         (SET_LIST_BIT): Ditto.
6914         (regex_compile): Ditto.  Translate non ASCII char.
6915         (compile_range): Ditto.
6916         (re_search_2): Ditto.
6917         (re_match_2_internal): Compare Emchar.
6918         (bcmp_translate): Ditto.
6919
6920 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
6921
6922         * lisp.h (basic char/int typedefs):  comment improvement.
6923
6924 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
6925
6926         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
6927         unstomp inhibit_site_lisp.  Improve comments.
6928
6929 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
6930
6931         * mule-charset.c (Fcharset_property):  improve type checking, comments.
6932
6933 2000-11-28  Andy Piper  <andy@xemacs.org>
6934
6935         * redisplay-output.c (redisplay_output_subwindow): make sure we do
6936         clipped display for windows in the gutter also.
6937         (redisplay_display_boxes_in_window_p): change semantics of return
6938         codes to be more intuitive.
6939
6940         * gutter.h: declare display_boxes_in_gutter_p.
6941
6942         * gutter.c (display_boxes_in_gutter_p): new function for
6943         redisplay.
6944
6945 2000-11-22  Andy Piper  <andy@xemacs.org>
6946
6947         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
6948         autodetect domain.
6949
6950 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
6951
6952         * callproc.c (Fold_call_process_internal):
6953         * gpm.c (Freceive_gpm_event):
6954         (tty_get_foreign_selection): Might be just warning supression.
6955         * fileio.c (Fwrite_region_internal):
6956         (Fset_visited_file_modtime):
6957         * keymap.c (event_matches_key_specifier_p):
6958         Initialize GCPROed variable.
6959
6960         * menubar-x.c (command_builder_find_menu_accelerator):
6961         Initialize before use.
6962
6963 2000-11-23  Andy Piper  <andy@xemacs.org>
6964
6965         * unexcw.c (unexec): make the resulting executable executable.
6966
6967 2000-11-21  Martin Buchholz  <martin@xemacs.org>
6968
6969         * doc.c (get_doc_string):
6970         Use size_t, not int, for result of XSTRING_LENGTH.
6971
6972         * cmds.c (Fdelete_char):
6973         * cmds.c (Fpoint_at_eol):
6974         * cmds.c (Fself_insert_command):
6975         Use EMACS_INT, not int, for result of XINT.
6976         Someday, someone will want to insert more than 2**31 identical characters.
6977
6978         * cmds.c (Fdelete_char):
6979         * cmds.c (Fdelete_backward_char):
6980         * syntax.c (Fforward_word):
6981         * syntax.c (Fforward_comment):
6982         Make COUNT argument optional, for consistency with forward-char et al.
6983
6984 2000-11-22  Martin Buchholz  <martin@xemacs.org>
6985
6986         * lisp.h:
6987         * print.c (long_to_string):
6988         Return a useful value: the pointer at end of data written.
6989
6990         * doprnt.c:
6991         Use `static const char * const' for constant strings.
6992         (union printf_arg): Delete `i', `ui' members.
6993         (get_doprnt_args):
6994         (emacs_doprnt_1):
6995         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
6996         Do all printf-ing via the `l' specifier.
6997         Use EMACS_INT instead of int.
6998         Optimize.
6999
7000 2000-11-20  Didier Verna  <didier@xemacs.org>
7001
7002         * faces.c (update_face_cachel_data): don't frob the background
7003         pixmap when the window is being created. The face is needed but
7004         does not exist yet.
7005
7006 2000-11-20  Andy Piper  <andy@xemacs.org>
7007
7008         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7009         messing with a debug environment.
7010
7011 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7012
7013         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7014
7015 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7016
7017         * casetab.c (Fcase_table_p): Fix compile error and crash.
7018
7019 2000-11-18  Philip Aston  <philipa@mail.com>
7020
7021         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7022
7023 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7024
7025         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7026         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7027
7028 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7029
7030         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7031         * unexelf.c: Use HAVE_ELF_H.
7032         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7033         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7034         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7035         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7036         for testing.
7037         So this is an unexelfsgi.c from a different line of development.
7038
7039 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7040
7041         * regex.c (RE_TR_ASCII): New function.
7042         (RE_TRANSLATE): Call it.
7043
7044 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7045
7046         * buffer.h (TRT_TABLE_OF): Remove assert.
7047         (IN_TRT_TABLE_DOMAIN): Removed.
7048
7049 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7050
7051         * free-hook.c (log_gcpro):
7052         (show_gcprohist): Add support for GCPRO5.
7053
7054 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7055
7056         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7057
7058 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7059
7060         * symeval.h: Declare flush_all_buffer_local_cache.
7061
7062         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7063         (flush_buffer_local_cache): Added.
7064         (flush_all_buffer_local_cache): Added.
7065
7066         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7067
7068         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7069         (pdump_dump_data): Ditto.
7070         (pdump_reloc_one): Ditto.
7071         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7072         before dumping.
7073
7074
7075 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7076
7077         * buffer.c: Remove if 0'ed entry.
7078         * buffer.h: Rewrite TRT to use char-table.
7079         * bufslots.h: Remove mirror tables.
7080         * casetab.c: Remove mirror tables.
7081         (CASE_TABLE_P): New macro.
7082         (Fcase_table_p): Element of a case table is string or char-table.
7083         (make_mirror_trt_table): Removed.
7084         (set_case_table): Setup char-table from strings for backward
7085         compatibility.
7086         * dired.c (Fdirectory_files):
7087         * dired-msw.c: (mswindows_get_files):
7088         * lisp.h: Change prototype of re_pattern_buffer.
7089         * regex.c: (RE_TRANSLATE): New macro.
7090         (TRANSLATE_P): Ditto.
7091         Change translate to type RE_TRANSLATE_TYPE.
7092         * regex.h: Define RE_TRANSLATE_TYPE
7093         * search.c (TRANSLATE): New macro.
7094         (TRANSLATE_ASCII): New macro.
7095         Translate table is changed to Lisp_Object.
7096         (signal_failure): Inhibit return.
7097
7098 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7099
7100         * device-msw.c:
7101         * eldap.c:
7102         * event-Xt.c:
7103         * event-stream.c:
7104         * print.c:
7105         Do UNGCPRO before return.
7106
7107 2000-11-14  Martin Buchholz <martin@xemacs.org>
7108
7109         * XEmacs 21.2.37 is released.
7110
7111 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7112
7113         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7114         Add comments about discarded return value.
7115
7116 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7117
7118         * callint.c:
7119         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7120
7121 2000-10-27  Andy Piper  <andy@xemacs.org>
7122
7123         * gutter.c (Fset_default_gutter_position): default left and right
7124         gutters to visible.
7125         (calculate_gutter_size): calculate resonable heuristic for left
7126         and right gutter sizes.
7127         (specifier_vars_of_gutter): change left and right gutter sizes to
7128         autodetect.
7129         (calculate_gutter_size_from_display_lines): new function.
7130         (output_gutter): check for resizing on left and right gutters.
7131         (clear_gutter): don't special case top and left gutters.
7132         (specifier_vars_of_gutter): use new signature for
7133         set_specifier_caching.
7134
7135         * glyphs-x.c (x_redisplay_widget): spelling fix.
7136         * glyphs.c (specifier_vars_of_glyphs):
7137         * menubar.c (specifier_vars_of_menubar):
7138         * redisplay.c (specifier_vars_of_redisplay):
7139         * toolbar.c (specifier_vars_of_toolbar):
7140         * window.c (specifier_vars_of_window):
7141         * scrollbar.c (specifier_vars_of_scrollbar):
7142         (complex_vars_of_scrollbar): use new signature for
7143         set_specifier_caching.
7144
7145         * specifier.c (set_specifier_caching): include recompute flag.
7146         (recompute_one_cached_specifier_in_window): always recompute if
7147         flag set.
7148         (recompute_one_cached_specifier_in_frame): ditto.
7149
7150         * specifier.h (struct specifier_caching): add recompute flag.
7151
7152 2000-10-24  Andy Piper  <andy@xemacs.org>
7153
7154         * unexcw.c (copy_executable_and_dump_data_section): add new
7155         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7156         5.0 happy.
7157
7158 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7159
7160         * console-x.h (x_device): New member modifier_release_time.
7161         * event-Xt.c (x_handle_sticky_modifiers):
7162         Bound interval modifier keys are sticky.
7163         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7164         * events.h: extern it.
7165
7166 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7167
7168         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7169
7170 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7171
7172         * event-stream.c (execute_command_event): Preserve current_events
7173         and the like when event is misc-user-event.
7174         Inhibit quit during the call to maybe_echo_keys.
7175
7176 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7177
7178         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7179         symlink when buffer is killed.
7180         (inhibit_clash_detection): New variable.
7181
7182 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7183
7184         * console.c (Fset_input_method): Trigger redisplay on tty.
7185
7186 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7187
7188         * process.c (Fprocess_status): Revert to previous behavior:
7189         (process-status "nosuchprocess") ==> nil
7190
7191 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7192
7193         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7194         Work around another GCC 2.95.2 optimizer bug.
7195
7196 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7197
7198         * process.c (Fget_process): Use LIST_LOOP_2.
7199         (kill_buffer_processes): Use LIST_LOOP_2.
7200
7201         * minibuf.c (Fall_completions):
7202         Delete old non-functional code for FSF fourth argument.
7203
7204         * frame.c (frame_matches_frame_spec):
7205         Renamed from `frame_matches_frametype'.  Update all callers.
7206         (device_matches_device_spec):
7207         Renamed from 'device_matches_console_spec'.  Update all callers.
7208
7209         * doc.c (Fsubstitute_command_keys):
7210         Remove buffer overflow crash.  Small code cleanups.
7211
7212         * casetab.c (check_case_table): Simpler code.
7213
7214         * window.c (Freplace_buffer_in_windows):
7215         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7216         (and similar implementation) as Fdelete_windows_on.
7217         Update all callers.
7218
7219         * alloc.c (Fmake_list):
7220         * alloc.c (make_vector):
7221         * alloc.c (Fmake_vector):
7222         * alloc.c (make_bit_vector):
7223         * alloc.c (Fmake_bit_vector):
7224         * alloc.c (Fbit_vector):
7225         * alloc.c (Fmake_string):
7226         * alloc.c (Fpurecopy):
7227         * alloc.c (Fmemory_limit):
7228         * buffer.c:
7229         * buffer.c (Fget_buffer):
7230         * buffer.c (Fkill_buffer):
7231         * buffer.c (complex_vars_of_buffer):
7232         * bytecode.c (Fcompiled_function_stack_depth):
7233         * callint.c (Fprefix_numeric_value):
7234         * event-stream.c:
7235         * event-stream.c (Fread_key_sequence):
7236         * casetab.c:
7237         * casetab.c (Fcase_table_p):
7238         * casetab.c (check_case_table):
7239         * casetab.c (Fset_case_table):
7240         * casetab.c (Fset_standard_case_table):
7241         * chartab.c:
7242         * chartab.c (Fchar_table_type):
7243         * chartab.c (Freset_char_table):
7244         * chartab.c (Fget_char_table):
7245         * chartab.c (Fget_range_char_table):
7246         * chartab.c (Fput_char_table):
7247         * chartab.c (Fmap_char_table):
7248         * chartab.c (Fcategory_table_p):
7249         * chartab.c (Fcheck_category_at):
7250         * chartab.c (Fchar_in_category_p):
7251         * chartab.c (Fcategory_table):
7252         * chartab.c (Fcopy_category_table):
7253         * chartab.c (Fset_category_table):
7254         * chartab.c (Fcategory_designator_p):
7255         * chartab.c (Fcategory_table_value_p):
7256         * cmds.c (Fdelete_char):
7257         * cmds.c (Fdelete_backward_char):
7258         * cmds.c (Fself_insert_command):
7259         * cmds.c (Fself_insert_internal):
7260         * console.c (Fvalid_console_type_p):
7261         * console.c (Fcdfw_console):
7262         * console.c (Fconsole_type):
7263         * console.c (Fconsole_name):
7264         * console.c (Fconsole_device_list):
7265         * console.c (Fconsole_on_window_system_p):
7266         * data.c:
7267         * data.c (Feq):
7268         * data.c (Fold_eq):
7269         * data.c (Fsubr_interactive):
7270         * data.c (Fchar_to_int):
7271         * data.c (Fint_to_char):
7272         * data.c (Fsetcar):
7273         * data.c (Fsetcdr):
7274         * data.c (Fnumber_to_string):
7275         * data.c (Fstring_to_number):
7276         * data.c (Frem):
7277         * database.c (mark_database):
7278         * database.c (finalize_database):
7279         * database.c (Fdatabase_live_p):
7280         * database.c (Fdatabasep):
7281         * device-x.c (Fx_get_resource):
7282         * device.c (Fdfw_device):
7283         * dired.c:
7284         * dired.c (Ffile_name_completion):
7285         * dired.c (Ffile_name_all_completions):
7286         * dired.c (Fuser_name_completion):
7287         * dired.c (Fuser_name_completion_1):
7288         * dired.c (Fuser_name_all_completions):
7289         * doc.c (Fdocumentation):
7290         * doc.c (Fdocumentation_property):
7291         * doc.c (Fsubstitute_command_keys):
7292         * editfns.c:
7293         * editfns.c (Fchar_to_string):
7294         * editfns.c (Fstring_to_char):
7295         * editfns.c (Ftemp_directory):
7296         * editfns.c (Finsert_char):
7297         * editfns.c (Fbuffer_substring_no_properties):
7298         * editfns.c (Fnarrow_to_region):
7299         * editfns.c (Fchar_equal):
7300         * editfns.c (Fchar_Equal):
7301         * editfns.c (Ftranspose_regions):
7302         * emacs.c (Fdump_emacs):
7303         * eval.c (Fthrow):
7304         * eval.c (Fcommand_execute):
7305         * eval.c (Fautoload):
7306         * eval.c (Fbacktrace):
7307         * eval.c (Fbacktrace_frame):
7308         * events.c:
7309         * events.c (Fcopy_event):
7310         * events.c (Fcharacter_to_event):
7311         * events.c (Fevent_button):
7312         * events.c (Fevent_process):
7313         * extents.c:
7314         * extents.c (Fnext_extent_change):
7315         * extents.c (Fextent_property):
7316         * faces.c (Ffacep):
7317         * faces.c (Fmake_face):
7318         * file-coding.c:
7319         * file-coding.c (Fencode_shift_jis_char):
7320         * file-coding.c (Fencode_big5_char):
7321         * fileio.c (Ffile_name_directory):
7322         * fileio.c (Ffile_name_nondirectory):
7323         * fileio.c (Ffile_name_as_directory):
7324         * fileio.c (Fdirectory_file_name):
7325         * fileio.c (Ffile_truename):
7326         * fileio.c (Fsubstitute_in_file_name):
7327         * fileio.c (Ffile_modes):
7328         * fileio.c (Fset_file_modes):
7329         * fileio.c (Fset_default_file_modes):
7330         * fileio.c (Fverify_visited_file_modtime):
7331         * floatfns.c (Facos):
7332         * floatfns.c (Fasin):
7333         * floatfns.c (Fatan):
7334         * floatfns.c (Fcos):
7335         * floatfns.c (Fsin):
7336         * floatfns.c (Ftan):
7337         * floatfns.c (Fbessel_j0):
7338         * floatfns.c (Fbessel_j1):
7339         * floatfns.c (Fbessel_jn):
7340         * floatfns.c (Fbessel_y0):
7341         * floatfns.c (Fbessel_y1):
7342         * floatfns.c (Fbessel_yn):
7343         * floatfns.c (Ferf):
7344         * floatfns.c (Ferfc):
7345         * floatfns.c (Flog_gamma):
7346         * floatfns.c (Fexp):
7347         * floatfns.c (Fexpt):
7348         * floatfns.c (Flog):
7349         * floatfns.c (Flog10):
7350         * floatfns.c (Fsqrt):
7351         * floatfns.c (Fcube_root):
7352         * floatfns.c (Facosh):
7353         * floatfns.c (Fasinh):
7354         * floatfns.c (Fatanh):
7355         * floatfns.c (Fcosh):
7356         * floatfns.c (Fsinh):
7357         * floatfns.c (Ftanh):
7358         * floatfns.c (Fabs):
7359         * floatfns.c (Ffloat):
7360         * floatfns.c (Flogb):
7361         * floatfns.c (Fceiling):
7362         * floatfns.c (Ffloor):
7363         * floatfns.c (Fround):
7364         * floatfns.c (Ftruncate):
7365         * floatfns.c (Ffceiling):
7366         * floatfns.c (Fffloor):
7367         * floatfns.c (Ffround):
7368         * floatfns.c (Fftruncate):
7369         * fns.c (Fstring_equal):
7370         * fns.c (Fstring_lessp):
7371         * fns.c (concat2):
7372         * fns.c (concat3):
7373         * fns.c (vconcat2):
7374         * fns.c (vconcat3):
7375         * fns.c (Fsubstring):
7376         * fns.c (Fassoc):
7377         * fns.c (Fold_assoc):
7378         * fns.c (assoc_no_quit):
7379         * fns.c (Fassq):
7380         * fns.c (Fold_assq):
7381         * fns.c (assq_no_quit):
7382         * fns.c (Frassoc):
7383         * fns.c (Fold_rassoc):
7384         * fns.c (Frassq):
7385         * fns.c (Fold_rassq):
7386         * fns.c (rassq_no_quit):
7387         * fns.c (Fremassoc):
7388         * fns.c (remassoc_no_quit):
7389         * fns.c (Fremassq):
7390         * fns.c (remassq_no_quit):
7391         * fns.c (Fremrassoc):
7392         * fns.c (Fremrassq):
7393         * fns.c (remrassq_no_quit):
7394         * fns.c (Fsort):
7395         * fns.c (Fplist_get):
7396         * fns.c (Fplist_put):
7397         * fns.c (Fplist_remprop):
7398         * fns.c (Fplist_member):
7399         * fns.c (Flax_plist_get):
7400         * fns.c (Flax_plist_put):
7401         * fns.c (Flax_plist_remprop):
7402         * fns.c (Flax_plist_member):
7403         * fns.c (Fequal):
7404         * fns.c (Fold_equal):
7405         * fns.c (Frequire):
7406         * fns.c (Fbase64_encode_region):
7407         * fns.c (Fbase64_encode_string):
7408         * fns.c (Fbase64_decode_region):
7409         * frame.c:
7410         * frame.c (frame_matches_frame_spec):
7411         * frame.c (device_matches_device_spec):
7412         * frame.c (next_frame):
7413         * frame.c (previous_frame):
7414         * frame.c (Fnext_frame):
7415         * frame.c (Fprevious_frame):
7416         * frame.c (Fframe_property):
7417         * frame.c (Fset_frame_height):
7418         * frame.c (Fset_frame_size):
7419         * frame.h:
7420         * glyphs.c:
7421         * glyphs.c (if):
7422         * glyphs.c (decode_error_behavior_flag):
7423         * glyphs.c (Fmake_image_instance):
7424         * indent.c (Findent_to):
7425         * intl.c (Fignore_defer_gettext):
7426         * keymap.c (Fkeymapp):
7427         * keymap.c (Flookup_key):
7428         * lread.c:
7429         * lread.c (Fload_internal):
7430         * lread.c (Feval_buffer):
7431         * lread.c (Feval_region):
7432         * macros.c (Fexecute_kbd_macro):
7433         * marker.c (set_marker_internal):
7434         * marker.c (Fset_marker):
7435         * marker.c (set_marker_restricted):
7436         * marker.c (Fcopy_marker):
7437         * marker.c (noseeum_copy_marker):
7438         * menubar.c:
7439         * menubar.c (Fpopup_menu):
7440         * minibuf.c:
7441         * mule-charset.c (Fcharset_name):
7442         * mule-charset.c (Fchar_charset):
7443         * mule-charset.c (Fchar_octet):
7444         * mule-charset.c (Fsplit_char):
7445         * mule-wnnfns.c (Fwnn_open):
7446         * mule-wnnfns.c (Fwnn_dict_comment):
7447         * mule-wnnfns.c (Fwnn_quit_henkan):
7448         * mule-wnnfns.c (Fwnn_word_toroku):
7449         * mule-wnnfns.c (Fwnn_word_sakujo):
7450         * mule-wnnfns.c (Fwnn_word_use):
7451         * mule-wnnfns.c (Fwnn_hindo_set):
7452         * objects.c:
7453         * objects.c (Fmake_color_instance):
7454         * objects.c (Fmake_font_instance):
7455         * print.c (Fwrite_char):
7456         * process.c:
7457         * process.c (mark_process):
7458         * process.c (print_process):
7459         * process.c (get_process_from_usid):
7460         * process.c (Fprocessp):
7461         * process.c (Fprocess_live_p):
7462         * process.c (Fget_process):
7463         * process.c (Fget_buffer_process):
7464         * process.c (get_process):
7465         * process.c (Fprocess_id):
7466         * process.c (Fprocess_name):
7467         * process.c (Fprocess_command):
7468         * process.c (init_process_io_handles):
7469         * process.c (start_process_unwind):
7470         * process.c (Fstart_process_internal):
7471         * process.c (Fopen_multicast_group_internal):
7472         * process.c (Fset_process_window_size):
7473         * process.c (read_process_output):
7474         * process.c (send_process):
7475         * process.c (Fprocess_tty_name):
7476         * process.c (Fset_process_buffer):
7477         * process.c (Fprocess_buffer):
7478         * process.c (Fprocess_mark):
7479         * process.c (set_process_filter):
7480         * process.c (Fset_process_filter):
7481         * process.c (Fprocess_filter):
7482         * process.c (Fprocess_send_region):
7483         * process.c (Fprocess_send_string):
7484         * process.c (exec_sentinel):
7485         * process.c (Fset_process_sentinel):
7486         * process.c (Fprocess_sentinel):
7487         * process.c (status_notify):
7488         * process.c (Fprocess_status):
7489         * process.c (Fprocess_exit_status):
7490         * process.c (process_send_signal):
7491         * process.c (Fprocess_send_eof):
7492         * process.c (deactivate_process):
7493         * process.c (remove_process):
7494         * process.c (Fdelete_process):
7495         * process.c (kill_buffer_processes):
7496         * process.c (Fprocess_kill_without_query):
7497         * process.c (Fprocess_kill_without_query_p):
7498         * rangetab.c:
7499         * rangetab.c (Fget_range_table):
7500         * rangetab.c (Fput_range_table):
7501         * rangetab.c (Fremove_range_table):
7502         * rangetab.c (Fclear_range_table):
7503         * search.c:
7504         * search.c (Fskip_chars_forward):
7505         * search.c (Fskip_chars_backward):
7506         * search.c (Fskip_syntax_forward):
7507         * search.c (Fskip_syntax_backward):
7508         * search.c (search_command):
7509         * search.c (Freplace_match):
7510         * search.c (Fregexp_quote):
7511         * select.c (Fown_selection_internal):
7512         * select.c (Fselection_owner_p):
7513         * select.c (Fselection_exists_p):
7514         * select.c (Fget_selection_internal):
7515         * specifier.c:
7516         * symbols.c:
7517         * symbols.c (Fintern):
7518         * symbols.c (Fintern_soft):
7519         * symbols.c (Funintern):
7520         * symbols.c (Fapropos_internal):
7521         * symbols.c (Fset_default):
7522         * syntax.c:
7523         * syntax.c (Fsyntax_table_p):
7524         * syntax.c (Fcopy_syntax_table):
7525         * syntax.c (Fset_syntax_table):
7526         * syntax.c (Fchar_syntax):
7527         * syntax.c (syntax_match):
7528         * syntax.c (Fmatching_paren):
7529         * syntax.c (Fforward_word):
7530         * syntax.c (scan_lists):
7531         * syntax.c (Fscan_lists):
7532         * syntax.c (Fscan_sexps):
7533         * syntax.c (Fparse_partial_sexp):
7534         * toolbar.c (Fcheck_toolbar_button_syntax):
7535         * tooltalk.doc:
7536         * window.c:
7537         * window.c (Fwindowp):
7538         * window.c (Fwindow_live_p):
7539         * window.c (Fwindow_point):
7540         * window.c (Fdelete_window):
7541         * window.c (Fnext_window):
7542         * window.c (Fprevious_window):
7543         * window.c (Fother_window):
7544         * window.c (window_loop):
7545         * window.c (Fget_lru_window):
7546         * window.c (Fsplit_window):
7547         * window.c (Fenlarge_window):
7548         * window.c (Fenlarge_window_pixels):
7549         * window.c (Fshrink_window):
7550         * window.c (Fshrink_window_pixels):
7551         * window.c (change_window_height):
7552         * window.c (Fwindow_configuration_p):
7553         * window.c (Fcurrent_window_configuration):
7554         * window.h:
7555         * casefiddle.c (casify_object):
7556         * casefiddle.c (Fupcase):
7557         * casefiddle.c (Fdowncase):
7558         * casefiddle.c (Fcapitalize):
7559         * casefiddle.c (Fupcase_initials):
7560         * casefiddle.c (casify_region_internal):
7561         * casefiddle.c (casify_region):
7562         * casefiddle.c (Fupcase_region):
7563         * casefiddle.c (Fdowncase_region):
7564         * casefiddle.c (Fcapitalize_region):
7565         * casefiddle.c (Fupcase_initials_region):
7566         * casefiddle.c (Fupcase_word):
7567         * casefiddle.c (Fdowncase_word):
7568         * casefiddle.c (Fcapitalize_word):
7569         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
7570         Replace 0 with '\0' when working with bytes.
7571         Replace initial "(" with "\(" in docstrings.
7572
7573 2000-11-01  Martin Buchholz  <martin@xemacs.org>
7574
7575         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
7576
7577         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
7578
7579 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7580
7581         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
7582
7583 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7584
7585         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
7586         correctly.
7587
7588 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7589
7590         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
7591         (inhibit_auto_save_session): New variable.
7592         (vars_of_fileio): Declare and initialize them.
7593         * fileio.c (Fdo_auto_save): Don't create session file if
7594         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
7595
7596 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7597
7598         * sgiplay.c (play_internal): C++ compilability.
7599         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
7600         * callproc.c (Fold_call_process_internal):
7601         Remove unused vars `env', `first'.
7602         * scrollbar.c (update_scrollbar_instance):
7603         #### unused var `current_window'.
7604         * redisplay-tty.c: Put currently unused vars insert_mode_on,
7605         etc. within #ifdef NOT_YET.
7606         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
7607         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
7608         * specifier.c (specifier_instance):
7609         #### unused var `tag'.
7610         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
7611
7612 2000-10-27  Martin Buchholz  <martin@xemacs.org>
7613
7614         * fns.c (Fbutlast):
7615         * fns.c (list_sort):
7616         * fns.c (Ffillarray):
7617         * fns.c (bytecode_nconc2):
7618         * fns.c (Fnconc):
7619         * fns.c (mapcar1):
7620         * fns.c (Fmapconcat):
7621         Be pedantically 64-bit correct.  For the time when someone will
7622         want to have a list with length > 2**32.
7623
7624         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7625         Work around MIPSpro compiler bug.
7626
7627         * process-unix.c (unix_kill_child_process): Add snarky comment.
7628         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
7629
7630         * config.h.in: Oops, _getpt ==> _getpty
7631
7632 2000-10-26  Martin Buchholz  <martin@xemacs.org>
7633
7634         * config.h.in:
7635         * regex.c:
7636         Use void*, not char*, as return type of alloca().
7637
7638         * alloc.c (free_marker): Side effect inside assert expression!
7639
7640 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
7641
7642         * mule-charset.c (Fset_charset_ccl_program): To check
7643         if the given ccl program is valid, use setup_ccl_program()
7644         instead of CHECK_VECTOR().
7645         (Fmake_charset): Likewise.
7646
7647 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
7648
7649         * faces.c (get_extent_fragment_face_cache_index):
7650         Fix cachel.merged_faces memory leak.
7651
7652 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
7653
7654         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
7655         Reset MSB of octets obtained by DECODE_SJIS
7656         because of the incompatibility with Emacs.
7657         (ccl_driver)<CCL_ENCODE_SJIS>:
7658         Set MSB of octets before passing them to
7659         ENCODE_SJIS because of the incompatibility
7660         with Emacs.
7661
7662 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
7663
7664         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
7665         (DECLARE_LRECORD): Undo the last change.
7666         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
7667
7668 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
7669
7670         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
7671         the implementation to lrecord_implementations_table.
7672
7673 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
7674
7675         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
7676         initial value of `lrecord_type_##c_name' and
7677         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
7678         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
7679         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
7680         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
7681         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
7682
7683 2000-10-17  Martin Buchholz  <martin@xemacs.org>
7684
7685         * miscplay.c (sndcnv8S_2mono):
7686         (sndcnv2monounsigned):
7687         (sndcnvULaw_2linear):
7688         (sndcnv16swap):
7689         Remove implementation-defined behavior.
7690
7691 2000-10-12  Martin Buchholz  <martin@xemacs.org>
7692
7693         * input-method-xlib.c: Warning suppression.
7694
7695 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
7696
7697         * mule-ccl.c: Sync up with Emacs 21.0.90.
7698         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
7699         Do nothing.
7700         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
7701         Likewise.
7702         (ccl_driver[WriteMultibyteChar2]): Bug fix.
7703         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
7704         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
7705         leading char belongs to official 2-dimensional charset.
7706         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
7707         write the given character as is.  Otherwise,
7708         if it is a multibyte char, convert it by
7709         non_ascii_set_charptr_emchar, then write it.
7710         (CCL_WRITE_STRING): Likewise.
7711         (ccl_get_compiled_code): New function.
7712         (setup_ccl_program): When ccl_prog is invalid,
7713         return -1.
7714         (Fregister_code_conversion_map): New function.
7715         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
7716
7717         * mule-ccl.h: Sync up with Emacs 21.0.90.
7718         (Fregister_ccl_program): export it.
7719
7720         * redisplay-msw.c (separate_textual_runs):
7721         If ccl program is not valid, don't do ccl conversion.
7722
7723         * redisplay-x.c (separate_textual_runs): Ditto.
7724
7725         * file-coding.c (Fmake_coding_system):
7726         When type is ccl and value is vector, register it
7727         with a proper symbol.  And checks whether the
7728         given ccl program is valid.
7729         (mule_decode): When calling ccl_driver, if src indicates
7730         NULL pointer, set an empty string instead.
7731         (mule_encode): Likewise.
7732
7733 2000-10-11  Martin Buchholz  <martin@xemacs.org>
7734
7735         The following large batch of changes gets us back to a state of
7736         C++ compilability.  Extbyte is now a char, which means that
7737         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
7738
7739         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
7740
7741         * sound.c (Fplay_sound): Type correctness.
7742
7743         * select-x.c (hack_motif_clipboard_selection): Type correctness.
7744         (x_get_window_property): Type correctness.
7745         (receive_incremental_selection): unsigned char ==> Extbyte
7746         (selection_data_to_lisp_data): unsigned char ==> Extbyte
7747         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
7748         (Fx_store_cutbuffer_internal): Type correctness.
7749
7750         * process-unix.c (try_to_initialize_subtty): Type correctness.
7751
7752         * objects-x.c (x_print_color_instance): Type correctness.
7753         (x_print_font_instance): Type correctness.
7754         (x_list_fonts): SExtbyte ==> Extbyte.
7755         (valid_x_font_name_p): SExtbyte ==> Extbyte.
7756         (x_find_charset_font): SExtbyte ==> Extbyte.
7757         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
7758         (truename_via_XListFonts): SExtbyte ==> Extbyte.
7759         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
7760         Use bufbyte_strcmp.
7761
7762         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
7763         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
7764         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
7765         (BYTE_C0_P): Use bit ops for char-signedness safety.
7766         (BYTE_C1_P): Use bit ops for char-signedness safety.
7767         (CHARSET_BY_LEADING_BYTE):
7768         (CHARSET_BY_ATTRIBUTES):
7769         Always use inline function.
7770         Use type_checking_assert.
7771         Hide chlook.
7772
7773         * mule-charset.c (non_ascii_charptr_copy_char):
7774         Modify to work with both ASCII and non-ASCII characters.
7775         Improve docs and variable names.
7776         Replace over-clever fall-through switch with a simple loop.
7777         (Lstream_get_emchar_1):
7778         Replace over-clever fall-through switch with a simple loop.
7779
7780         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7781         Warning suppression.
7782
7783         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
7784         the return value of Lstream_getc, which could be EOF as well.
7785
7786         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
7787
7788         * lisp.h: Make Extbyte a char, not unsigned char, so that external
7789         APIs can be used on Extbytes without casts.  Risky!
7790         (SExtbyte): Remove.
7791         (UExtbyte): Remove.
7792
7793         * input-method-xlib.c (XIM_init_device):
7794         Use Xlib.h instead of IntrinsicP.h.
7795         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
7796         which will break in X11R7.
7797         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
7798         to call XRegisterIMInstantiateCallback with correct types.
7799
7800         * gui-x.c (button_item_to_widget_value): Type correctness.
7801
7802         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
7803
7804         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
7805         (xbm_instantiate_1): Type correctness.
7806         (BUILD_GLYPH_INST):  Type correctness.
7807
7808         * fileio.c (Fsubstitute_in_file_name): Type correctness.
7809
7810         * file-coding.c:
7811         (decode_coding_sjis):
7812         (decode_coding_big5):
7813         (decode_coding_ucs4):
7814         (decode_coding_utf8):
7815         (decode_coding_iso2022):
7816         (decode_coding_no_conversion):
7817         Make all decoding functions take an Extbyte * arg.
7818         (encode_coding_sjis):
7819         (encode_coding_big5):
7820         (encode_coding_ucs4):
7821         (encode_coding_utf8):
7822         (encode_coding_iso2022):
7823         (encode_coding_no_conversion):
7824         Make all encoding functions take a Bufbyte * arg.
7825         Use size_t instead of unsigned int for memory sizes.
7826         Only cast to unsigned char whenever dereferencing Extbyte *.
7827
7828         * doc.c (unparesseuxify_doc_string): Type correctness.
7829
7830         * console-x.c (split_up_display_spec):
7831         Rewrite without using details of internal string representation.
7832         (x_semi_canonicalize_device_connection): Type correctness.
7833
7834         * config.h.in:
7835         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
7836         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
7837         (HAVE_XFREE386): Removed.
7838
7839         * buffer.h (DEC_CHARPTR): `const' correctness.
7840         (bufbyte_strcmp): New.
7841         (bufbyte_memcmp): New.
7842
7843         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
7844
7845         * buffer.h (XCHAR_OR_CHAR_INT):
7846         Always use inline function.
7847         Remove redundant type checking assert() - XINT will abort quite nicely.
7848
7849 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
7850
7851         * search.c (Freplace_match): Set newtext to an empty string.
7852
7853 2000-10-10  Martin Buchholz  <martin@xemacs.org>
7854
7855         * s/decosf1-3.h: Remove #include of stropts.h
7856         * s/ptx.h: Remove #include of stropts.h
7857         * s/usg5-4.h: Remove #include of stropts.h
7858         * sysproc.h:
7859         * config.h.in:
7860         Use stropts.h, not sys/stropts.h.
7861         Use strtio.h, not sys/strtio.h.
7862
7863 2000-10-04  Martin Buchholz <martin@xemacs.org>
7864
7865         * XEmacs 21.2.36 is released.
7866
7867 2000-09-21  Andy Piper  <andy@xemacs.org>
7868
7869         * glyphs-x.c (x_redisplay_widget): make sure non-structural
7870         changes still involve copying the widget tree.
7871         (update_widget_face): make sure a change is register in the widget
7872         tree. Call update_tab_widget_face appropriately.
7873         (update_tab_widget_face): ditto.
7874         (x_tab_control_redisplay): make sure non-structural changes still
7875         involve copying the widget tree.
7876
7877 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
7878
7879         * lread.c (locate_file): Check the path element is non-nil.
7880
7881 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7882
7883         * lisp.h: Warning suppression for SCO compilers.
7884
7885         * redisplay-tty.c (reset_tty_modes): Fix crash.
7886         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
7887
7888 2000-09-27  Martin Buchholz  <martin@xemacs.org>
7889
7890         Big signal/process handling overhaul.  Bugs fixed:
7891         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
7892         M-x comint-kill-subjob should work for both values nil and t of
7893         process-connection-type. It was broken on most platforms.
7894         Testing on Irix and Cygwin still needed.  Other plaforms tested.
7895         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
7896         * process-unix.c: Signal/Process handling overhaul.
7897         (pty_name): make 64 bytes, as `expect' does, for paranoia.
7898         (allocate_pty): Use all available modern methods of allocating
7899         ptys, falling back to old style BSD allocation as a last resort.
7900         Use allegedly more secure Unix98 pty allocation by default.
7901         (allocate_pty_the_old_fashioned_way): New. the last resort.
7902         (unix_create_process): Push ptem, ldterm, ttcompat where
7903         available.  Autoconfiscate.
7904         (try_to_initialize_subtty): New.
7905         (unix_kill_child_process): Proper signal handling for ptys on most
7906         platforms, using special knowledge of AIX, BSD, etc...
7907         (unix_create_process): Always disconnect_controlling_terminal() for
7908         subprocesses, whether using ptys or not.
7909         * process.h: Remove old getpt-dependent PTY code.
7910         * process.c (Fprocess_send_signal): New, obvious generic function.
7911         (decode_signal): New.
7912         (Finterrupt_process):
7913         (Fkill_process):
7914         (Fquit_process):
7915         (Fstop_process):
7916         (Fcontinue_process):
7917         (Fsignal_process): Use decode_signal.
7918         (process_send_signal):
7919         Many docstring corrections.
7920         Allow any signal to be sent to a process object.
7921         * config.h.in: Add symbols for big signal/process overhaul.
7922         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
7923         * sysproc.h: Include process-related headers, where available:
7924         sys/stropts.h sys/strtio.h pty.h libutil.h
7925         * s/irix4-0.h:
7926         * s/irix5-0.h:
7927         * s/cygwin32.h:
7928         * s/gnu.h:
7929         * s/linux.h:
7930         * s/hpux.h:
7931         * s/aix3-1.h:
7932         Remove old S&M pty stuff.
7933         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
7934         * systty.h: Simplify cpp hackery, improve comments.
7935         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
7936
7937         * editfns.c (Fformat_time_string):
7938         Be a little more paranoid with the return value of ctime.
7939
7940         * fileio.c (check_executable):
7941         (check_writable):
7942         Use symbolic constants X_OK, W_OK.
7943
7944         * console-x.c (split_up_display_spec): Fix a warning.
7945
7946 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7947
7948         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
7949         * ntproc.c (sys_spawnve): make_string ==> build_string
7950         Small clarity improvements.
7951
7952 2000-09-30  Martin Buchholz  <martin@xemacs.org>
7953
7954         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
7955
7956         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
7957
7958         * config.h.in (HAVE_STRCASECMP): Remove.
7959
7960 2000-09-29  Martin Buchholz  <martin@xemacs.org>
7961
7962         * redisplay-output.c (redisplay_output_pixmap):
7963         Cleaner and possibly more 64-bit correct code.
7964
7965 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7966
7967         * dumper.c (pdump_load_finish): move restoration of
7968         `noninteractive1' to emacs.c (main_1).
7969         * emacs.c (main_1): protect LISP-visible command-line flags
7970         from pdump_load().
7971
7972 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
7973
7974         * Makefile.in.in (versionclean):  Use EXE_TARGET and
7975         DUMP_TARGET instead of literal program names.
7976
7977 2000-09-20  Martin Buchholz  <martin@xemacs.org>
7978
7979         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
7980
7981 2000-09-19  Martin Buchholz  <martin@xemacs.org>
7982
7983         * *: Spelling mega-patch
7984
7985 2000-09-19  Martin Buchholz  <martin@xemacs.org>
7986
7987         * fns.c (bad_bad_turtle):
7988         Delete "Eek!" comment, since we fixed the bug to which it refers.
7989
7990 2000-09-16  Martin Buchholz  <martin@xemacs.org>
7991
7992         * alloca.c: Replace REGISTER with register.
7993
7994 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
7995
7996         * file-coding.c (ucs_to_char): Use countof.
7997
7998 2000-09-16  Martin Buchholz  <martin@xemacs.org>
7999
8000         * file-coding.c: (ucs_to_char):
8001         (complex_vars_of_file_coding):
8002         Use countof instead of sizeof.
8003         Use CHECK_NATNUM instead of CHECK_INT.
8004
8005         * sysdep.c (strcasecmp): Remove.
8006         * device-x.c (ascii_strcasecmp): New.
8007         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8008         Avoid using non-standard non-portable strcasecmp.
8009
8010 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8011
8012         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8013         * font-lock.c: remove reference to emacsfns.h.
8014         * search.c: small doc improvement.
8015         * event-Xt.c: correct file names in comments.
8016         * console-x.h Correct file names in comments.
8017         * frame.c: Correct file names in comments.
8018         * event-stream.c: remove Energize from comments.
8019
8020 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8021
8022         * symeval.h (DEFERROR_STANDARD):
8023         (DEFERROR):
8024         (DEFSYMBOL):
8025         (DEFSYMBOL_NO_DUMP):
8026         (DEFSYMBOL_MULTIWORD_PREDICATE):
8027         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8028         (DEFKEYWORD):
8029         The construct &##name is not sensible C.
8030         Fixes compilation errors with Unixware native compiler.
8031
8032 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8033
8034         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8035         (next_frame_internal): Removed.  We now just have next_frame.
8036         (next_frame):
8037         Write a simpler and cleaner one-pass algorithm.
8038         Remove called_from_delete_device arg and #ifdefed-out code.
8039         (previous_frame):
8040         Renamed from prev_frame.  Update callers.
8041         Cleaned up to have an analogous implementation to next_frame.
8042         (other_visible_frames_internal): Remove the
8043         called_from_delete_device bogus arg, and hence, remove this
8044         function.  Just use other_visible_frames().
8045
8046         * window.c (Fnext_window):
8047         Prettify docstring.
8048         Since next_frame() is guaranteed to return a frame, remove check
8049         for nil inserted in previous patch.
8050         (Fprevious_window):
8051         Prettify docstring.
8052         Make code look more like Fnext_window.
8053         (window_loop):
8054         Respect the `console' arg when iterating through windows.
8055         Fixes bug: (get-buffer-window buffer t device) not respecting
8056         the `device' arg.
8057         This function needs more work, as others have pointed out.
8058
8059         * frame.h: Rename prev_frame to previous_frame.
8060         device_matches_console_spec no longer takes a `frame' arg.
8061
8062         * s/gnu.h:
8063         * s/linux.h:
8064         * s/hpux.h:
8065         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8066         From "Golubev I. N." <gin@mo.msk.ru>.
8067
8068         * make-src-depend: Fix typo.
8069
8070 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8071
8072         * window.c (Fnext_window):
8073         next_frame() might return nil, not a frame.
8074         Fixes this crash:
8075         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8076
8077         * frame.c (next_frame_internal):
8078         We've passed a frame if we've passed its device.
8079         Fixes this crash:
8080         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8081 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8082
8083 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8084
8085         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8086         Allow option to suppress accelerators in menu/dialog items.
8087         (populate_or_checksum_helper): Pass dialog title through above.
8088
8089 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8090
8091         * event-msw.c (mswindows_key_to_emacs_keysym):
8092         Add "pause" key, fix "menu" key.
8093
8094 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8095
8096         * eval.c (reinit_vars_of_eval):
8097         Increase max_lisp_eval_depth to 1000,
8098         required for thai-xtis.el to byte-compile under some circumstances.
8099
8100 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8101
8102         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8103         From Kenichi Handa.
8104
8105 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8106
8107         * make-src-depend: Make the generated Makefiles smaller.
8108
8109         * s/hpux.h (SETUP_SLAVE_PTY):
8110         Provide a %d in the format string for the errno argument.
8111
8112         * editfns.c (Ftemp_directory):
8113         Warning fix.
8114         Avoid buffer overrun on very long file name.
8115
8116         * input-method-xlib.c (XIM_init_device):
8117         6th parameter of XRegisterIMInstantiateCallback has different
8118         pointer types on different OSes, so simply cast to (void *).
8119
8120         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8121
8122         * sysdll.c (dll_open):
8123         shl_load will hang hard if passed a NULL filename.
8124         Simply return NULL for compatibility with dlopen.
8125         * sysdll.c: Conform to XEmacs coding standards.
8126
8127         * sysdep.c (get_pty_max_bytes):
8128         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8129
8130 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8131
8132         * tooltalk.c: Add #include <syssignal.h>
8133
8134 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8135
8136         * s/hpux.h: Don't use undefined function sigunblock().
8137
8138 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8139
8140         * config.h.in: Add HAVE_BALLOON_HELP.
8141         * emacs.c: Use HAVE_BALLOON_HELP.
8142         * Makefile.in.in (x_objs):
8143         Make Balloon Help conditional on finding shape.h.
8144
8145 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8146
8147         * syntax.c (regex_emacs_buffer_p): New variable.
8148         * syntax.h (regex_emacs_buffer_p): extern.
8149         * search.c (looking_at_1):
8150         (string_match_1):
8151         (fast_string_match):
8152         (search_buffer): Set regex_emacs_buffer_p.
8153         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8154         when before_dot, at_dot, after_dot.
8155
8156 2000-08-23  Andy Piper  <andy@xemacs.org>
8157
8158         * gui-x.c (popup_selection_callback): Only set action_occurred
8159         when we really have an image instance.
8160         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8161
8162 2000-08-23  Andy Piper  <andy@xemacs.org>
8163
8164         * gui-msw.c (mswindows_handle_gui_wm_command): set
8165         action_occurred.
8166         * gui-x.c (popup_selection_callback): ditto.
8167
8168         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8169         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8170         (struct Lisp_Image_Instance): add action_occurred flag.
8171
8172         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8173         (image_instance_changed): ditto.
8174         (reset_frame_subwindow_instance_cache): only unmap windows - do
8175         not remove them from the cache also.
8176
8177         * glyphs-widget.c (tab_control_update): better debug.
8178         (progress_gauge_update): ditto.
8179         (layout_update): ditto.
8180         (layout_instantiate): ditto.
8181         (tab_control_order_only_changed): cope with null pending items.
8182
8183         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8184         debug. Force selection of an item when an action occurred. Cope
8185         with null pending_items.
8186         (mswindows_progress_gauge_redisplay): better debug.
8187         * glyphs-x.c (x_tab_control_redisplay): ditto.
8188
8189         * redisplay.c (redisplay_frame): reset the frame cache if the
8190         frame is garbaged.
8191
8192         * window.c (Fset_window_configuration): potentially re-enable
8193         frame cache reset.
8194         (window_unmap_subwindows): need to finalize instances here since
8195         it is only used in mark_window_as_deleted.
8196
8197 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8198
8199         * nas.c (SndOpenDataForReading):
8200         nas.c (WaveOpenDataForReading):
8201         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8202         Somehow escaped from the 2000-08-14 patch.
8203
8204 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8205
8206         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8207         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8208
8209 2000-08-21  Andy Piper  <andy@xemacs.org>
8210
8211         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8212         window if it is not already displayed.
8213
8214         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8215         it is not already displayed.
8216
8217         * window.c (Fset_window_configuration): don't reset the frame
8218         cache.
8219
8220         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8221         instances from the frame cache if we are actually finalizing them.
8222         (reset_frame_subwindow_instance_cache): reset frame cache only
8223         after unmapping everything.
8224         (map_subwindow): set displayed flag after mapping.
8225
8226 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8227
8228         * data.c (indirect_function):
8229         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8230
8231         * eval.c (function_argcount):
8232         Use original function when signaling errors.
8233
8234 2000-08-18  Andy Piper  <andy@xemacs.org>
8235
8236         * frame.c (delete_frame_internal): use new
8237         free_frame_subwindow_instances name.
8238
8239         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8240         (add_tab_item): make return type correct.
8241         (mswindows_tab_control_instantiate): assert index of tab.
8242         (mswindows_tab_control_redisplay): Re-code to use
8243         gui_item_equal_sans_selected and gui_item_list_find_selected.
8244
8245         * glyphs-widget.c (tab_control_update): Correct comment.
8246
8247         * window.c (window_unmap_subwindows): use new
8248         unmap_subwindow_instance_cache_mapper.
8249         (window_unmap_subwindows_cache_mapper): deleted.
8250         (Fset_window_configuration): comparisons should now be with
8251         EQ. Preserve the subwindow instance cache across configuration
8252         changes.
8253         (allocate_window): ditto.
8254         (make_dummy_parent): ditto.
8255
8256         * glyphs.c (free_frame_subwindow_instances): rename from
8257         free_frame_subwindow_instance_cache. finalize all instances rather
8258         than just those in the display cache.
8259         (finalize_all_subwindow_instances): walk windows unmapping and
8260         finalizing subwindows.
8261         (unmap_subwindow_instance_cache_mapper): moved from
8262         window.c. Allow finalization as well as unmapping.
8263
8264         * gui.c (gui_item_list_find_selected): new function.
8265
8266         * gui.h (gui_item_list_find_selected): declare.
8267
8268         * glyphs-x.c (x_tab_control_redisplay): pick tab
8269         explicitly. Re-code to use gui_item_equal_sans_selected and
8270         gui_item_list_find_selected.
8271
8272         * glyphs-x.h: add lwlib-utils.h
8273
8274         * buffer.c (Frecord_buffer): undo previous change.
8275
8276 2000-08-09  Vin Shelton  <acs@xemacs.org>
8277
8278         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8279         possible.  Create temporary files more securely.  The patch was
8280         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8281         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8282         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8283         for details.
8284
8285 2000-08-07  Ben Wing  <ben@xemacs.org>
8286
8287         * getloadavg.c: remove duplicate (and windows-breaking)
8288         includes of fcntl.h and sys/file.h.
8289
8290         * nt.c: remove duplicate getloadavg() definition.
8291
8292         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8293         encodings.
8294
8295 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8296
8297         * eval.c (function_argcount): If function needs to be autoloaded
8298         actually use the loaded definition.
8299         GCPRO function.
8300
8301 2000-08-05  Ben Wing  <ben@xemacs.org>
8302
8303         * getloadavg.c: add prototype for getloadavg().  remove
8304         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
8305         of the code).  remove duplicate header includes.
8306
8307         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
8308
8309         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
8310         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
8311         useful load average.
8312
8313         * alloc.c (reinit_alloc_once_early): removed references to
8314         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
8315         the lisp vars are the only things referencing the malloc_sbrk_*
8316         vars, and they were already if 0'd out.  these vars only exist
8317         in the older malloc.c, which is basically unused, and they're
8318         only for informational purposes.
8319
8320         * m\*.h: removed useless VIRT_ADDR_VARIES.
8321
8322         * m\powerpc.h: removed stray NO_ARG_ARRAY.
8323
8324 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8325
8326         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
8327         color if the image is a mono pixmap.
8328
8329 2000-07-30  Ben Wing  <ben@xemacs.org>
8330
8331         * Makefile.in.in (release):
8332         Remove stray @.
8333
8334         * buffer.c (directory_is_current_directory):
8335         * dired-msw.c (mswindows_get_files):
8336         * dired.c:
8337         * dired.c (Fdirectory_files):
8338         * dired.c (file_name_completion_stat):
8339         * dired.c (Ffile_attributes):
8340         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
8341         preprocessor tricks, to avoid problems on some machines
8342         (e.g. SCO).
8343
8344         * callproc.c (egetenv): GC docs.
8345
8346         * console-msw.h:
8347         * console-msw.h (struct mswindows_dialog_id):
8348         * lrecord.h (lrecord_type):
8349         New object for use with MSW dialogs.
8350
8351         * console.h (struct console_methods):
8352         New enable/disable frame methods, for proper modal dialogs.
8353
8354         * device-msw.c (msprinter_default_printer): Fix to follow
8355         proper Mule conventions.
8356
8357         * device-msw.c:
8358         * device-msw.c (signal_open_printer_error):
8359         * device-msw.c (msprinter_init_device):
8360         * device-msw.c (ensure_not_printing):
8361         * device-msw.c (plist_get_margin):
8362         * device-msw.c (Fmsprinter_select_settings):
8363         * device-msw.c (finalize_devmode):
8364         * device-msw.c (Fmsprinter_settings_despecialize):
8365         * device-msw.c (signal_enum_priner_error):
8366         * extents.c (decode_extent):
8367         * extents.c (decode_map_extents_flags):
8368         * extents.c (decode_extent_at_flag):
8369         * extents.c (Fextent_at):
8370         * extents.c (Fextents_at):
8371         * extents.c (symbol_to_glyph_layout):
8372         [[[[2]]]] Use structured errors.
8373
8374         * dialog-msw.c:
8375         * dialog-msw.c (mswindows_is_dialog_msg):
8376         * dialog-msw.c (mark_mswindows_dialog_id):
8377         * dialog-msw.c (dialog_proc):
8378         * dialog-msw.c (handle_question_dialog_box):
8379         * dialog-msw.c (syms_of_dialog_mswindows):
8380         Define new object to clean up marking; use it as a dialog identifier.
8381         Call new delete-dialog-box-hook.
8382
8383         * dialog-x.c (dbox_selection_callback):
8384         * dialog-x.c (dbox_descriptor_to_widget_value):
8385         * dialog-x.c (x_make_dialog_box_internal):
8386         Call new delete-dialog-box-hook.
8387         Return an id.
8388
8389         * dialog.c:
8390         * dialog.c (syms_of_dialog):
8391         * dialog.c (vars_of_dialog):
8392         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
8393
8394         * eval.c:
8395         * eval.c (signal_call_debugger):
8396         when noninteractive, output stack traces on the console instead
8397         of in a (never-seen) buffer.
8398
8399         * eval.c (signal_type_error):
8400         * eval.c (invalid_argument_2):
8401         * lisp.h:
8402         new funs for use w/structured errors.
8403
8404         * event-Xt.c:
8405         * event-Xt.c (x_to_emacs_keysym):
8406         * event-Xt.c (describe_event):
8407         * event-Xt.c (emacs_Xt_event_handler):
8408         * event-Xt.c (vars_of_event_Xt):
8409         * event-msw.c:
8410         * event-msw.c (mswindows_wnd_proc):
8411         * event-msw.c (vars_of_event_mswindows):
8412         rename {x,mswindows}-debug-events to debug-{}-events for
8413         consistency with other debug-foo variables.
8414
8415         * event-stream.c:
8416         document next-event more clearly.
8417
8418         * fileio.c (Ffile_name_directory):
8419         * fileio.c (Ffile_name_nondirectory):
8420         * fileio.c (Funhandled_file_name_directory):
8421         * fileio.c (file_name_as_directory):
8422         * fileio.c (Ffile_name_as_directory):
8423         * fileio.c (directory_file_name):
8424         * fileio.c (Fdirectory_file_name):
8425         * fileio.c (Fmake_temp_name):
8426         * fileio.c (Ffile_truename):
8427         * fileio.c (Fsubstitute_in_file_name):
8428         * fileio.c (expand_and_dir_to_file):
8429         * fileio.c (barf_or_query_if_file_exists):
8430         * fileio.c (check_executable):
8431         * fileio.c (Ffile_exists_p):
8432         * fileio.c (Ffile_writable_p):
8433         * fileio.c (Ffile_directory_p):
8434         * fileio.c (Ffile_regular_p):
8435         * fileio.c (Ffile_modes):
8436         * fileio.c (Ffile_newer_than_file_p):
8437         * fileio.c (Fverify_visited_file_modtime):
8438         * fileio.c (Fset_visited_file_modtime):
8439         * fileio.c (auto_save_1):
8440         (1). (2).
8441         fix up gcpro's.
8442
8443         * frame-msw.c:
8444         * frame-msw.c (mswindows_init_frame_1):
8445         * frame-msw.c (mswindows_enable_frame):
8446         * frame-msw.c (error_frame_unsizable):
8447         * frame-msw.c (msprinter_init_frame_1):
8448         * frame-msw.c (msprinter_init_frame_3):
8449         * frame-msw.c (console_type_create_frame_mswindows):
8450         (2).
8451         implement new enable/disable frame methods.
8452
8453         * frame-x.c:
8454         * frame-x.c (x_enable_frame):
8455         * frame-x.c (console_type_create_frame_x):
8456         implement new enable/disable frame methods.
8457
8458         * frame.c:
8459         * frame.c (Fdisable_frame):
8460         * frame.c (syms_of_frame):
8461         * frame.h (struct frame):
8462         implement new enable/disable frame methods/functions.
8463
8464         * general-slots.h:
8465         add initial-focus.
8466
8467         * glyphs-msw.c (mswindows_widget_instantiate):
8468         comment that initial-focus should be implemented.
8469
8470         * glyphs-widget.c:
8471         * glyphs-widget.c (check_valid_instantiator):
8472         * glyphs-widget.c (check_valid_orientation):
8473         * glyphs-widget.c (check_valid_tab_orientation):
8474         * glyphs-widget.c (check_valid_justification):
8475         * glyphs-widget.c (check_valid_border):
8476         * glyphs-widget.c (check_valid_callback):
8477         * glyphs-widget.c (check_valid_int_or_function):
8478         * glyphs-widget.c (check_valid_string_or_vector):
8479         * glyphs-widget.c (check_valid_item_list_1):
8480         * glyphs-widget.c (widget_validate):
8481         * glyphs-widget.c (combo_box_validate):
8482         * glyphs-widget.c (widget_instantiate):
8483         * glyphs-widget.c (syms_of_glyphs_widget):
8484         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
8485         * glyphs-widget.c (image_instantiator_combo_box):
8486         * glyphs-widget.c (image_instantiator_scrollbar):
8487         * glyphs-widget.c (image_instantiator_tab_control):
8488         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
8489         (2).
8490         support (unimplemented) keyword initial-focus.
8491         reindent long macros.
8492
8493         * glyphs-x.c (x_redisplay_widget):
8494         * glyphs-x.c (x_button_instantiate):
8495         * glyphs-x.c (x_button_redisplay):
8496         * glyphs-x.c (x_progress_gauge_instantiate):
8497         * glyphs-x.c (x_edit_field_instantiate):
8498         * glyphs-x.c (x_combo_box_instantiate):
8499         * glyphs-x.c (x_tab_control_instantiate):
8500         * glyphs-x.c (x_label_instantiate):
8501         * gui-x.c:
8502         * gui-x.c (button_item_to_widget_value):
8503         * gui-x.c (gui_items_to_widget_values_1):
8504         * gui-x.c (gui_item_children_to_widget_values):
8505         * gui-x.c (gui_items_to_widget_values):
8506         * gui-x.h:
8507         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8508         add new flag to gui-parsing routines to indicate whether
8509         accelerator specs should be supported.
8510
8511         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
8512
8513         * glyphs.h (struct Lisp_Image_Instance):
8514         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
8515         add initial-focus flag.
8516
8517         * gui.c:
8518         * gui.c (syms_of_gui):
8519         * gui.c (vars_of_gui):
8520         clean up menu-no-selection-hook.
8521
8522         * gui.h:
8523         support delete-dialog-box-hook.
8524
8525         * lread.c (Fload_internal):
8526         * lread.c (locate_file_in_directory_mapper):
8527         (1).
8528
8529         * lrecord.h:
8530         * lrecord.h (struct toolbar_button):
8531         * lrecord.h (syms_of_toolbar):
8532         document how to create a new object.
8533
8534         * menubar-msw.c (mswindows_char_is_accelerator):
8535         may be called on frames w/o menus.
8536
8537         * menubar.c (vars_of_menubar):
8538         clean up :filter docs.
8539
8540         * nt.c (readdir):
8541         * ntproc.c:
8542         (1).
8543
8544         * process-nt.c:
8545         * process-nt.c (validate_signal_number):
8546         * process-nt.c (signal_cannot_launch):
8547         * process-nt.c (nt_create_process):
8548         * process-nt.c (nt_send_process):
8549         * process-nt.c (nt_kill_child_process):
8550         * process-nt.c (nt_open_network_stream):
8551         * process-nt.c (syms_of_process_nt):
8552         (2).
8553         delete quote-handling.  call new lisp code that does it better.
8554
8555         * process-unix.c (connect_to_file_descriptor):
8556         * process-unix.c (allocate_pty):
8557         * process-unix.c (unix_send_process):
8558         * process-unix.c (unix_kill_child_process):
8559         * process-unix.c (unix_open_network_stream):
8560         * process-unix.c (unix_open_multicast_group):
8561         (1). (2).
8562
8563         * process.c:
8564         * process.c (Fstart_process_internal):
8565         (2).  need to canonicalize process path even if absolute.
8566
8567         * select-msw.c (symbol_to_ms_cf):
8568         * select-msw.c (ms_cf_to_symbol):
8569         * select-msw.c (cf_is_autofreed):
8570         * select-msw.c (mswindows_destroy_selection):
8571         * select.c:
8572         * select.c (syms_of_select):
8573         * select.h:
8574         support dibv5, fix bugs. (from Mike Alexander)
8575
8576         * select.c (Fget_selection_internal):
8577         * select.c (select_convert_out):
8578
8579         * sysdep.c:
8580         * sysdep.c (xemacs_stat):
8581         renamed.
8582
8583         * sysdep.c (mkdir):
8584         * sysdep.c (rmdir):
8585         but keep original stat() here because we provide encapsulation
8586         around these funs.
8587
8588         * sysfile.h:
8589         * sysfile.h (fstat):
8590         remove stat garbage.
8591
8592         * syswindows.h:
8593         fix X/MSW conflict.
8594         don't include tchar.h.  it's inappropriate because it makes
8595         compile-time distinctions when we want runtime distinctions.
8596         (we provide our own tchar replacements)
8597
8598         * toolbar.c:
8599         use default object printer for toolbar-button.
8600
8601         * unexcw.c:
8602         make sure we don't encapsulate.
8603
8604         * window.c (vars_of_window):
8605         emphasize that temp-buffer-show-hook is obsolete.
8606
8607 2000-08-05  Martin Buchholz  <martin@xemacs.org>
8608
8609         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
8610         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
8611
8612         * events.c (Fevent_timestamp_lessp):
8613         Not 64-bit clean.  Use EMACS_INT, not int.
8614
8615 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
8616
8617         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
8618         unsigned int and changed the last enum to
8619         lrecord_type_last_built_in_type.
8620         (lrecord_implementations_table): changed prototype to know how
8621         long the array is supposed to be.
8622         (lrecord_type_count): new unsigned int to keep track of the
8623         current number of lisp lrecord types.
8624         (DEFINE_EXTERNAL_LRECORD):
8625         (DECLARE_EXTERNAL_LRECORD): Added these two for external
8626         dynamic-modules to declare new lisp types. They are the same
8627         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
8628         int for each new type, and increment lrecord_type_count by 1.
8629
8630         * alloc.c (lrecord_implementations_table): Changed to reference
8631         lrecord_type_last_built_in_type for the size of the array.
8632         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
8633
8634 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8635
8636         * glyphs.h (check_valid_item_list): Renamed from
8637         check_valid_item_list_1.
8638
8639 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
8640
8641         * select.c (Qselect_coerce): New.
8642         * select.c (Vselection_coercion_alist): New.
8643         * select.c (syms_of_select): Declare.
8644         * select.c (get-selection-internal): Use it.
8645         Use the new select-coerce functionality.
8646
8647         * select.c (select_coerce): New.
8648         * select.h (select_coerce): Declare.
8649         New function to coerce one type of data into another.
8650
8651 2000-08-03  Martin Buchholz  <martin@xemacs.org>
8652
8653         * callproc.c (Fcall_process_internal):
8654         (Fcall_process_internal):
8655         * process-unix.c (unix_create_process):
8656         Save and restore the value of errno, so that error messages are accurate.
8657
8658 2000-08-01  Martin Buchholz  <martin@xemacs.org>
8659
8660         * elhash.c (print_hash_table):
8661         Fix printing of hash tables to also use `key-and-value' instead of `t'.
8662         Prettify docstrings and indentation.
8663
8664 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8665
8666         * window.c (Fwindow_pixel_edges): Subtract frame border and
8667         gutter size.
8668
8669 2000-07-31  Andy Piper  <andy@xemacs.org>
8670
8671         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
8672         will acknowledge the change.
8673
8674         * glyphs.h: declare tab_control_order_only_changed.
8675
8676         * glyphs-x.c (x_tab_control_redisplay): use
8677         tab_control_order_only_changed.
8678
8679         * glyphs-widget.c (tab_control_order_only_changed): new function.
8680
8681         * glyphs-msw.c (mswindows_tab_control_redisplay): use
8682         tab_control_order_only_changed.
8683
8684         * gui.c (gui_item_equal_sans_selected): new function.
8685         (gui_item_equal): use it.
8686
8687         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
8688         :properties in favor of :items..
8689
8690         * glyphs-widget.c (check_valid_item_list): rename from
8691         check_valid_item_list_1.
8692         (check_valid_item_list_1): renamed.
8693         (combo_box_validate): deprecate :properties in favor of :items.
8694         (widget_instantiate): ditto.
8695         (tab_control_update): ditto.
8696         (image_instantiator_combo_box): ditto.
8697         (image_instantiator_tree_view): ditto.
8698         (image_instantiator_tab_control): ditto.
8699         (layout_post_instantiate): remove dead code.
8700
8701         * print.c (debug_print_no_newline): only write to debugger if in
8702         WIN32_NATIVE.
8703
8704         * elhash.c (Fmake_hash_table): update doc string.
8705
8706         * event-msw.c (mswindows_wnd_proc): don't allow processing of
8707         messages whilst in GC. This at least stops XEmacs crashing but has
8708         the potential for wierd behaviour.
8709
8710 2000-07-31  Martin Buchholz  <martin@xemacs.org>
8711
8712         * config.h.in:
8713         Make existence of s&m files optional.
8714
8715         * s/bsd386.h: Remove HAVE_GETLOADAVG.
8716         * s/freebsd.h: Remove HAVE_GETLOADAVG.
8717         * s/gnu.h: Remove HAVE_GETLOADAVG.
8718         * s/netbsd.h: Remove HAVE_GETLOADAVG.
8719         * s/sol2.h: Remove HAVE_GETLOADAVG.
8720         * lisp.h: Remove getloadavg() declaration.
8721         * fns.c:
8722         Include <sys/loadavg.h> if available.
8723         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
8724         * config.h.in:  Group together getloadavg()-related macros.
8725         Use only configure-time tests to detect getloadavg().
8726
8727 2000-07-30  Martin Buchholz  <martin@xemacs.org>
8728
8729         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
8730
8731 2000-07-25  Andy Piper  <andy@xemacs.org>
8732
8733         * syswindows.h: add tchar.h for native builds.
8734
8735         * frame.c (syms_of_frame): remove set-glyph-image.
8736
8737         * general-slots.h: add Qset_glyph_image.
8738
8739         * glyphs-widget.c (layout_update): add domain arg to
8740         set-glyph-image.
8741         (syms_of_glyphs_widget): remove set-glyph-image.
8742
8743 2000-07-23  Ben Wing  <ben@xemacs.org>
8744
8745         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
8746         Vpopup_frame_list.
8747
8748 2000-07-22  Andy Piper  <andy@xemacs.org>
8749
8750         * symsinit.h: add syms_of_win32().
8751
8752         * gui-msw.c (syms_of_gui_mswindows): remove
8753         Fmswindows_shell_execute.
8754         (Fmswindows_shell_execute): moved to win32.c.
8755
8756         * emacs.c (main_1): add syms_of_win32 ().
8757
8758         * win32.c (init_potentially_nonexistent_functions): rewrite in
8759         compiler-friendly terms.
8760         (Fmswindows_shell_execute): move here from gui-msw.c.
8761         (syms_of_win32): new.
8762
8763         * device-msw.c (Fmswindows_printer_list): clean up args to
8764         EnumPrinters.
8765         Don't include tchar under cygwin or mingw.
8766         (msprinter_default_printer): make cygwin-friendly.
8767
8768 2000-07-21  Andy Piper  <andy@xemacs.org>
8769
8770         * glyphs-widget.c (image_instantiator_tree_view): use tab
8771         control's update function.
8772         (layout_property): new function. Retrieve items.
8773
8774         * glyphs-msw.c (mswindows_tree_view_redisplay): new
8775         function. Re-populate the tree view from the pending items.
8776
8777         * glyphs.c (instantiate_image_instantiator): Make sure the domain
8778         is designated the parent if the domain is an image instance. This
8779         is needed so that dirtiness can be cascade up the hierarchy and
8780         thus for layout children to be redisplayed correctly.
8781         (allocate_image_instance): rename glyph -> parent.
8782
8783         * redisplay.h: change redisplay_output_layout signature.
8784
8785         * redisplay-msw.c (mswindows_output_display_block): use domain
8786         arg.
8787
8788         * redisplay-x.c (x_output_display_block): use domain arg.
8789
8790 2000-07-10  Andy Piper  <andy@xemacs.org>
8791
8792         * window.c (Fset_window_configuration): add comment.
8793
8794         * redisplay-output.c (compare_runes):
8795         (redisplay_output_subwindow): redisplay rather than update subwindow.
8796         (redisplay_output_layout): ditto.
8797
8798         * redisplay-msw.c (mswindows_frame_output_end):
8799         (mswindows_frame_output_end): make defer window pos optional.
8800
8801         * lisp.h: add Flast.
8802
8803         * glyphs.h (struct image_instantiator_methods): add dest_mask top
8804         normalize method. Change update method to be for changed
8805         instantiators. Add redisplay method. Change signature of layout
8806         method.
8807         (struct Lisp_Image_Instance): add instantiator.
8808         (IMAGE_INSTANCE_INSTANTIATOR): new.
8809         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
8810         (XIMAGE_INSTANCE_INSTANTIATOR): new.
8811         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
8812
8813         * glyphs.c:
8814         (find_instantiator_differences): new function.
8815         (Fset_instantiator_property): new convenience function.
8816         (check_image_instance_structure): strictly check for vector
8817         instantiators.
8818         (normalize_image_instantiator): make non-static.
8819         (instantiate_image_instantiator): pass on dest_mask and use new
8820         signatures for image_instance_layout and friends.
8821         (mark_image_instance): mark the instantiator. Mark the subwindow
8822         face not the widget face.
8823         (image_instance_equal): add instantiator.
8824         (image_instance_hash): ditto.
8825         (allocate_image_instance): ditto.
8826         (Fset_image_instance_property): removed.
8827         (Fimage_instance_file_name): ditto.
8828         (Fcolorize_image_instance): ditto.
8829         (image_instance_layout): add offsets to be set.
8830         (update_image_instance): new function. update an image instance
8831         from its changed instantiator.
8832         (inherit_normalize): add dest_mask.
8833         (xbm_normalize): ditto.
8834         (xface_normalize): ditto.
8835         (xpm_normalize): ditto.
8836         (text_update): set_property -> update.
8837         (image_instantiate): use the glyph identity as a hash key, not the
8838         instantiator.
8839         (glyph_width): use new image_instance_layout signature.
8840         (glyph_ascent): ditto.
8841         (glyph_descent): ditto.
8842         (glyph_height): ditto.
8843         (glyph_query_geometry): ressurrect.
8844         (glyph_layout): ditto.
8845         (redisplay_subwindow): update -> redisplay.
8846         (syms_of_glyphs): add Fset_instantiator_property.
8847         (image_instantiator_format_create): set_property -> update.
8848
8849         * glyphs-x.c:
8850         (autodetect_normalize): add dest_maks to signature.
8851         (x_redisplay_subwindow): update -> redisplay.
8852         (x_redisplay_widget): ditto.
8853         (x_button_redisplay): ditto.
8854         (x_progress_gauge_redisplay): ditto.
8855         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
8856         stacking order.
8857         (console_type_create_glyphs_x): update -> redisplay.
8858         (image_instantiator_format_create_glyphs_x): ditto.
8859
8860         * glyphs-widget.c:
8861         (check_valid_instantiator): disallow glyphs in the instantiator,
8862         they must now be vectors.
8863         (check_valid_instantiator_list): ditto.
8864         (glyph_instantiator_to_glyph): use internal symbol rather than
8865         intern.
8866         (widget_update): renamed from widget_set_property. Call cascaded
8867         update methods.
8868         (redisplay_widget): renamed from update_widget.
8869         (widget_layout): image_instance_layout now takes position as well
8870         as size.
8871         (widget_normalize): ditto.
8872         (widget_instantiate): ditto.
8873         (tab_control_query_geometry) ditto.:
8874         (tab_control_update): renamed from tab_control_set_property.
8875         (progress_gauge_update): set_property -> update.
8876         (layout_normalize): rewrite so that child instantiators are
8877         normalized also.
8878         (layout_update): new function. Create glyphs from the normalized
8879         children and cope with any other layout keywords. We do not
8880         instantiate children here that will be take care of by
8881         redisplay_output_layout.
8882         (layout_instantiate): call layout_update and not much else.
8883         (layout_post_instantiate): not sure whether this is needed
8884         anymore.
8885         (layout_query_geometry): query glyph geometry rather than
8886         image_instance geometry.
8887         (layout_layout): set offsets from pass in parameters. Use glyph
8888         geometry and layout functions rather than image instance ones.
8889         (native_layout_layout): ditto.
8890         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
8891         (image_instantiator_widget): set_property -> update.
8892         (image_instantiator_buttons): ditto.
8893         (image_instantiator_progress_guage): ditto.
8894         (image_instantiator_tab_control): ditto.
8895         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
8896         (image_instantiator_layout): add update method.
8897
8898         * glyphs-msw.c (bmp_normalize):
8899         (mswindows_resource_normalize): add dest_mask so that it can be
8900         proprogated by layout_normalize.
8901         (begin_defer_window_pos): make optional because it may not be the
8902         right thing to do and it introduces differences with X.
8903         (mswindows_unmap_subwindow): ditto.
8904         (mswindows_map_subwindow): ditto.
8905         (mswindows_redisplay_subwindow): renamed from
8906         mswindows_update_subwindow.
8907         (mswindows_redisplay_widget): ditto.
8908         (mswindows_button_redisplay): renamed from
8909         mswindows_button_update. Update is now what the instantiation
8910         function does for a changed instantiator.
8911         (mswindows_progress_gauge_instantiate): set the progress value
8912         here if appropriate.
8913         (mswindows_tab_control_redisplay): cope with re-ordering of the
8914         members of the tab widget by simply selecting the new top
8915         widget. This makes things appear ok if you click on a tab.
8916         (mswindows_combo_box_instantiate): image_instance_layout now takes
8917         position as well as size.
8918         (mswindows_progress_gauge_redisplay): renamed from
8919         mswindows_progress_gauge_update.
8920         (console_type_create_glyphs_mswindows): fix update -> redisplay.
8921         (image_instantiator_format_create_glyphs_mswindows): ditto.
8922
8923         * glyphs-eimage.c (jpeg_normalize):
8924         (gif_normalize):
8925         (png_normalize):
8926         (tiff_normalize): add dest_mask so that it can be proprogated by
8927         layout_normalize.
8928
8929         * elhash.c:
8930         (print_hash_table):
8931         (hash_table_weakness_validate):
8932         (decode_hash_table_weakness):
8933         (Fhash_table_weakness):
8934         (Fhash_table_type):
8935         (syms_of_elhash): use Ben's naming scheme for hashtable types..
8936
8937         * console.h (struct console_methods): move update_* to
8938         redisplay_*.
8939
8940 2000-07-20  Ben Wing  <ben@xemacs.org>
8941
8942         * *.[ch] (XSETOBJ): remove unused middle argument.
8943         lisp-disunion.h: correct wrap_object() to one argument.
8944
8945 2000-07-15  Ben Wing  <ben@xemacs.org>
8946
8947         * s/cygwin32.h:
8948         * s/cygwin32.h (CYGWIN_CONV_PATH):
8949         Add missing logb prototype for v1.1.
8950         Use post-b20 names and alias to pre-b20 names when pre-b20.
8951
8952         * s/windowsnt.h: [5].
8953
8954 2000-07-15  Ben Wing  <ben@xemacs.org>
8955
8956         * Makefile.in.in (x_objs):
8957         * Makefile.in.in (sheap_objs):
8958         * Makefile.in.in (objs):
8959         added win32.o, cosmetic cleanups.
8960
8961         * alloc.c (Fmake_byte_code):
8962         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
8963         etc. macros which declare their own args now.
8964
8965         * alloc.c (syms_of_alloc):
8966         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
8967
8968         * buffer.c:
8969         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
8970
8971         * buffer.c (Fget_file_buffer):
8972         Fixed GCPRO problem.
8973
8974         * buffer.c (get_truename_buffer):
8975         Fixed comment about GC checking.
8976
8977         * buffer.c (syms_of_buffer):
8978         Undeclared those dedicated frame funs.
8979         [2].
8980
8981         * buffer.h:
8982         Define convenience macros for internal/external conversions.
8983         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
8984         and Qenvironment_variable_encoding for cleaner code.
8985
8986         * bufslots.h:
8987         Remove dedicated-frame; in lisp.
8988
8989         * bytecode.c (funcall_compiled_function):
8990         [1].
8991
8992         * bytecode.c (syms_of_bytecode):
8993         [2].
8994
8995         * console-msw.c:
8996         * console-msw.c (mswindows_show_console): Rewrote.
8997
8998         * console-msw.c (Fmswindows_debugging_output): New.
8999         Sends to OutputDebugString (special MSWin debugger interface).
9000
9001         * console-msw.c (Fmswindows_message_box):
9002         Fixed stupid bugs so it works when called from kill-emacs.
9003
9004         * console-msw.c (syms_of_console_mswindows):
9005         Declare Fmswindows_debugging_output.
9006
9007         * console-msw.h:
9008         New MSWin prototypes.
9009
9010         * console-msw.h (struct mswindows_frame):
9011         New entry last-click-mods for improved button-modifier support.
9012
9013         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9014         New struct entry `popup' with corresponding accessor.
9015
9016         * console-x.c:
9017         * console-x.c (split_up_display_spec):
9018         * console-x.c (get_display_arg_connection):
9019         * console-x.c (x_semi_canonicalize_console_connection):
9020         * console-x.c (x_canonicalize_device_connection):
9021         [[[6]]]: Change char to more specific type.
9022         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9023
9024         * console-x.c (x_semi_canonicalize_console_connection):
9025         * console-x.c (x_canonicalize_device_connection):
9026         [[[9]]]: Fix up error signalling to use new structured error system.
9027
9028         * console-x.h:
9029         [[[4]]]: Define codesys aliases:
9030         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9031         Qx_color_name_encoding, Qx_display_name_encoding.
9032
9033         * console.h (struct console_methods):
9034         New method make_dialog_box_internal supersedes older
9035         popup_dialog_box method.
9036
9037         * data.c:
9038         Define many new errors, part of new structured errors.
9039
9040         * data.c (init_errors_once_early):
9041         * data.c (syms_of_data):
9042         [2].
9043
9044         * device-msw.c (mswindows_init_device):
9045         [[[5]]]: Cleanup to support NT 3.51.
9046
9047         * device-msw.c (decode_devmode): Cleanup.
9048
9049         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9050         * device-msw.c (mswindows_handle_print_dialog_box):
9051         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9052         * device-msw.c (syms_of_device_mswindows):
9053         Delete the dialog box primitives recently introduced by Kirill and
9054         instead interface to general dialog box interface.
9055
9056         * device-x.c:
9057         * device-x.c (compute_x_app_name):
9058         * device-x.c (x_init_device):
9059         * device-x.c (Fx_valid_keysym_name_p):
9060         * device-x.c (Fx_set_font_path):
9061         [6].
9062         [7].
9063
9064         * device.h (wrap_device): New.
9065         First of its kind; meant to replace XSETDEVICE.
9066
9067         * dialog-msw.c: Many file-dialog symbols.
9068
9069         * dialog-msw.c (mswindows_register_popup_frame): New.
9070         * dialog-msw.c (mswindows_is_dialog_msg): New.
9071         For supporting kbd traversal in dialog boxes.
9072
9073         * dialog-msw.c (dialog_proc):
9074         Support hitting ESC in dialogs.
9075
9076         * dialog-msw.c (struct):
9077         Common dialog box errors.
9078
9079         * dialog-msw.c (handle_file_dialog_box): New.
9080         Add file dialog code.
9081
9082         * dialog-msw.c (handle_question_dialog_box):
9083         Redo existing code to support new question dialog syntax.
9084
9085         * dialog-msw.c (console_type_create_dialog_mswindows):
9086         We support new dialog console method.
9087
9088         * dialog-msw.c (syms_of_dialog_mswindows):
9089         * dialog-msw.c (vars_of_dialog_mswindows):
9090         New file dialog symbols, vars.
9091
9092         * dialog-x.c:
9093         * dialog-x.c (maybe_run_dbox_text_callback):
9094         * dialog-x.c (dbox_descriptor_to_widget_value):
9095         * dialog-x.c (x_make_dialog_box_internal):
9096         * dialog-x.c (console_type_create_dialog_x):
9097         Mule-ize entire file.
9098         Redo to support question dialog syntax.
9099         [6].
9100
9101         * dialog.c:
9102         * dialog.c (Fmake_dialog_box_internal):
9103         * dialog.c (syms_of_dialog):
9104         Kill old popup-dialog-box, replace with new primitive.
9105         Just call device method or signal error.
9106
9107         * eldap.c (Fldap_open):
9108         * eldap.c (Fldap_search_basic):
9109         * eldap.c (Fldap_add):
9110         * eldap.c (Fldap_modify):
9111         [1].
9112         [7].
9113
9114         * emacs.c:
9115         * emacs.c (make_arg_list_1):
9116         * emacs.c (make_arg_list):
9117         Mule-ize call to dll_init().
9118         [6].
9119         [8].
9120
9121         * emacs.c (make_argc_argv):
9122         * emacs.c (free_argc_argv):
9123         * emacs.c (init_cmdargs):
9124         * emacs.c (main_1):
9125         * emacs.c (Fkill_emacs):
9126         * emacs.c (Fdump_emacs):
9127         Update comments about what can be used in syms_* etc.
9128         Call init_win32() when necessary.
9129         Fix up MS Win dialog box in kill-buffer to actually work right.
9130         [7].
9131
9132         * eval.c:
9133         * eval.c (For):
9134         * eval.c (Fand):
9135         * eval.c (Fprogn):
9136         * eval.c (Fprog1):
9137         * eval.c (Fprog2):
9138         * eval.c (FletX):
9139         * eval.c (Flet):
9140         * eval.c (condition_case_3):
9141         * eval.c (Feval):
9142         * eval.c (function_argcount):
9143         * eval.c (funcall_lambda):
9144         [1].
9145
9146         * eval.c (type_error): New.
9147         * eval.c (maybe_type_error): New.
9148         * eval.c (continuable_type_error): New.
9149         * eval.c (maybe_continuable_type_error): New.
9150         * eval.c (type_error_with_frob): New.
9151         * eval.c (maybe_type_error_with_frob): New.
9152         * eval.c (continuable_type_error_with_frob): New.
9153         * eval.c (maybe_continuable_type_error_with_frob): New.
9154         New functions for use with structured errors.
9155
9156         * event-Xt.c:
9157         * event-Xt.c (x_event_to_emacs_event):
9158         Buttons are now modifiers too.
9159
9160         * event-Xt.c (emacs_Xt_current_event_timestamp):
9161         Implement new event method.
9162         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9163
9164         * event-msw.c:
9165         * event-msw.c (ntpipe_shove_writer): [5].
9166         * event-msw.c (mswindows_enqueue_mouse_button_event):
9167         * event-msw.c (mswindows_drain_windows_queue):
9168         * event-msw.c (mswindows_wnd_proc): [7].
9169         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9170         * event-msw.c (mswindows_modifier_state):
9171         Throughout: support new button modifiers.
9172
9173         * event-msw.c (emacs_mswindows_current_event_timestamp):
9174         Implement new event method.
9175         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9176
9177         * event-stream.c:
9178         * event-stream.c (event_stream_current_event_timestamp): New.
9179         * event-stream.c (maybe_kbd_translate): New functionality.
9180         * event-stream.c (vars_of_event_stream):
9181         Document new kbd-translate-table functionality.
9182
9183         * event-stream.c (Fcurrent_event_timestamp): New.
9184         New primitive for use in fabricated events.
9185         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9186
9187         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9188
9189         * events.c:
9190         * events.c (Fmake_event):
9191         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9192         [1].
9193         [9].
9194
9195         * events.c (format_event_object): fix gcc warnings.
9196
9197         * events.c (Fevent_timestamp): Document new primitives.
9198
9199         * events.c (TIMESTAMP_HALFSPACE): New.
9200
9201         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9202         comparing timestamps correctly (half-space algorithm).
9203
9204         * events.c (Fevent_modifier_bits): Doc fix.
9205
9206         * events.c (Fevent_modifiers): Major doc addition.
9207         * events.c (event_x_y_pixel_internal): Typo fix.
9208         * events.c (syms_of_events): Declare new primitives.
9209
9210         * events.h:
9211         Update long comment for button modifiers, timestamps.
9212
9213         * events.h (struct event_stream):
9214         New current_event_timestamp method.
9215
9216         * extents.c:
9217         * extents.c (extent_in_region_p):
9218         * extents.c (decode_extent):
9219         * extents.c (Fset_extent_parent):
9220         * extents.c (decode_map_extents_flags):
9221         Fix gcc warnings.
9222         [9].
9223
9224         * extents.c (struct extent_at_arg):
9225         * extents.c (decode_extent_at_flag):
9226         * extents.c (extent_at_mapper):
9227         * extents.c (extent_at_bytind):
9228         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9229         * extents.c (Fextents_at): New primitive. [9].
9230         * extents.c (symbol_to_glyph_layout): [9].
9231         Support new primitive `extents-at'.
9232
9233
9234         * extents.c (get_text_property_bytind):
9235         extent_at_bytind has another arg.
9236         [9].
9237
9238         * extents.c (syms_of_extents): New primitive.
9239
9240         * file-coding.c (Fmake_coding_system): [1].
9241         * file-coding.c (subsidiary_coding_system): fix gcc warning
9242         * file-coding.c (syms_of_file_coding): [2].
9243
9244         * fileio.c (Fexpand_file_name):
9245         * fileio.c (Fsysnetunam):
9246         * fileio.c (Ffile_exists_p):
9247         * fileio.c (Ffile_executable_p):
9248         * fileio.c (Fverify_visited_file_modtime):
9249         Clean up GCPROing.
9250
9251         * fileio.c (syms_of_fileio): [2].
9252
9253         * filelock.c (lock_file_1):
9254         * filelock.c (current_lock_owner):
9255         * filelock.c (lock_if_free):
9256         * filelock.c (lock_file):
9257         * filelock.c (unlock_file):
9258         Clean up GCPROing.
9259
9260         * fns.c (concat): Fix gcc warning.
9261
9262         * fns.c (Fmember):
9263         * fns.c (Fold_member):
9264         * fns.c (Fmemq):
9265         * fns.c (Fold_memq):
9266         * fns.c (memq_no_quit):
9267         * fns.c (Fassoc):
9268         * fns.c (Fold_assoc):
9269         * fns.c (Fassq):
9270         * fns.c (Fold_assq):
9271         * fns.c (assq_no_quit):
9272         * fns.c (Frassoc):
9273         * fns.c (Fold_rassoc):
9274         * fns.c (Frassq):
9275         * fns.c (Fold_rassq):
9276         * fns.c (rassq_no_quit):
9277         * fns.c (Fdelete):
9278         * fns.c (Fold_delete):
9279         * fns.c (Fdelq):
9280         * fns.c (Fold_delq):
9281         * fns.c (delq_no_quit):
9282         * fns.c (Fremassoc):
9283         * fns.c (Fremassq):
9284         * fns.c (remassq_no_quit):
9285         * fns.c (Fremrassoc):
9286         * fns.c (Fremrassq):
9287         * fns.c (remrassq_no_quit):
9288         * fns.c (Freverse):
9289         * fns.c (mapcar1):
9290         [1].
9291
9292         * frame-msw.c (mswindows_init_frame_1):
9293         * frame-msw.c (mswindows_delete_frame):
9294         Register popups with dialog code so keyboard traversing works.
9295
9296         * frame-tty.c (tty_raise_frame_no_select): [1].
9297
9298         * frame-x.c:
9299         * frame-x.c (x_set_frame_text_value):
9300         * frame-x.c (x_set_frame_properties):
9301         * frame-x.c (x_create_widgets):
9302         [7].
9303
9304         * frame.c:
9305         * frame.c (Fmouse_pixel_position): Minor doc fixes.
9306
9307         * frame.h (wrap_frame): New.
9308         Macro like wrap_device.
9309
9310         * general.c:
9311         * general.c (SYMBOL):
9312         * general.c (syms_of_general):
9313         Major reorg.  This is now just a wrapper and symbols themselves
9314         are listed in general-slots.h.
9315
9316         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
9317         * glyphs-msw.c (mswindows_resource_instantiate): [5].
9318
9319         * glyphs-msw.c (mswindows_native_layout_instantiate):
9320         Add DS_CONTROL so keyboard traversal will work.
9321
9322         * glyphs-widget.c:
9323         * glyphs-widget.c (syms_of_glyphs_widget):
9324         Move some symbols to general-slots.h.
9325
9326         * glyphs-x.c:
9327         * glyphs-x.c (xbm_instantiate_1):
9328         * glyphs-x.c (x_xbm_instantiate):
9329         * glyphs-x.c (x_xface_instantiate):
9330         * glyphs-x.c (autodetect_instantiate):
9331         * glyphs-x.c (cursor_font_instantiate):
9332         * glyphs-x.c (x_update_widget):
9333         * glyphs-x.c (x_widget_instantiate):
9334         * glyphs.c (bitmap_to_lisp_data):
9335         * glyphs.c (pixmap_to_lisp_data):
9336         [7].
9337
9338         * glyphs.c (syms_of_glyphs):
9339         [2].
9340
9341         * gui-x.c:
9342         * gui-x.c (print_widget_value):
9343         * gui-x.c (menu_separator_style_and_to_external):
9344         * gui-x.c (add_accel_and_to_external):
9345         * gui-x.c (button_item_to_widget_value):
9346         * gui-x.c (gui_items_to_widget_values_1):
9347         * gui-x.c (gui_items_to_widget_values):
9348         * gui-x.c (syms_of_gui_x):
9349         * gui-x.c (vars_of_gui_x):
9350         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
9351         [9].
9352
9353         * gui-x.h:
9354         Muleize, prototype changes matching gui-x.c.
9355
9356         * gui.c:
9357         * gui.c (separator_string_p):
9358         * gui.c (gui_item_add_keyval_pair):
9359         * gui.c (make_gui_item_from_keywords_internal):
9360         * gui.c (signal_too_long_error):
9361         * gui.c (parse_gui_item_tree_item):
9362         * gui.c (syms_of_gui):
9363         * gui.c (vars_of_gui):
9364         * gui.h:
9365         menu-no-selection-hook moved here (used by MSWin).
9366         Move some symbols to general-slots.h.
9367         [6].
9368         [9].
9369
9370         * insdel.c (get_buffer_pos_char):
9371         * insdel.c (get_buffer_range_char):
9372         Add GC comments.
9373
9374         * keymap.c (keymap_lookup_directly):
9375         * keymap.c (keymap_store):
9376         * keymap.c (ensure_meta_prefix_char_keymapp):
9377         * keymap.c (describe_map):
9378         * keymap.h:
9379         Support new button modifiers.
9380
9381         * lisp-disunion.h (wrap_object):
9382         * lisp-disunion.h (XSETOBJ):
9383         Rename make_obj to wrap_object.
9384
9385         * lisp-union.h:
9386         * lisp-union.h (make_int):
9387         * lisp-union.h (make_char):
9388         Support wrap_object.
9389
9390         * lisp.h:
9391         * lisp.h (LIST_LOOP):
9392         * lisp.h (EXTERNAL_LIST_LOOP):
9393         * lisp.h (LIST_LOOP_2):
9394         * lisp.h (EXTERNAL_LIST_LOOP_1):
9395         * lisp.h (EXTERNAL_LIST_LOOP_2):
9396         * lisp.h (EXTERNAL_LIST_LOOP_3):
9397         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
9398         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9399         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
9400         * lisp.h (EXTERNAL_ALIST_LOOP_5):
9401         * lisp.h (EXTERNAL_ALIST_LOOP_6):
9402         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
9403         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
9404         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
9405         * lisp.h (struct Lisp_Symbol):
9406         * lisp.h (maybe_continuable_error_with_frob):
9407         Fix up section comments.
9408         Add new types for char to indicate usage.
9409         Delete symbols auto-generated from general-slots.h.
9410         Add prototypes for structured error functions.
9411         Add long comments describing looping macros and change interface
9412         so that lvalues are automatically declared.
9413         Add NO_DECLARE macro in case callers want to declare lvalues
9414         themselves.
9415
9416         * lread.c (read_syntax_error):
9417         * lread.c (continuable_read_syntax_error):
9418         * lread.c (read_structure):
9419         * lread.c (sequence_reader):
9420         * lread.c (read_list_conser):
9421         * lread.c (read_compiled_function):
9422         Rename syntax_error and continuable_syntax_error to avoid clash
9423         with same-named structured error functions.
9424
9425         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9426         * menubar-msw.c (populate_menu_add_item):
9427         * menubar-msw.c (populate_or_checksum_helper):
9428         [5].
9429         [9].
9430
9431         * menubar-x.c:
9432         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9433         Mule-ize whole file.
9434
9435         * menubar.c (Fnormalize_menu_item_name): Add optimization.
9436
9437         * mule-charset.c (Fmake_charset):
9438         * mule-wnnfns.c (Fwnn_set_param):
9439         [1].
9440
9441         * ntproc.c (create_child):
9442         * ntproc.c (Fwin32_set_current_locale):
9443         Add comments portending doom.
9444
9445         * objects-msw.c:
9446         * objects-msw.c (old_font_enum_callback_2):
9447         * objects-msw.c (font_enum_callback_1):
9448         * objects-msw.c (mswindows_enumerate_fonts):
9449         [5].
9450
9451         * objects-x.c:
9452         * objects-x.c (allocate_nearest_color):
9453         * objects-x.c (x_parse_nearest_color):
9454         * objects-x.c (x_initialize_color_instance):
9455         * objects-x.c (x_print_color_instance):
9456         * objects-x.c (x_finalize_color_instance):
9457         * objects-x.c (x_valid_color_name_p):
9458         * objects-x.c (x_initialize_font_instance):
9459         * objects-x.c (x_print_font_instance):
9460         * objects-x.c (valid_x_font_name_p):
9461         * objects-x.c (truename_via_FONT_prop):
9462         * objects-x.c (truename_via_random_props):
9463         * objects-x.c (truename_via_XListFonts):
9464         * objects-x.c (x_font_truename):
9465         * objects-x.c (x_font_instance_truename):
9466         * objects-x.c (x_font_instance_properties):
9467         * objects-x.c (x_list_fonts):
9468         * objects-x.c (x_find_charset_font):
9469         Mule-ize entire file.
9470         [7].
9471
9472         * objects-x.h:
9473         Mule-verify.
9474
9475         * print.c:
9476         * print.c (std_handle_out_external):
9477         * print.c (debug_print_no_newline):
9478         * print.c (syms_of_print):
9479         Output to all debugger kinds in debug-print.
9480         Fix console-output code under MSWin to actually work.
9481
9482         * process-nt.c (send_signal):
9483         * process-nt.c (nt_create_process):
9484         Use newer Unicode macros.
9485
9486         * process-unix.c (unix_create_process):
9487         * process-unix.c (unix_canonicalize_host_name):
9488         * process-unix.c (unix_open_network_stream):
9489         [7].
9490
9491         * scrollbar-x.c:
9492         Mule-verify.
9493
9494         * search.c (syms_of_search):
9495         [2].
9496
9497         * select-msw.c (mswindows_destroy_selection):
9498         Use LIST_LOOP_2.
9499
9500         * select-x.c (symbol_to_x_atom):
9501         [7].
9502
9503         * select.c (syms_of_select):
9504         [2].
9505
9506         * sound.c (Fplay_sound_file):
9507         [7].
9508
9509         * specifier.c:
9510         * specifier.c (decode_specifier_type):
9511         * specifier.c (Fvalid_specifier_locale_type_p):
9512         * specifier.c (check_valid_locale_or_locale_type):
9513         * specifier.c (decode_locale):
9514         * specifier.c (decode_locale_type):
9515         * specifier.c (decode_locale_list):
9516         * specifier.c (check_valid_domain):
9517         * specifier.c (decode_specifier_tag_set):
9518         * specifier.c (Fcanonicalize_tag_set):
9519         * specifier.c (Fdefine_specifier_tag):
9520         * specifier.c (Fspecifier_tag_predicate):
9521         * specifier.c (check_valid_inst_list):
9522         * specifier.c (check_valid_spec_list):
9523         * specifier.c (decode_how_to_add_specification):
9524         * specifier.c (check_modifiable_specifier):
9525         * specifier.c (specifier_add_spec):
9526         * specifier.c (boolean_validate):
9527         * specifier.c (display_table_validate):
9528         [9].
9529
9530         * specifier.c (syms_of_specifier):
9531         Move some symbols to general-slots.h.
9532         [2].
9533
9534         * symbols.c:
9535         * symbols.c (Fmapatoms):
9536         * symbols.c (Fapropos_internal):
9537         Add GCPROs.
9538
9539         * symbols.c (set_default_buffer_slot_variable):
9540         * symbols.c (set_default_console_slot_variable):
9541         [1].
9542
9543         * symbols.c (defsymbol_massage_name_1):
9544         * symbols.c (defkeyword_massage_name):
9545         * symbols.c (deferror_1):
9546         * symbols.c (deferror):
9547         * symbols.c (deferror_massage_name_and_message):
9548         * symeval.h:
9549         * symeval.h (DEFSYMBOL):
9550         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
9551
9552         * symbols.c (syms_of_symbols):
9553         [2].
9554
9555         * symsinit.h:
9556         * symsinit.h (init_win32): New.
9557         Also new is syms_of_dialog_mswindows.
9558
9559         * syswindows.h:
9560         Add new Unicode macros, missing Cygwin wide-char functions,
9561         convenience conversion macros for Qmswindows_tstr, macros for
9562         encapsulating required MSWin <-> Cygwin filename conversions,
9563         prototype for dynamically-extracted (not in NT 3.51) functions.
9564
9565         * toolbar-x.c:
9566         Mule-verify.
9567
9568         * tooltalk.c (Fadd_tooltalk_message_arg):
9569         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
9570         * tooltalk.c (Fadd_tooltalk_pattern_arg):
9571         [7].
9572
9573         * tooltalk.c (syms_of_tooltalk):
9574         [2].
9575
9576         * unexnt.c:
9577         * unexnt.c (unexec):
9578         Fix up headers, declaration of unexec() to be more standard.
9579
9580 2000-07-20  Martin Buchholz  <martin@xemacs.org>
9581
9582         * offix.h: Revert change to guard macros - they're used in offix.c!
9583
9584 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9585
9586         * lisp.h: Defsubred Fdelete.
9587
9588         * console-msw.h:  (msprinter_default_printer): Added.
9589
9590         * console-msw.c (msprinter_canonicalize_console_connection):
9591         (msprinter_canonicalize_device_connection): Added.
9592
9593         * device-msw.c (msprinter_default_printer):
9594         (Fmswingows_get_default_printer):
9595         (signal_enum_priner_error):
9596         (Fmswingows_printer_list): Added.
9597
9598 2000-07-19  Martin Buchholz <martin@xemacs.org>
9599
9600         * XEmacs 21.2.35 is released.
9601
9602 2000-07-19  Martin Buchholz  <martin@xemacs.org>
9603
9604         * select-x.c (x_handle_selection_request):
9605         Text selected in xemacs and pasted into xterm failed to appear.
9606         Spelling fixes and cosmetic changes.
9607
9608 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9609
9610         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
9611         XEmacs frame (fix for doubling chars in dialog boxes).
9612
9613 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9614
9615         * select.c (select_convert_in, select_convert_out):
9616         Don't call intern() every time.
9617
9618         * select.c (Qselect_convert_in, Qselect_convert_out): New.
9619         * select.c (vars_of_select): Initialise them.
9620
9621 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9622
9623         * select.c (selection-coercible-types): New.
9624
9625         * select.c (own-selection-internal):
9626         * select.c (get-selection-internal):
9627         MULE bug fix - these should default to COMPOUND_TEXT and not
9628         STRING for MULE. I think.
9629
9630         * select.c (select_convert_out): Use selection-coercible-types
9631         to find types that we can attempt to perform coercions on.
9632
9633 2000-07-18  Martin Buchholz  <martin@xemacs.org>
9634
9635         * mule-wnnfns.c:
9636         * mule-canna.c:
9637         Add coding: cookie to identify encoding.
9638
9639         * mule-canna.c (CANNA_mode_keys): make static.
9640         Use proper prototypes, even for functions of no arguments.
9641         Remove external prototype for Fding().
9642
9643         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
9644
9645         * select.c (syms_of_select): Add missing DEFSUBR.
9646
9647 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9648
9649         * select.c (get_selection_internal, own_selection_internal):
9650         Make the type default to STRING, rather than placing a nil type
9651         into Vselection_alist.
9652
9653 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9654
9655         * gpmevent.c (tty_selection_exists_p):
9656         * gpmevent.c (tty_own_selection):
9657         Updated parameter lists.
9658
9659 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
9660
9661         * select.h (selection-alist): Removed declaration.
9662
9663         * select.h (get_local_selection):
9664         * select.c (get_local_selection):
9665         Made static.
9666
9667         * select.h (convert_selection): Removed declaration.
9668         * select.c (convert_selection): Removed.
9669         This function belongs in Lisp.
9670
9671         * select.h (select_convert_in): Declare.
9672         * select.h (select_convert_out): Declare.
9673         * select.c (select_convert_in): New.
9674         * select.c (select_convert_out): New.
9675         New conversion functions for other files to call.
9676
9677         * select.h (select_notify_buffer_kill): Declare.
9678         * select.c (select_notify_buffer_kill): New.
9679         New functions that get called from kill-buffer.
9680
9681         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
9682         X-specific lisp code.
9683
9684         * select.h: Declare some of the lisp-visible functions for
9685         external use.
9686
9687         * select.c (clean_local_selection_data): Removed. This was
9688         a disgusting function, and previously should have been in
9689         select-x.c in any case. The functionality is now provided
9690         in select-convert-from-integer (select.el).
9691
9692         * select.c (available-selection-types): Fixed stupidity where
9693         INTEGER and ATOM got added twice. Also add STRING when we see an
9694         extent.
9695
9696         * select.c (get-selection-internal): Removed symbol stripping. No
9697         longer causes conversion when data comes from the internal cache.
9698
9699         * select.c (syms_of_select): Added new functions.
9700
9701         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
9702         error checking - previously this called abort!
9703
9704         * select-x.c (x_own_selection): Changed comment.
9705
9706         * select-x.c (x_handle_selection_request): Use select_convert_out.
9707         Don't mess with selection-alist; it's an internal variable of select.c.
9708
9709         * select-x.c (x_get_foreign_selection): Use select_convert_in.
9710
9711         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
9712         rather than messing with selection-alist.
9713
9714         * select-msw.c (mswindows_get_foreign_selection):
9715         Use TO_INTERNAL_FORMAT rather than hacking.
9716
9717 2000-07-14  Martin Buchholz  <martin@xemacs.org>
9718
9719         * process-unix.c (unix_open_multicast_group):
9720         (unix_open_multicast_group): Remove useless casts.
9721
9722 2000-07-13  Martin Buchholz  <martin@xemacs.org>
9723
9724         * sound.c (Fplay_sound): Fix `unused variable' warning.
9725
9726         * emacs.c (main): Use correct type for _environ on SCO5.
9727
9728 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
9729
9730         * console.h (own_selection_method):
9731         * console.h (selection_exists_p_method):
9732         * console.h (available_selection_types_method): New.
9733         * console.h (register_selection_data_type_method): New.
9734         * console.h (selection_data_type_name): New.
9735
9736         * console-msw.h (mswindows_destroy_selection): Declare it.  New
9737         function & alist to track GlobalAlloc()'d handles that need
9738         releasing when the clipboard data gets replaced or emptied.
9739
9740         * event-msw.c (mswindows_wnd_proc): Call it.
9741
9742         * lisp.h, general.c (Qappend): New symbol representing a
9743         `how-to-add' mode.
9744
9745         * select.c (own-selection-internal):
9746         * select.c (selection-exists-p):
9747         * select.c (available-selection-types): New.
9748         * select.c (register-selection-data-type): New.
9749         * select.c (selection-data-type-name): New.  New functions to deal
9750         with device-specific selection data formats.
9751         * select.c (selection-converter-out-alist): Renamed.
9752         * select.c (selection-converter-in-alist): New.
9753         * select.c (selection-appender-alist): New.  Added new alists.
9754         * select.c (syms_of_select, vars_of_select): Added new symbols &
9755         variables.
9756         * select.c (get_local_selection): Split.
9757         * select.c: Removed spurious type checking - selections may now be
9758         of any type, not just strings.
9759         * select.c (own-selection-internal):
9760
9761         * select.h, select.c (convert_selection): New. Created
9762         convert_selection() function based on get_local_selection().
9763         * select.h, select.c (QCF_*): New symbols representing mswindows
9764         clipboard formats.
9765         * select.h, select.c (Qreplace_all, Qreplace_existing): New
9766         symbols representing `how-to-add' modes.
9767
9768         * select-msw.c (x_sym_p): New.
9769         * select-msw.c (symbol_to_ms_cf): New.
9770         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
9771         symbols & clipboard formats. Can also handle string names.
9772         * select-msw.c (mswindows_own_selection):
9773         * select-msw.c (mswindows_selection_exists_p):
9774         Added `data-type' parameter. Use it.
9775         * select-msw.c (mswindows_available_selection_types): New.
9776         * select-msw.c (mswindows_register_selection_data_type): New.
9777         * select-msw.c (mswindows_selection_data_type_name): New.
9778         * select-msw.c (mswindows_own_selection):
9779         * select-msw.c (mswindows_get_foreign_selection):
9780         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
9781         * select-msw.c (console_create_select_mswindows): Added new methods.
9782         * select-msw.c (mswindows_destroy_selection): New.
9783         * select-msw.c (Vhandle_alist): New list.
9784         * select-msw.c (mswindows_own_selection):
9785
9786         * select-x.c (x_own_selection):
9787         * select-x.c (x_selection_exists_p):
9788         * select-x.c: Added some comments about maybe using new
9789         functionality.
9790         * select-x.c (x_own_selection):
9791
9792         * specifier.c: Remove definition of Qappend (now in general.c)
9793         * specifier.c (syms_of_specifier): Remove Qappend.
9794
9795 2000-07-12  Martin Buchholz  <martin@xemacs.org>
9796
9797         * config.h.in: Add socklen_t.
9798
9799         * s/decosf4-0.h: No special compiler flags needed or desired.
9800         In particular, undefine _BSD for DEC OSF 4.0.
9801
9802 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9803
9804         * redisplay-msw.c (msprinter_frame_output_end): Added.
9805         (console_type_create_redisplay_mswindows): Referred the above.
9806
9807         * frame.c (setup_frame_without_minibuffer): Do not create a
9808         default minibuffer frame on a printer device.
9809
9810         * frame-msw.c (apply_dc_geometry): Added.
9811         (msprinter_start_page):
9812         (msprinter_init_frame_3):
9813         (msprinter_eject_page): Use it.
9814
9815         * console-msw.h (struct msprinter_frame): Added pix_left and top,
9816         and removed residual duplex and orientation properties.
9817
9818 2000-07-11  Martin Buchholz  <martin@xemacs.org>
9819
9820         * eval.c (function_argcount): Work around a DEC CC compiler bug.
9821
9822         * unexalpha.c: Remove system prototypes from C sources!
9823
9824 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
9825
9826         * eval.c: Remove references to M-x edit-options in DEFUNs for
9827         `defvar' and `defconst'.
9828
9829 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9830
9831         * config.h.in: Remove SMART_INCLUDE hackery.
9832
9833         PostgreSQL hacking:
9834         * config.h.in: Don't use SMART_INCLUDE.
9835
9836         * postgresql.h: Include libpq-fe.h here.  Fix typo.
9837         * inline.c: Simply #include "postgresql.h"
9838         * postgresql.c:
9839         - Don't use SMART_INCLUDE
9840         - Use simply "const".
9841         - Use standard doc string conventions.
9842         - Use correct type for result of PQstatus.
9843
9844 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9845
9846         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
9847
9848         C++ compilation changes.
9849         * config.h.in (EXTERN_C): Define.
9850         * config.h.in (not): This is also a C++ keyword.
9851         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
9852         * cm.c: Use EXTERN_C.
9853         * redisplay-tty.c: Use EXTERN_C.
9854         * sysdep.c: Use EXTERN_C.  Remove Gould support.
9855
9856 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9857
9858         * general.c: Remove duplicate definition for Qfunction.
9859
9860 2000-07-08  Ben Wing  <ben@xemacs.org>
9861
9862         * device-msw.c (msprinter_init_device):
9863         * device-msw.c (sync_printer_with_devmode):
9864         * device-msw.c (handle_devmode_changes):
9865         * device-msw.c (print_dialog_worker):
9866         * device-msw.c (Fmsprinter_apply_settings):
9867         * device-msw.c (hash_devmode):
9868         * device-msw.c (Fmsprinter_settings_despecialize):
9869         use Qmswindows_tstr, not Qctext.
9870
9871         * vm-limit.c (check_memory_limits):
9872         avoid infinite loop printing warning messages.
9873
9874 2000-07-05  Craig Lanning  <lanning@scra.org>
9875
9876         * Makefile.in.in: Add support for including the Windows resources
9877         when building with the cygwin and mingw targets.
9878
9879         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
9880         not set or not correct.
9881         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
9882         (init_initial_directory): Don't try to use $PWD on the
9883         WIN32_NATIVE target.
9884
9885         * s\cygwin32.h:
9886         [[Add -mwindows to eliminate console window.]] not required --ben
9887         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9888         (MAIL_USE_POP): removed; now handled by configure.
9889
9890         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
9891         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
9892         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9893         (MAIL_USE_POP): removed; now handled by configure.
9894         (ENCAPSULATE_STAT): from Dan Holmsand, added.
9895         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
9896         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
9897         constant string.
9898         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
9899         up from <winsock.h> via systime.h.
9900         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
9901         (getpagesize): from Dan Holmsand, added.
9902         Added #endif which was left dangling by Ben's mega patch; added
9903         comment to help prevent this in the future.
9904
9905         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
9906
9907 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9908
9909         * console-msw.h (struct mswindows_device): Removed unnecessary
9910         cached device geometry values.
9911         Added update_tick and an accessor macro.
9912         (Lisp_Devmode): Added lrecord declaration.
9913         (struct msprinter_device): Contain devmode as a Lisp object.
9914         Added mswindows_get_selected_frame_hwnd();
9915
9916         * console.h (struct console_methods): Indentation nitpicking.
9917
9918         * device-msw.c (mswindows_init_device): Do not initialize geometry
9919         cache. Initialize update tick.
9920         (mswindows_device_system_metrics): Ask the device for its geometry.
9921         (global_free_2_maybe):
9922         (devmode_to_hglobal):
9923         (handle_printer_changes):
9924         (ensure_not_printing):
9925         (print_dialog_worker):
9926         (Fmsprinter_print_setup_dialog):
9927         (Fmsprinter_print_dialog):
9928         (plist_get_margin):
9929         (plist_set_margin):
9930         (Fmsprinter_page_setup_dialog): Added functions.
9931         (sync_printer_with_devmode):
9932         (handle_devmode_changes):
9933         (Fmsprinter_get_settings):
9934         (Fmsprinter_select_settings):
9935         (Fmsprinter_apply_settings):
9936         (allocate_devmode):
9937         (Fmsprinter_settings_copy):
9938         (Fmsprinter_settings_despecialize):
9939         (print_devmode):
9940         (finalize_devmode):
9941         (equal_devmode):
9942         (hash_devmode): Added functions
9943         (syms_of_device_mswindows): Init devmode lrecord class.
9944
9945         * device.h: Added an exfun for find-device.
9946
9947         * event-msw.c (mswindows_wnd_proc): Do not update the cached
9948         geometry; although, recreate the device compatible DC.
9949
9950         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
9951         (msprinter_init_frame_3):
9952         (msprinter_frame_property):
9953         (msprinter_internal_frame_property_p):
9954         (msprinter_frame_properties):
9955         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
9956         print job properties (will move to device settings).
9957
9958         * lisp.h: Added symbols.
9959
9960         * general.c (syms_of_general): Declared them.
9961
9962         * hash.c (string_hash): Added.
9963
9964         * lrecord.h (lrecord_type): Added devmode lrecord type.
9965
9966 2000-07-02  Mike Sperber <mike@xemacs.org>
9967
9968         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
9969         FreeBSD 4.0.
9970
9971 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
9972
9973         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
9974         integer.
9975
9976 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
9977
9978         * data.c (Fstring_to_number): Don't recognize floating point if
9979         base is not 10.
9980
9981 2000-06-22  Martin Buchholz  <martin@xemacs.org>
9982
9983         * glyphs-widget.c (tab_control_query_geometry):
9984         (widget_query_geometry):
9985         (button_query_geometry):
9986         * glyphs.c (text_query_geometry):
9987         Enforce type correctness.
9988
9989 2000-06-18  Martin Buchholz  <martin@xemacs.org>
9990
9991         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
9992         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
9993
9994 2000-06-17  Martin Buchholz  <martin@xemacs.org>
9995
9996         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
9997         conflicts with gcc's fixincluded version of FOO.h.
9998
9999         * glyphs.h (image_instance_geometry): Remove trailing `,'
10000
10001 2000-06-08  Mike Alexander  <mta@arbortext.com>
10002
10003         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10004         (shove_thread): Don't write the same output twice
10005         (make_ntpipe_output_stream): Increase priority of shove thread
10006         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10007         chance to run
10008         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10009         it.
10010
10011 2000-06-12  Ben Wing  <ben@xemacs.org>
10012
10013         * s\mingw32.h (sigset):
10014         * s\windowsnt.h (sigset):
10015         rename msw_ to mswindows_ for consistency with general convention.
10016
10017 2000-06-12  Ben Wing  <ben@xemacs.org>
10018
10019         * console-msw.c:
10020         * console-msw.c (mswindows_get_console_hwnd):
10021         * console-msw.c (mswindows_ensure_console_allocated):
10022         * console-msw.c (mswindows_hide_console):
10023         * console-msw.c (mswindows_show_console):
10024         * console-msw.c (mswindows_ensure_console_buffered):
10025         * console-msw.c (mswindows_output_console_string):
10026         * console-msw.c (mswindows_windows9x_p):
10027         * console-msw.h:
10028         * device-msw.c (mswindows_get_workspace_coords):
10029         * device-msw.c (mswindows_device_system_metrics):
10030         * dialog-msw.c (mswindows_popup_dialog_box):
10031         * event-msw.c (mswindows_wnd_proc):
10032         * frame-msw.c (mswindows_size_frame_internal):
10033         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10034         * menubar-msw.c (displayable_menu_item):
10035         * menubar-msw.c (mswindows_char_is_accelerator):
10036         * nt.c:
10037         * nt.c (mswindows_sigset):
10038         * nt.c (mswindows_sigrelse):
10039         * nt.c (mswindows_sigpause):
10040         * nt.c (mswindows_raise):
10041         * nt.c (timer_proc):
10042         * ntproc.c:
10043         * ntproc.c (find_child_console):
10044         * ntproc.c (sys_kill):
10045         * print.c:
10046         * print.c (std_handle_out_external):
10047         * process-nt.c (find_child_console):
10048         * process-nt.c (send_signal_the_95_way):
10049         * process-nt.c (ensure_console_window_exists):
10050         * process-nt.c (nt_create_process):
10051         * syssignal.h:
10052         rename msw_ to mswindows_ for consistency with general convention.
10053
10054         * emacs.c:
10055         * dumper.c:
10056         include nt.h, not syswindows.h.
10057
10058         * nt.c (mswindows_fstat):
10059         * nt.c (mswindows_stat):
10060         prefix mswindows_ instead of attempting to directly override the
10061         library functions.  fix declarations.
10062
10063         * nt.h:
10064         include syswindows.h.  move some sysdep.h stuff here.
10065
10066         * ntheap.h:
10067         include syswindows.h, not <windows.h>.
10068
10069         * ntplay.c:
10070         clean up headers.
10071
10072         * sysdep.c:
10073         clean up headers.
10074
10075         * sysdep.c (sys_fstat):
10076         * sysdep.c (sys_stat):
10077         call mswindows versions when appropriate.
10078
10079         * sysdep.h:
10080         move mswin decls to nt.h.
10081
10082         * syswindows.h:
10083         add long comment describing appropriate use of the various windows
10084         headers.
10085
10086 2000-06-11  Ben Wing  <ben@xemacs.org>
10087
10088         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10089
10090 2000-06-10  Ben Wing  <ben@xemacs.org>
10091
10092         * Makefile.in.in (release):
10093         Correction to make sure xemacs.exe always dumped when correct.
10094
10095         * alloca.c:
10096         * balloon_help.c:
10097         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10098
10099         * buffer.c (set_buffer_internal):
10100         [[[[2]]]]: Remove HAVE_FEP code.
10101
10102         * buffer.c (init_initial_directory):
10103         [3].
10104
10105         * bytecode.c:
10106         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10107         individual files.
10108
10109         * callproc.c:
10110         * callproc.c (call_process_cleanup):
10111         * callproc.c (Fold_call_process_internal):
10112         * callproc.c (child_setup):
10113         * callproc.c (getenv_internal):
10114         * callproc.c (init_callproc):
10115         * callproc.c (vars_of_callproc):
10116         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10117         __CYGWIN32__ -> CYGWIN.
10118         DOS_NT -> WIN32_NATIVE.
10119         Remove MSDOS support/references, converting to WIN32_NATIVE
10120           where correct.
10121         __MINGW32__ -> MINGW.
10122         Fix windows.h includes.
10123         Remove bogus HAVE_NTGUI.
10124
10125         * config.h.in:
10126         [2].
10127
10128         * console-msw.c:
10129         mswindows_message_outputted added for use in allowing startup
10130         errors on the console to be seen.
10131
10132         * console-msw.c (msw_ensure_console_allocated):
10133         * console-msw.c (msw_output_console_string):
10134         * console-msw.c (DHEADER):
10135         * console-msw.c (DOPAQUE_DATA):
10136         * console-msw.c (DEVENT):
10137         * console-msw.c (DCONS):
10138         * console-msw.c (DCONSCDR):
10139         * console-msw.c (DSTRING):
10140         * console-msw.c (DVECTOR):
10141         * console-msw.c (DSYMBOL):
10142         * console-msw.c (DSYMNAME):
10143         Fix warnings.
10144
10145         * console-stream.c (stream_init_console):
10146         Fix text/binary problems.
10147
10148         * device-msw.c:
10149         * device-msw.c (mswindows_finish_init_device):
10150         * device-msw.c (mswindows_delete_device):
10151         [1].
10152
10153         * device.c (handle_asynch_device_change):
10154         [3].
10155
10156         * dgif_lib.c:
10157         * dgif_lib.c (DGifOpenFileName):
10158         * dgif_lib.c (DGifOpenFileHandle):
10159         * dgif_lib.c (DGifGetLine):
10160         * dgif_lib.c (DGifGetPixel):
10161         Added config.h/lisp.h, fix up includes.
10162         [1].
10163
10164         * dired-msw.c:
10165         [4].
10166
10167         * dired.c:
10168         * dired.c (file_name_completion):
10169         * dired.c (Ffile_attributes):
10170         * dired.c (syms_of_dired):
10171         [1].
10172
10173         * dumper.c:
10174         * dumper.c (pdump_file_unmap):
10175         * dumper.c (pdump_load):
10176         [1].
10177
10178         * editfns.c:
10179         * editfns.c (Ftemp_directory):
10180         * editfns.c (user_login_name):
10181         * editfns.c (Fuser_real_login_name):
10182         * editfns.c (get_home_directory):
10183         [1].
10184
10185         * elhash.c (finish_marking_weak_hash_tables):
10186         [[[[5]]]]: Fix GCC warnings.
10187
10188         * emacs.c:
10189         * emacs.c (mswindows_handle_hardware_exceptions):
10190         * emacs.c (make_arg_list_1):
10191         * emacs.c (main_1):
10192         * emacs.c (Fkill_emacs):
10193         * emacs.c (Fdump_emacs):
10194         [1].
10195         Fix problems with nested crashes, add long comment.
10196
10197         * event-Xt.c (init_event_Xt_late):
10198         [1].
10199
10200         * event-msw.c:
10201         * event-msw.c (mswindows_dde_callback):
10202         * event-msw.c (mswindows_handle_sticky_modifiers):
10203         * event-msw.c (mswindows_wnd_proc):
10204         [1].
10205         [5].
10206
10207         * events.c (character_to_event):
10208         [1].
10209
10210         * fileio.c:
10211         * fileio.c (Ffile_name_directory):
10212         * fileio.c (Ffile_name_nondirectory):
10213         * fileio.c (directory_file_name):
10214         * fileio.c (Fexpand_file_name):
10215         * fileio.c (Fsubstitute_in_file_name):
10216         * fileio.c (Ffile_name_absolute_p):
10217         * fileio.c (check_executable):
10218         * fileio.c (Ffile_readable_p):
10219         * fileio.c (Ffile_accessible_directory_p):
10220         * fileio.c (Ffile_modes):
10221         * fileio.c (Funix_sync):
10222         * fileio.c (vars_of_fileio):
10223         [1]. [4].
10224
10225         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10226
10227         Expand getdefdir defn.
10228         Fix bogus rename() comment.
10229
10230         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10231         to use standard XEmacs include files, e.g. sysfile.h, rather
10232         than system-specific includes.
10233
10234         * fns.c:
10235         * fns.c (Fsubseq):
10236         [5]. [6].
10237
10238         * frame.c (vars_of_frame):
10239         [1].
10240
10241         * getloadavg.c:
10242         * getloadavg.c (getloadavg):
10243         [1]. [6].
10244         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10245         (We don't use it elsewhere in the code; just add a comment.)
10246
10247         * gif_io.c:
10248         [6].
10249         Add config.h.
10250
10251         * glyphs-msw.c:
10252         * glyphs-msw.c (mswindows_resource_instantiate):
10253         [1].
10254
10255         * glyphs-x.c (x_native_layout_instantiate):
10256         [5].
10257
10258         * gui-msw.c (Fmswindows_shell_execute):
10259         [1].
10260
10261         * insdel.c:
10262         [4].
10263
10264         * lisp.h:
10265         [4]. [5].
10266
10267         * lread.c (locate_file_in_directory_mapper):
10268         [1].
10269
10270         * lstream.c:
10271         [4].
10272
10273         * mem-limits.h:
10274         * mem-limits.h (get_lim_data):
10275         [1].
10276
10277         * menubar-msw.c:
10278         [4].
10279
10280         * ndir.h:
10281         [1].
10282
10283         * nt.c:
10284         * nt.c (getwd):
10285         * nt.c (closedir):
10286         * nt.c (rva_to_section):
10287         * nt.c (mswindows_executable_type):
10288         [1]. [6].
10289         Fix closedir() defn.
10290
10291         * nt.h:
10292         [[[[8]]]]: *_OK defs moved to sysfile.h.
10293
10294         * ntproc.c:
10295         [6]. [7].
10296
10297         * objects-x.c:
10298         [4].
10299
10300         * print.c:
10301         * print.c (std_handle_out_external):
10302         [1]. [4].
10303
10304         * process-nt.c:
10305         * process-nt.c (nt_create_process):
10306         [6].
10307         try to fix process quoting somewhat.
10308
10309         * process-unix.c (unix_create_process):
10310         [1].
10311
10312         * process.c:
10313         * process.c (vars_of_process):
10314         Add Vnull_device.
10315
10316         * process.h:
10317         [1].
10318
10319         * realpath.c:
10320         * realpath.c (xrealpath):
10321         [1].
10322
10323         * redisplay-tty.c (init_tty_for_redisplay):
10324         [3].
10325
10326         * redisplay.c:
10327         [4]. [6].
10328
10329         * scrollbar-msw.c:
10330         [4].
10331
10332         * sheap.c:
10333         * sheap.c (more_static_core):
10334         * sheap.c (report_sheap_usage):
10335         [5]. [6].
10336
10337         * signal.c:
10338         * signal.c (alarm_signal):
10339         [1]. [6].
10340
10341         * sound.c:
10342         [6].
10343
10344         * strftime.c:
10345         * strftime.c (zone_name):
10346         [1]. [5].
10347
10348         * symsinit.h (init_sunpro):
10349         [1].
10350
10351         * syscommctrl.h:
10352         commctrl.h not in Cygwin b20.1.
10353
10354         * sysdep.c:
10355         * sysdep.c (endif):
10356         * sysdep.c (sys_subshell):
10357         * sysdep.c (init_baud_rate):
10358         * sysdep.c (emacs_get_tty):
10359         * sysdep.c (emacs_set_tty):
10360         * sysdep.c (tty_init_sys_modes_on_device):
10361         * sysdep.c (init_system_name):
10362         * sysdep.c (sys_open):
10363         * sysdep.c (interruptible_open):
10364         * sysdep.c (sys_fopen):
10365         * sysdep.c (sys_mkdir):
10366         * sysdep.c (sys_rename):
10367         * sysdep.c (get_process_times_1):
10368         [1]. [6].
10369
10370         * sysdep.h:
10371         [1].
10372
10373         * sysdir.h:
10374         * sysdir.h (DIRENTRY_NONEMPTY):
10375         [1]. [6].
10376
10377         * sysdll.c (dll_init):
10378         * sysdll.h:
10379         [1].
10380
10381         * sysfile.h:
10382         [1]. [6]. [8].
10383         added text/binary defs.
10384
10385         * sysfloat.h:
10386         [1].
10387
10388         * sysproc.h:
10389         * sysproc.h (EDESTADDRREQ):
10390         * sysproc.h (poll_fds_for_input):
10391         [1]. [6].
10392
10393         * syspwd.h:
10394         [6].
10395
10396         * syssignal.h:
10397         [1].
10398
10399         * systime.h:
10400         [1]. [6].
10401
10402         * systty.h:
10403         [1].
10404
10405         * syswindows.h:
10406         [1].
10407         Always define WIN32_LEAN_AND_MEAN.
10408
10409         * unexcw.c (unexec):
10410         [5].
10411
10412         * unexec.c:
10413         * unexec.c (copy_text_and_data):
10414         * unexec.c (adjust_lnnoptrs):
10415         [1].
10416
10417         * unexnt.c:
10418         * unexnt.c (_start):
10419         [1].
10420
10421 2000-06-07  Ben Wing  <ben@xemacs.org>
10422
10423         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
10424         was used only as a model.  We've long since extracted any useful
10425         logic or code out of this. (I just did an exhaustive search.)
10426
10427         * s\msdos.h: Removed.
10428
10429         * s\windows95.h: Removed.
10430
10431 2000-06-10  Ben Wing  <ben@xemacs.org>
10432
10433         * s\cygwin32.h:
10434         [1]. [5].
10435         Don't use extern with fun defs.
10436
10437         * s\mingw32.h:
10438         [1]. [7].
10439         Remove nt\inc include.
10440         Remove getdisk, getdefdir. (The former is unused, the latter
10441         expanded in fileio.h.)
10442
10443         * s\windowsnt.h:
10444         * s\windowsnt.h (WIN32_NATIVE):
10445         * s\windowsnt.h (HAVE_STRCASECMP):
10446         [1]. [7].
10447         Add long comment about preprocessor changes.
10448         Remove getdisk, getdefdir. (The former is unused, the latter
10449         expanded in fileio.h.)
10450
10451 2000-06-10  Ben Wing  <ben@xemacs.org>
10452
10453         * m\arm.h:
10454         * m\delta.h:
10455         * m\intel386.h:
10456         * m\sequent.h:
10457         * m\template.h:
10458         * m\windowsnt.h:
10459         [1].
10460         Remove bogus/unused NO_SOCK_SIGIO.
10461
10462 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
10463
10464         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
10465         not an Emchar.
10466
10467 2000-06-04  Mike Sperber <mike@xemacs.org>
10468
10469         * casetab.c (set_case_table): For `set-standard-case-table',
10470         actually deposit the new case tables where the rest of XEmacs can
10471         see them.
10472
10473 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
10474
10475         * data.c (Faset): Don't cast XCHAR() to unsigned char.
10476
10477 2000-06-05  Ben Wing  <ben@xemacs.org>
10478
10479         * callproc.c (child_setup): Don't do close_load_descs() under
10480         MS Windows.  Put in a comment explaining why.
10481
10482 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
10483
10484         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
10485         Toolkit shell" which breaks `kill-compilation' on Windows NT
10486         native, retaining STDERR handling improvements.
10487
10488 2000-06-01  Andreas Jaeger  <aj@suse.de>
10489
10490         * s/s390.h: Support for S390, based on a patch by Martin
10491         Schwidefsky <schwidefsky@de.ibm.com>.
10492
10493 2000-05-30  Andy Piper  <andy@xemacs.org>
10494
10495         * window.c (allocate_window):
10496         (make_dummy_parent):
10497         (Fset_window_configuration): use new hashtable type.
10498
10499         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
10500         (struct image_instantiator_methods):
10501         (struct Lisp_Image_Instance): make instance geometry signed.
10502
10503         * glyphs.c (instantiate_image_instantiator):
10504         (image_instance_query_geometry):
10505         (image_instance_layout):
10506         (image_instance_layout):
10507         (query_string_geometry):
10508         (text_query_geometry):
10509         (image_instantiate):
10510         (image_instantiate):
10511         (cache_subwindow_instance_in_frame_maybe):
10512         (subwindow_query_geometry): make instance geometry signed.
10513
10514         * glyphs-widget.c (widget_query_geometry):
10515         (widget_layout):
10516         (button_query_geometry):
10517         (tree_view_query_geometry):
10518         (tab_control_query_geometry):
10519         (layout_query_geometry):
10520         (layout_layout):
10521         (native_layout_layout): make instance geometry signed.
10522
10523 2000-05-29  Olivier Galibert  <galibert@pobox.com>
10524
10525         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
10526         constant.
10527
10528         * general.c (syms_of_general): Add Qfull_assoc symbol.
10529
10530         * data.c (finish_marking_weak_lists): Mark full-assoc lists
10531         correctly.
10532         (decode_weak_list_type): Decode full-assoc type.
10533         (encode_weak_list_type): Encode full-assoc type.
10534         (Fmake_weak_list): Update doc string.
10535
10536 2000-05-30  Andy Piper  <andy@xemacs.org>
10537
10538         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
10539
10540         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
10541         (decode_hash_table_weakness): ditto.
10542         (Fhash_table_weakness): ditto.
10543         (Fhash_table_type): ditto.
10544         (finish_marking_weak_hash_tables): ditto.
10545         (hash_table_weakness_validate): ditto.
10546         (syms_of_elhash): ditto.
10547
10548 2000-05-28  Martin Buchholz <martin@xemacs.org>
10549
10550         * XEmacs 21.2.34 is released.
10551
10552 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10553
10554         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
10555         start cache.
10556         (updating_line_start_cache): Gone.
10557         (regenerate_window): Replace resetting of VERTICAL_CLIP by
10558         generic code to force a minimum of 1 line laid out in the
10559         CMOTION_DISP case.
10560
10561 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10562
10563         * glyphs.c (instantiate_image_instantiator): Check for initialized
10564         height & width no longer special cases IMAGE_NOTHING.
10565         (nothing_instantiate): Set height and width of instance.
10566
10567 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10568
10569         * unexelf.c (unexec): Search for ".data" section.
10570         Initialize new_data2_offset from old_data_index.
10571         Remove redundant check for ElfW.
10572
10573 2000-05-23  Andy Piper  <andy@xemacs.org>
10574
10575         * glyphs.c (get_image_instantiator_governing_domain): allow more
10576         specific domains as the governing domain rather than expecting an
10577         exact match. This fixes problems with layouts.
10578
10579 2000-05-22  Andy Piper  <andy@xemacs.org>
10580
10581         * redisplay-output.c (compare_runes): check for non-images
10582
10583         * glyphs.c (set_glyph_dirty_p): ditto.
10584         (update_glyph_cachel_data): ditto.
10585
10586         * glyphs-widget.c (layout_post_instantiate): ditto.
10587         (layout_post_instantiate): ditto.
10588
10589         * event-msw.c (mswindows_wnd_proc): warning removal.
10590
10591 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
10592
10593         * s\mingw32.h: Added #undef for CLASH_DETECTION.
10594
10595         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
10596
10597         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
10598
10599         * nt.c (rva_to_section): mingw32 needs rva_to_section.
10600         (mswindows_executable_type): mingw32 now has enough headers for
10601         this to work.
10602
10603 2000-05-20  Andy Piper  <andy@xemacs.org>
10604
10605         * console-msw.c (mswindows_output_last_error): ; -> ,
10606
10607 2000-05-12  Andy Piper  <andy@xemacs.org>
10608
10609         * console-msw.c (FROB): compare ints with ints.
10610
10611 2000-05-11  Andy Piper  <andy@xemacs.org>
10612
10613         * glyphs-x.c (x_finalize_image_instance): make minimal build
10614         happy.
10615
10616 2000-05-20  Ben Wing  <ben@xemacs.org>
10617
10618         * event-Xt.c:
10619         * event-Xt.c (vars_of_event_Xt):
10620         move modifier-keys-are-sticky to event-stream.c.
10621
10622         * event-msw.c:
10623         * event-msw.c (mswindows_enqueue_mouse_button_event):
10624         * event-msw.c (key_needs_default_processing_p):
10625         * event-msw.c (XEMSW_LCONTROL):
10626         * event-msw.c (mswindows_handle_sticky_modifiers):
10627         * event-msw.c (FROB):
10628         * event-msw.c (clear_sticky_modifiers):
10629         * event-msw.c (output_modifier_keyboard_state):
10630         * event-msw.c (output_alt_keyboard_state):
10631         * event-msw.c (mswindows_wnd_proc):
10632         * event-msw.c (mswindows_modifier_state):
10633         * event-msw.c (emacs_mswindows_handle_magic_event):
10634         implement sticky modifiers.
10635
10636         * event-stream.c:
10637         * event-stream.c (vars_of_event_stream):
10638         move modifier-keys-are-sticky here.
10639
10640         * lisp.h:
10641         add CHECK_FUNCTION.
10642
10643         * rangetab.c:
10644         implement map-range-table.
10645
10646
10647 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
10648
10649         * redisplay-tty.c (reset_tty_modes):
10650         (tty_redisplay_shutdown): Adjust argument type to
10651         tty_frame_output_end.
10652
10653 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10654
10655         * eval.c (Fbacktrace): Don't output a line with only right
10656         parenthesis.
10657
10658 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
10659
10660         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
10661         (Fpq_reset_poll): Ditto.
10662
10663 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
10664
10665         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
10666
10667 2000-05-16  Ben Wing  <ben@xemacs.org>
10668
10669         * buffer.c:
10670         * buffer.c (dfc_convert_to/from_internal_format):
10671         * buffer.c (reinit_vars_of_buffer):
10672         Fix conversion functions to allow reentrancy.
10673
10674         * console-msw.c:
10675         * console-msw.c (mswindows_output_last_error):
10676         New fun, generally useful -- output a human-readable
10677         version of GetLastError() on the console.
10678
10679         * console-msw.h:
10680         * console-msw.h (struct mswindows_frame):
10681         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
10682
10683         * console-stream.c (stream_output_begin):
10684         * console-stream.c (stream_output_end):
10685         * console-stream.c (stream_output_vertical_divider):
10686         * console-stream.c (stream_clear_region):
10687         * console-stream.c (stream_flash):
10688         * console-stream.c (console_type_create_stream):
10689         Delete blank stream methods, not needed.
10690
10691         * console.h (struct console_methods):
10692         Split begin/end methods into window and frame.
10693
10694         * event-msw.c:
10695         * event-msw.c (mswindows_handle_paint):
10696         * event-msw.c (output_alt_keyboard_state):
10697         * event-msw.c (mswindows_wnd_proc):
10698         * event-msw.c (vars_of_event_mswindows):
10699         Comment about problems with ignored-expose.
10700         Define mswindows-debug-events; not really implemented.
10701
10702         * frame-msw.c (mswindows_init_frame_1):
10703         random cleanups.
10704
10705         * glyphs-msw.c:
10706         * glyphs-msw.c (begin_defer_window_pos):
10707         * glyphs-msw.c (mswindows_unmap_subwindow):
10708         * glyphs-msw.c (mswindows_map_subwindow):
10709         * glyphs-msw.c (mswindows_resize_subwindow):
10710         Use DeferWindowPos to reduce flashing when mapping/unmapping.
10711
10712         * glyphs.c (make_image_instance_1):
10713         Fix crash.
10714
10715         * gutter.c (Fredisplay_gutter_area):
10716         Use new begin/end methods.
10717
10718         * lisp.h (Dynarr_new2):
10719         New creation fun.
10720
10721         * redisplay-msw.c:
10722         * redisplay-msw.c (mswindows_frame_output_begin):
10723         * redisplay-msw.c (mswindows_frame_output_end):
10724         * redisplay-msw.c (console_type_create_redisplay_mswindows):
10725         New begin/end methods -- handle DeferWindowPos.
10726
10727         * redisplay-output.c (redisplay_move_cursor):
10728         * redisplay-output.c (redraw_cursor_in_window):
10729         * redisplay-output.c (redisplay_update_line):
10730         * redisplay-output.c (redisplay_output_window):
10731         New begin/end methods.
10732
10733         * redisplay-tty.c:
10734         * redisplay-tty.c (tty_frame_output_begin):
10735         * redisplay-tty.c (tty_frame_output_end):
10736         * redisplay-tty.c (console_type_create_redisplay_tty):
10737         New begin/end methods.
10738
10739         * redisplay-x.c:
10740         * redisplay-x.c (x_window_output_begin):
10741         * redisplay-x.c (x_window_output_end):
10742         * redisplay-x.c (console_type_create_redisplay_x):
10743         New begin/end methods.
10744
10745         * redisplay.c (redisplay_frame):
10746         * redisplay.c (Fredisplay_echo_area):
10747         New begin/end methods.
10748         use MAYBE_DEVMETH for clear_frame; it may not exist.
10749
10750         * window.h (WINDOW_XFRAME):
10751         WINDOW_XFOO macros -- get locale and decode struct pointer.
10752
10753
10754 2000-05-12  Ben Wing  <ben@xemacs.org>
10755
10756         * emacs.c:
10757         * emacs.c (ensure_no_quitting_from_now_on):
10758         * emacs.c (fatal_error_signal):
10759         * emacs.c (mswindows_handle_hardware_exceptions):
10760         * emacs.c (main):
10761         * emacs.c (Fkill_emacs):
10762         * emacs.c (shut_down_emacs):
10763         * emacs.c (assert_failed):
10764         various improvements in fatal error handling.
10765
10766         * eval.c:
10767         move preparing_for_armageddon to emacs.c.
10768
10769         * lisp.h:
10770         declare fatal_error_in_progress.
10771
10772         * print.c:
10773         * print.c (std_handle_out_external):
10774         * print.c (std_handle_out_va):
10775         * print.c (stderr_out):
10776         * print.c (stdout_out):
10777         use console under mswin when no standard output.
10778         don't do code conversion during fatal error.
10779
10780         * scrollbar.c (Fscrollbar_page_up):
10781         * scrollbar.c (Fscrollbar_page_down):
10782         fix missing else.  reindent.
10783
10784 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
10785
10786         Emergency fix.
10787
10788         * glyphs.h (GLYPH_CACHEL_DESCENT):
10789         (GLYPH_CACHEL_DESCENT):
10790         (GLYPH_CACHEL_DESCENT):
10791         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
10792         used in case these are inline functions.
10793         Use more absurd values to error check.
10794
10795         include window.h for error check functions.
10796
10797 2000-05-11  Ben Wing  <ben@xemacs.org>
10798
10799         * cmdloop.c (Freally_early_error_handler):
10800         Display message box under windows; otherwise, message will disappear
10801         before it can be viewed.
10802
10803         * console-msw.c:
10804         * console-msw.c (Fmswindows_message_box):
10805         * console-msw.c (FROB):
10806         * console-msw.c (syms_of_console_mswindows):
10807         Define new fun `mswindows-message-box'.
10808         #### I will merge this into `popup-dialog-box'; just give me
10809         a bit of time.
10810
10811         * general.c:
10812         * general.c (syms_of_general):
10813         Some new symbols used in `mswindows-message-box'.
10814
10815         * glyphs.c:
10816         * glyphs.c (Fset_image_instance_property):
10817         put warning in this fun.
10818
10819         * glyphs.h:
10820         * glyphs.h (GLYPH_CACHEL_WIDTH):
10821         * glyphs.h (GLYPH_CACHEL_ASCENT):
10822         * glyphs.h (GLYPH_CACHEL):
10823         * glyphs.h (GLYPH_CACHEL_GLYPH):
10824         define error-checking versions to try to catch a bug i've seen --
10825         redisplay gets in an infinite loop because the glyph width of the
10826         continuation glyph is 65535.
10827
10828         * lisp.h:
10829         Extern message-box stuff.
10830
10831         * window.c (allocate_window):
10832         * window.c (make_dummy_parent):
10833         * window.c (Fset_window_configuration):
10834         Use EQUAL not EQ for subwindow caches to make them work a bit
10835         better. (Something is still very broken.)
10836
10837
10838 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10839
10840         * glyphs.c (image_instantiate): Suppress gcc warnings.
10841         (Fmake_image_instance): Fix doc string.
10842         * specifier.c (Fmake_specifier): Ditto.
10843
10844 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
10845
10846         * paths.h.in (PATH_LOCK): Removed.
10847         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
10848         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
10849
10850 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10851
10852         * fns.c (Ffeaturep): Update e-mail address in doc-string.
10853         Document (featurep '(and xemacs 21.02)).
10854
10855 2000-05-09  Ben Wing  <ben@xemacs.org>
10856
10857         * buffer.c (complex_vars_of_buffer):
10858         update modeline-format doc.
10859
10860         * device.h:
10861         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
10862
10863         * emacs.c:
10864         timeline of all released versions of Emacs, for use in creating
10865         authorship comments and in synching up.
10866
10867         * glyphs-widget.c (image_instantiator_buttons):
10868         * glyphs-widget.c (image_instantiator_edit_fields):
10869         * glyphs-widget.c (image_instantiator_combo_box):
10870         * glyphs-widget.c (image_instantiator_scrollbar):
10871         * glyphs-widget.c (image_instantiator_progress_guage):
10872         * glyphs-widget.c (image_instantiator_tree_view):
10873         * glyphs-widget.c (image_instantiator_tab_control):
10874         * glyphs-widget.c (image_instantiator_labels):
10875         * glyphs-widget.c (image_instantiator_layout):
10876         * glyphs-widget.c (image_instantiator_native_layout):
10877         rename decode_domain method to governing_domain.
10878
10879         * glyphs.c:
10880         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
10881         * glyphs.c (add_entry_to_device_ii_format_list):
10882         make sure we don't put an entry more than once into the list.
10883         * glyphs.c (check_instance_cache_mapper):
10884         *************************************************************
10885         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
10886         HAVE BEEN GETTING.
10887         *************************************************************
10888         * glyphs.c (get_image_instantiator_governing_domain):
10889         clean up, expand on new concept of governing domain.
10890         * glyphs.c (instantiate_image_instantiator):
10891         * glyphs.c (allocate_image_instance):
10892         use governing_domain instead of cache_domain in naming.
10893         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
10894         * glyphs.c (make_image_instance_1):
10895         * glyphs.c (Fmake_image_instance):
10896         allow for any domain (not just device), and process the
10897         governing domain correctly.  very big doc fix.
10898         * glyphs.c (Fimage_instance_domain):
10899         new primitive, to retrieve the governing domain of an image instance.
10900         * glyphs.c (image_instantiate):
10901         use new governing_domain stuff.  this fixes a crash you could get
10902         by instantiating certain widget glyphs in frame locales. (should
10903         signal an error instead of crashing.)
10904         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
10905         * glyphs.c (Fglyphp): clean up doc.
10906         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
10907         * glyphs.c (syms_of_glyphs):
10908         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
10909         * glyphs.c (image_instantiator_format_create): add some comments about
10910         bogus code.
10911         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
10912         for current-display-table. (Apparently Hrjove implemented in 1998 a
10913         design I wrote up in 1996, but didn't update the doc string.)
10914
10915         * glyphs.h: clean up a doc string.
10916         * glyphs.h (governing_domain):
10917         * glyphs.h (struct image_instantiator_methods):
10918         changes for governing_domain stuff.
10919
10920         * gutter.c:
10921         * gutter.c (Fgutter_specifier_p):
10922         * gutter.c (Fgutter_size_specifier_p):
10923         * gutter.c (Fgutter_visible_specifier_p):
10924         * objects.c:
10925         * objects.c (Fcolor_specifier_p):
10926         * objects.c (Ffont_specifier_p):
10927         * objects.c (Fface_boolean_specifier_p):
10928         doc strings moved to make-*-specifier.
10929
10930         * redisplay.c (add_disp_table_entry_runes_1):
10931         * redisplay.c (generate_fstring_runes):
10932         * redisplay.c (screen):
10933         add random comments and doc strings.
10934
10935         * specifier.c:
10936         * specifier.c (Fmake_specifier):
10937         major overhaul of this doc string.
10938
10939         * specifier.c (Fvalid_specifier_domain_p):
10940         comment about the bogosity of image instances being domains.
10941         * specifier.c (decode_domain):
10942         now non-static, used in glyphs.c.
10943         * specifier.c (specifier_instance):
10944         comment about the bogosity of image instances being domains.
10945         * specifier.c (Fgeneric_specifier_p):
10946         move doc string to make-generic-specifier.
10947         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
10948         rebackslashify.
10949
10950         * specifier.h:
10951         * specifier.h (DOMAIN_FRAME):
10952         * specifier.h (DOMAIN_LIVE_P):
10953         * specifier.h (DOMAIN_XDEVICE):
10954         rebackslashify.
10955         add comments about problems with these macros.
10956         prototype for decode_domain.
10957
10958         * toolbar.c:
10959         * toolbar.c (Ftoolbar_specifier_p):
10960         move doc string to `make-toolbar-specifier'.
10961
10962         * window.c (window_unmap_subwindows_cache_mapper):
10963         *************************************************************
10964         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
10965         HAVE BEEN GETTING.
10966         *************************************************************
10967
10968 2000-05-09  Andy Piper  <andy@xemacs.org>
10969
10970         * glyphs.h: declare reset_frame_subwindow_instance_cache.
10971
10972         * window.c (Fset_window_configuration): reset the frame subwindow
10973         cache and re-initialize the window subwindow caches.
10974
10975         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
10976
10977 2000-05-09  Ben Wing  <ben@xemacs.org>
10978
10979         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
10980         DWORD.
10981
10982 2000-04-26  Mike Woolley  <mike@bulsara.com>
10983
10984         * ntheap.c: Changed recreate_heap to limit the amount reserved
10985         for the heap to that which is actually available. Also now
10986         displays a message box (with some dignostics) in the event that
10987         it still can't start.
10988
10989 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10990
10991         * callproc.c (Fold_call_process_internal): GCPRO path
10992
10993 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
10994
10995         Patch by Bill Perry.
10996
10997         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
10998         back data instead of #ifdef.
10999         (Fscrollbar_page_down): ditto.
11000
11001 2000-05-07  Ben Wing  <ben@xemacs.org>
11002
11003         * buffer.h:
11004         Kludge for defining Qmswindows_tstr.
11005
11006         * nt.c:
11007         * nt.c (open_input_file):
11008         * nt.c (open_output_file):
11009         * nt.c (rva_to_section):
11010         * nt.c (mswindows_executable_type):
11011         Move all memory-mapped-file routines here (some were in unexnt.c,
11012         which is bad because they are used by process-nt.c, and unexnt
11013         won't be around when portable dumping).  Synched the above routines
11014         with FSF 20.6.
11015
11016         * nt.h:
11017         Removed ifdef'd out bogus code.
11018         Fixed some prototypes.
11019
11020         * nt.h (file_data):
11021         * nt.h (OFFSET_TO_RVA):
11022         * nt.h (RVA_TO_OFFSET):
11023         * nt.h (RVA_TO_PTR):
11024         Moved the memory-mapped-file structures, macros and prototypes
11025         here, to parallel nt.c.  ntheap.h should really be removed
11026         entirely, and it's a non-portable-dumper specific file.
11027
11028         * ntheap.h (round_to_next):
11029         Moved the memory-mapped-file structures, macros and prototypes
11030         to nt.h.
11031
11032         * ntproc.c (compare_env):
11033         Moved rva_to_section and mswindows_executable_type to nt.c.
11034         Moved compare_env to process-nt.c.
11035         ntproc.c will die, one day.
11036
11037         * ntproc.c (sys_spawnve):
11038         Account for win32_ -> mswindows_.
11039
11040         * process-nt.c:
11041         * process-nt.c (struct nt_process_data):
11042         * process-nt.c (ensure_console_window_exists):
11043         * process-nt.c (compare_env):
11044         * process-nt.c (nt_create_process):
11045         * process-nt.c (nt_kill_process_by_pid):
11046         * process-nt.c (syms_of_process_nt):
11047         * process-nt.c (vars_of_process_nt):
11048         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11049         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11050         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11051         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11052         Move compare_env here from ntproc.c.
11053
11054         * process.c (Fprocess_send_region):
11055         Takes an optional fourth argument, BUFFER, which should fix some
11056         problems with call-process.
11057
11058         * syscommctrl.h:
11059         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11060
11061         * syswindows.h:
11062         Move ICC_BAR_CLASSES to syscommctrl.h.
11063         Add preliminary macros for MSWindows/Mule.  More to come.
11064
11065         * unexnt.c:
11066         * unexnt.c (unexec):
11067         open_output_file moved to nt.c.
11068
11069
11070 2000-05-05  Andy Piper  <andy@xemacs.org>
11071
11072         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11073         instance from the frame cache also since GC may catch up too late
11074         to make frame deletion sane.
11075
11076 2000-05-04  Andy Piper  <andy@xemacs.org>
11077
11078         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11079         (x_finalize_image_instance): ungcpro on deletion.
11080
11081         * glyphs.c (image_instantiator_format_create): give pointers a
11082         query geometry method so that the geometry is at least set.
11083
11084         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11085         initialize layouts if using widgets.
11086
11087 2000-05-03  Andy Piper  <andy@xemacs.org>
11088
11089         * nt.c: remove bogus reference to sysmmsystem.h
11090
11091         * gui-x.c (popup_selection_callback): fix no selection abort.
11092
11093 2000-05-02  Andy Piper  <andy@xemacs.org>
11094
11095         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11096         (mswindows_widget_instantiate): ditto.
11097
11098         * glyphs-widget.c (initialize_widget_image_instance): initialize
11099         children correctly.
11100         (widget_instantiate): cope with children and items in the same
11101         instance.
11102
11103         * glyphs.c (mark_image_instance): cope with children as a first
11104         class member.
11105         (image_instance_equal): ditto.
11106         (image_instance_hash): ditto.
11107         (image_instance_changed): ditto.
11108
11109 2000-04-30  Andy Piper  <andy@xemacs.org>
11110
11111         * glyphs.c (subwindow_query_geometry): new function. Return some
11112         defaults.
11113         (subwindow_instantiate): don't assign dimensions if none have been
11114         given.
11115         (image_instantiator_format_create): add subwindow_query_geometry.
11116         (print_image_instance): cope with layouts as widgets.
11117
11118 2000-04-29  Andy Piper  <andy@xemacs.org>
11119
11120         * frame.c (delete_frame_internal): call
11121         free_frame_subwindow_instance_cache so that all subwindows are
11122         finalized before their parent.
11123         (mark_frame): remove subwindow_cachels.
11124         (Fmake_frame): remove subwindow_cachel manipulation.
11125         (allocate_frame_core): subwindow_instance_cache is a weak list.
11126         (delete_frame_internal): set subwindow_instance_cache to nil.
11127
11128         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11129         finalization safe.
11130         (mswindows_finalize_image_instance): use the device
11131         not the domain as the domain may have died already.
11132
11133         * glyphs-x.c (x_finalize_image_instance): ditto.
11134         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11135         HEIGHT.
11136
11137         * redisplay-output.c (redisplay_unmap_subwindows): update for
11138         subwindow instance cache as a weak list.
11139         (redisplay_unmap_subwindows_maybe): ditto.
11140         (redisplay_unmap_subwindows_except_us): ditto.
11141
11142         * glyphs.c (unmap_subwindow): error checking will check the domain
11143         so don't deal with it here. Don't use cachels anymore.
11144         (map_subwindow): ditto.
11145         (update_subwindow_cachel_data): remove old accessor names.
11146         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11147         (Fresize_subwindow): don't update cachel.
11148         (mark_subwindow_cachels):
11149         (update_subwindow_cachel_data):
11150         (add_subwindow_cachel):
11151         (get_subwindow_cachel_index):
11152         (update_subwindow_cachel):
11153         (reset_subwindow_cachels):
11154         (mark_subwindow_cachels_as_not_updated): deleted.
11155         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11156         subwindow instance to the frame cache.
11157         (find_matching_subwindow): update for subwindow instance cache as
11158         a weak list.
11159         (update_widget_instances): ditto.
11160         (image_instance_type_to_mask):inlined.
11161         (free_frame_subwindow_instance_cache): new function. finalize all
11162         subwindows that are instantiated.
11163
11164         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11165         of cachel information.
11166         (IMAGE_INSTANCE_DISPLAY_X):
11167         (IMAGE_INSTANCE_DISPLAY_Y):
11168         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11169         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11170         (XIMAGE_INSTANCE_DISPLAY_X):
11171         (XIMAGE_INSTANCE_DISPLAY_Y):
11172         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11173         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11174         remove subwindow_cachel structure and function references.
11175         (image_instance_type_to_mask): inline from glyphs.c
11176
11177         * redisplay.c (redisplay_frame): remove subwindow_cachel
11178         references.
11179
11180         * frame.h (struct frame): remove subwindow_cachels.
11181         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11182
11183         * frameslots.h: add subwindow_instance_cache.
11184
11185         * window.c (replace_window): check subwindow cache of replacement.
11186         (window_unmap_subwindows_cache_mapper):
11187         (window_unmap_subwindows): new functions. Unmap all subwindows
11188         cached on this window.
11189         (mark_window_as_deleted): unmap all subwindows.
11190
11191 2000-04-27  Andy Piper  <andy@xemacs.org>
11192
11193         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11194
11195         * glyphs-widget.c (widget_layout): return something.
11196         (layout_layout): return something. Fail if not initialized.
11197         (layout_query_geometry): ditto.
11198         (image_instantiator_native_layout): new function. Initialized the
11199         native layout type.
11200         (widget_instantiate): don't do layout stuff here.
11201
11202         * glyphs.c (instantiate_image_instantiator): reorded calling or
11203         instantiate and post_instantiate with layout in between.
11204         (image_instance_layout): be more selective about deciding whether
11205         the layout has been done or not.
11206
11207         * glyphs.h (struct image_instantiator_methods): return a value
11208         from layout_method.
11209
11210 2000-04-26  Andy Piper  <andy@xemacs.org>
11211
11212         * glyphs.c (allocate_image_instance): make initial width and
11213         height unspecified. Set initialized to 0.
11214
11215         * syscommctrl.h new file. Encapsulates commctrl.h.
11216
11217         * syswindows.h new file. Encapsulates windows.h.
11218
11219         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11220         * nt.c: ditto.
11221         * console-msw.h: ditto.
11222
11223         * redisplay-tty.c (tty_output_display_block): remove layout references.
11224
11225         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11226         window handle rather than just the frame.
11227
11228         * glyphs.c (mark_image_instance): remove layout references.
11229         (print_image_instance): ditto.
11230         (image_instance_equal): ditto.
11231         (image_instance_hash): ditto.
11232         (decode_image_instance_type): ditto.
11233         (encode_image_instance_type): ditto.
11234         (image_instantiate): ditto.
11235         (allocate_glyph): ditto.
11236         (Fimage_instance_height): ditto.
11237         (Fimage_instance_width): ditto.
11238         (update_subwindow): ditto.
11239
11240         * redisplay-x.c (x_output_display_block): recode for layouts as
11241         widgets.
11242
11243         * redisplay-output.c (redisplay_output_layout): recode for layouts
11244         as widgets.
11245         (compare_runes): remove layout references.
11246
11247         * redisplay-msw.c (mswindows_output_display_block): recode for
11248         layouts as widgets.
11249
11250         * glyphs-widget.c (image_instantiator_layout): remove
11251         layout_possible_dest_types.
11252         (layout_possible_dest_types): deleted.
11253
11254         * glyphs.h (image_instance_type): remove layout references.
11255         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11256         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11257         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11258
11259 2000-04-25  Andy Piper  <andy@xemacs.org>
11260
11261         * glyphs-widget.c (image_instantiator_buttons):
11262         (image_instantiator_edit_fields):
11263         (image_instantiator_combo_box):
11264         (image_instantiator_scrollbar):
11265         (image_instantiator_progress_guage):
11266         (image_instantiator_tree_view):
11267         (image_instantiator_tab_control):
11268         (image_instantiator_labels):
11269         (image_instantiator_layout): call default post_instantiate method.
11270         (widget_post_instantiate): new function. Simply lays out the
11271         widgets.
11272
11273         * glyphs.h (struct image_instantiator_methods): add
11274         post_instantiate method.
11275
11276         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11277         method calls.
11278
11279 2000-04-23  Andy Piper  <andy@xemacs.org>
11280
11281         * glyphs.h (struct image_instantiator_methods): add
11282         decode_domain_method.
11283         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11284         derived from the domain.
11285         (IMAGE_INSTANCE_FRAME): new accessor.
11286         (XIMAGE_INSTANCE_FRAME): ditto.
11287
11288         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11289         instead of _SUBWINDOW_FRAME.
11290         (finalize_image_instance): ditto.
11291         (Fimage_instance_foreground): ditto.
11292         (Fimage_instance_background): ditto.
11293         (image_instantiate): ditto.
11294         (update_subwindow_cachel): ditto.
11295         (update_subwindow): ditto.
11296         (unmap_subwindow): ditto.
11297         (map_subwindow): ditto
11298         (subwindow_instantiate): ditto.
11299         * glyphs-msw.c (mswindows_update_widget): ditto.
11300         (mswindows_progress_gauge_instantiate): ditto.
11301         (mswindows_tab_control_update): ditto.
11302         * glyphs-x.c (x_update_widget): ditto.
11303         (x_widget_instantiate): ditto.
11304         (x_tab_control_instantiate): ditto.
11305         (x_tab_control_update): ditto.
11306         * event-msw.c (mswindows_wnd_proc): ditto
11307
11308         * glyphs-widget.c (image_instantiator_layout): use
11309         subwindow_decode_domain.
11310         (image_instantiator_buttons): ditto.
11311         (image_instantiator_edit_fields): ditto.
11312         (image_instantiator_combo_box): ditto.
11313         (image_instantiator_scrollbar): ditto.
11314         (image_instantiator_progress_guage): ditto.
11315         (image_instantiator_tree_view): ditto.
11316         (image_instantiator_tab_control): ditto.
11317         (image_instantiator_labels): ditto.
11318         (image_instantiator_layout): ditto.
11319
11320         * glyphs.c: add instance error checking to many functions.
11321         (instantiate_image_instantiator): decode device from cache_domain.
11322         (image_instantiate): partially rewrite by using
11323         decode_image_instantiator_domain to determine what domain the
11324         instance needs to be cached in.
11325         (decode_image_instantiator_domain): new function. Determine what
11326         domain the image needs to be cached in.
11327         (check_window_subwindow_cache): new error checking function.
11328         (check_instance_cache_mapper): ditto.
11329         (check_image_instance_structure): ditto.
11330         (subwindow_decode_domain): new function. Encodes a window as a
11331         subwindow's cache domain.
11332         (image_instantiator_format_create): use it for text and
11333         subwindows.
11334
11335 2000-04-21  Andy Piper  <andy@xemacs.org>
11336
11337         * glyphs.c (image_instance_device): new function.
11338         (image_instance_frame): new function.
11339         (image_instance_window): new function.
11340         (image_instance_live_p): new function.
11341
11342         * window.c (mark_window_as_deleted): reset the subwindow_instance_
11343         cache to nil.
11344
11345         * glyphs.h (struct Lisp_Image_Instance): device->domain.
11346         (IMAGE_INSTANCE_DOMAIN): new accessor.
11347         (XIMAGE_INSTANCE_DOMAIN): ditto.
11348
11349         * glyphs-x.c (x_finalize_image_instance): device->domain.
11350
11351         * glyphs-msw.c (init_image_instance_geometry): device->domain.
11352         (mswindows_finalize_image_instance): ditto.
11353
11354         * glyphs-eimage.c (jpeg_instantiate): device->domain.
11355         (gif_instantiate): ditto.
11356         (png_instantiate): ditto.
11357         (tiff_instantiate): ditto.
11358
11359         * glyphs.c (instantiate_image_instantiator): use domain rather
11360         than device.
11361         (mark_image_instance): device -> domain.
11362         (print_image_instance): ditto.
11363         (finalize_image_instance): ditto.
11364         (image_instance_equal): ditto.
11365         (allocate_image_instance): ditto.
11366         (Fcolorize_image_instance): ditto.
11367         (query_string_geometry): ditto.
11368         (image_instantiate): ditto
11369         (query_string_font): ditto.
11370         (image_instantiate): ditto.
11371         (update_subwindow): ditto.
11372         (unmap_subwindow): ditto.
11373         (map_subwindow): ditto.
11374         (subwindow_instantiate): ditto.
11375
11376         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
11377         (DOMAIN_FRAME): ditto.
11378         (DOMAIN_WINDOW): ditto.
11379         (DOMAIN_LIVE_P): ditto.
11380         (XDOMAIN_DEVICE): ditto.
11381         (XDOMAIN_FRAME): ditto.
11382         (XDOMAIN_WINDOW): ditto.
11383
11384         * specifier.c (Fvalid_specifier_domain_p): add image instances as
11385         a valid specifier domain.
11386
11387 2000-04-19  Andy Piper  <andy@xemacs.org>
11388
11389         * glyphs-widget.c (syms_of_glyphs_widget): remove
11390         widget-callback-current-channel.
11391         (vars_of_glyphs_widget): ditto.
11392         * glyphs.h: ditto
11393
11394         * gui.c (get_gui_callback): revert to previous behaviour.
11395
11396 2000-04-18  Andy Piper  <andy@xemacs.org>
11397
11398         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
11399         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
11400         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
11401
11402         * glyphs.c (image_instance_equal): add margin_width.
11403         (image_instance_hash): ditto.
11404
11405         * glyphs-widget.c (widget_instantiate): deal with margin-width.
11406         (layout_query_geometry): ditto.
11407         (layout_layout): ditto.
11408         (syms_of_glyphs_widget): add margin-width.
11409         (image_instantiator_layout): allow margin-width.
11410
11411         * glyphs.c (update_widget_instances): make a normal function.
11412         (syms_of_glyphs): remove Qupdate_widget_instances.
11413         * glyphs.h: ditto.
11414
11415         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
11416         so that we don't corrupt ideas about the last event or
11417         command. Remove widget-callback-current-channel fiddling.
11418         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11419
11420 2000-05-01  Martin Buchholz <martin@xemacs.org>
11421
11422         * XEmacs 21.2.33 is released.
11423
11424 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
11425
11426         * make-src-depend: Allow dots in header file name.
11427
11428 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
11429
11430         * mule-charset.h (struct charset_lookup): Add
11431         next_allocated_1_byte_leading_byte and
11432         next_allocated_2_byte_leading_byte.
11433         * mule-charset.c: Move above two variables so that those values
11434         will be dumped.
11435
11436 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
11437
11438         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
11439         when string length is zero.
11440         (find_charsets_in_emchar_string): Ditto.
11441
11442 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
11443
11444         * lisp.h: extern Qdialog and Qmenubar.
11445
11446         * gui-x.c: added events.h.
11447                 also fixed typo which made the file uncompilable.
11448
11449         * general.c: Added Qmenubar and Qdialog
11450
11451 2000-04-28  Ben Wing  <ben@xemacs.org>
11452
11453         * frame-msw.c (mswindows_init_frame_1):
11454         * frame-msw.c (mswindows_mark_frame):
11455         * event-msw.c (mswindows_enqueue_dispatch_event):
11456         * console-msw.h:
11457         * console-msw.h (struct mswindows_frame):
11458         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
11459         there are now three hash tables for callbacks.
11460         mswindows_enqueue_dispatch_event is no longer static.
11461
11462         * dialog-x.c (maybe_run_dbox_text_callback):
11463         * dialog-x.c (dbox_descriptor_to_widget_value):
11464         switch to new cons3 form for callbacks.
11465
11466         * glyphs-msw.c (mswindows_register_gui_item):
11467         * glyphs-msw.c (mswindows_widget_instantiate):
11468         * glyphs-msw.c (add_tree_item):
11469         * glyphs-msw.c (add_tab_item):
11470         new image instance parameter, so it can be passed to callback-ex.
11471         respect :callback-ex as well as :callback.
11472
11473         * glyphs-widget.c (VALID_GUI_KEYWORDS):
11474         add :callback-ex.
11475
11476         * glyphs.c (print_image_instance):
11477         prettify, e.g. now prints widget type.
11478
11479         * gui-x.h:
11480         certain funs have new image instance parameter.
11481
11482         * gui.c:
11483         * gui.c (get_gui_callback):
11484         * gui.c (gui_item_add_keyval_pair):
11485         * gui.c (gui_item_init):
11486         * gui.c (gui_add_item_keywords_to_plist):
11487         * gui.c (mark_gui_item):
11488         * gui.c (gui_item_hash):
11489         * gui.c (gui_item_equal):
11490         * gui.c (copy_gui_item):
11491         * gui.c (syms_of_gui):
11492         recognize callback-ex in a number of places.
11493         also, fix the annoying "can't get out of yes-no dialog" bug.
11494
11495         * gui.h:
11496         * gui.h (struct Lisp_Gui_Item):
11497         recognize callback-ex in a number of places.
11498
11499         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11500         new parameter in button_item_to_widget_value.
11501
11502         * glyphs-x.c (x_update_widget):
11503         * glyphs-x.c (x_button_instantiate):
11504         * glyphs-x.c (x_button_update):
11505         * glyphs-x.c (x_progress_gauge_instantiate):
11506         * glyphs-x.c (x_edit_field_instantiate):
11507         * glyphs-x.c (x_combo_box_instantiate):
11508         * glyphs-x.c (x_tab_control_instantiate):
11509         * glyphs-x.c (x_label_instantiate):
11510         new image instance parameter in various places.
11511
11512         * event-Xt.c:
11513         * event-Xt.c (enqueue_Xt_dispatch_event):
11514         this fun gets exported.
11515
11516         * gui-msw.c:
11517         * gui-msw.c (mswindows_handle_gui_wm_command):
11518         handle both :callback and :callback-ex, and generate our own
11519         event because it's one of the callback-ex arguments.
11520
11521         * gui-x.c:
11522         * gui-x.c (popup_selection_callback):
11523         handle both :callback and :callback-ex, and generate our own
11524         event because it's one of the callback-ex arguments.
11525         * gui-x.c (button_item_to_widget_value):
11526         * gui-x.c (gui_items_to_widget_values_1):
11527         * gui-x.c (gui_item_children_to_widget_values):
11528         * gui-x.c (gui_items_to_widget_values):
11529         new image instance parameter in various places.
11530
11531         * fns.c (Freplace_list):
11532         fix small typo in doc string.
11533
11534         * lisp.h:
11535         declare enqueue_Xt_dispatch_event.
11536
11537 2000-04-28  Ben Wing  <ben@xemacs.org>
11538
11539         * buffer.c:
11540         * buffer.c (Frecord_buffer):
11541         * buffer.c (syms_of_buffer):
11542         delete record-buffer-hook.
11543
11544         * fns.c:
11545         * fns.c (Freplace_list):
11546         * fns.c (syms_of_fns):
11547         new primitive replace-list.
11548
11549         * frameslots.h:
11550         slot for old buffer-alist.
11551
11552         * lisp.h:
11553         exfun replace-list.
11554
11555         * redisplay.c:
11556         * redisplay.c (redisplay_frame):
11557         * redisplay.c (syms_of_redisplay):
11558         * redisplay.c (vars_of_redisplay):
11559         new hook buffer-list-changed-hook.
11560         call it.
11561
11562 2000-04-27  Ben Wing  <ben@xemacs.org>
11563
11564         * extents.h: extern in_modeline_generation.
11565
11566         * redisplay.c (generate_formatted_string_db): set
11567         in_modeline_generation.
11568
11569         * extents.c (extent_changed_for_redisplay): don't mark redisplay
11570         flags if in modeline generation.  otherwise frame-modified-tick
11571         is ticked far too often.
11572         Declare in_modeline_generation.
11573
11574 2000-04-26  Ben Wing  <ben@xemacs.org>
11575
11576         * emacs.c (vars_of_emacs): document quick-build "error-checking"
11577         option.
11578         (vars_of_emacs): add quick-build as an error-checking option.
11579         A bit kludgy, but there doesn't seem much point in creating
11580         a real var for this.
11581
11582         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
11583
11584 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11585
11586         * redisplay.h (struct display_line): Add a new variable,
11587         line_continuation.
11588
11589         * redisplay.c (create_text_block): Set dl->line_continuation if
11590         the line continues.
11591         (create_string_text_block): Ditto.
11592         (regenerate_window_incrementally): Use line_continuation instead
11593         of searching continuation glyph.
11594         (add_margin_runes): Call add_glyph_rune.
11595         (add_glyph_rune): Handle margin glyph.
11596
11597 2000-04-20  Martin Buchholz  <martin@xemacs.org>
11598
11599         * filelock.c (fill_in_lock_file_name):
11600         ANSIfy.
11601         Check for IS_ANY_SEP instead of '/'.
11602         (lock_file_1):
11603         Avoid generating gratuitous garbage.  Call user_login_name() directly.
11604         Never check errno without first seeing that system call failed.
11605         (unlock_file): Add GCPRO.
11606         (Flock_buffer): Fix docstring.
11607         (Ffile_locked_p): Fix docstring.  Add GCPRO.
11608
11609 2000-04-19  Martin Buchholz  <martin@xemacs.org>
11610
11611         * sysdep.c (get_pty_max_bytes):
11612         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
11613         strings longer than 252 bytes.
11614
11615         * md5.c: Unconditionally include ANSI header <limits.h>
11616
11617         * glyphs-x.c (convert_EImage_to_XImage):
11618         * lisp-union.h (union Lisp_Object):
11619         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
11620
11621 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
11622
11623         * filelock.c (current_lock_owner): Remove unused variable o, p.
11624
11625 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
11626
11627         * callint.c: Remove multiply defined symbol Qlet
11628         (syms_of_callint): ditto.
11629
11630 2000-04-14  Andy Piper  <andy@xemacs.org>
11631
11632         * general.c (syms_of_general): add last-command, this-command, let
11633         and funcall.
11634
11635         * lisp.h: declare various symbols.
11636
11637         * glyphs.h: declare Qwidget_callback_current_channel;
11638
11639         * glyphs-widget.c (syms_of_glyphs_widget): add
11640         Qgui_callback_current_channel.
11641         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
11642
11643         * gui-msw.c (mswindows_handle_gui_wm_command): bind
11644         widget-callback-current-channel when invoking the interactive
11645         arg. Also bind last-command and next-command when invoking the
11646         widget updates.
11647         * gui-x.c (popup_selection_callback): ditto.
11648
11649         * gui.c (get_gui_callback): massage args so that we are always
11650         calling eval. This allows us to add our own variable bindings
11651         outside.
11652
11653         * glyphs-x.c (x_button_instantiate): use
11654         gui_items_to_widget_values since this is GC safe.
11655         (x_progress_gauge_instantiate): ditto.
11656         (x_edit_field_instantiate): ditto.
11657         (x_label_instantiate): ditto.
11658
11659         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
11660         (emacs_Xt_event_widget_focus_out): new function
11661         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
11662         focus.
11663         (emacs_Xt_event_add_widget_actions): new function. add focus
11664         functions as actions.
11665         (init_event_Xt_late): use it.
11666
11667 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
11668
11669         * event-stream.c (Fdispatch_event): Doc fix.
11670
11671 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
11672
11673         * postgresql.c: Remove all references to PQsetenv*.
11674
11675         * postgresql.h: Remove references to PGsetenvHandler object.
11676         * lrecord.h (lrecord_type): Ditto.
11677
11678 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11679
11680         * glyphs-msw.h (struct mswindows_image_instance_data): Added
11681         real_heigh and real_width members, and accessor macros for these.
11682
11683         * glyphs-msw.c (init_image_instance_geometry): New function.
11684         (init_image_instance_from_dibitmap): Use it.
11685         (mswindows_resource_instantiate): Use it.
11686         (init_image_instance_from_xbm_inline): Use it.
11687         (mswindows_initialize_image_instance_mask): Use real bitmap
11688         geometry.
11689         (mswindows_create_resized_bitmap): Ditto.
11690         (mswindows_create_resized_mask): Ditto.
11691
11692         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
11693         and bitmap to their surface size.
11694
11695 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
11696
11697         * process-unix.c (unix_send_process): Guard against process MIA
11698         after Faccept_process_output.
11699
11700 2000-04-11  Ben Wing  <ben@xemacs.org>
11701
11702         * eval.c (unbind_to_hairy): fix brokenness introduced by
11703         nanosecond speed improvements.
11704
11705 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
11706
11707         * sunplay.c (init_device): To play sounds correctly, the device
11708         apparently needs to be initialized at least once by XEmacs.  Make
11709         it so.
11710
11711 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11712
11713         * redisplay.c (add_margin_runes): Add text image glyph
11714           handling.
11715
11716 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
11717
11718         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
11719         gcc is newer than 2.5.
11720
11721 2000-04-06  Colin Rafferty  <colin@xemacs.org>
11722
11723         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
11724
11725         * fns.c (size_bit_vector):
11726         * alloc.c (size_vector):
11727         (make_vector_internal):
11728         (make_bit_vector_internal):
11729         (sweep_bit_vectors_1):
11730         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
11731
11732 2000-04-06  Andy Piper  <andy@xemacs.org>
11733
11734         * gmalloc.c (malloc): undo previous change.
11735         (malloc): ditto.
11736         (free): ditto.
11737         (realloc): ditto.
11738
11739 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
11740
11741         * line-number.c (buffer_line_number): Revert to former version.
11742
11743 2000-04-06  Andy Piper  <andy@xemacs.org>
11744
11745         * gmalloc.c (malloc): add error checking.
11746         (malloc): ditto.
11747         (free): ditto.
11748         (realloc): ditto.
11749
11750         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
11751         button_item_to_widget_value arg.
11752
11753         * glyphs-x.c (x_button_instantiate): add extra
11754         button_item_to_widget_value arg.
11755         (x_progress_gauge_instantiate): ditto.
11756         (x_edit_field_instantiate): ditto.
11757         (x_label_instantiate): ditto.
11758
11759         * gui-x.c (gui_items_to_widget_values_1): add extra
11760         button_item_to_widget_value arg.
11761         (button_item_to_widget_value): add extra menu_item_p arg.
11762
11763         * gui-x.h: change signature of button_item_to_widget_value.
11764
11765         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
11766         button_item_to_widget_value arg.
11767
11768 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11769
11770         * buffer.h (struct buffer): auto_save_modified should be long.
11771
11772 2000-04-05  Andy Piper  <andy@xemacs.org>
11773
11774         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
11775         type.
11776         (button_query_geometry): give a little more room so that athena
11777         buttons fit.
11778
11779 2000-04-05  Andy Piper  <andy@xemacs.org>
11780
11781         * faces.c (complex_vars_of_faces): The widget face should inherit
11782         the font of the gui-element face.
11783
11784 2000-04-04  Andy Piper  <andy@xemacs.org>
11785
11786         * glyphs-x.c (x_button_update): new function. unconditionally
11787         update a button's state when the instance is dirty.
11788         (image_instantiator_format_create_glyphs_x): add x_button_update.
11789         (x_widget_instantiate): remove old resize cruft.
11790
11791 2000-04-02  Andy Piper  <andy@xemacs.org>
11792
11793         * frame.c (change_frame_size_1): The introduction of gutters means
11794         that we need to allow 0 as a potential frame dimension.
11795
11796 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11797
11798         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
11799         image glyph if allow_cursor.
11800         (add_hscroll_rune): Don't allow cursor to border glyph.
11801         (create_text_block): Ditto.
11802
11803         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
11804         text not in buffer.
11805         (redisplay_output_layout): Call ensure_face_cachel_complete for
11806         text image glyph.
11807
11808
11809 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11810
11811         * redisplay.c (add_glyph_rune): Adding text image as text runes.
11812
11813         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
11814         not in buffer
11815
11816         * redisplay-tty.c (tty_output_display_block): Delete the routine
11817         for text image glyph
11818         * redisplay-x.c (x_output_display_block): ditto
11819         * redisplay-msw.c (mswindows_output_display_block): ditto
11820
11821 2000-02-02  Mike Alexander  <mta@arbortext.com>
11822
11823         Note: Some of these were committed by accident as part of other
11824         patches.
11825
11826         * regex.c (regex_compile): Avoid compiler warnings.
11827
11828         * ntproc.c (sys_spawnve): Avoid compiler warnings.
11829
11830         * nt.h: Declare term_ntproc correctly.
11831
11832         * nt.c: Remove incorrect declaration of get_home_directory which
11833         is declared correctly in lisp.h.
11834
11835         * keymap.c (get_keyelt): Avoid compiler warnings.
11836         (raw_lookup_key_mapper): Avoid compiler warnings.
11837
11838         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
11839
11840         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
11841
11842         * filemode.c (mode_string): Avoid compiler warnings.
11843
11844         * file-coding.c (Fcoding_system_aliasee): Add return statement to
11845         avoid warning.
11846
11847         * events-mod.h: Undef some things that winuser.h defines differently.
11848
11849         * data.c (Faset): Avoid compiler warnings.
11850
11851         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
11852
11853 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11854
11855         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
11856         Fall through to simple beep on error.
11857         Replace "extern" by real header file.
11858
11859         * linuxplay.c: Use nativesound.h
11860         (play_sound_data): Return error code. Be less verbose on error.
11861
11862         * sunplay.c: Use nativesound.h
11863         (play_sound_data): Return error code. Be less verbose on error.
11864
11865         * ntplay.c: Use nativesound.h
11866         (play_sound_data): Return fake error code
11867
11868         * sgiplay.c: Use nativesound.h
11869         (play_sound_data): Return error code
11870
11871         * hpplay.c: Use nativesound.h, partially implement
11872         new error code. Break compilation until finished.
11873         (play_sound_data): error code.
11874
11875         * nativesound.h (play_sound_file):
11876           (play_sound_data): Prototype in new header.
11877
11878 2000-03-31  Andy Piper  <andy@xemacs.org>
11879
11880         * glyphs-widget.c: (button_query_geometry): new function. Adjust
11881         for toggle and radio buttons.
11882         (image_instantiator_buttons): use it.
11883
11884 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11885
11886         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
11887         (x_update_horizontal_scrollbar_callback): Return if no mirror was
11888         found. Scrollbar event probably belonged to some old config.
11889
11890 2000-03-31  Andy Piper  <andy@xemacs.org>
11891
11892         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
11893         than 1.
11894         (initialize_widget_image_instance): default layout to
11895         LAYOUT_HORIZONTAL rather than 0.
11896         (widget_instantiate): reverse the item list at the end rather than
11897         every iteration.
11898         (layout_layout): re-code for the border text at the front of the
11899         item list rather than at the end.
11900         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
11901         provided by the user.
11902         (widget_query_geometry): comment.
11903
11904 2000-03-30  Andy Piper  <andy@xemacs.org>
11905
11906         * glyphs-widget.c (image_instantiator_layout): allow standard
11907         widget keywords in layouts.
11908
11909         * gutter.c (output_gutter): cope with nil gutter contents.
11910
11911         * frame.c (Fset_frame_properties): add gutter docs.
11912
11913 2000-03-29  Andy Piper  <andy@xemacs.org>
11914
11915         * toolbar-msw.c (TBSTYLE_FLAT): add.
11916         (mswindows_output_toolbar): minor fiddling.
11917
11918 2000-03-29  Andy Piper  <andy@xemacs.org>
11919
11920         * gutter.c (output_gutter): force gutter size recalculation if
11921         what we are trying to display won't fit.
11922         (update_gutter_geometry): new function. A per-gutter version of
11923         update_frame_gutter_geometry.
11924         (update_frame_gutter_geometry): use it.
11925         (redraw_exposed_gutter): add extra debugging output.
11926
11927 2000-03-28  Mike Alexander  <mta@arbortext.com>
11928
11929         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
11930         (pdump_file_unmap): Implement it on Windows
11931         (pdump_file_get): Save alocated handles for pdump_file_unmap
11932
11933 2000-03-28  Andy Piper  <andy@xemacs.org>
11934
11935         * gui.c (get_gui_callback): treat Quit specially.
11936
11937 2000-03-27  Andy Piper  <andy@xemacs.org>
11938
11939         * glyphs.c (image_instantiate): be careful to check in the same
11940         way we assigned.
11941
11942 2000-03-27  Didier Verna  <didier@xemacs.org>
11943
11944         * config.h.in: define the proper SMART_INCLUDE macro.
11945         handle renaming of `foo_h_path' to `foo_h_file'.
11946
11947         * database.c: ditto.
11948
11949         * emacs.c: ditto.
11950
11951         * linuxplay.c: ditto.
11952
11953         * terminfo.c: ditto.
11954
11955         * tooltalk.h: ditto.
11956
11957 2000-03-27  Andy Piper  <andy@xemacs.org>
11958
11959         * glyphs-msw.c (mswindows_update_widget): make sure the widget
11960         gets updated whenever the face might have changed.
11961
11962 2000-03-26  Mike Alexander  <mta@arbortext.com>
11963
11964         * dumper.c (pdump_resource_free): Fix the comment.
11965
11966 2000-03-21  Olivier Galibert  <galibert@pobox.com>
11967
11968         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
11969
11970 2000-03-22  Mike Alexander  <mta@arbortext.com>
11971
11972         * dumper.c: Include Windows headers on Windows
11973         (pdump_resource_free): Add a body to the function
11974         (pdump_load): exe_name -> exe_path and add some comments.
11975
11976 2000-03-25  Mike Alexander  <mta@arbortext.com>
11977
11978         * gui.c (copy_gui_item_tree): Return a value in all cases
11979
11980 2000-03-21  Didier Verna  <didier@xemacs.org>
11981
11982         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
11983         lwlib/config.h.in.
11984         (SMART_INCLUDE): new macro.
11985         (POSTGRES_INCLUDE): new macro to include postgresql headers from
11986         the proper location.
11987
11988         * postgresql.c: use it.
11989
11990         * inline.c: ditto.
11991
11992 2000-03-24  Andy Piper  <andy@xemacs.org>
11993
11994         * gutter.c (redraw_exposed_gutters): must be "in display" when we
11995         do this.
11996
11997 2000-03-24  Andy Piper  <andy@xemacs.org>
11998
11999         * redisplay-output.c (compare_runes): use image_instance_changed
12000         to detect changes. Do not depend on glyphs_changed, only depend on
12001         dirtiness.
12002          (redisplay_output_layout): add debug messages.
12003         (compare_runes): ditto.
12004
12005         * glyphs.h: declare new functions.
12006         (struct Lisp_Image_Instance): remove percent and associated
12007         accessors.
12008
12009         * gui.h: declare new copying functions.
12010
12011         * gui.c (copy_gui_item_tree): new function.
12012         (copy_gui_item): new function.
12013         (gui_item_id_hash): revert to standard hash.
12014         (gui_item_hash): ditto.
12015         (gui_item_hash_internal): deleted.
12016         (mark_gui_item): mark value.
12017         (gui_item_add_keyval_pair): add value.
12018         (gui_item_init): ditto.
12019         (gui_add_item_keywords_to_plist): ditto.
12020         (gui_item_equal): ditto.
12021         (syms_of_gui): add Q_value.
12022
12023         * glyphs-x.c (x_progress_gauge_update): use pending items and
12024         value for setting the state.
12025         (x_update_widget): don't set items from pending here.
12026
12027         * glyphs-widget.c (update_widget): update items here.
12028         (progress_gauge_set_property): use items for storing value. Put
12029         new value in pending items.
12030
12031         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12032         items for new value. Convert percent -> value.
12033         (mswindows_tab_control_update): don't update items here.
12034
12035         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12036         (update_subwindow): ditto.
12037         (image_instance_changed): new function. Compare hash values and
12038         past and present widget items.
12039         (image_instantiate): We more careful about where we instantiate
12040         things.
12041         (image_instantiate): add error checking.
12042
12043         * gutter.c (syms_of_gutter): use -hook.
12044
12045 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12046
12047         * console-tty.c (Fset_console_tty_input_coding_system): Use
12048         Qkeyboard.
12049         (Fset_console_tty_output_coding_system): Use Qterminal.
12050         (tty_init_console): Use Qkeyboard and Qterminal.
12051
12052 2000-03-21  Ben Wing  <ben@xemacs.org>
12053
12054         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12055         From Mike Alexander <mta@arbortext.com>.
12056
12057 2000-03-21  Ben Wing  <ben@xemacs.org>
12058
12059         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12060         process brokenness.  Proper implementation to come.
12061         * callproc.c:
12062         Rename call-process-internal to old-call-process-internal.
12063         New impl. in process.el.
12064
12065 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12066
12067         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12068
12069 2000-03-20  Andy Piper  <andy@xemacs.org>
12070
12071         * glyphs.c (full_list_hash): make hashes of the same elements in
12072         different orders return different values.
12073
12074 2000-03-20  Martin Buchholz <martin@xemacs.org>
12075
12076         * XEmacs 21.2.32 is released.
12077
12078 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12079
12080         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12081         (DFC_MALLOC_USE_CONVERTED_DATA):
12082         Add aliasing-safe casts to allow use with char* or unsigned char*
12083         lvalues.
12084
12085         * eldap.c (Fldap_open):
12086         (Fldap_search_basic):
12087         (Fldap_add):
12088         (Fldap_modify):
12089         Make C++-compilable.
12090         Make sure GCPRO'ed variables are initialized.
12091         Use temp variables to avoid repeated calls to Flength.
12092
12093 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12094
12095         * sysfile.h:
12096         Make sure PATH_MAX is always defined.
12097         Include limits.h for PATH_MAX.
12098         Deprecate use of MAXPATHLEN.
12099
12100 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12101
12102         * emacs.c: Add reinit_vars_of_fileio.
12103         * symsinit.h: Add reinit_vars_of_fileio.
12104         * fileio.c (reinit_vars_of_fileio): New.
12105         * fileio.c (Fmake_temp_name):
12106         Initialize temp_name random number from microseconds to make
12107         collisions even less likely.  Initialize always at process startup
12108         time.  (make-temp-name) used to return the same file name twice in
12109         a row when PDUMP.
12110         Random stylistic fiddling.
12111         Comment fixes.
12112
12113 2000-03-20  Andy Piper  <andy@xemacs.org>
12114
12115         * glyphs.c (image_instantiate): allow text glyphs to be
12116         instantiated in the minibuffer window.
12117
12118 2000-03-19  Andy Piper  <andy@xemacs.org>
12119
12120         * glyphs.c (image_instance_hash): be careful about which items we
12121         hash on.
12122
12123         * glyphs-widget.c (tab_control_set_property): record into pending
12124         items rather than the actual items.
12125
12126         * glyphs-x.c (x_update_widget): use pending items to update with.
12127
12128         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12129         to update with.
12130
12131         * glyphs.c (mark_image_instance): mark pending items.
12132
12133         * window.c (Fset_window_configuration): record the buffer.
12134         (Fselect_window): totally revert previous change which breaks many
12135         things.
12136
12137 2000-03-18  Andy Piper  <andy@xemacs.org>
12138
12139         * glyphs-msw.c (mswindows_tab_control_update): force selected
12140         item.
12141
12142         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12143         window domain cache, otherwise we get inconsistencies at
12144         startup. There is something fishy at startup which can lead to the
12145         minibuffer being the selected window when the gutter content is
12146         instantiated.
12147
12148         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12149         gcpros.
12150         (parse_gui_item_tree_children): ditto.
12151         (parse_gui_item_tree_item): ditto.
12152
12153         * glyphs.c (Fupdate_widget_instances): return something.
12154
12155 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12156
12157         * window.c (Fselect_window): Undo 2000-03-17 change.
12158
12159 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12160
12161         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12162         against v7.0 libraries.  Insta-coredump city until the postgres
12163         folks fix it.
12164
12165 2000-03-17  Andy Piper  <andy@xemacs.org>
12166
12167         * faces.c (complex_vars_of_faces): don't give the widget face an
12168         inherited background pixmap.
12169
12170         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12171         selected item.
12172
12173         * event-stream.c (Fdispatch_non_command_events): return something.
12174
12175         * gutter.c (output_gutter): use widget face.
12176         (clear_gutter): ditto.
12177
12178         * NEWS: adjust again.
12179
12180         * window.c (Fselect_window): make sure this runs to completion to
12181         avoid oddities with Fset_window_configuration.
12182         (Fcurrent_window_configuration): in general do not save the
12183         minibuffer as the selected window.
12184
12185         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12186
12187 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12188
12189         * emacs.c (Frunning_temacs_p): Revert previous patch.
12190         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12191
12192 2000-03-16  Andy Piper  <andy@xemacs.org>
12193
12194         * glyphs-x.c (x_tab_control_update): if no widget values then
12195         return.
12196
12197         * NEWS: update for new features.
12198
12199         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12200         synthetic event to the native system.
12201         (reinit_vars_of_event_Xt): set force_event_pending to
12202         emacs_Xt_force_event_pending.
12203
12204         * events.h (struct event_stream): add force_event_pending.
12205
12206         * specifier.c (recompute_one_cached_specifier_in_window): add
12207         comment.
12208
12209         * redisplay.c (redisplay_frame): don't call
12210         update_frame_subwindows. Reset subwindow cachels when
12211         subwindows_changed, removing this was an optimization too far.
12212
12213         * redisplay-output.c (compare_runes): reorganize so that we catch
12214         glyph changes when we want them. Set optimize_output when this
12215         would help layouts.
12216         (redisplay_output_layout): remove frame_really_changed, use
12217         optimize_output instead.
12218
12219         * redisplay-msw.c (mswindows_output_display_block): reset
12220         optimize_output after outputting a glyph.
12221         * redisplay-x.c (x_output_display_block): ditto.
12222         * redisplay-tty.c (tty_output_display_block): ditto.
12223
12224         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12225         functions.
12226         (gutter_specs_changed): do specific gutter positions.
12227         (top_gutter_specs_changed): new function. Only update the
12228         specified gutter specs.
12229         (bottom_gutter_specs_changed): ditto.
12230         (left_gutter_specs_changed): ditto.
12231         (right_gutter_specs_changed): ditto.
12232
12233         * gui.c (gui_item_hash_internal): new function, does a real hash.
12234         (gui_item_id_hash): use it.
12235         (gui_item_hash): hash the eval'ed gui_item.
12236
12237         * gui-x.c (popup_selection_callback): send an eval event to call
12238         Fupdate_widget_instances.
12239
12240         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12241         to call Fupdate_widget_instances.
12242
12243         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12244         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12245
12246         * glyphs.c: (update_frame_subwindows): deleted.
12247         (Fupdate_widget_instances): new function for updating the dirty
12248         state of widgets that might have changed.
12249         (syms_of_glyphs): add Qupdate_widget_instances.
12250         (full_list_hash): hash a list completely.
12251         (image_instance_hash): use it for items and properties.
12252
12253         * frame-msw.c (mswindows_size_frame_internal): remove unused
12254         variable.
12255
12256         * faces.h (struct face_cachel): fix comment.
12257
12258         * event-stream.c (Fdispatch_non_command_events): new
12259         function. Process non-command events, forcing an event cycle
12260         beforehand.
12261         (syms_of_event_stream): declare.
12262         (event_stream_force_event_pending): new function. Force an event
12263         on the native event queue so that an event cycle will occur next
12264         time we check.
12265
12266         * event-msw.c:
12267         (struct ntpipe_shove_stream):
12268         (mswindows_enqueue_dispatch_event):
12269         (mswindows_dequeue_dispatch_event):
12270         (mswindows_cancel_dispatch_event):
12271         (mswindows_pump_outstanding_events):
12272         (mswindows_drain_windows_queue):
12273         (mswindows_handle_paint):
12274         (mswindows_wnd_proc):
12275         (mswindows_key_to_emacs_keysym):
12276         (get_process_input_waitable):
12277         (emacs_mswindows_delete_stream_pair): re-indent file.
12278         (mswindows_need_event): do not process further fds if the windows
12279         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12280         fixes the 100% cpu problem.
12281         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12282
12283 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12284
12285         * alloc.h: New.
12286         * dumper.h: New.
12287         * dumper.c: New.
12288
12289         * emacs.c: Moved dump file searching to dumper.c.
12290         (Frunning_temacs_p): Fixed.
12291
12292         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12293         last_lrecord_type_index_assigned.
12294
12295 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12296
12297         * symsinit.h: Added reinit parameter to init_console_stream
12298         declaration.
12299
12300         * lisp.h: Added file parameter to pdump_load declaration.
12301
12302         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
12303         support.  Added dump file searching.
12304
12305         * config.h.in: Added EMACS_PROGNAME.
12306
12307         * console-stream.c (init_console_stream): Fix reinitialisation
12308         when running from temacs.
12309
12310         * alloc.c (pdump): Add id support.
12311         (pdump_load): Add file parameter and signature/id support.
12312
12313         * Makefile.in.in: Add full pdump support.
12314
12315 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
12316
12317         * postgresql.c: Update documentation to reflect latest code
12318         status.
12319         (print_result): Show tuple counts in printed representation when
12320         appropriate.
12321         (Fpq_put_nbytes): MULE-ize.
12322         (Fpq_get_line_async): Ditto.
12323
12324 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12325
12326         * postgresql.c (Fpq_lo_import): Fix return value.
12327         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
12328
12329 2000-03-13  Ben Wing  <ben@xemacs.org>
12330
12331         * alloc.c (pdump_load):
12332         Fix compile warning under mswin.
12333
12334 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12335
12336         * postgresql.c: Mule-ization, bug fixes.
12337         Use PG_CODING to encapsulate coding system name changes.
12338         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
12339         (pg-coding-system): Create.
12340
12341         (Fpq_conn_defaults): Mule-ize.
12342         (Fpq_connectdb): Mule-ize & bug fix.
12343         (Fpq_connect_start): Mule-ize.
12344         (Fpq_set_client_encoding): Mule-ize.
12345         (Fpq_finish): Document `DEAD' connection status.
12346         (Fpq_clear): Ditto.
12347         (Fpq_pgconn): Mule-ize.
12348         (Fpq_exec): Mule-ize & bug fix.
12349         (Fpq_send_query): Ditto.
12350         (Fpq_get_result): Ditto.
12351         (Fpq_res_status): Mule-ize.
12352         (Fpq_result_error_message): Mule-ize.
12353         (Fpq_ntuples): fix comments.
12354         (Fpq_fname): Mule-ize.
12355         (Fpq_fnumber): Mule-ize.
12356         (Fpq_ftype): fix comments.
12357         (Fpq_get_value): Mule-ize.
12358         (Fpq_cmd_status): Ditto.
12359         (Fpq_cmd_tuples): Ditto.
12360         (Fpq_oid_value): Ditto.
12361         (Fpq_notifies): Ditto.
12362         (Fpq_lo_import): Ditto.
12363         (Fpq_lo_export): Ditto.
12364         (Fpq_get_line): Ditto.
12365         (Fpq_put_line): Mule-ize and bug fix.
12366         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
12367
12368 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12369
12370         * postgresql.c (vars_of_postgresql): Mule-ize.
12371         (Fpq_conn_defaults): Ditto.
12372
12373 2000-03-12  Ben Wing  <ben@xemacs.org>
12374
12375         * alloc.c (Fmake_byte_code):
12376         * alloc.c (debug_string_purity_print):
12377         * alloc.c (pdump_backtrace):
12378         * alloc.c (pdump_get_indirect_count):
12379         * alloc.c (pdump_register_sub):
12380         * alloc.c (pdump_register_object):
12381         * alloc.c (pdump_register_struct):
12382         * alloc.c (pdump_dump_data):
12383         * alloc.c (pdump_reloc_one):
12384         Minor cleanups.
12385
12386         * console-msw.c:
12387         * console-msw.c (GetConsoleHwnd):
12388         * console-msw.c (msw_hide_console):
12389         * console-msw.c (msw_show_console):
12390         * console-msw.c (msw_ensure_console_buffered):
12391         * console-msw.c (msw_output_console_string):
12392         * console-msw.c (console_type_create_mswindows):
12393
12394         a) Added functions to manipulate the console window for use with
12395         shell support.
12396
12397         b) Added support for writing text to the console, which is now
12398         used under Windows when xemacs is not being run non-interactively,
12399         to write text that would otherwise be destined for stdout because
12400         under these circumstances, text written to stdout tends to
12401         disappear and not be seen.
12402
12403         * console-msw.h:
12404         * event-Xt.c:
12405         * event-Xt.c (x_event_to_emacs_event):
12406         * event-Xt.c (describe_event_window):
12407         * events-mod.h (XEMACS_MOD_CONTROL):
12408         * events.c:
12409         * events.c (Fmake_event):
12410         * events.c (character_to_event):
12411         * events.c (event_to_character):
12412         * events.c (format_event_object):
12413         * events.c (Fevent_modifiers):
12414         * events.h:
12415         * events.h (struct key_data):
12416         * events.h (struct button_data):
12417         * events.h (struct misc_user_data):
12418         * frame-x.c (Fcde_start_drag_internal):
12419         * frame-x.c (Foffix_start_drag_internal):
12420         * gpmevent.c (Freceive_gpm_event):
12421         * keymap.c:
12422         * keymap.c (bucky_sym_to_bucky_bit):
12423         * keymap.c (control_meta_superify):
12424         * keymap.c (make_key_description):
12425         * keymap.c (keymap_lookup_directly):
12426         * keymap.c (create_bucky_submap):
12427         * keymap.c (keymap_store):
12428         * keymap.c (define_key_check_and_coerce_keysym):
12429         * keymap.c (define_key_parser):
12430         * keymap.c (define_key_alternate_name):
12431         * keymap.c (Fdefine_key):
12432         * keymap.c (raw_lookup_key_mapper):
12433         * keymap.c (struct map_keymap_unsorted_closure):
12434         * keymap.c (map_keymap_unsorted_mapper):
12435         * keymap.c (map_keymap_sort_predicate):
12436         * keymap.c (map_keymap_sorted):
12437         * keymap.c (accessible_keymaps_mapper_1):
12438         * keymap.c (where_is_recursive_mapper):
12439         * keymap.c (describe_map_mapper):
12440         * keymap.c (describe_map_sort_predicate):
12441         * keymap.c (describe_map):
12442         * keymap.c (complex_vars_of_keymap):
12443         And a number of other files, the key modifier preprocessor
12444         constants that xemacs uses have names that conflict with constants
12445         defined under MS Windows for other purposes, so they were renamed
12446         to begin with the prefix XEMACS_. The variables that hold such
12447         modifiers were changed to consistently be of type int to fix
12448         various compile warnings.
12449
12450         * console.c (complex_vars_of_console):
12451         * device.c:
12452         * device-msw.c:
12453         * device-msw.c (mswindows_finish_init_device):
12454         * device-msw.c (msw_get_workspace_coords):
12455         * device-msw.c (mswindows_device_system_metrics):
12456         and various other files, added support for a new
12457         device property called offset-workspace which returns the position
12458         of the upper left corner of the workspace area and goes along with
12459         the existing size-workspace property.
12460
12461         * dialog-msw.c:
12462         * dialog-msw.c (push_bufbyte_string_as_unicode):
12463         * dialog-msw.c (mswindows_popup_dialog_box):
12464         Added support for XEmacs-style accelerator specifications in
12465         button text.  Note: I didn't add support for this under X Windows,
12466         and somebody needs to do this.
12467
12468         * dialog.c:
12469         * dialog.c (Fpopup_dialog_box):
12470         Documented the support for accelerators that was just mentioned.
12471
12472         editfns.c (get_home_directory): Changed behavior under Windows
12473         when HOME not defined; former behavior was irretrievably broken.
12474
12475         * emacs.c:
12476         * emacs.c (main_1):
12477         * emacs.c (main):
12478         * minibuf.c (clear_echo_area_internal):
12479         * minibuf.c (echo_area_append):
12480         * print.c:
12481         * print.c (std_handle_out_external):
12482         * print.c (std_handle_out_va):
12483         * print.c (fatal):
12484         * print.c (write_string_to_stdio_stream):
12485         * print.c (output_string):
12486         * print.c (debug_print):
12487         * print.c (debug_backtrace):
12488         * print.c (debug_short_backtrace):
12489         Cleaned up the code that prints text to stdout so that this can be
12490         changed to output into a console window instead under MS Windows,
12491         as described above.
12492
12493         * eval.c:
12494         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
12495         * eval.c (internal_catch):
12496         * eval.c (unwind_to_catch):
12497         * eval.c (throw_or_bomb_out):
12498         * eval.c (condition_case_1):
12499         * eval.c (signal_1):
12500         * eval.c (check_error_state_sanity):
12501         * eval.c (call_with_suspended_errors_1):
12502         * eval.c (call_with_suspended_errors):
12503         * eval.c (reinit_vars_of_eval):
12504         Added code to catch throw loops and check for a pesky bug that may
12505         be gone now.
12506
12507         * event-msw.c:
12508         * event-msw.c (key_needs_default_processing_p):
12509         * event-msw.c (mswindows_wnd_proc):
12510         * event-msw.c (mswindows_modifier_state):
12511         * event-msw.c (emacs_mswindows_quit_p):
12512         * event-msw.c (vars_of_event_mswindows):
12513         a) Added support for using the alt key to select menu items as is
12514         standard under MS Windows.  This is controlled using the variable
12515         menu-accelerator-enabled, just like under X Windows.  There is an
12516         option on the options menu to turn this support on.  I really
12517         think that it should be on by default under Windows, but I'm not
12518         going to make this change yet.
12519
12520         b)  Added support for dynamic display size changes under Windows.
12521
12522         * event-stream.c:
12523         * event-stream.c (maybe_echo_keys):
12524         * event-stream.c (Fnext_event):
12525         * event-stream.c (command_builder_find_leaf):
12526         * event-stream.c (lookup_command_event):
12527         * event-stream.c (execute_command_event):
12528         * event-stream.c (pre_command_hook):
12529         * event-stream.c (post_command_hook):
12530         * event-stream.c (syms_of_event_stream):
12531         * event-stream.c (vars_of_event_stream):
12532         * event-stream.c (complex_vars_of_event_stream):
12533         * events.h (struct command_builder):
12534
12535         a) Tried to clean up a little bit the horribly written x-specific
12536         accelerator code that crept into this file.  I moved this code
12537         into menubar-x.c where it belongs. I also needed to move the
12538         command builder structure into the file events.h because it is
12539         accessed directly by this accelerator code.  What I didn't do, but
12540         which should be done at some point, is to properly abstract this
12541         code using device methods instead of the kludgy way that it
12542         currently hooks into the event code.
12543
12544         b) Added the lisp variables this-command-properties and
12545         last-command- properties, which should be used to synchronize two
12546         adjacent commands in preference to playing games with the variable
12547         this-command, which is typically what happens.
12548
12549         c) Added some slightly nasty code to hook into the lisp support
12550         for shifted- motion-key selection.  This is actually necessary for
12551         somewhat complicated reasons, which are described in
12552         simple.el. (NB: I think the proper thing would be to have the code
12553         that calls the pre and post command hooks also call out to generic
12554         lisp functions in simple.el, where all built-in stuff could be
12555         added.  I will think about this more.)
12556
12557         * event-unixoid.c (poll_fds_for_input):
12558         * lread.c (readchar):
12559         * redisplay-tty.c (tty_clear_frame):
12560         * redisplay-x.c (x_get_gc):
12561         * signal.c (interrupt_signal):
12562         And a whole bunch of other files: fixed up places that printed
12563         directly to stderr to instead call the function stderr_out so that
12564         the changes I made under Windows work correctly.
12565
12566         * filemode.c (mode_string):
12567         Warning fixes.
12568
12569         * frame-msw.c:
12570         * frame-msw.c (mswindows_size_frame_internal):
12571         Fixed the computation of frame size and position to keep the frame
12572         within the workspace area, rather than within the physical
12573         dimensions of the screen, so that the frame doesn't overlap window
12574         manager decorations, such as the start menu and toolbar, typically
12575         at the bottom of the screen.
12576
12577         * frame.c (vars_of_frame):
12578         Changed the default frame title format under MS Windows to consist
12579         of buffername-XEmacs, which is standard under MS Windows.  I think
12580         it might be a good idea to change this everywhere because I think
12581         it is superior to the current frame title format, but this is the
12582         kind of change that is likely to cause some people to get annoyed,
12583         so I'm not making it.
12584
12585         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
12586
12587         * gui-msw.c (mswindows_handle_gui_wm_command):
12588         Fixed compile warnings.
12589
12590         * gui-x.c:
12591         * gui-x.c (strdup_and_add_accel):
12592         * gui-x.c (button_item_to_widget_value):
12593         * gui-x.h:
12594         Added code to automatically put an accelerator onto the beginning
12595         of menu items that don't have one as is now the standard, and is
12596         described more later.  Also fixed things so that the menu item
12597         name can be an evaluated expression, again a new standard.
12598
12599         * gui.c:
12600         * gui.c (gui_item_add_keyval_pair):
12601         * gui.c (make_gui_item_from_keywords_internal):
12602         * gui.c (gui_add_item_keywords_to_plist):
12603         * gui.c (gui_item_accelerator):
12604         * gui.c (gui_name_accelerator):
12605         * gui.c (gui_item_included_p):
12606         * gui.c (gui_item_display_flush_left):
12607         * gui.c (gui_item_display_flush_right):
12608         * gui.c (parse_gui_item_tree_item):
12609         * gui.c (parse_gui_item_tree_children):
12610         * gui.c (parse_gui_item_tree_list):
12611         Mule-ized.  Cleanup.  GCPRO addition.
12612
12613         * line-number.c (buffer_line_number):
12614         * lisp.h:
12615         * lisp.h (EMACS_INT_MAX):
12616         Added the manifest constant EMACS_INT_MIN corresponding to the
12617         existing constant EMACS_INT_MAX.  This is partially to fix compile
12618         warnings under Windows, and partly for cleanliness.
12619
12620         * menubar-msw.c:
12621         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
12622         * menubar-msw.c (msw_translate_menu_or_dialog_item):
12623         * menubar-msw.c (displayable_menu_item):
12624         * menubar-msw.c (populate_menu_add_item):
12625         * menubar-msw.c (populate_or_checksum_helper):
12626         * menubar-msw.c (populate_menu):
12627         * menubar-msw.c (update_frame_menubar_maybe):
12628         * menubar-msw.c (prune_menubar):
12629         * menubar-msw.c (msw_char_is_accelerator):
12630         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
12631         * menubar-msw.c (mswindows_handle_wm_command):
12632         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
12633         * menubar-msw.c (mswindows_handle_wm_initmenu):
12634         * menubar-msw.c (mswindows_update_frame_menubars):
12635         * menubar-msw.c (mswindows_free_frame_menubars):
12636         * menubar-msw.c (mswindows_popup_menu):
12637         Fixed a bug in handling accelerators where an extra character
12638         would be displayed in the menu item.  Also generalized the
12639         function displayable_menu_item because it is now used by the
12640         dialog box code as well.  And finally, added code in the functions
12641         that create the menubar to extract a list of accelerators for the
12642         top level menubar, which is used in the event code to determine
12643         whether a particular alt-key combination should be used to invoke
12644         a menu item, or should be passed through to access the standard
12645         XEmacs keymap binding for this key combination.
12646
12647         Much needed GCPROing.
12648
12649         * menubar-x.c:
12650         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12651         * menubar-x.c (menu_item_descriptor_to_widget_value):
12652         * menubar-x.c (restore_in_menu_callback):
12653         * menubar-x.c (x_popup_menu):
12654         * menubar-x.c (menu_move_up):
12655         * menubar-x.c (menu_move_down):
12656         * menubar-x.c (menu_move_left):
12657         * menubar-x.c (menu_move_right):
12658         * menubar-x.c (menu_select_item):
12659         * menubar-x.c (command_builder_operate_menu_accelerator):
12660         * menubar-x.c (menu_accelerator_junk_on_error):
12661         * menubar-x.c (command_builder_find_menu_accelerator):
12662         * menubar-x.c (Faccelerate_menu):
12663         * menubar.h:
12664         Moved a whole bunch of code here that was previously in
12665         event-stream.c as described above.  There is also code connected
12666         to the new standard of adding an accelerator to the beginning of
12667         menu items that don't have one as described above and below.
12668
12669         * menubar.c:
12670         * menubar.c (menu_parse_submenu_keywords):
12671         * menubar.c (Fmenu_find_real_submenu):
12672         * menubar.c (Fnormalize_menu_item_name):
12673         * menubar.c (syms_of_menubar):
12674         * menubar.c (vars_of_menubar):
12675         * menubar.c (complex_vars_of_menubar):
12676
12677         a) Cleaned up a bunch of documentation and improved it.
12678
12679         b) XEmacs now automatically adds an accelerator onto the beginning
12680         of any menu items that don't have one.  I did this because there
12681         will inevitably be some menu items on the main menubar that don't
12682         have accelerators on them because the package that adds that
12683         particular menu item hasn't yet been fixed up to have accelerators
12684         in them and it looked rather strange to have some items with and
12685         some items without accelerators, especially since even in items
12686         without accelerators, you can, at least under windows, still
12687         access the item through an accelerator corresponding to the first
12688         character in the item's name.  If people don't like this behavior,
12689         I can add a variable to turn it off optionally, but I'm not sure
12690         this is a good idea because we really do need to have accelerators
12691         on all of the menu items, and if a package doesn't like the
12692         accelerators being put on the first character, then it should put
12693         the accelerators where they belong.
12694
12695         c) I made a behavior change, which is that the descriptor that
12696         specifies the text of the menu item, which formerly was just a
12697         string, can now also be an evaluated expression.  This makes this
12698         descriptor parallel with all of the others, which could also be
12699         evaluated expressions.  This also obviates the need for the
12700         keyword :label, which was previously listed in the documentation
12701         as unimplemented, and which was for the same purpose.
12702
12703         d) GCPROing.
12704
12705         * ntproc.c:
12706         * ntproc.c (new_child):
12707         * ntproc.c (sys_spawnve):
12708         * ntproc.c (find_child_console):
12709         * ntproc.c (sys_kill):
12710         Fixed compile warnings.  By the way, this file should really go
12711         away entirely, and this will happen as soon as Kirill makes his
12712         final round of process cleanups, which affect the function
12713         call-process.
12714
12715         * process-nt.c:
12716         * process-nt.c (struct nt_process_data):
12717         * process-nt.c (find_process_from_pid):
12718         * process-nt.c (send_signal_the_nt_way):
12719         * process-nt.c (enable_child_signals):
12720         * process-nt.c (find_child_console):
12721         * process-nt.c (send_signal_the_95_way):
12722         * process-nt.c (nt_finalize_process_data):
12723         * process-nt.c (ensure_console_window_exists):
12724         * process-nt.c (nt_create_process):
12725         * process-nt.c (nt_kill_child_process):
12726         * process-nt.c (nt_kill_process_by_pid):
12727         * process-nt.c (nt_open_network_stream):
12728         * process-nt.c (vars_of_process_nt):
12729         Copied over code from Emacs 20.5 to correctly send signals to sub-
12730         processes under Windows 95.  Also added code to automatically
12731         create and hide console window when a sub-process is created under
12732         Windows 95, which obviates the need for the separate runemacs.exe
12733         executable, and finally implemented some variables that were
12734         implemented in Emacs 20.5, but previously not in XEmacs.  These
12735         include mswindows- start-process-share-console and
12736         mswindows-start-process-inherit-error-mode. (Both of these only
12737         apply to Windows 95.)
12738
12739         * regex.c (regex_compile): Fixed a compile warning.
12740
12741         * select-msw.c:
12742         * select-msw.c (mswindows_own_selection):
12743         * select-msw.c (mswindows_get_foreign_selection):
12744         * select-msw.c (mswindows_disown_selection):
12745         * select-msw.c (console_type_create_select_mswindows):
12746         * select-msw.c (syms_of_select_mswindows):
12747         Cleaned up the file and implemented the device method
12748         selection_exists_p, which had accidentally been left out.  Also
12749         removed four lisp functions that were remnants from before the
12750         time when the selection code was properly device abstracted.
12751         These functions are no longer needed because there are generic
12752         equivalents, and because they were added recently and don't exist
12753         in FSF Emacs, I don't think there's any problem with just deleting
12754         them.
12755
12756         * sysdep.c:
12757         * sysdep.c (sys_subshell):
12758         Fixed a compile warning, although in this case there's probably
12759         something wrong with this code, and it ought to be looked into
12760         more thoroughly by somebody who understands it.
12761
12762         * window.c:
12763         * window.c (Fwindow_text_area_height):
12764         * window.c (Fwindow_width):
12765         * window.c (Fwindow_full_width):
12766         * window.c (Fwindow_pixel_width):
12767         * window.c (debug_print_window):
12768         * window.c (syms_of_window):
12769         Added functions window-text-area-height and window-full-width,
12770         which are functions for returning various width and height
12771         characteristics of a window. (One of these functions is necessary
12772         for making the file dialog box work correctly, and the other one
12773         was added for completeness.)  Also added a table to the
12774         documentation for window-height which describes the entire scheme
12775         for accessing width and height characteristics of a window.
12776
12777 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12778
12779         * nt.c (fstat): Added a comment for another problem with
12780         non-encapsulated [f]stat(), reported by Adrian Aichner
12781         <aichner@ecf.teradyne.com>.
12782
12783 2000-03-11  Andy Piper  <andy@xemacs.org>
12784
12785         * window.c (make_dummy_parent): initialize subwindow instance
12786         cache.
12787         (Fset_window_configuration): zero extent_modiff.
12788
12789 2000-03-10  Andy Piper  <andy@xemacs.org>
12790
12791         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
12792         more changes can be triggered.
12793         (Fredisplay_frame): ditto.
12794         (Fredraw_device): ditto.
12795         (Fredisplay_device): ditto.
12796         (redisplay_frame): make non-static.
12797         (redisplay_frame): call update_frame_gutter_geometry outside of
12798         display proper.
12799
12800         * gutter.h: declare update_frame_gutter_geometry.
12801
12802         * redisplay.h: declare redisplay_frame.
12803
12804         * gutter.c (update_frame_gutter_geometry): move geometry changes
12805         in update_frame_gutters here. Geometry changes can only occur
12806         outside of redisplay.
12807         (update_frame_gutters): remove geometry change code.
12808         (Fredisplay_gutter_area): make sure that we are in display when we
12809         update and that we have flushed any size changes.
12810
12811 2000-03-11  Andy Piper  <andy@xemacs.org>
12812
12813         * alloc.c (pdump_dump_data): remove i & count shadows.
12814
12815 2000-02-27  Mike Alexander  <mta@arbortext.com>
12816
12817         * sysdep.h: Declare pdump_read_file
12818
12819         * sysdep.c (pdump_read_file): New function
12820
12821         * alloc.c (pdump_load): Call pdump_read_file to get the portable
12822         dump data
12823
12824 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12825
12826         * lrecord.h: add `lrecord_type_pgsetenv'.
12827
12828 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
12829
12830         * symsinit.h: declare (vars|syms)_of* functions.
12831         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
12832
12833 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
12834
12835         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
12836
12837         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
12838         GCCs.
12839
12840         * emacs.c (main_1): Call postgres initialization code.
12841
12842         * postgresql.h: New file.  PostgreSQL RDBMS support.
12843         * postgresql.c: New file.
12844
12845 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12846
12847         * redisplay-output.c (redisplay_output_display_block): Disable
12848         redundant code.
12849
12850 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12851
12852         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
12853         (Fcanna_henkan_next): Ditto.
12854         (Fcanna_bunsetu_henkou): Ditto.
12855         (Fcanna_henkan_kakutei): Ditto.
12856         (Fcanna_henkan_end): Ditto.
12857         (Fcanna_henkan_quit): Ditto.
12858         (Fcanna_henkan_next): Set retun value correctly.
12859         (c2mu): Use unsigned char instead of signed char.
12860
12861 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12862
12863         * emacs.c (main_1): Always call syms_of_gui.
12864         * inline.c: include gui.h
12865
12866 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12867
12868         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
12869         converted to Lisp_Object.
12870         (Qtop_bottom): New variable.
12871         (syms_of_redisplay): Initialize it.
12872         * redisplay.h (Vvisible_bell): Ditto.
12873         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
12874         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
12875         only flash top and bottom.
12876
12877 2000-03-08  Andy Piper  <andy@xemacs.org>
12878
12879         * buffer.c (Frename_buffer): record new buffer name the right way.
12880
12881 2000-03-08  Andy Piper  <andy@xemacs.org>
12882
12883         * glyphs.c (update_subwindow): increase hash depth so that widget
12884         items get picked up properly.
12885
12886         * redisplay-output.c (compare_runes): increase hash depth so that
12887         widget items get picked up properly.
12888
12889 2000-03-08  Andy Piper  <andy@xemacs.org>
12890
12891         * gutter.c (output_gutter): add some debug.
12892
12893         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
12894         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
12895         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
12896
12897         * redisplay-output.c (compare_runes): use display_hash to
12898         determine if glyphs really are not the same.
12899
12900         * glyphs.c (update_subwindow): check display_hash to see if
12901         anything really needs to be updated. If not then do
12902         nothing. Record the display_hash after updating.
12903         (image_instance_equal): compare the image_instance face also.
12904
12905 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
12906
12907         * redisplay.h: Fix comment style.
12908
12909 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12910
12911         * consle-msw.h (struct mswindows_frame):
12912         Added new member paint_pending to indicate whether a WM_PAINT
12913         magic event has been queued for this frame.
12914
12915         * event-msw.c (mswindows_drain_windows_queue):
12916         Don't queue a WM_PAINT magic event if one is already queued.
12917         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
12918
12919         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
12920
12921 2000-03-07  Didier Verna  <didier@xemacs.org>
12922
12923         * dired.c: #include `regex.h' after `sysfile.h'.
12924
12925 2000-03-06  Martin Buchholz  <martin@xemacs.org>
12926
12927         * sound.c (init_nas_sound): Fix compiler warning.
12928
12929         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
12930         (FREE_STRUCT_P):
12931         (MARK_STRUCT_AS_FREE):
12932         (MARK_STRUCT_AS_NOT_FREE):
12933         Make `gcc -fstrict-aliasing' work properly.
12934
12935 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12936
12937         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
12938         (mswindows_delete_device): Call CoUnnitialize().
12939
12940         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
12941
12942 2000-02-25    <CraigL@DyCon.com>
12943
12944         * process-nt.c: MinGW now has <shellapi.h>, but still needs
12945         <errno.h>.
12946
12947         * sysdep.c: This extern declaration for environ prevents MinGW
12948         from finding the variable in CRTDLL.DLL.
12949
12950         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
12951         windows headers.
12952         (SHGFI_EXETYPE): ..
12953         (WM_MOUSEWHEEL): ..
12954         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
12955         definitions.
12956         (MMRESULT): Removed, now defined in cygwin's windows headers.
12957         (TIMECAPS): ..
12958         (uid_t,gid_t,pid_t,ssize_t): ..
12959         (_timeb): Removed, MinGW defines both _timeb and timeb.
12960         (HAVE_H_ERRNO): Added.
12961         (HAVE_TZNAME): Added, configure is not detecting this.
12962
12963 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
12964
12965         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
12966         * syntax.c (syntax_match): Use it.
12967
12968         * cmds.c: Import auto-fill-chars from FSF Emacs.
12969         (Vauto_fill_chars): New variables.
12970         (internal_self_insert): Check Vauto_fill_chars.
12971         (vars_of_cmds):
12972         Declare auto-fill-chars as a Lisp variable and initialize it.
12973
12974 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12975
12976         * fileio.c (Fmake_symbolic_link):
12977         (Ffile_symlink_p):
12978         Run handlers even if local machine doesn't have symlinks.
12979
12980 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12981
12982         * event-msw.c (mswindows_drain_windows_queue):
12983         Don't generate paint magic events for non-XEmacs frames.
12984
12985 2000-03-05  Andy Piper  <andy@xemacs.org>
12986
12987         * redisplay.c (redisplay_frame): generate_displayable_area and
12988         friends assumes that we are not in GC, we therefore have to make
12989         sure that this doesn't happen.
12990
12991         * gutter.c (calculate_gutter_size): generate_displayable_area
12992         assumes that we are not in GC, we therefore have to make sure that
12993         this doesn't happen.
12994
12995 2000-03-05  Martin Buchholz  <martin@xemacs.org>
12996
12997         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
12998
12999 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13000
13001         * redisplay.c (regenerate_window): Make sure we set a sane value
13002         for end_pos even if we jump out of the loop.
13003         (regenerate_window): Answer Ben's question :-).
13004         (start_end_of_last_line): Add may_error argument.
13005         (start_of_last_line):
13006         (end_of_last_line): Pass may_error = 0.
13007         (end_of_last_line_may_error): New function.
13008         (pixel_to_glyph_translation): Use it, so we don't crash in
13009         event_to_glyph.
13010
13011 2000-03-04  Andy Piper  <andy@xemacs.org>
13012
13013         * window.h (struct window): add gutter_extent_modiff.
13014
13015         * window.c (allocate_window): zero out gutter_extent_modiff.
13016
13017         * redisplay.h: declare sync_display_line_structs.
13018
13019         * redisplay.c (add_glyph_rune): add a better comment.
13020
13021         * redisplay-output.c (sync_display_line_structs): made non-static.
13022         (compare_runes): remove unneccesary glyph cachel access.
13023
13024         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13025
13026         * gutter.c (output_gutter): don't output the gutter if extent
13027         changes only involve extents in buffers. use 4 sets of display
13028         lines.
13029         (gutter_extent_signal_changed_region_maybe): new function. Mark
13030         extents in gutters as changed.
13031         (update_frame_gutters): use 4 sets of display lines.
13032         (reset_gutter_display_lines): ditto.
13033         (free_frame_gutters): ditto.
13034         (redraw_exposed_gutter): force output of gutters.
13035
13036         * frame.h (struct frame): add 4 sets of gutter display lines.
13037
13038         * extents.c: (extent_changed_for_redisplay): signal changes to
13039         extents in strings in the gutter as well as extents in buffers.
13040
13041 2000-03-02  Andy Piper  <andy@xemacs.org>
13042
13043         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13044
13045         * frame.c (Fmake_frame): make sure the gutters get initialized
13046         after the frame is visible.
13047         (set_frame_selected_window): re-arrange compilation macros a
13048         little.
13049         (change_frame_size_1): mark gutters changed.
13050
13051         * device.c (Fset_device_class): mark gutters changed.
13052
13053 2000-03-01  Andy Piper  <andy@xemacs.org>
13054
13055         * window.c (window_top_frame_gutter_height): deleted.
13056         (window_bottom_frame_gutter_height): ditto.
13057         (window_left_frame_gutter_height): ditto.
13058         (window_right_frame_gutter_height): ditto.
13059         (window_top_gutter_height): don't use them.
13060         (window_bottom_gutter_height): ditto.
13061         (window_left_gutter_width): ditto.
13062         (window_right_gutter_width): ditto.
13063         (Fsplit_window): ditto.
13064         (Fwindow_pixel_edges): don't use border dimensions here.
13065
13066         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13067         (update_scrollbar_instance): ditto.
13068
13069         * redisplay.c (generate_modeline): don't take gutters into account.
13070         (generate_modeline): ditto.
13071         (redisplay_frame): small gutter display optimization.
13072
13073         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13074
13075         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13076         gutters into account.
13077
13078         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13079         for window position and type.
13080
13081         * gutter.c (get_gutter_coords): fix for frame gutters.
13082         (update_frame_gutters): update frame geometry if the gutters have
13083         changed.
13084         (init_frame_gutters): record current gutter geometries.
13085
13086         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13087         var.
13088         (mswindows_widget_instantiate): ditto.
13089
13090         * frame.h (struct frame): add current_gutter_bounds.
13091
13092         * frame.c (change_frame_size_1): position window and minibuffer
13093         appropriately taking into account the frame gutters.
13094
13095         * frame-x.c: (x_initialize_frame_size): take into account the
13096         frame gutters.
13097
13098 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13099
13100         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13101
13102 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13103
13104         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13105
13106 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13107
13108         * file-coding.c (reset_decoding_stream): Clear previous
13109         detection state when autodetect.
13110
13111 2000-02-29  Didier Verna  <didier@xemacs.org>
13112
13113         * extents.c (set_extent_glyph_1): don't require extents to be
13114         attached.
13115
13116 2000-02-27  Andy Piper  <andy@xemacs.org>
13117
13118         * gutter.c (Fset_default_gutter_position): don't default left and
13119         right gutter visibility to t.
13120         (Fset_default_gutter_position): run
13121         default-gutter-position-changed-hook.
13122         (syms_of_gutter): add default-gutter-position-changed-hook.
13123
13124 2000-02-26  Andy Piper  <andy@xemacs.org>
13125
13126         * specifier.c (Fmake_specifier): add gutter references.
13127
13128         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13129
13130         * lisp.h: declare Fvalid_plist_p.
13131
13132         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13133         as changed.
13134         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13135         well as its visibility so that it gets reconstructed.
13136         (construct_window_gutter_spec): new function. Construct a string
13137         to be displayed in the gutter from a plist of strings. Take care
13138         to only use elements that are declared as visible.
13139         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13140         WINDOW_GUTTER.
13141         (gutter_validate): allow plists of strings in the specifier.
13142         (gutter_specs_changed): construct the real_gutter from the gutter
13143         specs using construct_window_gutter_spec.
13144         (gutter_visible_validate): gutter-visible is a new specifier type.
13145         (Fgutter_visible_specifier_p): new function for the new specifier.
13146         (syms_of_gutter): declare gutter-visible and
13147         Fgutter_visible_specifier_p.
13148         (specifier_type_create_gutter): intitalize new gutter-visible
13149         specifier.
13150         (reinit_specifier_type_create_gutter): ditto.
13151         (specifier_vars_of_gutter): use new specifier type for gutter
13152         visibility.
13153         (init_frame_gutters): construct real_gutter correctly.
13154         (Fgutter_specifier_p): beef up documentation.
13155         (Fgutter_size_specifier_p): ditto.
13156
13157         * winslots.h: add real_gutter slots.
13158
13159 2000-02-25  Andy Piper  <andy@xemacs.org>
13160
13161         * device-msw.c: Be kind to older cygwin versions. From Raymond
13162         Toy <toy@rtp.ericsson.se>.
13163
13164         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13165         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13166
13167 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13168
13169         * elhash.c (MARK_OBJ): Practice macro hygiene.
13170
13171 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13172
13173         * miscplay.c: s/__inline__/inline/g;
13174         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13175         (get_device_compdc): INLINE ==> static inline
13176         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13177         find -name '*.h' | \
13178         xargs global-replace \
13179         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13180
13181 2000-02-25  Andy Piper  <andy@xemacs.org>
13182
13183         * window.c (window_top_frame_gutter_height): new function.
13184         (window_top_window_gutter_height): ditto.
13185         (window_top_gutter_height): use them.
13186         (window_bottom_frame_gutter_height): new function.
13187         (window_bottom_window_gutter_height): ditto.
13188         (window_bottom_gutter_height): use them.
13189         (window_left_window_gutter_width): new function.
13190         (window_left_frame_gutter_width): ditto.
13191         (window_left_gutter_width): use them.
13192         (window_right_window_gutter_width): new function.
13193         (window_right_frame_gutter_width): ditto.
13194         (window_right_gutter_width): use them.
13195         (window_pixel_height): new function. calulate window pixel height
13196         with frame gutter involvement.
13197         (Fsplit_window): calculate new sizes taking frame gutters into
13198         account.
13199         (window_char_height_to_pixel_height): don't include frame gutters.
13200         (window_char_height): use window_pixel_height.
13201         (window_pixheight): rename from window_pixel_height.
13202         (change_window_height): use it.
13203         (window_pixel_height_to_char_height): don't include frame gutters.
13204         (window_char_width_to_pixel_width): ditto.
13205
13206 2000-02-25  Andy Piper  <andy@xemacs.org>
13207
13208         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13209         if it is.
13210
13211 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13212
13213         * alloc.c (staticpro):
13214         (staticpro_nodump):
13215         (dumpstruct):
13216         (dumpopaque):
13217         (pdump_wire):
13218         (pdump_wire_list):
13219         (compact_string_chars):
13220         (pdump_dump_wired):
13221         Convert:  if (foo) abort();  ==>  assert (! foo);
13222
13223         * eldap.c (Fldap_search_basic):
13224         (Fldap_add):
13225         (Fldap_modify):
13226         (Fldap_delete):
13227         Fix compiler warnings, and possible crashes if (random) return
13228         value were to be used.
13229
13230 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13231
13232         * device-msw.c: Workaround ResetDC failure.
13233
13234         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13235         applying a devmode.
13236
13237         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13238         (mswindows_text_width): Do not start printer page.
13239
13240         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13241
13242         * glyphs-msw.c: Added image methods to msprinter console and
13243         msprinter-specific image instantiation.
13244
13245 2000-02-20  Mike Alexander  <mta@arbortext.com>
13246
13247         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13248         to avoid crashes when selection-sets-clipboard is on
13249         (mswindows_own_selection): ditto
13250
13251 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13252
13253         * glyphs-msw.c:
13254         * redisplay-msw.c (get_frame_dc):
13255         (get_frame_compdc):
13256         * console-msw.h:
13257         * device-msw.c (mswindows_init_device):
13258         (mswindows_delete_device):
13259         (msprinter_init_device):
13260         (msprinter_delete_device):
13261         * frame-msw.c (mswindows_init_frame_1):
13262         (mswindows_delete_frame):
13263         (msprinter_init_frame_3):
13264         (msprinter_delete_frame): Move compatible DC to device object from
13265         frame object, for both mswindows and msprinter. Only one at a time
13266         is needed, it is a real waste to have one per frame!
13267
13268 2000-02-23  Andy Piper  <andy@xemacs.org>
13269
13270         * glyphs.c: add dynamic width and height elements.
13271         (image_instance_equal): ditto.
13272
13273         * glyphs-widget.c (widget_query_geometry): calculate width and
13274         height dynamically if required.
13275         (initialize_widget_image_instance): initialize dynamic dimensions.
13276         (widget_instantiate): pick-up dynamic dimensions.
13277
13278         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13279         dynamic determination. Add appropriate macros.
13280
13281         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13282         dimensions safe.
13283         (WINDOW_GUTTER_SIZE): ditto.
13284         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13285
13286         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13287         inline.
13288         (get_frame_dc): ditto.
13289
13290         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13291         here.
13292
13293 2000-02-23  Martin Buchholz <martin@xemacs.org>
13294
13295         * XEmacs 21.2.31 is released.
13296
13297 2000-02-22  Ben Wing <ben@xemacs.org>
13298
13299         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
13300
13301 2000-02-22  Andy Piper  <andy@xemacs.org>
13302
13303         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
13304
13305 2000-02-21  Mike Sperber <mike@xemacs.org>
13306
13307         * .dbxrc:
13308         * .gdbinit:
13309         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
13310         variables.
13311
13312 2000-02-21  Mike Sperber <mike@xemacs.org>
13313
13314         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
13315
13316 2000-02-21  Martin Buchholz <martin@xemacs.org>
13317
13318         * XEmacs 21.2.30 is released.
13319
13320 2000-02-20  Martin Buchholz  <martin@xemacs.org>
13321
13322         Performance hacking.
13323         * *.c (syms_of_*):
13324         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
13325         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
13326         * emacs.c (main_1):
13327         * lisp.h (DEFUN):
13328         * console.c (DEFVAR_CONSOLE_LOCAL_1):
13329         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
13330         * symeval.h (DEFVAR_SYMVAL_FWD):
13331         * symbols.c (guts_of_unbound_marker):
13332         Make all c_readonly objects also lisp_readonly and marked for life.
13333         * lrecord.h (struct lrecord_implementation):
13334         Document flags better.
13335         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
13336         * lrecord.h (DECLARE_LRECORD):
13337         * lrecord.h (XSETRECORD):
13338         * lrecord.h (RECORDP):
13339         * lrecord.h (RECORD_TYPEP):
13340         * lrecord.h (RECORD_MARKER): New.
13341         * lrecord.h (error_check_*):
13342         * lrecord.h (CONCHECK_NONRECORD):
13343         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
13344         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
13345         * lrecord.h (set_lheader_implementation):
13346         * lrecord.h (enum lrecord_type): New.
13347         * symeval.h (SYMBOL_VALUE_MAGIC_P):
13348         * alloc.c (disksave_object_finalization_1):
13349         * alloc.c (mark_object):
13350         * alloc.c (lrecord_type_index):
13351         * alloc.c (tick_lcrecord_stats):
13352         * alloc.c (Fgarbage_collect):
13353         * alloc.c (init_alloc_once_early):
13354         * alloc.c (pdump_load):
13355         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
13356         * alloc.c (lrecord_type_index): Delete.
13357         Make lisp object type indexes be constant.
13358           Makes (byte-compile) 5% faster.
13359         Put all marker functions into their own array.
13360           Makes (garbage-collect) 5% faster.
13361         Optimize SYMBOL_VALUE_MAGIC_P.
13362           Makes (byte-compile) 2-3% faster.
13363         * config.h.in (gc_checking_assert): New.
13364         * alloc.c: Use gc_checking_assert().
13365         * .dbxrc: Make compatible with new object type implementation.
13366         * .gdbinit: Make compatible with new object type implementation.
13367         * alloc.c: Delete all symbols defined only for debugging, such as
13368         Lisp_Type_Vector and lrecord_charset.
13369
13370 2000-02-21  Andy Piper  <andy@xemacs.org>
13371
13372         * gui-msw.c (Fmswindows_shell_execute): fix file location
13373         problems.
13374
13375         * buffer.c (Fkill_buffer): remove buffer from alist buffer
13376         unshowing so that set_window_buffer doesn't undo
13377         kill_buffer_hook's hard work.
13378
13379         * glyphs-widget.c (tab_control_query_geometry): don't count the
13380         first item when calculating geometry.
13381
13382         * glyphs.c (map_subwindow): remove redundant code.
13383         (update_frame_subwindows): be more circumspect about when to
13384         update subwindows.
13385
13386         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
13387         when items haven't changed. Update faces if faces have changed as
13388         well as just the widget face.
13389         (x_tab_control_update): Update faces if faces have changed as well
13390         as just the widget face.
13391
13392 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13393
13394         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
13395         registration.
13396         (build_syscolor_string): Use mswindows_color_to_string to try to
13397         get a named color.
13398         (mswindows_device_system_metrics): Reverse the foreground and
13399         background colors so that they match the documentation.
13400
13401         * objects-msw.c: (mswindows_X_color_map): tweak some values so
13402         they match the default Windows palette.
13403         (mswindows_color_to_string): New function.
13404
13405 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13406
13407         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
13408
13409 2000-02-18  Olivier Galibert  <galibert@pobox.com>
13410
13411         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
13412         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
13413
13414         * symbols.c (init_symbols_once_early): Removed obsolete
13415         DATA_SEG_BITS related kludge.
13416         (defvar_magic): Ditto.
13417
13418         * malloc.c: Removed obsolete DATA_SEG_BITS
13419         * ralloc.c: Ditto.
13420         * mem-limits.h: Ditto.
13421
13422         * Makefile.in.in: Removed obsolete HAVE_SHM
13423         * emacs.c: Ditto.
13424
13425 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13426
13427         *  device-msw.c (mswindows_delete_device): Free DDE string
13428         handles.
13429
13430 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13431
13432         * keymap.c (get_keyelt):
13433         * unexnt.c (unexec):
13434         * vm-limit.c (memory_warnings):
13435         * ntheap.c (recreate_heap):
13436         * ntheap.h (UNINIT_PTR):
13437         * select-msw.c (Fmswindows_get_clipboard):
13438         (Fmswindows_set_clipboard):
13439         * objects-msw.h (MSWINDOWS_BAD_HFONT):
13440         * objects-msw.c:
13441         * menubar-msw.c (displayable_menu_item):
13442         * glyphs-msw.c:
13443         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
13444         * sysdep.c (sys_subshell):
13445         * process-nt.c (nt_create_process):
13446         * nt.c (normalize_filename):
13447         (dostounix_filename):
13448         (unixtodos_filename):
13449         * ntproc.c (win32_executable_type):
13450         * ntplay.c (play_sound_data_1):
13451         (play_sound_file):
13452         * editfns.c (get_home_directory):
13453         * event-msw.c (struct winsock_stream):
13454         (mswindows_dde_callback):
13455         * device-msw.c (msprinter_init_device):
13456         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
13457
13458         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
13459         mswindows_clear_toolbar were swapped!
13460
13461         * objects-msw.c:(colormap_t):
13462         (fontmap_t):
13463         * emacs.c (struct standard_args): Fixed const jumble.
13464
13465         * glyphs-widget.c (update_widget): Fixed comparison notation.
13466
13467         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
13468
13469         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
13470         __declspec(noreturn) syntax.
13471
13472 2000-02-19  Martin Buchholz  <martin@xemacs.org>
13473
13474         * eldap.c (Fldap_open):
13475         (Fldap_search_basic):
13476         (Fldap_add):
13477         (Fldap_modify):
13478         Use new coding system conversion macros.
13479
13480 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13481
13482         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
13483
13484 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
13485
13486         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
13487         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13488
13489         * eldap.c (Qadd, Qreplace): New constant symbols
13490         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
13491         interruptions by XEmacs signals
13492         Remove unnecessary calls to slow_down_interrupts and
13493         speed_up_interrupts
13494         (Fldap_search_basic): Renamed from Fldap_search_internal
13495         Added new optional parameter VERBOSE that triggers the
13496         display of progress messages
13497         Remove unnecessary calls to slow_down_interrupts and
13498         speed_up_interrupts
13499         LDAP result code analysis rewritten
13500         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13501         (syms_of_eldap): Define the new symbols and functions
13502
13503
13504 2000-02-17  Martin Buchholz  <martin@xemacs.org>
13505
13506         * realpath.c: Determine PATH_MAX maximally portably.
13507
13508         * insdel.c (bytecount_to_charcount): Optimize.
13509         The function used to be optimized for entirely ASCII sequences.
13510         Now it is optimized for successive characters from the same
13511         charset.  This also wins big for _mostly_ ASCII sequences.
13512
13513         * fileio.c (Ffile_truename): convert return from realpath() using
13514         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
13515         - Rewrite GCPROing slightly.
13516
13517         * sysdep.c (sys_open): Do filename conversion, like all other
13518         sys_* functions.  Fixes bug:
13519         (let ((file-name-coding-system 'iso-8859-2))
13520            (write-region x y latin2-name))
13521         ==> writes filename using internal encoding.
13522
13523 2000-02-18  Martin Buchholz  <martin@xemacs.org>
13524
13525         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
13526         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
13527         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
13528         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
13529         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
13530         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
13531         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
13532         (CONST_IF_NOT_DEBUG): Delete.
13533         * alloc.c (this_one_is_unmarkable): Delete.
13534         (mark_object): Don't check for this_one_is_unmarkable. Use the
13535         c_readonly flag instead.
13536         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
13537
13538 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13539
13540         * event-msw.c (mswindows_drain_windows_queue):
13541         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
13542         away redundant repaint events.
13543
13544 2000-02-17  Andy Piper  <andy@xemacs.org>
13545
13546         * redisplay.h: declare mark_redisplay_structs.
13547
13548         * redisplay.c (redisplay_window):
13549         (redisplay_frame): don't check subwindows_state_changed.
13550         (mark_redisplay): mark gutters here.
13551
13552         * glyphs.c: (instantiate_image_instantiator): always layout if we
13553         haven't done so already.
13554         (allocate_image_instance): don't mark as dirty.
13555         (update_subwindow): bind inhibit_quit.
13556
13557         * gutter.c (mark_gutters): new function.
13558
13559         * glyphs-x.c (x_update_widget): Always resize to get round a
13560         widget bug.
13561
13562         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
13563         breaking absolutely everything.
13564
13565         * gutter.h: declare mark_gutters.
13566
13567 2000-02-16  Martin Buchholz <martin@xemacs.org>
13568
13569         * XEmacs 21.2.29 is released.
13570
13571 2000-02-15  Olivier Galibert  <galibert@pobox.com>
13572
13573         * fns.c (size_bit_vector): Fix computation of the size.
13574
13575 2000-02-15  Martin Buchholz  <martin@xemacs.org>
13576
13577         * *.[ch]: Change CONST to const globally.
13578         find -name '*.[ch]' | \
13579         xargs global-replace \
13580         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
13581         - Remove vestigial references to CONST_IS_LOSING
13582
13583 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13584
13585         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
13586         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
13587         events instead of dispatching them directly.
13588         (mswindows_handle_paint): New function to do repainting.
13589         (mswindows_wnd_proc):
13590         (emacs_mswindows_handle_magic_event): Call above function.
13591
13592 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13593
13594         * objects-msw.c (mswindows_create_font_variant): Return the new
13595         font handle.
13596         (initialize_font_instance): Get font metrics from the underlined
13597         variant of the font to cope with the case where the underlined
13598         font has a bigger descent.
13599
13600 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
13601
13602         * gui.c (gui_item_accelerator): Return the first underlined
13603         character in item name.
13604
13605 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13606
13607         * lisp.h: Added Qprinter.
13608
13609         * general.c (syms_of_general): Initialized it.
13610
13611         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
13612         (get_frame_dc):
13613         (get_frame_compdc): Made inline.
13614
13615         * console.h (struct console_methods): Added eject_page method.
13616
13617         * frame.h: Added FRAME_DISPLAY_P and friends.
13618         Aligned backslahes in many macros in more readable fashion.
13619         Added page_number to struct frame, and an accessor macro
13620         for it.
13621
13622         * defice.h: Added DEVICE_DISPLAY_P and friends.
13623
13624         * device.c (Fdevice_printer_p): Used these.
13625
13626         * frame.c (allocate_frame_core): Initialize page number.
13627         (Fprint_job_page_number):
13628         (Fprint_job_eject_page): Implemented.
13629
13630         * frame-msw.c (msprinter_eject_page): Added method.
13631         (msprinter_start_page): Added.
13632
13633         * window.c (Fwindow_truncated_p): Fixed docstring.
13634         (Fwindow_last_line_visible_height): Implemented.
13635
13636 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13637
13638         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
13639
13640 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13641
13642         * syntax.c (scan_words): Always advance at least one character.
13643
13644 2000-02-13  Andy Piper  <andy@xemacs.org>
13645
13646         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
13647         to make sure the glyph is in the cachels.
13648
13649         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
13650         global image instance flag.
13651         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
13652         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
13653
13654         * glyphs.c (allocate_image_instance): set dirty bits correctly.
13655         (Fset_image_instance_property): mark layout as changed.
13656         (invalidate_glyph_geometry_maybe): mark layout as changed.
13657         (glyph_width): use new NEEDS_LAYOUT macro.
13658         (glyph_ascent): ditto.
13659         (glyph_descent): ditto.
13660         (glyph_height): ditto.
13661         (image_instance_layout): mark layout as clean after laying out.
13662         (update_subwindow): don't mark layout as clean here.
13663
13664         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
13665         should no longer be needed.
13666
13667         * glyphs-x.c (x_update_widget): sanitize asserts.
13668         (x_finalize_image_instance): sanitize assignment to widgets.
13669
13670         * glyphs-widget.c (widget_instantiate): don't need to clear the
13671         layout flag here.
13672
13673 2000-02-13  Martin Buchholz  <martin@xemacs.org>
13674
13675         * sysdep.c (getcwd): Use standard prototype.
13676         * sysdep.h (getcwd): Use standard prototype.
13677
13678         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
13679         (sequence, start, end).
13680         Remove redundant type checking.
13681         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
13682         view of `caller-protects') to avoid a crash where the real fix was
13683         found elsewhere.
13684
13685 2000-02-12  Martin Buchholz  <martin@xemacs.org>
13686
13687         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
13688
13689         * s/sol2.h: Remove feature macro initialization.
13690
13691         * alloc.c (alloc_lcrecord): Add more type checking assertions.
13692         (vector_hash): New.  Code from internal_hash.
13693         * lrecord.h:
13694         Fix up allocation subsystem comments.
13695
13696         * config.h.in: Add __EXTENSIONS__ for Solaris.
13697
13698         * systime.h (EMACS_GETTIMEOFDAY): New.
13699         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
13700         Remove Solaris-specific code.
13701         Use void* for the (ignored) second arg for gettimeofday().
13702
13703         * elhash.c (hash_table_hash): Implement it, finally.
13704         * elhash.c:  Use hashcode_t.
13705
13706         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
13707         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
13708
13709         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
13710         * fns.c (size_bit_vector):
13711         * alloc.c (size_vector):
13712         (make_vector_internal):
13713         (make_bit_vector_internal):
13714         (sweep_bit_vectors_1):
13715         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
13716
13717 2000-02-10  Martin Buchholz  <martin@xemacs.org>
13718
13719         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
13720         Include strings.h to avoid warnings for bzero and strcasecmp.
13721
13722 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13723
13724         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
13725         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
13726
13727         * fns.c (size_bit_vector): New.  Declare bit vectors as a
13728         sequence.
13729
13730 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13731
13732         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
13733         use a value field instead.
13734         (symbol_value_forward_forward): Use value field.
13735         (DEFVAR_SYMVAL_FWD): Use value field.
13736         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
13737         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
13738         (DEFVAR_CONST_INT): Ditto.
13739         (DEFVAR_BOOL): Ditto.
13740         (DEFVAR_CONST_BOOL): Ditto.
13741         (DEFVAR_INT_MAGIC): Ditto.
13742         (DEFVAR_BOOL_MAGIC): Ditto.
13743
13744         * symbols.c (guts_of_unbound_marker): Use value field.
13745         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
13746         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
13747
13748         * lisp.h: Declare dumpopaque and noninteractive1.
13749
13750         * alloc.c (dumpopaque): Added.
13751         (pdump_dump_opaquevec): Added.
13752         (pdump): Call pdump_dump_opaquevec to dump opaque data.
13753         (pdump_load): Reload opaque data.  Sync noninteractive1 with
13754         noninteractive.
13755
13756 2000-02-10  Andy Piper  <andy@xemacs.org>
13757
13758         * glyphs.c (image_instance_layout): if the size changes, mark it
13759         as such.
13760
13761         * redisplay-output.c (redisplay_output_layout): Update the
13762         subwindow here.
13763         (redisplay_output_subwindow): ditto.
13764
13765         * glyphs.c (update_subwindow): make sure we reset flags for
13766         layouts as well as everything else.
13767
13768         * glyphs-widget.c (layout_layout): don't need to set the instances
13769         dimensions here.
13770
13771 2000-02-09  Martin Buchholz  <martin@xemacs.org>
13772
13773         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
13774         not HAVE_DLOPEN, which is a lower-level thing.
13775
13776         * .cvsignore: Ignore gmon.out
13777
13778 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
13779
13780         * .cvsignore: Ignore portable dumper xemacs.dmp file
13781
13782 2000-02-09  Andy Piper  <andy@xemacs.org>
13783
13784         * redisplay-output.c (redisplay_output_layout): be more clever
13785         about when we output based on the changed flags.
13786
13787         * glyphs.h (struct image_instantiator_methods): add update_method.
13788         (struct Lisp_Image_Instance): add changed flags. Declare new
13789         macros for manipulating them.
13790
13791         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
13792         (image_instance_parent_glyph): find an image_instance's parent
13793         glyph or image_instance.
13794         (image_instance_layout): mark the size as changed.
13795         (set_image_instance_dirty_p): new function. mark an image
13796         instance, plus all of its parents, as dirty.
13797         (Fset_image_instance_property): use it.
13798         (Fglyph_animated_timeout_handler): use it.
13799         (update_subwindow): call update_widget and device methods for
13800         update_subwindow. Mark all changed flags as clean.
13801         (Fresize_subwindow): mark size as changed.
13802
13803         * glyphs-x.c (x_finalize_image_instance): try and detect gc
13804         failures.
13805         (x_update_subwindow): only resize subwindows here.
13806         (x_update_widget): new function. Update all changed properties of
13807         a widget.
13808         (x_resize_subwindow): deleted.
13809         (x_widget_set_property): deleted.
13810         (x_progress_gauge_set_property): deleted.
13811         (x_progress_gauge_update): new function. Implement recorded
13812         changes.
13813         (x_tab_control_update): ditto.
13814         (x_tab_control_set_property): deleted.
13815         (console_type_create_glyphs_x): declare new functions.
13816         (image_instantiator_format_create_glyphs_x): ditto.
13817
13818         * glyphs-widget.c (widget_set_property): mark text changed.
13819         (update_widget): new function. Update properties of a widget.
13820         (widget_instantiate): for layouts make sure we set their
13821         children's parent correctly.
13822         (tab_control_set_property): new function. Record changes that will
13823         take place under redisplay's control.
13824         (progress_gauge_set_property): ditto.
13825         (image_instantiator_progress_guage): declare new functions.
13826         (image_instantiator_tab_control): ditto.
13827
13828         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
13829         now.
13830         (mswindows_update_widget): new function. Update all properties on
13831         a widget that have changed.
13832         (mswindows_button_update): new function. Update a button's set
13833         state.
13834         (mswindows_tab_control_update): new function. Update the items in
13835         a tab.
13836         (mswindows_tab_control_set_property): deleted.
13837         (mswindows_progress_gauge_update): new function. Update the
13838         progress gauge's progress.
13839         (mswindows_widget_set_property): deleted. This is all done
13840         asynchronously now.
13841         (mswindows_progress_gauge_set_property): ditto.
13842         (console_type_create_glyphs_mswindows): declare new methods.
13843         (image_instantiator_format_create_glyphs_mswindows): ditto.
13844
13845         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
13846         (msprinter_set_frame_properties): ditto.
13847
13848         * console.h (struct console_methods): Add update_widget_method.
13849
13850 2000-02-09  Andy Piper  <andy@xemacs.org>
13851
13852         * gui-msw.c (Fmswindows_shell_execute): Make
13853         mswindows-shell-execute industrial strength.
13854
13855 2000-02-08  Martin Buchholz  <martin@xemacs.org>
13856
13857         * lrecord.h: Make macro argument `props' match member function `plist'.
13858         * fns.c (Fget):
13859         * fns.c (Fput):
13860         * fns.c (Fremprop):
13861         * fns.c (Fobject_plist):
13862         * alloc.c:
13863         * symbols.c:
13864         Object property list frobbing cleanup.
13865         - Allow any lisp object (compared with `eq'), not just symbols, as
13866           keys in object plists.
13867         - Move symbol plist frobbing into symbols.c, where it belongs.
13868         - Move string plist frobbing into alloc.c, where it belongs.
13869         - Everything's an lrecord now, so no need to test for symbolp, etc.
13870         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
13871
13872         * extents.c: Reorder code to remove declarations.
13873
13874         * frame.h (store_in_alist): Remove useless declaration.
13875
13876 2000-02-07  Martin Buchholz  <martin@xemacs.org>
13877
13878         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
13879         * config.h.in: Add HAVE_XCONVERTCASE.
13880
13881 2000-02-07  Andy Piper  <andy@xemacs.org>
13882
13883         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
13884         it breaks many things.
13885
13886 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13887
13888         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
13889         actually can start a common comment type.
13890         * src/syntax.h (SYNTAX_END_P): ditto for end.
13891
13892 2000-02-07  Martin Buchholz <martin@xemacs.org>
13893
13894         * XEmacs 21.2.28 is released.
13895
13896 2000-02-06  Martin Buchholz  <martin@xemacs.org>
13897
13898         * event-Xt.c (x_keysym_to_character): New.
13899         (maybe_define_x_key_as_self_inserting_character): New.
13900         (x_has_keysym): New.
13901         Auto-define all keys on the keyboard as self-insert-key.
13902
13903 2000-02-02  Martin Buchholz  <martin@xemacs.org>
13904
13905         * menubar.c (vars_of_menubar): A small code simplification.
13906
13907         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
13908
13909         * ExternalShell.c:
13910         * ExternalClient.c:
13911         * EmacsShell-sub.c:
13912         * EmacsManager.c:
13913         * EmacsFrame.c:
13914         Use consistent style for specifying X resources.
13915
13916         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
13917         This makes (dontusethis-set-symbol-value-handler) actually usable.
13918
13919         * lrecord.h (lrecord_decription_type):
13920         * alloc.c (pdump_register_sub):
13921         (pdump_dump_data):
13922         (pdump_reloc_one):
13923         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
13924         Comply with XEmacs coding style.
13925         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
13926         args, and XD_LISP_OBJECT_ARRAY with 3 args.
13927
13928         * keymap.c (Faccessible_keymaps):
13929         Make (accessible-keymaps map "\C-h") do the Right Thing.
13930         Make (accessible-keymaps map []) do the Right Thing.
13931         Make (accessible-keymaps map "") do the Right Thing.
13932         (check_keymap_definition_loop): New function.
13933         (keymap_store_internal): Keep luser from shooting self in foot,
13934           via (define-key ctl-x-4-map "p" global-map).
13935         Remove fullness slot from struct Lisp_Keymap, since hash tables
13936         are now reliable.
13937         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
13938
13939 2000-01-30  Martin Buchholz  <martin@xemacs.org>
13940
13941         * redisplay.c (init_redisplay): Fix small memory leak.
13942         * elhash.h:
13943         * elhash.c (pdump_reorganize_hash_table):
13944         Rename from reorganize_hash_table. Change prototype.
13945         Reuse the original memory for hentries.  Save 100k.
13946         * alloc.c (PDUMP_READ): new macro.
13947         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
13948         * alloc.c: No need to #ifndef before #undef.
13949
13950         * print.c: Allow debug_print() to print readably by modifying
13951         debug_print_readably.  Use consistent variable names.
13952
13953         * .dbxrc: Try to get things to work even if stopped in a function
13954         without source available by explicitly specifying source files.
13955 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13956
13957         * unexnt.c (_start): Removed bogus code which caused loading heap
13958         from differrent executable file.
13959         Removed bogus assignment to _fmode, which caused inconsistencies.
13960
13961 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13962
13963         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
13964         Have spawnve encapsulation regard DONT_ENCAPSULATE.
13965         Do not preliminary `#define signal sigset'.
13966
13967         * systime.h: Do not prototype environ on windows nt and cygwin,
13968         this conflicts with system header.
13969
13970         * syssignal.h: Use correct define for WINDOWSNT
13971
13972         * sysdep.h: Do not prototype environ on windows nt, this conflicts
13973         with system header.
13974
13975         * sysdep.c (near start of file): Fixed commentary and rearranged
13976         ifdefs in readable order.
13977         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
13978         (start_of_text):
13979         (end_of_text):
13980         (end_of_data): Do not compile in if using PDUMP.
13981
13982         * symsinit.h: Prototyped vars_of_nt().
13983
13984         * ntproc.c (windows9x_p): Added, instead of os_subtype.
13985         (find_child_console): Use it.
13986         (sys_kill): Use it.
13987
13988         * ntheap.h: Do not extern os_subtype.
13989
13990         * ntheap.c (cache_system_info): Do not cache unneeded:
13991         nt_major_version, nt_minor_version and os_subtype.
13992         (recreate_heap): Do not compile in when PDUMPing.
13993
13994         * nt.c (geteuid and friends): Use the new varibale
13995         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
13996         (init_user_info): Removed the above mentioned hackery.
13997         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
13998         stat has been fixed in the C runtime.
13999         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14000
14001         * file-coding.c (struct file_coding_dump): Do not define
14002         ucs_to_mule_table in the struct if not MULE.
14003         (struct struct lrecord_description fcd_description_1): Do not dump
14004         the above.
14005
14006         * emacs.c (main_1): Call vars_of_nt().
14007         (right before Fdump_emacs_data): Don't need lastfile if using both
14008         portabe dumper and system malloc.
14009
14010         * alloc.c (Fmemory_limit): Conditionalized out.
14011         (pdump): Use OPEN_BINARY for the portable dump file.
14012         (pdump_load): Ditto.
14013
14014 2000-02-02  Mike Alexander  <mta@arbortext.com>
14015
14016         * nt.c (convert_time): Set tm_isdst before calling mktime and
14017         avoid calling it at all if the compiler supports 64 bit integers.
14018         Also initialize utc_base_ft before using it.
14019
14020 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14021
14022         * frame.c (change_frame_size_1): Take f->internal_border_width
14023         into consideration when calculating the width of the frame.
14024
14025 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14026
14027         * window.c (frame_min_height):
14028         (frame_size_valid_p):
14029         (frame_pixsize_valid_p): Added.
14030         (check_frame_size): Generalized.
14031
14032         * window.h: Prototyped the above.
14033
14034         * lisp.h:
14035         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14036         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14037         Deleted Vwin32_* and Vbinary_process_* unused variables.
14038
14039         * device-msw.c (msprinter_init_device): Do not get printer font
14040         list; Added DEVMODE functions.
14041
14042         * frame-msw.c: Added lots of printer code.
14043
14044         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14045         general.c.
14046
14047         * console-msw.h: Added more msprinter device private slots.
14048
14049 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14050
14051         * event-msw.c (key_needs_default_processing_p): Added.
14052         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14053
14054 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14055
14056         * glyphs.c (image_instance_layout): Mark image instance as clean
14057         after layout.
14058         (glyph_dirty_p): Removed redundant function.
14059         (invalidate_glyph_geometry_maybe): Added.
14060         (update_glyph_cachel_data): Call it.
14061
14062         * glyphs.h: Prototyped it.
14063
14064         * redisplay.c (add_glyph_rune): Call it.
14065         (redisplay_window): Reset glyphs cachels when frame faces have
14066         changed, thus forcing recomputation of built-in border glyphs.
14067
14068 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14069
14070         * Makefile.in.in: Make portable dumper and purify play well together.
14071         Add imperfect, but better than nothing, support for pdump.
14072         Remove xemacs.dmp when temacs is re-generated.
14073         Don't ignore errors when dumping xemacs.
14074
14075         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14076
14077 2000-01-28  Andy Piper  <andy@xemacs.org>
14078
14079         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14080         (setup_normal_frame): ditto.
14081         (setup_frame_without_minibuffer): ditto.
14082         (setup_minibuffer_frame): ditto.
14083         (delete_frame_internal): ditto.
14084         (Fmake_frame_invisible): ditto.
14085         (Ficonify_frame): ditto.
14086
14087         * window.h: change Fset_window_buffer signature.
14088
14089         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14090         (Fset_window_buffer): allow recording of buffer if the window is
14091         the selected window.
14092         (window_loop): Use new Fset_window signature.
14093
14094 2000-01-23  Daniel Pittman  <daniel@danann.net>
14095
14096         * config.h.in: Added template for `HAVE_ATHENA_3D'
14097
14098 2000-01-29  Andy Piper  <andy@xemacs.org>
14099
14100         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14101
14102         * gutter.c (output_gutter): Don't output if the window isn't live.
14103
14104 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14105
14106         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14107         of 01/12/00: Moved SetFocus back here where it belongs.
14108
14109 2000-01-23  Andy Piper  <andy@xemacs.org>
14110
14111         * s/cygwin32.h: declare printer things.
14112
14113 2000-01-26  Andy Piper  <andy@xemacs.org>
14114
14115         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14116         Alexander.
14117
14118 2000-01-24  Andy Piper  <andy@xemacs.org>
14119
14120         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14121         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14122
14123         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14124
14125         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14126
14127         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14128
14129         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14130         (mswindows_output_display_block): Avoid local shadows.
14131
14132         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14133         (mswindows_enqueue_mouse_button_event): ditto.
14134         (mswindows_handle_gui_wm_command): remove declaration.
14135
14136         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14137         warnings.
14138
14139         * console-msw.h: Avoid shadows.
14140         (mswindows_get_toolbar_button_text):
14141         (emacs_mswindows_create_stream_pair):
14142         (emacs_mswindows_delete_stream_pair):
14143         (mswindows_handle_toolbar_wm_command): declare.
14144
14145         * device-msw.c (build_syscolor_string): Avoid shadows.
14146
14147 2000-01-23  Andy Piper  <andy@xemacs.org>
14148
14149         * glyphs-widget.c (widget_instantiate): reverse the items for
14150         layouts so that children are in the expected order.
14151
14152 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14153
14154         * ralloc.c: safe_bcopy ==> memmove
14155         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14156         * s/msdos.h: Remove BCOPY macros.
14157         * insdel.c (gap_right): Remove BCOPY conditional code.
14158         * insdel.c (gap_left): Remove BCOPY conditional code.
14159         XEmacs demands a working ANSI C compiler - hence memmove.
14160
14161         * regex.c (regex_compile): Remove accidental use of trigraphs.
14162
14163 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14164
14165         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14166         event timestamp.
14167
14168 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14169
14170         * event-msw.c (mswindows_drain_windows_queue): Added the
14171         parameter.
14172         (mswindows_need_event): Commented the call to
14173         mswindows_drain_windows_queue().
14174         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14175         only.
14176
14177         * console-msw.h: Moved a few function prototypes here from
14178         event-msw.c.
14179
14180         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14181         parameter from unsigned short to unsigned long.
14182         (Fmswindows_shell_execute): Added return value.
14183
14184 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14185
14186         * sysdep.c (init_system_name):
14187           process-unix.c (unix_canonicalized_host_name):
14188         Don't call freeaddrinfo() if getaddrinfo() fails.
14189
14190         * process-unix.c (unix_open_unix_network_stream):
14191         Moved the code to get a port # into address loop.
14192
14193 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14194
14195         * buffer.c (reinit_vars_of_buffer):
14196         The right place to initialize conversion_in_dynarr and
14197         conversion_out_dynarr.
14198
14199         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14200
14201         * process-unix.c (unix_canonicalize_host_name): Muleize.
14202         (unix_open_network_stream): Muleize.
14203
14204         * buffer.h: Fix up prototypes for ralloc.c functions.
14205
14206 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14207         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14208         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14209                 instead of gethostbyname()
14210         * process-unix.c: In unix_canonicalize_host_name() and
14211                 unix_open_network_stream(), add code to use getaddrinfo()
14212                 instead of gethostbyname().
14213
14214 2000-01-27  Daniel Pittman <daniel@danann.net>
14215
14216         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14217         libs when built with flat Athena.
14218
14219 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14220
14221         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14222         Use coding standards for function prototypes.
14223
14224 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14225
14226         * dialog-msw.c (push_lisp_string_as_unicode):
14227         * doc.c (unparesseuxify_doc_string):
14228         * dired.c (Fuser_name_completion_1):
14229         * dired.c (Fuser_name_all_completions):
14230         * dired.c (free_user_cache):
14231         * dired.c (user_name_completion):
14232         * console-x.c (get_display_arg_connection):
14233         * minibuf.c (clear_echo_area_internal):
14234         * minibuf.c (echo_area_append):
14235         * eldap.c (Fldap_open):
14236         * eldap.c (Fldap_search_internal):
14237         * frame-x.c (x_set_frame_text_value):
14238         * frame-x.c (x_set_frame_properties):
14239         * frame-x.c (x_create_widgets):
14240         * redisplay-tty.c (term_get_fkeys_1):
14241         * objects-x.c (x_parse_nearest_color):
14242         * objects-x.c (x_valid_color_name_p):
14243         * objects-x.c (x_initialize_font_instance):
14244         * objects-x.c (x_list_fonts):
14245         * objects-x.c (x_find_charset_font):
14246         * tooltalk.c (Fadd_tooltalk_message_arg):
14247         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14248         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14249         * process-unix.c (unix_create_process):
14250         * ntproc.c (sys_spawnve):
14251         * sound.c (Fplay_sound_file):
14252         * sound.c (Fplay_sound):
14253         * buffer.c (init_initial_directory):
14254         * buffer.c (init_buffer):
14255         * editfns.c (init_editfns):
14256         * editfns.c (Ftemp_directory):
14257         * editfns.c (Fuser_full_name):
14258         * editfns.c (uncache_home_directory):
14259         * editfns.c (get_home_directory):
14260         * editfns.c (Fuser_home_directory):
14261         * editfns.c (Fformat_time_string):
14262         * editfns.c (Fcurrent_time_string):
14263         * gui-x.c (button_item_to_widget_value):
14264         * database.c (Fopen_database):
14265         * event-Xt.c (x_to_emacs_keysym):
14266         * event-Xt.c (x_event_to_emacs_event):
14267         * event-Xt.c (describe_event_window):
14268         * event-msw.c (mswindows_wnd_proc):
14269         * glyphs-eimage.c (jpeg_instantiate):
14270         * glyphs-eimage.c (gif_instantiate):
14271         * glyphs-eimage.c (png_instantiate):
14272         * glyphs-eimage.c (tiff_instantiate):
14273         * glyphs-x.c (xbm_instantiate_1):
14274         * glyphs-x.c (x_xbm_instantiate):
14275         * glyphs-x.c (x_xface_instantiate):
14276         * glyphs-x.c (autodetect_instantiate):
14277         * glyphs-x.c (cursor_font_instantiate):
14278         * glyphs-x.c (x_widget_instantiate):
14279         * glyphs-x.c (x_widget_set_property):
14280         * glyphs-x.c (x_widget_property):
14281         * glyphs-x.c (BUILD_GLYPH_INST):
14282         * print.c (write_string_to_stdio_stream):
14283         * print.c (output_string):
14284         * print.c (Falternate_debugging_output):
14285         * print.c (Fexternal_debugging_output):
14286         * glyphs-msw.c (extract_xpm_color_names):
14287         * glyphs-msw.c (mswindows_xpm_instantiate):
14288         * glyphs-msw.c (bmp_instantiate):
14289         * glyphs-msw.c (resource_name_to_resource):
14290         * glyphs-msw.c (mswindows_resource_instantiate):
14291         * glyphs-msw.c (xbm_instantiate_1):
14292         * glyphs-msw.c (mswindows_xbm_instantiate):
14293         * glyphs-msw.c (mswindows_xface_instantiate):
14294         * glyphs-msw.c (mswindows_widget_instantiate):
14295         * glyphs-msw.c (add_tree_item):
14296         * glyphs-msw.c (add_tab_item):
14297         * glyphs-msw.c (mswindows_combo_box_instantiate):
14298         * glyphs-msw.c (mswindows_widget_property):
14299         * glyphs-msw.c (mswindows_combo_box_property):
14300         * glyphs-msw.c (mswindows_widget_set_property):
14301         * console.c (stuff_buffered_input):
14302         * objects-msw.c (mswindows_initialize_color_instance):
14303         * objects-msw.c (mswindows_valid_color_name_p):
14304         * objects-msw.c (mswindows_list_fonts):
14305         * objects-msw.c (mswindows_font_instance_truename):
14306         * bytecode.c (optimize_compiled_function):
14307         * select-x.c (symbol_to_x_atom):
14308         * select-x.c (x_atom_to_symbol):
14309         * select-x.c (hack_motif_clipboard_selection):
14310         * select-x.c (selection_data_to_lisp_data):
14311         * select-x.c (lisp_data_to_selection_data):
14312         * select-x.c (Fx_get_cutbuffer_internal):
14313         * select-x.c (Fx_store_cutbuffer_internal):
14314         * buffer.h (TO_EXTERNAL_FORMAT): New function.
14315         * buffer.h (TO_INTERNAL_FORMAT): New function.
14316         * emacs.c (make_arg_list_1):
14317         * emacs.c (make_argc_argv):
14318         * emacs.c (main_1):
14319         * emacs.c (Fdump_emacs):
14320         * emacs.c (split_string_by_emchar_1):
14321         * file-coding.h:
14322         * lisp.h:
14323         * lstream.h:
14324         * symsinit.h:
14325         * device-x.c (x_init_device):
14326         * device-x.c (Fx_valid_keysym_name_p):
14327         * device-x.c (Fx_get_font_path):
14328         * device-x.c (Fx_set_font_path):
14329         * glyphs.c (bitmap_to_lisp_data):
14330         * glyphs.c (pixmap_to_lisp_data):
14331         * alloc.c (make_ext_string): Use coding system arguments.  Update
14332         all callers.
14333         * alloc.c (build_string):
14334         * callproc.c (child_setup):
14335         * callproc.c (init_callproc):
14336         * fileio.c (lisp_strerror):
14337         * fileio.c (directory_file_name):
14338         * fileio.c (Fexpand_file_name):
14339         * fileio.c (Ffile_truename):
14340         * fileio.c (Fsysnetunam):
14341         * fileio.c (Fdo_auto_save):
14342         * sysdep.c (sys_readdir):
14343         * tests.c: New file.  Allow adding C tests.
14344         Replace GET_* macros with a more comprehensible and flexible
14345         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
14346         Modify all calls.
14347         Any coding system can be used to do format conversion.
14348         Eliminate enum external_data_format.
14349         Eliminate convert_to_external_format.
14350         Eliminate convert_to_internal_format.
14351         Make sure file-name, keyboard, terminal, and ctext are always
14352         defined as coding systems or aliases.  Make
14353         file-name-coding-system, terminal-coding-system, and
14354         keyboard-coding-system magical variables that are equivalent to
14355         defining the corresponding coding system aliases.
14356
14357         * file-coding.c (Fcoding_system_canonical_name_p): New function.
14358         * file-coding.c (Fcoding_system_alias_p): New function.
14359         * file-coding.c (Fcoding_system_aliasee): New function.
14360         * file-coding.c (append_suffix_to_symbol): New function.
14361         * file-coding.c (dangling_coding_system_alias_p): New function.
14362         * file-coding.c (Ffind_coding_system):
14363         * file-coding.c (Fcopy_coding_system):
14364         * file-coding.c (encode_coding_no_conversion):
14365         * file-coding.c (syms_of_file_coding):
14366         * file-coding.c (vars_of_file_coding):
14367         Rewrite coding system alias code.
14368         Allow nested aliases, like symbolic links.
14369         Allow redefinition of coding system aliases.
14370         Prevent existence of dangling coding system aliases.
14371
14372         * dired.c (Fuser_name_completion_1):
14373         * dired.c (Fuser_name_all_completions):
14374         A crash would happen if user did QUIT in the middle of building
14375         user_name_cache.  Remove redundant code in mainline and unwind_protect.
14376
14377         * lisp.h:
14378         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
14379
14380         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
14381         an unsigned char *.  Update all callers.
14382
14383 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14384
14385         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
14386
14387 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14388
14389         * elhash.c (hentry_description): Use more portable definition.
14390         (resize_hash_table): Initialize new hentries using
14391         xnew_array_and_zero, thereby simplifying the code.
14392
14393         * mule-charset.c (make_charset): Make sure entire object is
14394         initialized, to avoid Purify warnings.
14395
14396         * alloc.c (resize_string): Fix unlikely crash with big strings.
14397
14398 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14399
14400         * realpath.c (xrealpath):
14401         Don't call getwd().
14402
14403 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14404
14405         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
14406
14407 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
14408
14409         * unexelfsgi.c (unexec): Change the way we decide which segment
14410         should be extended.
14411
14412         Assumption that .bss section should be outside the PT_LOADable
14413         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
14414         it's present) is inside the 'data' segment. This would fail the
14415         test which was used to find a segment to grow and cover new
14416         heap. Instead of this assumption, I created another one - on IRIX
14417         the segment to grow should start below .bss and it's address
14418         should extent above the end of .bss. Once this segment is
14419         identified, it's grown to accommodate the new heap and new
14420         zero-length .bss section is added at the end of .data2.
14421
14422 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14423
14424         * eval.c (Feval): Wrong number of arguments should use original
14425         function, not the indirect_function version of it.
14426
14427 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
14428
14429         * glyphs-x.c (x_button_instantiate): Don't add image if
14430         it is not a pixmap.
14431         (x_locate_pixmap_file): Call Fexpand_file_name when file name
14432         is relative.
14433
14434 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
14435
14436         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
14437         declaration.
14438         (DEFVAR_INT_MAGIC): Ditto.
14439         (DEFVAR_BOOL_MAGIC): Ditto.
14440         * glyphs.h: Reindent backslash.
14441
14442 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14443
14444         * glyphs-widget.c (layout_query_geometry):
14445         (layout_layout): Use correct types for gheight, gwidth.
14446
14447 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14448
14449         * EmacsManager.c (QueryGeometry): Purified.
14450
14451 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14452
14453         * alloc.c (make_float): Make sure entire object is initialized, to
14454         avoid Purify warnings.
14455         (pdump_register_sub): Remove useless assignment.
14456         (pdump): Use xmalloc, not malloc.
14457         (pdump_load): Use xmalloc, not malloc.
14458
14459 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14460
14461         * callproc.c:
14462         * dired-msw.c:
14463         * fileio.c:
14464         * process-nt.c:
14465         * redisplay-msw.c:
14466         * sysdep.c: Removed redundant #include <windows.h>
14467
14468 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14469
14470         * frame.c (delete_frame_internal): Do not delete device when its
14471         implementation so declares.
14472         (delete_frame_internal): Set device selected frame to nil when
14473         last frame goes away.
14474
14475         * device-msw.c (msprinter_device_system_metrics): Implemented.
14476         (mswindows_device_system_metrics): Added 'device-dpi property.
14477
14478         * device.c: (Fdevice_printer_p): Added.
14479         Added 'offset-workspace device metric.
14480
14481         * console.h (device_metrics): Declared DM_offset_workspace.
14482
14483 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14484
14485         * fileio.c (Ffile_truename): Remove pointless and confusing
14486         initialization of elen.
14487
14488         * glyphs-widget.c: Compiler warning fixes.
14489
14490 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
14491
14492         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
14493         instead of a Lisp_Object as argument to make it consistent with
14494         the other LIVE_P macros.
14495         (CHECK_LIVE_PROCESS): New macro.
14496
14497         * process.c: Declare Qprocess_live_p.
14498         (Fprocess_live_p): New function.
14499         (create_process): Use PROCESS_LIVE_P.
14500         (read_process_output): Ditto.
14501         (set_process_filter): Ditto.
14502         (Fdelete_process): Ditto.
14503         (kill_buffer_processes): Ditto
14504         (process_send_signal): Use CHECK_LIVE_PROCESS.
14505         (Fprocess_input_coding_system): Check whether process is still
14506         alive (fix PR#1061).
14507         (Fprocess_output_coding_system): Ditto.
14508         (Fprocess_coding_system): Ditto.
14509         (Fset_process_input_coding_system): Ditto.
14510         (Fset_process_output_coding_system): Ditto.
14511
14512 2000-01-23  Andy Piper  <andy@xemacs.org>
14513
14514         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
14515         layout and widget.
14516
14517         * glyphs.c (mark_image_instance): take into account changed
14518         image_instance format.
14519         (image_instance_equal): ditto.
14520         (image_instance_hash): ditto.
14521
14522         * glyphs-widget.c (widget_instantiate): Incorporate layout
14523         instantiation here. Delay layout of the layout until later.
14524         (layout_instantiate): deleted.
14525         (layout_query_geometry): new function. get the geometry of a
14526         layout.
14527         (layout_layout): layout a layout dynamically.
14528         (image_instantiator_widget): New function - splitting up
14529         image_instantiator_format_create_glyphs_widget for netwinder
14530         compilation.
14531         (image_instantiator_buttons):
14532         (image_instantiator_edit_fields):
14533         (image_instantiator_combo_box):
14534         (image_instantiator_scrollbar):
14535         (image_instantiator_progress_guage):
14536         (image_instantiator_tree_view):
14537         (image_instantiator_tab_control):
14538         (image_instantiator_labels):
14539         (image_instantiator_layout): ditto.
14540         (image_instantiator_format_create_glyphs_widget): Call preceding
14541         functions.
14542
14543 2000-01-22  Martin Buchholz  <martin@xemacs.org>
14544
14545         * process.c (Fset_process_coding_system):
14546         * device-x.c (Fx_keysym_hash_table):
14547         Docstring fixes.
14548
14549         * lstream.c (Lstream_write): Return documented value, not 0.
14550
14551         * fileio.c (directory_file_name):
14552         (Fsubstitute_in_file_name):
14553         (Fsubstitute_insert_file_contents_internal):
14554         (Fwrite_region_internal):
14555         * emacs.c:
14556         * sysdep.c:
14557         * getloadavg.c:
14558         * systty.h:
14559         Remove vestigial APOLLO-conditional code.
14560
14561 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14562
14563         * getpagesize.h: Add guard macros.
14564         * libsst.h: Add guard macros.
14565         * libst.h: Add guard macros.
14566         * line-number.h: Add guard macros.
14567         * ndir.h: Add guard macros.
14568         * sysfloat.h: Add guard macros.
14569         * sysfile.h: Add guard macros.
14570         * sysproc.h: Add guard macros.
14571         * syswait.h: Add guard macros.
14572         * xintrinsic.h: Add guard macros.
14573         * xintrinsicp.h: Add guard macros.
14574         * xmmanager.h: Add guard macros.
14575         * xmmanagerp.h: Add guard macros.
14576         * xmprimitive.h: Add guard macros.
14577         * xmu.h: Add guard macros.
14578         * gpmevent.h: Add copyright statement. Add guard macros.
14579         * miscplay.h: Add guard macros.
14580         * *.h: Use consistent C-standards-approved guard macro names.
14581
14582         * opaque.c (make_opaque): Switch parameter order.
14583         * opaque.h (make_opaque): Switch parameter order.
14584         Update all callers.
14585         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
14586
14587         * config.h.in (type_checking_assert): Added.
14588         (bufpos_checking_assert): Added.
14589
14590 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14591
14592         * alloc.c: Harmless pdump changes.
14593         - Use countof().
14594         - spell alignment correctly.
14595         * sysdep.c: Use countof()
14596
14597 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14598
14599         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
14600         initially_selected_for_input() console method, default to 0.
14601         (semi_canonicalize_console_connection): Try to delegate to
14602         canonicalize_console_connection if no such console method.
14603         (canonicalize_console_connection): Vice versa.
14604         (print_console): Do not print nil connection.
14605
14606         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
14607         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
14608         (XDEVIMPF_FRAMELESS_OK): Added.
14609         (CONSOLE_INHERITS_METHOD): Added.
14610
14611         * console-msw.c (mswindows_canonicalize_console_connection):
14612         Added.
14613         (mswindows_canonicalize_device_connection): Added.
14614
14615         * console-msw.h (struct msprinter_device): Added this struct and
14616         accessor macros.
14617         (mswindows_device): Made fontlist a lisp object.
14618
14619         * device.c (semi_canonicalize_device_connection):  Try to delegate
14620         to canonicalize_device_connection if no such console method.
14621         (canonicalize_device_connection): Vice versa.
14622         (print_device): Do not print nil connection.
14623
14624         * device-msw.c (mswindows_init_device): Call InitCommonControls
14625         when have widgets.
14626         (mswindows_delete_device): Removed fontlist deallocation.
14627         (mswindows_mark_device): Added.
14628
14629         * events.c (event_equal): Added abort() at unreached code.
14630         (event_hash): Ditto.
14631
14632         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
14633         fallback tags of Windows devices.
14634
14635         * general.c (syms_of_general): Initialized Qmsprinter.
14636
14637         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
14638         of fallback tags of Windows devices.
14639
14640         * lisp.h: Declared Qmsprinter.
14641
14642         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
14643         of strings.
14644         (mswindows_list_fonts): Ditto.
14645         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
14646         that it can be used by both mswindows and msprinter devices.
14647         (initialize_font_instance): Added.
14648         (mswindows_initialize_font_instance): Use it.
14649         (msprinter_initialize_font_instance): Added.
14650
14651         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
14652         and implementation flags check.
14653         (redisplay_without_hooks): Changed the call to the above.
14654         (Fredraw_device): Ditto.
14655         (Fredisplay_device): Ditto.
14656
14657         * redisplay-msw.c (get_frame_dc): Implemented.
14658         (get_frame_compdc): Implemented.
14659         (many functions): Use the two functions above to get device
14660         contexts, ether for a window or a printer.
14661
14662 2000-01-21  Olivier Galibert  <galibert@pobox.com>
14663
14664         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
14665         initialization here.
14666         (init_symbols_once_early): Call it.
14667         * emacs.c (main_1): Call it.
14668         * symsinit.h: Declare it.
14669
14670 2000-01-19  Olivier Galibert  <galibert@pobox.com>
14671
14672         * alloc.c: Use a lrecord_header * in the backtrace instead of a
14673         Lisp_Object.
14674         (pdump_backtrace): Ditto.
14675         (pdump_register_object): Ditto.  Cleanup use of the pointers.
14676         (pdump_get_entry): Abort if trying to register a null pointer.
14677         (pdump_dump_data): Cleanup types when relocating.
14678         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
14679         (pdump_dump_rtables): Remove bad casts.
14680         (pdump_load): Cleanup relocation w.r.t union type.  Use a
14681         Lisp_Object instead of a EMACS_INT for the hashtable
14682         reorganization.
14683
14684 2000-01-20  Martin Buchholz  <martin@xemacs.org>
14685
14686         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
14687
14688         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
14689
14690         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
14691
14692         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
14693
14694 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14695
14696         * faces.h (FACE_STRIKETHRU_P): Added.
14697
14698         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
14699         of font variants.
14700
14701         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
14702         (mswindows_set_dc_font): New function, aware of font variants,
14703         separated from mswindows_update_dc.
14704
14705         * objects-msw.h (struct mswindows_font_instance_data): Added
14706         definition.
14707
14708         * objects-msw.c (mswindows_finalize_font_instance): Delete all
14709         cached fonts and the data structure.
14710         (mswindows_initialize_font_instance): Added creation of font data
14711         structure.
14712         (mswindows_print_font_instance): Print at least something.
14713         (mswindows_create_font_variant): Implemented.
14714         (mswindows_get_hfont): Implemented.
14715
14716 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
14717
14718         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
14719         prototyping problem with msvc.
14720
14721         * emacs.c (main_1): added syms_of_gui_mswindows() call
14722
14723         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
14724         syms_of_gui_mswindows() function
14725
14726         * symsinit.h: added the prototype for syms_of_gui_mswindows()
14727
14728 2000-01-18  Martin Buchholz <martin@xemacs.org>
14729
14730         * XEmacs 21.2.27 is released.
14731
14732 2000-01-18  Martin Buchholz  <martin@xemacs.org>
14733
14734         * glyphs-eimage.c (struct tiff_error_struct):
14735         (tiff_error_func):
14736         (tiff_warning_func):
14737         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
14738
14739         * unexmips.c:
14740         * unexhp9k3.c:
14741         * unexfreebsd.c:
14742         * unexec.c: Remove vestigial Lucid C code.
14743         * unexalpha.c:
14744         * unexaix.c:
14745         * termcap.c:
14746         * libsst.c: Ansify.
14747         Remove declarations of errno and strerror().
14748
14749         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
14750
14751         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
14752
14753 2000-01-16  Martin Buchholz  <martin@xemacs.org>
14754
14755         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
14756         Optimize.
14757
14758 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14759
14760         * md5.c:
14761         * file-coding.c:
14762         * file-coding.h:
14763         Change enum eol_type to eol_type_t.
14764
14765 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14766
14767         * gui.c (get_gui_callback): Check cons before accessing car.
14768
14769 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14770
14771         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
14772         (XSETSPECIFIER_TYPE): Ditto.
14773
14774 2000-01-17  Didier Verna  <didier@xemacs.org>
14775
14776         * redisplay.c (generate_fstring_runes): compute string size in
14777         characters, not bytes.
14778
14779 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14780
14781         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
14782
14783 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
14784
14785         * print.c (print_error_message): Call print_prepare().
14786
14787 2000-01-14  Martin Buchholz  <martin@xemacs.org>
14788
14789         * .dbxrc: Renamed from dbxrc.
14790
14791         * events.c (event_to_character):
14792         Use `assert (foo)' instead of `if (!foo) abort()'
14793
14794         * .gdbinit (xtype): Add documentation.
14795         * .gdbinit (check-temacs): New function.
14796         * .gdbinit (check-xemacs): New function.
14797         * dbxrc (check-xemacs): New function.
14798         * dbxrc (check-xemacs): New function.
14799
14800 2000-01-14  Andy Piper  <andy@xemacs.org>
14801
14802         * glyphs-widget.c (widget_query_geometry): Make sure that we
14803         calculate default dimensions correctly.
14804
14805 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14806
14807         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
14808
14809         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
14810         pdump_wire'd variable.
14811
14812         * emacs.c: (main_1): Conditionalized calls to
14813         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
14814
14815 2000-01-13  Martin Buchholz  <martin@xemacs.org>
14816
14817         * window.c (Fset_window_configuration):
14818         * sysdep.c (_start):
14819         * input-method-motif.c (res):
14820         * event-Xt.c (Xt_process_to_emacs_event):
14821         Simple compiler warning fixes.
14822
14823         * bytecode.c (funcall_compiled_function): Use the original
14824         function symbol on the backtrace list in preference to the
14825         compiled_function object in error messages.
14826
14827 2000-01-13  Andy Piper  <andy@xemacs.org>
14828
14829         * glyphs-x.c (update_widget_face): Make sure we update the widget
14830         background as well as foreground.
14831
14832 2000-01-13  Andy Piper  <andy@xemacs.org>
14833
14834         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
14835         fields to subwindow.
14836         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
14837         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
14838         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14839         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14840
14841         * glyphs-widget.c (check_valid_tab_orientation): new function.
14842         (initialize_widget_image_instance): zero orientation and
14843         justification.
14844         (widget_instantiate): pick up orientation.
14845         (tab_control_query_geometry): return appropriate values for
14846         vertical tabs.
14847
14848         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
14849         appropriate creation flags for left, right and bottom tabs.
14850
14851         * s/cygwin32.h: add tab definitions.
14852
14853 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14854
14855         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
14856         frame upon hiding a subwindow.
14857         (mswindows_button_instantiate): Changed the push button style to
14858         BS_PUSHBUTTON.
14859         (mswindows_button_instantiate): Removed button BS_NOTIFY
14860         style.
14861         (mswindows_button_instantiate): Removed redundant check for
14862         a disabled gui item.
14863         (mswindows_button_instantiate): Made use of WS_TABSTOP
14864         consistent: "operable" controls (edit, button, tree, scroll) have
14865         this style, "display-only" ones (static, progress gauge) do
14866         not. This style is currently ignored by XEmacs though. Also,
14867         removed the WS_EX_CONTROLPARENT style - it is not for children,
14868         it is for their parents!
14869         (mswindows_edit_field_instantiate): Ditto.
14870         (mswindows_progress_gauge_instantiate): Ditto.
14871         (mswindows_tree_view_instantiate): Ditto.
14872         (mswindows_tab_control_instantiate): Ditto.
14873         (mswindows_scrollbar_instantiate): Ditto.
14874         (mswindows_combo_box_instantiate): Ditto.
14875         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
14876         style to the "clip" window.
14877         (mswindows_button_instantiate): Removed compilation warning by
14878         equally typing terms of the ?: operator.
14879
14880 2000-01-12  Didier Verna  <didier@xemacs.org>
14881
14882         * redisplay.c (generate_fstring_runes): new parameter holding the
14883         last modeline-format extent.
14884         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
14885         extent, fill the glyph block with it.
14886         (generate_fstring_runes): handle these parameters.
14887         (generate_formatted_string_db): ditto.
14888
14889         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
14890         glyphs'extents in the modeline.
14891
14892 1999-01-11  Mike Woolley  <mike@bulsara.com>
14893
14894         * ntheap.c: Reduced the reserved heap space from 1Gb down to
14895         256Mb, as a workaround for the non-starting problem many people
14896         have experienced.
14897
14898 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14899
14900         * console-tty.c (Fset_console_tty_output_coding_system):
14901         Force redrawing tty frame.
14902
14903 2000-01-10  Didier Verna  <didier@xemacs.org>
14904
14905         * redisplay.c (generate_fstring_runes): fix size computation bug.
14906
14907 2000-01-09  William M. Perry <wmperry@aventail.com>
14908
14909         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
14910
14911 2000-01-09  Andy Piper  <andy@xemacs.org>
14912
14913         * glyphs-msw.c: index -> i to avoid shadows.
14914         (xbm_create_bitmap_from_data): make static.
14915         (check_valid_string_or_int): deleted.
14916         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
14917
14918         * glyphs-x.c (x_update_subwindow): remove unused args.
14919
14920         * glyphs.c (glyph_image_instance): return the thing. Don't set the
14921         back pointer - this is done in allocate_image_instance.
14922         (query_string_font): return Qnil to make the compiler happy.
14923         (unmap_subwindow): set to ~0 to make the compiler happy.
14924         (glyph_query_geometry): comment out until used.
14925         (glyph_layout): ditto.
14926
14927 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14928
14929         * insdel.c (signal_after_change): Remove extraneous unbind_to().