update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (charset_code_point): if a coded-charset has a
4         final-byte, don't inherit the builtin range of the mother CCS.
5
6 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * mule-charset.c (charset_code_point): Fix problem about
9         inheritance.
10
11 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
12
13         * mule-charset.c (decode_builtin_char): Reorganized.
14
15 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
16
17         * text-coding.c (char_encode_as_entity_reference): Modify for
18         `charset_code_point'.
19         (char_encode_shift_jis): Likewise.
20         (char_encode_big5): Likewise.
21         (char_encode_utf8): Likewise.
22         (char_encode_iso2022): Likewise.
23
24         * mule-charset.c (charset_code_point): Add new argument
25         `defined_only'.
26         (Fencode_char): Add new optional argument `defined_only'.
27
28         * chartab.c (put_char_table): Modify for `charset_code_point'.
29
30         * char-ucs.h (charset_code_point): Add new argument
31         `defined_only'.
32         (encode_char_1): Modify for `charset_code_point'.
33
34 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
35
36         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
37         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
38
39 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
40
41         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
42         (Qjis_x0208): Likewise.
43         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
44         XCHARSET_FINAL(charset).
45         (charset_code_point): Modify condition for final-byte based
46         builtin-chars.
47         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
48         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
49         in UTF-2000; specify `=jis-x0208' as the mother of
50         `japanese-jisx0208-1978', `japanese-jisx0208' and
51         `japanese-jisx0208-1990' in UTF-2000.
52
53 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
54
55         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
56
57 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
58
59         * text-coding.c (decode_coding_utf16): Support UTF-16.
60         (char_encode_utf16): Fixed.
61
62 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
63
64         * text-coding.c (Qutf16): New variable in MULE.
65         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
66         (Fcoding_system_type): Add `utf-16' in MULE.
67         (struct detection_state): Add a structure for utf16 in MULE.
68         (detect_coding_type): Setup st->utf16.mask in MULE.
69         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
70         MULE.
71         (reset_encoding_stream): Use `char_encode_utf16' and
72         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
73         (detect_coding_utf16): New function [incomplete].
74         (decode_coding_utf16): New function [support only UCS-2].
75         (char_encode_utf16): New function.
76         (char_finish_utf16): New function.
77         (syms_of_file_coding): Add new symbol `utf-16'; setup
78         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
79
80         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
81         UTF-2000.
82         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
83         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
84
85 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
86
87         * chartab.c (put_char_table): When a charset is specified as a
88         range in UTF-2000, don't support builtin characters.
89
90 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
91
92         * mule-charset.c (decode_defined_char): Don't refer external
93         database if Qunbound or Qnil are found.
94         (Fsave_charset_mapping_table): Don't define it if
95         HAVE_CHISE_CLIENT is not defined.
96         (Freset_charset_mapping_table): New function.
97         (load_char_decoding_entry_maybe): Store Qnil if a character is not
98         found in external database.
99         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
100         if HAVE_CHISE_CLIENT is not defined; add new builtin function
101         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
102
103 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
104
105         * text-coding.c (decode_coding_utf8): Check CCS is specified or
106         not.
107
108 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
109
110         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
111         Q_lowercase, Q_uppercase in UTF-2000.
112
113         * chartab.c (get_char_table): Add special code for the standard
114         case table to use character attribute `->downcase' and
115         `->uppercase' for case operations in UTF-2000.
116
117         * casetab.c (Qflippedcase): New variable in UTF-2000.
118         (Q_lowercase): Likewise.
119         (Q_uppercase): Likewise.
120         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
121         and `->uppercase' in UTF-2000.
122         (complex_vars_of_casetab): Assign attribute name `downcase' to
123         downcase and CANON table of Vstandard_case_table in UTF-2000;
124         assign attribute name `flippedcase' to upcase and EQV table of
125         Vstandard_case_table in UTF-2000.
126
127 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
128
129         * text-coding.c (decode_add_er_char): Support isolated-chars.
130         (char_encode_as_entity_reference): Likewise.
131
132 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
133
134         * emacs.c (Vutf_2000_lisp_directory): New variable.
135         (Vconfigure_utf_2000_lisp_directory): Likewise.
136         (complex_vars_of_emacs): Add new variable
137         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
138
139 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
140
141         * char-ucs.h (DECODE_CHAR): Delete special code for
142         `chinese-big5-1' and `chinese-big5-2'.
143
144         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
145         (Qbig5_2): Likewise.
146         (decode_defined_char): Support CONVERSION_BIG5_1 and
147         CONVERSION_BIG5_2.
148         (decode_builtin_char): Likewise.
149         (charset_code_point): Likewise.
150         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
151         'conversion in UTF-2000.
152         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
153         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
154         `chinese-big5-2' as children of `chinese-big5'.
155
156         * char-ucs.h (CONVERSION_BIG5_1): New macro.
157         (CONVERSION_BIG5_2): New macro.
158
159 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
160
161         * text-coding.c (char_encode_big5): Support entity-reference.
162
163 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
164
165         * text-coding.c (char_encode_as_entity_reference): New function.
166         (char_encode_utf8): Use `char_encode_as_entity_reference'.
167
168 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
169
170         * text-coding.c (decode_coding_big5): Support entity-reference
171         decoding feature.
172
173 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * text-coding.c (allocate_coding_system): Initialize initial
176         charsets for CODESYS_UTF8.
177         (Fmake_coding_system): Accept charset-g0, charset-g1 and
178         charset-g2 for CODESYS_UTF8.
179         (decode_coding_utf8): Use charset-g0.
180         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
181         to force variants to map to UCS.
182
183 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
184
185         * text-coding.c (Qutf_8_mcs): New variable.
186         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
187         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
188         instead of `utf-8' in UTF-2000.
189
190 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
191
192         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
193         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
194         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
195         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
196         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
197         CONVERSION_96x96x96x96 are introduced.
198         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
199         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
200         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
201
202         * char-ucs.h (CONVERSION_94): New macro.
203         (CONVERSION_96): New macro.
204         (CONVERSION_94x94): New macro.
205         (CONVERSION_96x96): New macro.
206         (CONVERSION_94x94x94): New macro.
207         (CONVERSION_96x96x96): New macro.
208         (CONVERSION_94x94x94x60): New macro.
209         (CONVERSION_94x94x94x94): New macro.
210         (CONVERSION_96x96x96x96): New macro.
211
212 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
213
214         * chartab.c (Vcharacter_variant_table): Deleted.
215         (Fchar_variants): Use character-attribute `->ucs-variants' instead
216         of `Vcharacter_variant_table'.
217         (Fput_char_attribute): Likewise.
218         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
219         (complex_vars_of_chartab): Likewise.
220
221 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
222
223         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
224
225         * fns.c (Qideographic_structure): New variable.
226         (Qkeyword_char): New variable.
227         (ids_format_unit): New function.
228         (Fideographic_structure_to_ids): New function.
229         (syms_of_fns): Add new symbols `ideographic-structure' and
230         `:char'; add new builtin function `ideographic-structure-to-ids'.
231
232         * data.c (Fchar_ref_p): New function.
233         (syms_of_data): Add new builtin function `char-ref-p'.
234
235         * chartab.h: Add an EXFUN for `Ffind_char'.
236
237 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
238
239         * text-coding.c (Vcharacter_composition_table): Deleted.
240         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
241         in every UTF-2000.
242
243         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
244         UTF-2000.
245         (Vcharacter_composition_table): Deleted.
246         (Fget_composite_char): Use the implementation for external-DB
247         support in every UTF-2000.
248         (Fput_char_attribute): Likewise.
249         (char_attribute_system_db_file): Don't define if external-DB
250         feature is not available.
251         (Fsave_char_attribute_table): Likewise.
252         (Fmount_char_attribute_table): Likewise.
253         (Fclose_char_attribute_table): Likewise.
254         (Freset_char_attribute_table): Likewise.
255         (Fload_char_attribute_table): Likewise.
256         (syms_of_chartab): Don't define `save-char-attribute-table',
257         `mount-char-attribute-table', `reset-char-attribute-table',
258         `close-char-attribute-table' and `load-char-attribute-table' if
259         external-DB feature is not available.
260         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
261
262 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
263
264         * text-coding.c (Qcomposition): Add extern if external-DB feature
265         is supported.
266         (Vcharacter_composition_table): Don't add extern if external-DB
267         feature is supported.
268         (COMPOSE_ADD_CHAR): Modify for new data-representation of
269         character composition rule if external-DB feature is supported.
270
271         * chartab.c (Vcharacter_composition_table): Don't define if
272         external-DB feature is supported.
273         (Qcomposition): New variable.
274         (Fget_composite_char): New implementation for external-DB support.
275         (Fput_char_attribute): Use `composition' property of each
276         character instead of `Vcharacter_composition_table' to store
277         character-composition rules if external-DB feature is supported.
278         (syms_of_chartab): Add new symbol `composition'.
279         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
280         external-DB feature is supported.
281
282 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
283
284         * chartab.c (Vchar_db_stingy_mode): New variable.
285         (load_char_attribute_maybe): Close database if
286         Vchar_db_stingy_mode is not NIL.
287         (Fload_char_attribute_table_map_function): Use
288         `get_char_id_table_0' instead of `get_char_id_table'.
289         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
290
291         * chartab.h (get_char_id_table_0): New inline function.
292         (get_char_id_table): Use `get_char_id_table_0'.
293
294 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
295
296         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
297         and `COMPOSE_ADD_CHAR'.
298         (decode_coding_iso2022): Use `decode_flush_er_chars'.
299
300 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
301
302         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
303         instead of `DECODE_ADD_UCS_CHAR'.
304         (COMPOSE_ADD_CHAR): Likewise.
305
306 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
307
308         * text-coding.c (decode_flush_er_chars): New inline function.
309         (decode_add_er_char): New function.
310         (decode_coding_utf8): Use `decode_flush_er_chars' and
311         `decode_add_er_char'.
312
313 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
314
315         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
316         done before `decode_output_utf8_partial_char'.
317
318         * mule-charset.c (complex_vars_of_mule_charset): Specify
319         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
320         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
321
322 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
323
324         * mule-charset.c (decode_defined_char): New function; search
325         mother.
326         (decode_builtin_char): Don't search mother if
327         XCHARSET_MAX_CODE(charset) == 0.
328         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
329         == 0 even if code >= XCHARSET_MAX_CODE(charset).
330         (Fdecode_char): Use `decode_defined_char' instead of
331         `DECODE_DEFINED_CHAR'.
332         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
333         mother of `Vcharset_ucs_jis'.
334
335         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
336         instead of `DECODE_DEFINED_CHAR'.
337
338         * char-ucs.h (decode_defined_char): Renamed from
339         `DECODE_DEFINED_CHAR'; changed to normal function.
340         (DECODE_CHAR): Use `decode_defined_char' instead of
341         `DECODE_DEFINED_CHAR'.
342
343         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
344
345 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
346
347         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
348
349         * text-coding.c (Vcoded_charset_entity_reference_alist): New
350         variable.
351         (Quse_entity_reference): New variable.
352         (Qd): New variable.
353         (Qx): New variable.
354         (QX): New variable.
355         (coding_system_description): Add description for
356         `ccs_priority_list'.
357         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
358         (allocate_coding_system): Initialize `ccs_priority_list' in
359         UTF-2000.
360         (Fmake_coding_system): Add description about
361         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
362         (codesys).
363         (Fcoding_system_property): Accept `disable-composition' and
364         `use-entity-reference' in UTF-2000.
365         (struct decoding_stream): Add new member `er_counter' and `er_buf'
366         in UTF-2000.
367         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
368         (decode_coding_utf8): Decode entity-reference if
369         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
370         (char_encode_utf8): Encode non-Unicode characters as
371         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
372         (str->codesys).
373         (syms_of_file_coding): Add new symbols `use-entity-reference',
374         `d', `x', `X'.
375         (vars_of_file_coding): Add new variable
376         `coded-charset-entity-reference-alist'.
377         (complex_vars_of_file_coding): Declare `disable-composition' and
378         `use-entity-reference' to be coding-system-properties in UTF-2000.
379
380         * file-coding.h (struct Lisp_Coding_System): Add new member
381         `use_entity_reference' and `ccs_priority_list'.
382         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
383         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
384         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
385
386 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
387
388         * chartab.c (save_uint8_byte_table): Don't clear the table.
389         (save_uint16_byte_table): Likewise.
390         (save_byte_table): Likewise.
391         (Fmount_char_attribute_table): New function.
392         (syms_of_chartab): Add new builtin function
393         `mount-char-attribute-table'.
394
395 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
396
397         * mule-charset.c (Fsave_charset_mapping_table): Open database as
398         "w+" mode.
399         (load_char_decoding_entry_maybe): Open database as read-only mode.
400
401         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
402         open database as "w+" mode.
403         (load_char_attribute_maybe): Open database as read-only mode.
404         (Fload_char_attribute_table): Likewise.
405
406 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
407
408         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
409         (char_table_description): Delete member `db_file'.
410         (Fmake_char_table): Don't refer `ct->db_file'.
411         (Fcopy_char_table): Likewise.
412         (Fsave_char_attribute_table): Likewise.
413         (Fclose_char_attribute_table): Likewise.
414         (Freset_char_attribute_table): Likewise.
415         (load_char_attribute_maybe): Likewise.
416         (Fload_char_attribute_table): Likewise.
417
418         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
419
420 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
421
422         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
423         (Fsave_char_attribute_table): Don't check `ct->db_file' if
424         `ct->db' is living.
425         (load_char_attribute_maybe): Likewise.
426         (Fload_char_attribute_table): Likewise.
427
428 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
429
430         * chartab.c (Fclose_char_attribute_table): Set Qnil on
431         `ct->db_file' unconditionally.
432
433 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
434
435         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
436         UTF-2000.
437         (char_table_description): Add description for `db_file' and `db'
438         in UTF-2000.
439         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
440         UTF-2000.
441         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
442         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
443         (Fclose_char_attribute_table): New function.
444         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
445         (load_char_attribute_maybe): Change interface; use `cit->db_file'
446         and `cit->db'.
447         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
448         (syms_of_chartab): Add new builtin function
449         `Fclose_char_attribute_table'.
450
451 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
452
453         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
454         `db' in UTF-2000.
455         (load_char_attribute_maybe): Change interface.
456         (get_char_id_table): Modify for `load_char_attribute_maybe'.
457
458 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
459
460         * database.h: Add an EXFUN for `Fdatabase_live_p'.
461
462 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
463
464         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
465         instead of `DECODE_CHAR' for mother; don't use special code for
466         chinese-big5 to use code space of chinese-big5-1 and
467         chinese-big5-2.
468         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
469         `MAX_CHAR_BIG5_CDP' for chinese-big5.
470
471         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
472         (MAX_CHAR_BIG5_CDP): Revival.
473
474 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
475
476         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
477         the XLFD registry-encoding name of `chinese-big5'.
478
479 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
480
481         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
482         (Qchinese_big5_cdp): Deleted.
483         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
484         (complex_vars_of_mule_charset): Delete coded-charset
485         `chinese-big5-cdp'.
486
487         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
488         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
489         `CHARSET_ID_OFFSET - n' for private CCS.
490         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
491         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
492         of `MIN_LEADING_BYTE'.
493         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
494         `(CHARSET_ID_OFFSET - 97)'.
495         (MIN_CHAR_BIG5_CDP): Deleted.
496         (MAX_CHAR_BIG5_CDP): Deleted.
497
498 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
499
500         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
501
502 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
503
504         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
505         (vars_of_mule): Add new variable `utf-2000-version' [moved from
506         chartab.c].
507
508         * chartab.c (Vutf_2000_version): Moved to mule.c.
509         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
510
511 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
512
513         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
514         when HAVE_CHISE_CLIENT is not defined.
515
516         * mule.c (vars_of_mule): Provide feature `chise' when
517         HAVE_CHISE_CLIENT is defined.
518
519 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
520
521         * config.h.in (UTF2000): Add comment.
522         (HAVE_CHISE_CLIENT): New macro.
523
524 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
525
526         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
527         CONSP.
528         (Fput_char_attribute): Likewise.
529         (char_attribute_system_db_file): Encode file-name of attribute.
530         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
531         the initial value.
532
533 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
534
535         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
536         (Fsave_charset_mapping_table): Use
537         `char_attribute_system_db_file'.
538         (load_char_decoding_entry_maybe): Likewise.
539
540         * chartab.h (Qsystem_char_id): New external variable.
541         (char_attribute_system_db_file): New prototype.
542
543         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
544         (char_attribute_system_db_file): New function.
545         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
546         (Freset_char_attribute_table): Likewise.
547         (load_char_attribute_maybe): Likewise.
548         (Fload_char_attribute_table): Likewise.
549         (syms_of_chartab): Add new symbol `system-char-id'.
550
551 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
552
553         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
554         `XCHARSET_GRAPHIC(ccs)'.
555
556 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
557
558         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
559
560 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
561
562         * chartab.c (Q_ucs_variants): New variable.
563         (syms_of_chartab): Add new symbol `->ucs-variants'.
564         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
565         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
566         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
567
568         * mule-charset.c (load_char_decoding_entry_maybe): New function.
569
570         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
571         `HAVE_DATABASE' is defined.
572         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
573         `HAVE_DATABASE' is defined.
574
575 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
576
577         * chartab.c (Fsave_char_attribute_table): Don't clear internal
578         attribute-table.
579         (Freset_char_attribute_table): New function.
580         (syms_of_chartab): Add new builtin function
581         `reset-char-attribute-table'.
582
583 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
584
585         * chartab.c (load_char_attribute_maybe): Don't make directories.
586
587 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
588
589         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
590
591         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
592         for decoding-table.
593
594 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
595
596         * mule-charset.c (Fsave_charset_mapping_table): Use
597         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
598
599         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
600         instead of `XCHARSET_CHARS'.
601
602 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
603
604         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
605         (XCHARSET_BYTE_SIZE): Likewise.
606
607         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
608         mule-charset.c].
609         (XCHARSET_BYTE_SIZE): Likewise.
610
611 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
612
613         * chartab.c (Fput_char_attribute): Use exec-directory instead of
614         data-directory to store database.
615         (Fsave_char_attribute_table): Likewise.
616         (load_char_attribute_maybe): Likewise.
617         (Fload_char_attribute_table): Likewise.
618
619 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
620
621         * mule-charset.c (Fsave_charset_mapping_table): New function.
622         (syms_of_mule_charset): Add new builtin function
623         `save-charset-mapping-table'.
624
625 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
626
627         * char-ucs.h (decoding_table_check_elements): Delete prototype.
628         (get_ccs_octet_table): New inline function.
629         (put_ccs_octet_table): Likewise.
630         (decoding_table_put_char): Use `get_ccs_octet_table' and
631         `put_ccs_octet_table'.
632         (decoding_table_remove_char): Use `decoding_table_put_char'.
633         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
634
635         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
636         into encoding_table.
637         (make_charset): Use Qunbound instead Qnil as initial value of
638         decoding_table.
639
640 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
641
642         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
643         element is Qunloaded.
644         (map_over_uint16_byte_table): Likewise.
645         (map_over_byte_table): Likewise.
646         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
647         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
648         database support, load encoding-table of the specified
649         coded-charset if it is not loaded yet.
650         (save_uint8_byte_table): New function of UTF-2000 with external
651         database support.
652         (save_uint16_byte_table): Likewise.
653         (save_byte_table): Likewise.
654         (Fput_char_attribute): Don't store value into external database
655         even if the external database feature is supported in UTF-2000;
656         set `attribute' as name of char-table if the external database
657         feature is supported.
658         (Fsave_char_attribute_table): New function in UTF-2000.
659         (syms_of_chartab): Add new builtin function
660         `save-char-attribute-table' in UTF-2000.
661
662 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
663
664         * chartab.c (char_attribute_table_to_put): New variable in
665         UTF-2000.
666         (Qput_char_table_map_function): Likewise.
667         (value_to_put): Likewise.
668         (Fput_char_table_map_function): New function in UTF-2000.
669         (put_char_table): Use `Fmap_char_attribute' for
670         CHARTAB_RANGE_CHARSET in UTF-2000.
671         (Fput_char_attribute): Store symbol instead of string in
672         `XCHAR_TABLE_NAME (table)'.
673         (load_char_attribute_maybe): Likewise.
674         (syms_of_chartab): Add new symbol/function
675         `put-char-table-map-function'.
676
677 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
678
679         * database.h: Add new EXFUN for `Fmap_database'.
680
681         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
682         (syms_of_database): Likewise.
683
684         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
685         UTF-2000.
686         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
687         (XCHAR_TABLE_UNLOADED): Likewise.
688
689         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
690         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
691         HAVE_DATABASE is defined.
692         (char_attribute_table_to_load): New variable of UTF-2000 with
693         external database support.
694         (Qload_char_attribute_table_map_function): Likewise.
695         (Fload_char_attribute_table_map_function): New function of
696         UTF-2000 with external database support.
697         (Fload_char_attribute_table): New function of UTF-2000.
698         (Fmap_char_attribute): Call Fload_char_attribute_table if
699         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
700         (syms_of_chartab): Add new symbol and function
701         `load-char-attribute-table-map-function' in UTF-2000 with external
702         database support; add new function `load-char-attribute-table' in
703         UTF-2000.
704
705 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
706
707         * chartab.h (load_char_attribute_maybe): New prototype for
708         UTF-2000 with DATABASE support.
709         (get_char_id_table): Use `load_char_attribute_maybe' if
710         HAVE_DATABASE is defined.
711
712         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
713         with DATABASE support.
714
715 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * chartab.c (Fput_char_attribute): Use S-expression as key of
718         external database.
719
720         * chartab.h (get_char_id_table): Use S-expression as key of
721         external database.
722
723 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
724
725         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
726         if an element is not loaded, load the corresponding attributes
727         from an external database.
728         (map_over_uint16_byte_table): Likewise.
729         (map_over_byte_table): Likewise.
730         (map_char_table): Modify for `map_over_uint8_byte_table',
731         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
732         element is not loaded, load the corresponding attributes from an
733         external database.
734         (Fput_char_attribute): Change initial values to Qunloaded.
735
736         * chartab.h (get_char_id_table): If a character attribute is not
737         loaded and the attribute value is not found in an external
738         database, store Qunbound as the attribute value.
739
740 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
741
742         * chartab.c (BT_UINT8_unloaded): New macro.
743         (UINT8_VALUE_P): Accept Qunloaded.
744         (UINT8_ENCODE): Likewise.
745         (UINT8_DECODE): Likewise.
746         (BT_UINT16_unloaded): New macro.
747         (UINT16_VALUE_P): Accept Qunloaded.
748         (UINT16_ENCODE): Likewise.
749         (UINT16_DECODE): Likewise.
750         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
751         BT_UINT16_unloaded.
752         (mark_char_table): Mark `ct->name' in UTF-2000.
753         (char_table_description): Add `name' in UTF-2000.
754         (Fmake_char_table): Initialize `ct->name'.
755         (Fcopy_char_table): Copy `ct->name'.
756         (Fput_char_attribute): Store value into an external database if
757         HAVE_DATABASE is defined.
758
759         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
760         UTF-2000.
761         (CHAR_TABLE_NAME): New macro in UTF-2000.
762         (XCHAR_TABLE_NAME): New macro in UTF-2000.
763         (get_char_id_table): Try to read an external database if Qunloaded
764         is stored in a table.
765
766         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
767         Qunloaded.
768
769 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
770
771         * database.h: Add EXFUN definitions for Fopen_database,
772         Fput_database, Fget_database and Fclose_database.
773
774         * data.c (Qunloaded): New variable in UTF-2000.
775
776         * lisp.h (Qunloaded): New variable in UTF-2000.
777
778 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
779
780         * mule-charset.c (put_char_ccs_code_point): Modify for
781         `decoding_table_remove_char' and `decoding_table_put_char'.
782         (remove_char_ccs): Modify for `decoding_table_remove_char'.
783
784         * char-ucs.h (decoding_table_remove_char): Change arguments to
785         hide decoding_table vector.
786         (decoding_table_put_char): Likewise.
787
788 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * mule-charset.c (decoding_table_remove_char): Moved to
791         char-ucs.h.
792         (decoding_table_put_char): Likewise.
793
794         * char-ucs.h (decoding_table_check_elements): New prototype [moved
795         from mule-charset.c].
796         (decoding_table_remove_char): New inline function [moved from
797         mule-charset.c].
798         (decoding_table_put_char): Likewise.
799
800 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
801
802         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
803         extension.
804
805 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
806
807         * mule-charset.c (decode_builtin_char): Support mother charsets.
808
809 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
810
811         * mule-charset.c (Q94x94x60): New variable.
812         (charset_code_point): Support conversion `94x94x60'.
813         (Fmake_charset): Likewise.
814         (syms_of_mule_charset): Add new symbol `94x94x60'.
815
816         * char-ucs.h (CONVERSION_94x94x60): New macro.
817
818 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
819
820         * mule-charset.c (charset_code_point): Unify code about
821         `code-offset'.
822
823 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
824
825         * mule-charset.c (charset_code_point): Merge code about builtin
826         characters into code about mother charsets; don't use
827         `range_charset_code_point'.
828         (range_charset_code_point): Deleted.
829
830 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
831
832         * mule-charset.c (Qcode_offset): New variable.
833         (Fmake_charset): Use `XUINT' to get value of `min-code' and
834         `max-code'; accept new property `code-offset'.
835         (syms_of_mule_charset): Add new symbol `code-offset'.
836
837 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
838
839         * mule-charset.c (range_charset_code_point): Fixed.
840
841 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
842
843         * mule-charset.c (decode_builtin_char): Change semantics of
844         code-offset of coded-charset.
845         (charset_code_point): Likewise.
846         (range_charset_code_point): Likewise.
847         (complex_vars_of_mule_charset): Modify for the change.
848
849 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
850
851         * mule-charset.c (Fencode_char): Reverse arguments.
852
853         * mule-charset.c (charset_code_point): Fixed.
854
855 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * mule-charset.c (Vcharset_mojikyo): Deleted.
858         (Vcharset_mojikyo_2022_1): Deleted.
859         (Vcharset_mojikyo_pj_{1..21}): Deleted.
860         (Qmin_code): New variable in UTF-2000.
861         (Qmax_code): Likewise.
862         (Qmother): Likewise.
863         (Qconversion): Likewise.
864         (Q94x60): Likewise.
865         (Qmojikyo): Deleted.
866         (Qmojikyo_2022_1): Deleted.
867         (Qmojikyo_pj_{1..22}): Deleted.
868         (mark_charset): Mark `cs->mother'.
869         (charset_description): Add description for `mother'.
870         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
871         new arguments `mother' and `conversion'; use
872         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
873         (charset_code_point): Moved from char-ucs.h; support `mother'
874         charset feature.
875         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
876         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
877         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
878         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
879         allow 2 as the value of `graphic' in UTF-2000; add new properties
880         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
881         require `final' in UTF-2000; modify for `make_charset'.
882         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
883         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
884         (Fcharset_property): Support `mother', `min-code' and `max-code'.
885         (Fencode_char): New function.
886         (syms_of_mule_charset): Add new builtin function `encode-char' in
887         UTF-2000; add new symbols `min-code', `max-code', `mother',
888         `conversion' and `94x60'; delete symbols `mojikyo',
889         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
890         (complex_vars_of_mule_charset): Modify for `make_charset' change;
891         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
892         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
893
894         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
895         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
896
897         * char-ucs.h (Vcharset_mojikyo): Deleted.
898         (Vcharset_mojikyo_2022_1): Deleted.
899         (LEADING_BYTE_MOJIKYO): Deleted.
900         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
901         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
902         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
903         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
904         add new member `mother'; add new member `conversion'.
905         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
906         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
907         (CHARSET_MOTHER): New macro.
908         (CHARSET_CONVERSION): New macro.
909         (CONVERSION_IDENTICAL): New macro.
910         (CONVERSION_94x60): New macro.
911         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
912         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
913         (XCHARSET_MOTHER): New macro.
914         (XCHARSET_CONVERSION): New macro.
915         (MIN_CHAR_MOJIKYO): Deleted.
916         (MAX_CHAR_MOJIKYO): Deleted.
917         (DECODE_MOJIKYO_2022): Deleted.
918         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
919         (charset_code_point): Changed to non-inline function.
920         (encode_char_1): Use `charset_code_point'.
921         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
922
923 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
924
925         * lread.c (read_compiled_function): Fix prototype.
926         (read_vector): Likewise.
927
928 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
929
930         * lrecord.h (struct lrecord_header): Delete `older'.
931         (set_lheader_implementation): Delete code for `older'.
932         (set_lheader_older_implementation): Deleted.
933         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
934         (OLDER_RECORD_P): Deleted.
935         (OLDER_RECORD_HEADER_P): Deleted.
936         (alloc_older_lcrecord): Deleted.
937         (alloc_older_lcrecord_type): Deleted.
938
939         * alloc.c (all_older_lcrecords): Deleted.
940         (alloc_older_lcrecord): Deleted.
941         (disksave_object_finalization_1): Delete code for older objects.
942         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
943         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
944
945 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
946
947         * mule-charset.c (decoding_table_put_char): Use `make_vector'
948         instead of `make_older_vector'.
949         (put_char_ccs_code_point): Likewise.
950         (mark_charset): Mark `cs->decoding_table'.
951         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
952
953         * lisp.h (make_older_vector): Deleted.
954         (make_vector_newer): Deleted.
955
956         * config.h.in (HAVE_GGC): Deleted.
957
958         * alloc.c (make_older_vector): Deleted.
959         (make_vector_newer_1): Deleted.
960         (make_vector_newer): Deleted.
961
962 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
963
964         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
965         (Qideograph_daikanwa_2): New variable.
966         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
967         (complex_vars_of_mule_charset): Add new coded-charset
968         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
969         `LEADING_BYTE_DAIKANWA'.
970
971         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
972         (LEADING_BYTE_DAIKANWA_1): New macro.
973         (LEADING_BYTE_DAIKANWA_2): New macro.
974         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
975
976 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
977
978         * mule-charset.c (complex_vars_of_mule_charset): Change
979         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
980         the second revised version.
981
982 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
983
984         * mule-charset.c (Vcharset_ucs_smp): New variable.
985         (Vcharset_ucs_sip): New variable.
986         (Qucs_smp): New variable.
987         (Qucs_sip): New variable.
988         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
989         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
990         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
991         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
992         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
993         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
994
995         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
996         (LEADING_BYTE_UCS_SIP): New macro.
997         (MIN_CHAR_SMP): New macro.
998         (MAX_CHAR_SMP): New macro.
999         (MIN_CHAR_SIP): New macro.
1000         (MAX_CHAR_SIP): New macro.
1001
1002 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1003
1004         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1005         utf-2000.
1006
1007 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1008
1009         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1010         value; don't store value into `encoding_table' of `Lisp_Charset'.
1011         (mark_charset): `encoding_table' was deleted.
1012         (charset_description): Likewise.
1013         (make_charset): Likewise.
1014         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1015         `put_char_ccs_code_point'.
1016
1017         * chartab.h (Fput_char_attribute): New EXFUN.
1018
1019         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1020         is unified with normal symbol space.
1021         (Fget_char_attribute): Likewise.
1022         (Fput_char_attribute): Likewise; behavior of
1023         `put_char_ccs_code_point' is changed.
1024
1025         * char-ucs.h: Include "elhash.h".
1026         (Vchar_attribute_hash_table): New external variable.
1027         (struct Lisp_Charset): Delete `encoding_table'.
1028         (CHARSET_ENCODING_TABLE): New implementation; refer
1029         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1030         `Lisp_Charset'.
1031
1032 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1033
1034         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1035         (cs) == 0.
1036
1037 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1038
1039         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1040         `chinese-big5'.
1041
1042 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1043
1044         * chartab.c (uint8_byte_table_description): New constant.
1045         (uint8-byte-table): Use `uint8_byte_table_description'.
1046         (uint16_byte_table_description): New constant.
1047         (uint16-byte-table): Use `uint16_byte_table_description'.
1048
1049 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1050
1051         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1052         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1053
1054 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1055
1056         * mule-charset.c (Vcharset_ucs_ks): New variable.
1057         (Qucs_ks): New variable.
1058         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1059         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1060
1061         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1062
1063 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1064
1065         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1066         (Fdecode_char): Likewise.
1067
1068         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1069         chartab.h.
1070         (Fdefine_char): Modify for Fdecode_char.
1071         (Ffind_char): Likewise.
1072
1073         * mule-charset.c (Fdecode_char): Add new optional argument
1074         `defined-only'.
1075         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1076
1077 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1078
1079         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1080         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1081         (allocate_coding_system): Initialize initial-charsets of
1082         CODESYS_BIG5 in XEmacs UTF-2000.
1083         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1084         CODESYS_BIG5 in XEmacs UTF-2000.
1085         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1086         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1087
1088         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1089         variables.
1090         (Qideograph_hanziku_{1 .. 12}): Likewise.
1091         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1092         .. 12}'.
1093         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1094         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1095         `ideograph-hanziku-{1 .. 12}'.
1096
1097         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1098         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1099         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1100         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1101         (DECODE_DEFINED_CHAR): New inline function.
1102         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1103
1104 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1105
1106         * mule-charset.c (Vcharset_china3_jef): Renamed from
1107         `Vcharset_japanese_jef_china3'.
1108         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1109         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1110         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1111         (syms_of_mule_charset): Rename `china3-jef' from
1112         `japanese-jef-china3'.
1113         (complex_vars_of_mule_charset): Likewise; rename
1114         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1115
1116         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1117         `LEADING_BYTE_JEF_CHINA3'.
1118         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1119         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1120
1121 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1122
1123         * mule-charset.c (encode_builtin_char_1): Comment out special code
1124         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1125
1126         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1127         (MAX_CHAR_MOJIKYO_0): Comment out.
1128         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1129         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1130         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1131         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1132
1133 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1134
1135         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1136         (Qideograph_cbeta): New variable.
1137         (encode_builtin_char_1): Comment out special code for
1138         coded-charset `mojikyo' and `japanese-jef-china3'.
1139         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1140         (complex_vars_of_mule_charset): Add new coded-charset
1141         `ideograph-cbeta'.
1142
1143         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1144         (MIN_CHAR_CBETA): New macro.
1145         (MAX_CHAR_CBETA): New macro.
1146
1147 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1148
1149         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1150         (LEADING_BYTE_JEF_CHINA3): New macro.
1151         (MIN_CHAR_JEF_CHINA3): New macro.
1152         (MAX_CHAR_JEF_CHINA3): Likewise.
1153         (DECODE_CHAR): Fixed.
1154
1155 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1156
1157         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1158         (Qjapanese_jef_china3): New variable.
1159         (encode_builtin_char_1): Support `japanese-jef-china3'.
1160         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1161         (complex_vars_of_mule_charset): Add new coded-charset
1162         `japanese-jef-china3'.
1163
1164 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1165
1166         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1167         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1168         94^4, 96^3, 96^4, 128^n and 256^n set.
1169         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1170         (map_char_table): Likewise.
1171
1172 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1173
1174         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1175         UTF-2000.
1176
1177 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1178
1179         * chartab.h (get_char_id_table): New inline function.
1180
1181         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1182         function.
1183
1184 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1185
1186         * chartab.h (decode_char_table_range): New prototype in XEmacs
1187         UTF-2000.
1188         (put_char_id_table): New inline function in XEmacs UTF-2000.
1189
1190         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1191         function.
1192         (decode_char_table_range): Delete static declaration in XEmacs
1193         UTF-2000.
1194
1195 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1196
1197         * chartab.c (put_char_id_table): Use `put_char_table'.
1198
1199 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1200
1201         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1202         (map_over_uint16_byte_table): Likewise.
1203         (map_over_byte_table): Likewise.
1204         (map_char_table): Modify for `map_over_uint8_byte_table',
1205         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1206         UTF-2000.
1207
1208 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1209
1210         * chartab.c (struct map_char_table_for_charset_arg): New
1211         structure.
1212         (map_char_table_for_charset_fun): New function.
1213         (map_char_table): Use `map_char_table' for encoding_table of
1214         `range->charset'.
1215
1216 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1217
1218         * chartab.c (map_char_table): Check a character is found in
1219         range->charset instead of non default value is defined in
1220         char-table when range is CHARTAB_RANGE_ROW.
1221
1222 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1223
1224         * chartab.c (map_char_id_table): Deleted.
1225         (Fmap_char_attribute): Use `map_char_table' instead of
1226         `map_char_id_table'.
1227
1228 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1229
1230         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1231         UTF-2000.
1232         (update_syntax_table): Deleted in XEmacs UTF-2000.
1233
1234         * syntax.c (find_defun_start): Use `syntax_table' instead of
1235         `mirror_syntax_table' in XEmacs UTF-2000.
1236         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1237         UTF-2000.
1238         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1239         XEmacs UTF-2000.
1240         (Fmatching_paren): Likewise.
1241         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1242         in XEmacs UTF-2000.
1243         (find_start_of_comment): Likewise.
1244         (find_end_of_comment): Likewise.
1245         (Fforward_comment): Likewise.
1246         (scan_lists): Likewise.
1247         (char_quoted): Likewise.
1248         (Fbackward_prefix_chars): Likewise.
1249         (scan_sexps_forward): Likewise.
1250         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1251         (update_syntax_table): Likewise.
1252
1253         * search.c (skip_chars): Use `syntax_table' instead of
1254         `mirror_syntax_table' in XEmacs UTF-2000.
1255         (wordify): Likewise.
1256         (Freplace_match): Likewise.
1257
1258         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1259         `mirror_syntax_table' in XEmacs UTF-2000.
1260         (WORDCHAR_P_UNSAFE): Likewise.
1261         (re_match_2_internal): Likewise.
1262
1263         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1264         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1265
1266         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1267         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1268
1269         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1270         XEmacs UTF-2000.
1271
1272         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1273         UTF-2000.
1274         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1275         (char_table_description): Delete `mirror_table' in XEmacs
1276         UTF-2000.
1277         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1278         UTF-2000.
1279         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1280         (Fcopy_char_table): Likewise.
1281         (put_char_table): Don't call `update_syntax_table' in XEmacs
1282         UTF-2000.
1283
1284         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1285         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1286         (casify_region_internal): Likewise.
1287
1288         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1289
1290         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1291         `mirror_syntax_table' in XEmacs UTF-2000.
1292
1293         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1294         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1295         (Fexpand_abbrev): Likewise.
1296
1297 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1298
1299         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1300
1301 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1302
1303         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1304         (map_over_uint16_byte_table): Likewise.
1305         (map_over_byte_table): Likewise.
1306         (get_char_id_table): Refer `cit->default_value'.
1307         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1308         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1309         of character-id ranges.
1310         (mark_char_table): Mark `ct->default_value'.
1311         (char_table_description): Add `default_value'.
1312         (fill_char_table): Use `default_value'.
1313         (decode_char_table_range): Decode `nil' as
1314         `CHARTAB_RANGE_DEFAULT'.
1315         (get_char_id_table): Refer `cit->default_value'.
1316         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1317         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1318         temporary hack; check value of char-table is bound or not.
1319         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1320
1321         * chartab.h (struct Lisp_Char_Table): Add new member
1322         `default_value' in XEmacs UTF-2000.
1323         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1324         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1325         UTF-2000.
1326
1327 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1328
1329         * chartab.h (Lisp_Char_ID_Table): Deleted.
1330
1331         * chartab.c (char_table_description): Fix typo.
1332         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1333         `Lisp_Char_ID_Table'.
1334
1335 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1336
1337         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1338         `CHAR_ID_TABLE_P'.
1339
1340         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1341         `CHAR_ID_TABLE_P'.
1342
1343         * chartab.h (XCHAR_ID_TABLE): Deleted.
1344         (XSETCHAR_ID_TABLE): Deleted.
1345         (CHAR_ID_TABLE_P): Deleted.
1346
1347         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1348         `CHAR_ID_TABLE_P'.
1349         (Fget_composite_char): Likewise.
1350         (put_char_table): Likewise.
1351         (add_char_attribute_alist_mapper): Fixed.
1352         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1353         `CHAR_ID_TABLE_P'.
1354         (Fget_char_attribute): Likewise.
1355         (Fget_char_attribute): Likewise.
1356         (Fmap_char_attribute): Likewise.
1357
1358         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1359         `CHAR_ID_TABLE_P'.
1360         (encode_char_1): Likewise.
1361
1362 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1363
1364         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1365         `XCHAR_ID_TABLE'.
1366
1367         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1368         instead of `XCHAR_ID_TABLE'.
1369         (remove_char_ccs): Likewise.
1370
1371         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1372         `XCHAR_ID_TABLE'.
1373         (Fget_composite_char): Likewise.
1374         (Fchar_variants): Likewise.
1375         (put_char_table): Likewise.
1376         (add_char_attribute_alist_mapper): Likewise.
1377         (Fchar_attribute_alist): Likewise.
1378         (Fget_char_attribute): Likewise.
1379         (Fput_char_attribute): Likewise.
1380         (Fmap_char_attribute): Likewise.
1381         (Fmap_char_attribute): Likewise.
1382
1383         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1384         `XCHAR_ID_TABLE'.
1385         (encode_char_1): Likewise.
1386
1387 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1388
1389         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1390         `Lisp_Char_ID_Table'.
1391         (mark_char_id_table): Deleted.
1392         (print_char_id_table): Likewise.
1393         (char_id_table_equal): Likewise.
1394         (char_id_table_hash): Likewise.
1395         (char_id_table_description): Likewise.
1396         (char_id_table): Likewise.
1397         (make_char_id_table): Use `Fmake_char_table' and
1398         `fill_char_table'.
1399         (get_char_id_table): Use `Lisp_Char_Table' instead of
1400         `Lisp_Char_ID_Table'.
1401         (put_char_id_table): Likewise.
1402         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1403         `XCHAR_ID_TABLE'.
1404         (Fremove_char_attribute): Likewise.
1405         (syms_of_chartab): Don't define type `char-id-table'.
1406
1407         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1408         (char_id_table): Likewise.
1409         (GC_CHAR_ID_TABLE_P): Likewise.
1410         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1411         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1412         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1413         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1414         (get_char_id_table): Use `Lisp_Char_Table' instead of
1415         `Lisp_Char_ID_Table'.
1416         (put_char_id_table_0): Likewise.
1417         (put_char_id_table): Likewise.
1418
1419 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1420
1421         * chartab.h: Lisp_Byte_Table related codes are moved from
1422         chartab.h.
1423
1424         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1425
1426 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1427
1428         * chartab.h: Don't include "chartab.h".
1429         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1430         (Lisp_Char_ID_Table): Likewise.
1431         (char_id_table): Likewise.
1432         (XCHAR_ID_TABLE): Likewise.
1433         (XSETCHAR_ID_TABLE): Likewise.
1434         (CHAR_ID_TABLE_P): Likewise.
1435         (GC_CHAR_ID_TABLE_P): Likewise.
1436         (get_char_id_table): Likewise.
1437
1438         * char-ucs.h: Include "chartab.h".
1439         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1440         (Lisp_Char_ID_Table): Likewise.
1441         (char_id_table): Likewise.
1442         (XCHAR_ID_TABLE): Likewise.
1443         (XSETCHAR_ID_TABLE): Likewise.
1444         (CHAR_ID_TABLE_P): Likewise.
1445         (GC_CHAR_ID_TABLE_P): Likewise.
1446         (get_char_id_table): Likewise.
1447
1448 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1449
1450         * chartab.c (copy_uint8_byte_table): New function.
1451         (copy_uint16_byte_table): New function.
1452         (copy_byte_table): New function.
1453         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1454         characters to call.
1455         (map_over_uint16_byte_table): Likewise.
1456         (map_over_byte_table): Likewise.
1457         (get_byte_table): Move prototype to chartab.h.
1458         (put_byte_table): Likewise.
1459         (put_char_id_table_0): Moved to chartab.h.
1460         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1461         (char_table_entry_equal): Likewise.
1462         (char_table_entry_hash): Likewise.
1463         (char_table_entry_description): Likewise.
1464         (char_table_entry): Likewise.
1465         (make_char_table_entry): Likewise.
1466         (copy_char_table_entry): Likewise.
1467         (get_non_ascii_char_table_value): Likewise.
1468         (map_over_charset_ascii): Likewise.
1469         (map_over_charset_control_1): Likewise.
1470         (map_over_charset_row): Likewise.
1471         (map_over_other_charset): Likewise.
1472         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1473         (print_char_table): Likewise.
1474         (char_table_equal): Likewise.
1475         (char_table_hash): Likewise.
1476         (char_table_description): Likewise.
1477         (fill_char_table): Likewise.
1478         (Fcopy_char_table): Likewise.
1479         (get_char_table): Likewise.
1480         (Fget_range_char_table): Likewise.
1481         (put_char_table): Likewise.
1482         (map_char_table): Likewise.
1483         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1484         UTF-2000.
1485
1486 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1487
1488         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1489         `Vauto_fill_chars' in XEmacs UTF-2000.
1490
1491         * chartab.h (get_byte_table): New prototype [moved from
1492         chartab.c].
1493         (put_byte_table): Likewise [moved from chartab.c].
1494         (put_char_id_table_0): New inline function [moved from chartab.c].
1495         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1496         (Lisp_Char_Table_Entry): Likewise.
1497         (char_table_entry): Likewise.
1498         (XCHAR_TABLE_ENTRY): Likewise.
1499         (XSETCHAR_TABLE_ENTRY): Likewise.
1500         (CHAR_TABLE_ENTRYP): Likewise.
1501         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1502         (NUM_ASCII_CHARS): Likewise.
1503         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1504         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1505
1506 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1507
1508         * chartab.c (get_char_id_table): Change interface.
1509         (put_char_id_table_0): New function.
1510         (put_char_id_table): Change interface; new implementation.
1511         (Fget_composite_char): Modify for interface change of
1512         `get_char_id_table'.
1513         (Fchar_variants): Likewise.
1514         (add_char_attribute_alist_mapper): Likewise.
1515         (Fchar_attribute_alist): Likewise.
1516         (Fget_char_attribute): Likewise.
1517         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1518         as same as character as the first argument like `put-char-table';
1519         modify for interface change of `put_char_id_table'.
1520         (Fremove_char_attribute): Modify for interface change of
1521         `put_char_id_table'.
1522
1523 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1524
1525         * text-coding.c: Sync up with XEmacs 21.2.41.
1526         (COMPOSE_ADD_CHAR): Modify for interface change of
1527         `get_char_id_table'.
1528
1529         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1530         change of `put_char_id_table'.
1531         (remove_char_ccs): Likewise.
1532
1533         * chartab.h (put_char_id_table): Change interface.
1534
1535         * char-ucs.h (get_char_id_table): Change interface.
1536         (charset_code_point): Modify for interface change of
1537         `get_char_id_table'.
1538         (encode_char_1): Likewise.
1539
1540 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1541
1542         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1543         argument `ccs'.
1544         (map_over_uint16_byte_table): Likewise.
1545         (map_over_byte_table): Likewise.
1546         (map_char_id_table): Add new argument `range' like
1547         `map_char_table'.
1548         (Fmap_char_attribute): Add new argument `range' like
1549         `Fmap_char_table'.
1550
1551 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1552
1553         * chartab.c (map_over_uint8_byte_table): Change interface of
1554         mapping function to use struct chartab_range instead of Emchar.
1555         (map_over_uint16_byte_table): Likewise.
1556         (map_over_byte_table): Likewise.
1557         (map_char_id_table): Likewise.
1558         (struct slow_map_char_id_table_arg): Deleted.
1559         (slow_map_char_id_table_fun): Deleted.
1560         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1561         function `slow_map_char_table_fun' instead of struct
1562         `slow_map_char_id_table_arg' and function
1563         `slow_map_char_id_table_fun'.
1564
1565 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1566
1567         * mule-charset.c: Move char-it-table related codes to chartab.c.
1568         (Vutf_2000_version): Moved to chartab.c.
1569         (Fdefine_char): Likewise.
1570         (Ffind_char): Likewise.
1571         (syms_of_mule_charset): Move types `uint8-byte-table',
1572         `uint16-byte-table', `byte-table' and `char-id-table' to
1573         chartab.c; move functions `char_attribute_list,
1574         `find_char_attribute_table, `char_attribute_alist,
1575         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1576         `map_char_attribute, `define_char, `find_char, `char_variants and
1577         `get_composite_char to chartab.c; move symbols `=>ucs',
1578         `->decomposition', `compat', `isolated', `initial', `medial',
1579         `final', `vertical', `noBreak', `fraction', `super', `sub',
1580         `circle', `square', `wide', `narrow', `small' and `font' to
1581         chartab.c.
1582         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1583         setting codes for `Vcharacter_composition_table' and
1584         `Vcharacter_variant_table' to chartab.c.
1585         (complex_vars_of_mule_charset): Move setting code for
1586         `Vchar_attribute_hash_table' to chartab.c.
1587
1588         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1589         (make_char_id_table): New prototype.
1590         (put_char_id_table): Likewise.
1591         (Fget_char_attribute): Likewise.
1592
1593         * chartab.c: Move char-id-table related code from mule-charset.c.
1594         (Vutf_2000_version): Moved from mule-charset.c.
1595
1596         * char-ucs.h (Qucs): New external variable.
1597         (put_char_ccs_code_point): New prototype.
1598         (remove_char_ccs): Likewise.
1599
1600 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1601
1602         * mule-charset.c (Vcharset_ucs_jis): New variable.
1603         (Qucs_jis): Likewise.
1604         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1605         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1606
1607         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1608
1609 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1610
1611         * mule-charset.c (map_over_uint8_byte_table): New function.
1612         (map_over_uint16_byte_table): Likewise.
1613         (map_over_byte_table): Likewise.
1614         (map_char_id_table): Likewise.
1615         (slow_map_char_id_table_fun): Likewise.
1616         (Fmap_char_attribute): Likewise.
1617         (syms_of_mule_charset): Add new function `map-char-attribute'.
1618
1619 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1620
1621         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1622         (syms_of_mule_charset): Add new function `find-char'.
1623
1624 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1625
1626         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1627         XEmacs UTF-2000.
1628         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1629         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1630         XEmacs UTF-2000.
1631         (complex_vars_of_mule_charset): Add new coded-charset
1632         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1633         `ideograph-gt-pj-*'.
1634
1635         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1636
1637 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1638
1639         * mule-charset.c (encode_builtin_char_1): Purge codes about
1640         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1641         {MIN|MAX}_CHAR_HEBREW.
1642         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1643         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1644
1645         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1646         (MAX_CHAR_GREEK): Purged.
1647         (MIN_CHAR_CYRILLIC): Purged.
1648         (MAX_CHAR_CYRILLIC): Purged.
1649         (MIN_CHAR_HEBREW): Commented out.
1650         (MAX_CHAR_HEBREW): Likewise.
1651
1652 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1653
1654         * mule-charset.c (Qto_ucs): New variable.
1655         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1656         (Fdefine_char): Likewise.
1657         (syms_of_mule_charset): Add new symbol `=>ucs'.
1658
1659 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1660
1661         * mule-charset.c (Fdecode_char): Fixed.
1662
1663 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1664
1665         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1666         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1667         "tcvn5712-1".
1668
1669 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1670
1671         * mule-charset.c (Vcharset_ucs_big5): New variable.
1672         (Qucs_big5): Likewise.
1673         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1674         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1675
1676         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1677
1678 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1679
1680         * mule-charset.c (decode_builtin_char): Check Big5 code range
1681         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1682
1683 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1684
1685         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1686         (Qchinese_gb12345): Likewise.
1687         (Fdecode_builtin_char): Fixed.
1688         (syms_of_mule_charset): Add `chinese-gb12345'.
1689         (complex_vars_of_mule_charset): Add coded-charset
1690         `chinese-gb12345'.
1691
1692         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1693         (LEADING_BYTE_CHINESE_GB12345): New macro.
1694
1695 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1696
1697         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1698         and `latin-viscii-upper' for `latin-viscii'.
1699
1700 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1701
1702         * mule-charset.c (Fdecode_builtin_char): Comment out
1703         regularization code for ISO-IR GR representation.
1704
1705 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1706
1707         * mule-charset.c (decode_builtin_char): New function; renamed from
1708         `make_builtin_char'; return -1 instead of signal.
1709         (Fdecode_builtin_char): Use `decode_builtin_char'.
1710
1711         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1712         `make_builtin_char'.
1713         (DECODE_CHAR): Use `decode_builtin_char' instead of
1714         `make_builtin_char'; use mapping table of `chinese-big5' for
1715         `chinese-big5-{1,2}'.
1716
1717 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1718
1719         * text-coding.c (char_encode_big5): New function.
1720         (char_finish_big5): Likewise.
1721         (reset_encoding_stream): Use `char_encode_big5' and
1722         `char_finish_big5' for CODESYS_BIG5.
1723         (mule_encode): Don't use `encode_coding_big5'.
1724         (encode_coding_big5): Deleted.
1725
1726 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1727
1728         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1729         0x81- in XEmacs UTF-2000.
1730         (detect_coding_big5): Likewise.
1731
1732 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1733
1734         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1735         generate character-id if the CCS property does not have
1736         corresponding predefined character.
1737         (make_builtin_char): Return -1 if corresponding predefined
1738         character is not found.
1739         (Fdecode_char): Return nil if corresponding character is not
1740         found.
1741         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1742         don't map to builtin ucs space.
1743
1744 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1745
1746         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1747         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1748
1749 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1750
1751         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1752         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1753         (Qideograph_gt): Likewise.
1754         (Qideograph_gt_pj_{1..11}): Likewise.
1755         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1756         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1757         `ideograph-gt-pj-11'.
1758         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1759         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1760         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1761
1762         * char-ucs.h (LEADING_BYTE_GT): New macro.
1763         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1764         (MIN_CHAR_GT): Likewise.
1765         (MAX_CHAR_GT): Likewise.
1766
1767 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1768
1769         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1770         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1771
1772         * doprnt.c (unsigned_int_converters): Add `c'.
1773         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1774
1775         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1776         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1777         `MIN_CHAR_MOJIKYO'.
1778         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1779         (MAX_CHAR_MOJIKYO_0): New macro.
1780         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1781
1782 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1783
1784         * mule-charset.c (Fdefine_char): Delete cemented out code.
1785         (encode_builtin_char_1): Modify for new allocation of builtin
1786         Mojikyo characters.
1787
1788         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1789
1790 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1791
1792         * mule-charset.c (Vcharset_ucs_cns): New variable.
1793         (Qucs_cns): New variable.
1794         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1795         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1796
1797 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1798
1799         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1800
1801 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1802
1803         * search.c (search_buffer): Make `charset_base_code' as
1804         character-id >> 6 to eliminate the corresponding last byte in
1805         UTF-8 representation [I'm not sure it is right thing].
1806         (boyer_moore): Likewise.
1807
1808 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1809
1810         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1811         representation in MULE.
1812
1813 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1814
1815         * text-coding.c (Fmake_coding_system): Use
1816         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1817         `EXTERNAL_PROPERTY_LIST_LOOP'.
1818
1819 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1820
1821         * text-coding.c (decode_output_utf8_partial_char): New function.
1822         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1823
1824 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1825
1826         * text-coding.c (decode_coding_utf8): Output original byte
1827         sequence if it is broken; change order of conditions.
1828
1829         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1830         of conditions.
1831
1832         * mb-multibyte.h (BYTE_ASCII_P):
1833         Use bit ops for char-signedness safety.
1834         (BYTE_C0_P): Use bit ops for char-signedness safety.
1835         (BYTE_C1_P): Use bit ops for char-signedness safety.
1836
1837         * character.h: (XCHAR_OR_CHAR_INT):
1838         Always use inline function.
1839         Remove redundant type checking assert() - XINT will abort quite
1840         nicely.
1841
1842 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1843
1844         * text-coding.c: (Fencode_shift_jis_char):
1845         (Fencode_big5_char):
1846         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1847         Replace 0 with '\0' when working with bytes.
1848         Replace initial "(" with "\(" in docstrings.
1849
1850         (Fmake_coding_system):
1851         When type is ccl and value is vector, register it with a proper
1852         symbol.  And checks whether the given ccl program is valid.
1853         (mule_decode): When calling ccl_driver, if src indicates
1854         NULL pointer, set an empty string instead.
1855         (mule_encode): Likewise.
1856
1857         (detect_eol_type):
1858         (detect_coding_sjis):
1859         (decode_coding_sjis):
1860         (detect_coding_big5):
1861         (decode_coding_big5):
1862         (detect_coding_ucs4):
1863         (decode_coding_ucs4):
1864         (detect_coding_utf8):
1865         (decode_coding_utf8):
1866         (detect_coding_iso2022):
1867         (decode_coding_iso2022):
1868         (decode_coding_no_conversion):
1869         (mule_decode):
1870         Make all detecting and decoding functions take an Extbyte * arg.
1871         (text_encode_generic):
1872         (encode_coding_big5):
1873         (encode_coding_no_conversion):
1874         (mule_encode):
1875         Make all encoding functions take a Bufbyte * arg.
1876         Use size_t instead of unsigned int for memory sizes.
1877         Only cast to unsigned char whenever dereferencing Extbyte *.
1878
1879         (struct lrecord_description fcd_description_1): Use countof.
1880         (complex_vars_of_file_coding):
1881         Use countof instead of sizeof.
1882         Use CHECK_NATNUM instead of CHECK_INT.
1883
1884 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1885
1886         * mule-charset.c (Fget_char_attribute): Add new optional argument
1887         `default-value'.
1888         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1889         (remove_char_ccs): Likewise.
1890
1891 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1892
1893         * text-coding.c (char_encode_shift_jis): New implementation in
1894         UTF-2000.
1895         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1896         ...)'.
1897
1898         * mule-charset.c (Vcharset_chinese_big5): New variable in
1899         UTF-2000.
1900         (Qchinese_big5): New variable in UTF-2000.
1901         (BIG5_SAME_ROW): New macro in UTF-2000.
1902         (make_builtin_char): Use builtin characters of
1903         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1904         characters of `Vcharset_chinese_big5'.
1905         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1906         (complex_vars_of_mule_charset): Add new coded-charset
1907         `chinese-big5' in UTF-2000.
1908
1909         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1910         (Vcharset_chinese_big5): New external variable declaration.
1911         (Vcharset_japanese_jisx0208_1990): Likewise.
1912
1913 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1914
1915         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1916         function.
1917         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1918
1919 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1920
1921         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1922         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1923         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1924         `mojikyo-pj-*'.
1925
1926 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1927
1928         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1929
1930 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1931
1932         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1933         to 0.17.
1934
1935 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1936
1937         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1938         for `CHARSET_BY_ATTRIBUTES'.
1939         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1940         `CHARSET_BY_ATTRIBUTES'.
1941
1942         * text-coding.c (struct decoding_stream): Rename member `CH' to
1943         `CPOS'.
1944         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1945         (decode_coding_sjis): Likewise.
1946         (decode_coding_big5): Likewise.
1947         (decode_coding_ucs4): Likewise.
1948         (decode_coding_utf8): Likewise.
1949         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1950         `CHARSET_BY_ATTRIBUTES'.
1951         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1952         `str->counter'; decode 3, 4 bytes sets.
1953         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1954         sets.
1955         (decode_coding_no_conversion): Use `str->cpos' instead of
1956         `str->ch'.
1957
1958         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1959         (Qmojikyo_2022_1): New variable.
1960         (make_charset): Don't use `CHARSET_TYPE_*'.
1961         (range_charset_code_point): Support coded-charset
1962         `mojikyo-2022-1'.
1963         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1964         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1965         `CHARSET_BY_ATTRIBUTES'.
1966         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1967         `CHARSET_BY_ATTRIBUTES'.
1968         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1969         (complex_vars_of_mule_charset): Add new coded-charset
1970         `mojikyo-2022-1'.
1971
1972         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1973         interface; changed to inline function.
1974
1975         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1976         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1977         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1978         (CHARSET_TYPE_94): Deleted.
1979         (CHARSET_TYPE_94X94): Deleted.
1980         (CHARSET_TYPE_96): Deleted.
1981         (CHARSET_TYPE_96X96): Deleted.
1982         (CHARSET_TYPE_128): Deleted.
1983         (CHARSET_TYPE_128X128): Deleted.
1984         (CHARSET_TYPE_256): Deleted.
1985         (CHARSET_TYPE_256X256): Deleted.
1986         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1987         to inline function.
1988         (DECODE_MOJIKYO_2022): New inline function.
1989         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1990         `Vcharset_mojikyo_2022_1'.
1991
1992 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1993
1994         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1995         instead of `EQ'.
1996         (put_byte_table): Likewise.
1997         (char_id_table_equal): Use `get_byte_table' [new implementation].
1998
1999 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2000
2001         * mule-charset.c: Include <limits.h> in UTF-2000.
2002         (BT_UINT8_MIN): New macro in UTF-2000.
2003         (BT_UINT8_MAX): New macro in UTF-2000.
2004         (BT_UINT8_t): New macro in UTF-2000.
2005         (BT_UINT8_nil): New macro in UTF-2000.
2006         (BT_UINT8_unbound): New macro in UTF-2000.
2007         (INT_UINT8_P): New inline function in UTF-2000.
2008         (UINT8_VALUE_P): New inline function in UTF-2000.
2009         (UINT8_ENCODE): New inline function in UTF-2000.
2010         (UINT8_DECODE): New inline function in UTF-2000.
2011         (mark_uint8_byte_table): New function in UTF-2000.
2012         (print_uint8_byte_table): New function in UTF-2000.
2013         (uint8_byte_table_equal): New function in UTF-2000.
2014         (uint8_byte_table_hash): New function in UTF-2000.
2015         (make_uint8_byte_table): New function in UTF-2000.
2016         (uint8_byte_table_same_value_p): New function in UTF-2000.
2017         (BT_UINT16_MIN): New macro in UTF-2000.
2018         (BT_UINT16_MAX): New macro in UTF-2000.
2019         (BT_UINT16_t): New macro in UTF-2000.
2020         (BT_UINT16_nil): New macro in UTF-2000.
2021         (BT_UINT16_unbound): New macro in UTF-2000.
2022         (INT_UINT16_P): New inline function in UTF-2000.
2023         (UINT16_VALUE_P): New inline function in UTF-2000.
2024         (UINT16_ENCODE): New inline function in UTF-2000.
2025         (UINT16_DECODE): New inline function in UTF-2000.
2026         (UINT8_TO_UINT16): New inline function in UTF-2000.
2027         (mark_uint16_byte_table): New function in UTF-2000.
2028         (print_uint16_byte_table): New function in UTF-2000.
2029         (uint16_byte_table_equal): New function in UTF-2000.
2030         (uint16_byte_table_hash): New function in UTF-2000.
2031         (make_uint16_byte_table): New function in UTF-2000.
2032         (uint16_byte_table_same_value_p): New function in UTF-2000.
2033         (print_byte_table): New function in UTF-2000.
2034         (byte-table): Use `print_byte_table' as printer.
2035         (make_byte_table): Delete second argument `older'.
2036         (byte_table_same_value_p): New function in UTF-2000.
2037         (copy_byte_table): Deleted.
2038         (get_byte_table): New function in UTF-2000.
2039         (put_byte_table): New function in UTF-2000.
2040         (print_char_id_table): New function in UTF-2000.
2041         (char-id-table): Use `print_char_id_table' as printer.
2042         (make_char_id_table): Delete second argument `older'.
2043         (get_char_id_table): Use `get_byte_table [new implementation].
2044         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2045         implementation].
2046         (Ffind_char_attribute_table): New function in UTF-2000.
2047         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2048         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2049         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2050         (syms_of_mule_charset): Add new function
2051         `find-char-attribute-table' in UTF-2000.
2052
2053         * lrecord.h (enum lrecord_type): Add
2054         `lrecord_type_uint16_byte_table' and
2055         `lrecord_type_uint8_byte_table'.
2056
2057         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2058         (Lisp_Uint8_Byte_Table): New type.
2059         (XUINT8_BYTE_TABLE): New macro.
2060         (XSETUINT8_BYTE_TABLE): New macro.
2061         (UINT8_BYTE_TABLE_P): New macro.
2062         (GC_UINT8_BYTE_TABLE_P): New macro.
2063         (struct Lisp_Uint16_Byte_Table): New structure.
2064         (Lisp_Uint16_Byte_Table): New type.
2065         (XUINT16_BYTE_TABLE): New macro.
2066         (XSETUINT16_BYTE_TABLE): New macro.
2067         (UINT16_BYTE_TABLE_P): New macro.
2068         (GC_UINT16_BYTE_TABLE_P): New macro.
2069
2070 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2071
2072         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2073         (Vcharacter_ideographic_strokes_table): Deleted.
2074         (Vcharacter_total_strokes_table): Deleted.
2075         (Vcharacter_morohashi_daikanwa_table): Deleted.
2076         (Vcharacter_decomposition_table): Deleted.
2077         (Qname): Deleted because it is duplicated.
2078         (Qideographic_radical): Deleted.
2079         (Qideographic_strokes): Deleted.
2080         (Qtotal_strokes): Deleted.
2081         (Qmorohashi_daikanwa): Deleted.
2082         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2083         `ideographic-radical', `ideographic-strokes', `total-strokes',
2084         `morohashi-daikanwa' and `->decomposition'.
2085         (Fget_char_attribute): Likewise.
2086         (Fput_char_attribute): Likewise; use `make-vector' instead of
2087         `make_older_vector' for `->decomposition' value.
2088         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2089         `ideograph-daikanwa'.
2090         (syms_of_mule_charset): Delete builtin symbols `name',
2091         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2092         `morohashi-daikanwa'.
2093         (vars_of_mule_charset): Don't setup
2094         `Vcharacter_ideographic_radical_table',
2095         `Vcharacter_ideographic_strokes_table',
2096         `Vcharacter_total_strokes_table',
2097         `Vcharacter_morohashi_daikanwa_table' and
2098         `Vcharacter_decomposition_table'.
2099
2100 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2101
2102         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2103         `make_older_vector', `make_vector_newer_1' and
2104         `make_vector_newer'.
2105
2106         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2107         `make_older_vector' and `make_vector_newer'.
2108
2109         * config.h.in (HAVE_GGC): New macro.
2110
2111 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2112
2113         * mule-charset.c (struct char_attribute_list_closure): New
2114         structure in UTF-2000.
2115         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2116         (Fchar_attribute_list): Likewise.
2117         (Fset_charset_mapping_table): Use `make_vector_newer'.
2118         (Fdecode_builtin_char): New function in UTF-2000.
2119         (syms_of_mule_charset): Add new function `char-attribute-list' and
2120         `decode-builtin-char' in UTF-2000.
2121
2122         * lisp.h (make_vector_newer): New prototype.
2123
2124         * alloc.c (make_vector_newer_1): New function.
2125         (make_vector_newer): New function.
2126
2127 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2128
2129         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2130         50100)'.
2131
2132 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2133
2134         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2135         (Vcharacter_attribute_table): Deleted.
2136         (Vcharacter_name_table): Deleted.
2137         (put_char_attribute): Deleted.
2138         (remove_char_attribute): Deleted.
2139         (struct char_attribute_alist_closure): New structure.
2140         (add_char_attribute_alist_mapper): New function.
2141         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2142         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2143         (Fget_char_attribute): Likewise.
2144         (Fput_char_attribute): Likewise.
2145         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2146         of `remove_char_attribute'.
2147         (Fdefine_char): Return character.
2148         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2149         and `Vcharacter_name_table'.
2150         (complex_vars_of_mule_charset): Likewise
2151         `Vchar_attribute_hash_table'.
2152
2153 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2154
2155         * character.h (CHARC_CHARSET): New macro.
2156         (CHARC_CHARSET_ID): New macro.
2157         (CHARC_CODE_POINT): New macro.
2158         (CHARC_COLUMNS): New macro.
2159         (CHARC_TO_CHAR): New inline function.
2160         (CHARC_EQ): New inline function.
2161         (CHARC_ASCII_EQ): New inline function.
2162         (CHARC_IS_SPACE): New inline function.
2163         (ASCII_TO_CHARC): New inline function.
2164
2165         * char-ucs.h (encode_char_2): Deleted.
2166         (ENCODE_CHAR): Use `encode_char_1' again.
2167         (breakup_char_1): Likewise.
2168         (CHAR_TO_CHARC): New inline function.
2169
2170         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2171
2172 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2173
2174         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2175         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2176         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2177         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2178         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2179         `CHARC_IS_SPACE'.
2180         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2181
2182         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2183         `CHARC_CODE_POINT'.
2184         (x_output_display_block): Use `CHARC_CHARSET' and
2185         `CHARC_ASCII_EQ'.
2186
2187         * redisplay-tty.c (tty_output_display_block): Use
2188         `CHARC_ASCII_EQ'.
2189         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2190
2191         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2192
2193         * insdel.c (find_charsets_in_charc_string): Use
2194         `CHARC_CHARSET_ID'.
2195         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2196         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2197         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2198         (convert_charc_string_into_malloced_string): Likewise.
2199
2200 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2201
2202         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2203         instead of <Emchar_dynarr *> for buf; use
2204         `convert_bufbyte_string_into_charc_dynarr' instead of
2205         `convert_bufbyte_string_into_emchar_dynarr'; use
2206         `find_charsets_in_charc_string' instead of
2207         `find_charsets_in_emchar_string'.
2208
2209         * redisplay.h:
2210         - Include "character.h".
2211         (struct rune): New member `cglyph'; delete member `chr'.
2212
2213         * redisplay.c (redisplay_text_width_charc_string): New function;
2214         delete `redisplay_text_width_emchar_string'.
2215         (rtw_charc_dynarr): New variable; renamed from
2216         `rtw_emchar_dynarr'.
2217         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2218         `rtw_emchar_dynarr'; use
2219         `convert_bufbyte_string_into_charc_dynarr' instead of
2220         `convert_bufbyte_string_into_emchar_dynarr'; use
2221         `redisplay_text_width_charc_string' instead of
2222         `redisplay_text_width_emchar_string'.
2223         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2224         instead of `rtw_emchar_dynarr'; use
2225         `convert_bufbyte_string_into_charc_dynarr' instead of
2226         `convert_bufbyte_string_into_emchar_dynarr'.
2227         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2228         `redisplay_text_width_charc_string' instead of
2229         `redisplay_text_width_emchar_string'.
2230         (create_text_block): Modify for <struct rune> change.
2231         (generate_formatted_string_db): Likewise.
2232         (create_string_text_block): Likewise.
2233         (pixel_to_glyph_translation): Likewise.
2234
2235         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2236         instead of <const Emchar *>.
2237         (x_text_width): Likewise.
2238         (x_output_display_block): Use <Charc_dynarr *> instead
2239         <Emchar_dynarr *>; modify for <structure rune> change.
2240         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2241         *>.
2242
2243         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2244         <const Emchar *>; use `charc_string_displayed_columns' instead of
2245         `emchar_string_displayed_columns'.
2246         (tty_output_display_block): Use <Charc_dynarr *> instead of
2247         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2248         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2249         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2250         `tty_output_emchar_dynarr_dynarr'.
2251         (tty_output_charc_dynarr): New function; delete
2252         `tty_output_charc_dynarr'.
2253
2254         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2255         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2256         <Emchar_dynarr *> for buf; use
2257         `convert_bufbyte_string_into_charc_dynarr' instead of
2258         `convert_bufbyte_string_into_emchar_dynarr'.
2259
2260         * frame.c (title_string_charc_dynarr): New variable; renamed from
2261         `title_string_emchar_dynarr'.
2262         (generate_title_string): Use `title_string_charc_dynarr' instead
2263         of `title_string_emchar_dynarr'; use
2264         `convert_charc_string_into_malloced_string' instead of
2265         `convert_emchar_string_into_malloced_string'.
2266         (init_frame): Use `title_string_charc_dynarr' instead of
2267         `title_string_emchar_dynarr'.
2268
2269         * console.h:
2270         - Include "character.h".
2271         (struct console_methods): Use <const Charc *> instead of <const
2272         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2273         <Emchar_dynarr *> in output_string_method.
2274
2275         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2276         <Emchar_dynarr *>.
2277
2278         * console-stream.c (stream_text_width): Use <const Charc *>
2279         instead of <const Emchar *>.
2280
2281         * character.h (Charc_dynarr): New type.
2282
2283         * char-ucs.h (structure Charc): New structure; define new type
2284         `Charc'.
2285
2286         * char-lb.h (DECODE_CHAR): New inline function.
2287         (encode_char_1): New inline function.
2288         (ENCODE_CHAR): New macro.
2289         (structure Charc): New structure; define new type `Charc'.
2290
2291         * char-1byte.h (Vcharset_control_1): New macro.
2292         (Vcharset_latin_iso8859_1): New macro.
2293         (DECODE_CHAR): New inline function.
2294         (encode_char_1): New inline function.
2295         (ENCODE_CHAR): New macro.
2296         (structure Charc): New structure; define new type `Charc'.
2297
2298         * insdel.c (find_charsets_in_charc_string): New function; delete
2299         `find_charsets_in_emchar_string'.
2300         (charc_string_displayed_columns): New function; delete
2301         `emchar_string_displayed_columns'.
2302         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2303         `convert_bufbyte_string_into_emchar_dynarr'.
2304         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2305         `convert_charc_string_into_bufbyte_dynarr'.
2306         (convert_charc_string_into_malloced_string): New function; delete
2307         `convert_charc_string_into_malloced_string'.
2308
2309         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2310         `find_charsets_in_emchar_string'.
2311         (charc_string_displayed_columns): New prototype; delete
2312         `emchar_string_displayed_columns'.
2313         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2314         `convert_charc_string_into_bufbyte_dynarr'.
2315         (convert_charc_string_into_malloced_string): New prototype; delete
2316         `convert_charc_string_into_malloced_string'.
2317
2318 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2319
2320         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2321
2322 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2323
2324         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2325
2326         * char-ucs.h: Use <short> for <Charset_ID>.
2327
2328         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2329         <Charset_ID>.
2330
2331 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2332
2333         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2334         to 0.16.
2335
2336 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2337
2338         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2339         variable.
2340         (Qmorohashi_daikanwa): New variable.
2341         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2342         for `morohashi-daikanwa' attribute.
2343         (Fget_char_attribute): Likewise.
2344         (Fput_char_attribute): Likewise.
2345         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2346         has the same value of `ideograph-daikanwa'.
2347         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2348         (vars_of_mule_charset): Setup
2349         `Vcharacter_morohashi_daikanwa_table'.
2350
2351 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2352
2353         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2354         attributes.
2355         (add_charset_to_list_mapper): Add `key' instead of
2356         `XCHARSET_NAME (value)' to return aliases.
2357
2358 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2359
2360         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2361         variable.
2362         (Vcharacter_ideographic_strokes_table): New variable.
2363         (Qideographic_radical): New variable.
2364         (Qideographic_strokes): New variable.
2365         (Fchar_attribute_alist): Use
2366         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2367         attribute; use `Vcharacter_ideographic_strokes_table' for
2368         `ideographic-strokes' attribute.
2369         (Fget_char_attribute): Likewise.
2370         (Fput_char_attribute): Likewise.
2371         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2372         `ideographic-strokes'.
2373         (vars_of_mule_charset): Setup
2374         `Vcharacter_ideographic_radical_table' and
2375         `Vcharacter_ideographic_strokes_table'.
2376
2377 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2378
2379         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2380         (Qtotal_strokes): New variable.
2381         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2382         `total-strokes' attribute.
2383         (Fget_char_attribute): Likewise.
2384         (Fput_char_attribute): Likewise.
2385         (syms_of_mule_charset): Add new symbol `total-strokes'.
2386         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2387
2388 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2389
2390         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2391         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2392         are found.
2393         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2394         `->decomposition' attribute.
2395         (Fput_char_attribute): Likewise.
2396         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2397
2398 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2399
2400         * mule-charset.c (decoding_table_check_elements): New function.
2401         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2402
2403 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2404
2405         * mule-charset.c (Fset_charset_mapping_table): Use
2406         `put_char_ccs_code_point'.
2407
2408 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2409
2410         * mule-charset.c (decoding_table_put_char): New inline function.
2411         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2412
2413 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2414
2415         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2416         (XCHARSET_BYTE_SIZE): New macro.
2417         (decoding_table_remove_char): New inline function.
2418         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2419         `decoding_table_remove_char'.
2420         (remove_char_ccs): Use `decoding_table_remove_char'.
2421         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2422
2423 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2424
2425         * mule-charset.c (Vcharacter_name_table): New variable.
2426         (Qname): New variable.
2427         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2428         attribute.
2429         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2430         `Vcharacter_name_table' for `name' attribute.
2431         (Fremove_char_attribute): Use function `remove_char_ccs'.
2432         (put_char_ccs_code_point): New function.
2433         (remove_char_ccs): New function.
2434         (syms_of_mule_charset): Add new symbol `name'.
2435         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2436
2437 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2438
2439         * mule-charset.c (make_byte_table): Add new argument `older'.
2440         (make_char_id_table): Likewise.
2441         (copy_char_id_table): Comment out because it is not used.
2442         (put_char_id_table): Modify for `make_byte_table'.
2443         (Fput_char_attribute): Make encoding_table as older object;
2444         inherit older bit of `Vcharacter_composition_table'.
2445         (mark_charset): Don't mark `cs->encoding_table'.
2446         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2447         normal object; make `Vcharacter_composition_table' as an older
2448         object; delete staticpro for `Vcharacter_composition_table'; make
2449         `Vcharacter_variant_table' as a normal object.
2450
2451         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2452         (mark_object): Don't check older object in UTF-2000.
2453
2454         * lrecord.h (struct lrecord_header): Add new member `older' in
2455         UTF-2000.
2456         (set_lheader_implementation): Setup `SLI_header->older' in
2457         UTF-2000.
2458         (set_lheader_older_implementation): New macro in UTF-2000.
2459         (OLDER_RECORD_P): New macro in UTF-2000.
2460         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2461         (alloc_older_lcrecord): New prototype in UTF-2000.
2462         (alloc_older_lcrecord_type): New macro in UTF-2000.
2463
2464 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2465
2466         * mule-charset.c (byte_table_description): Use
2467         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2468         (char_id_table_description): Delete bogus `, 1'.
2469         (Fget_char_attribute): Refer encoding_table of each coded-charset
2470         to get value of coded-charset attribute of a character.
2471         (Fput_char_attribute): Use `make_older_vector' instead of
2472         `make_vector'; use encoding_table of each coded-charset to store
2473         value of coded-charset attribute of a character.
2474         (Fremove_char_attribute): Use encoding_table of each coded-charset
2475         to store value of coded-charset attribute of a character.
2476         (mark_charset): Mark `cs->encoding_table'; don't mark
2477         `cs->decoding_table'.
2478         (charset_description): Add description of new member
2479         `encoding_table'.
2480         (make_charset): Initialize `encoding_table'.
2481
2482         * char-ucs.h (struct Lisp_Charset): Add new member
2483         `encoding_table'.
2484         (CHARSET_ENCODING_TABLE): New macro.
2485         (XCHARSET_ENCODING_TABLE): New macro.
2486         (charset_code_point): New implementation.
2487         (encode_char_1): Likewise.
2488
2489         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2490         (disksave_object_finalization_1): Call finalizers of
2491         `all_older_lcrecords' in UTF-2000.
2492         (make_older_vector): New function in UTF-2000.
2493         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2494         UTF-2000.
2495
2496         * lisp.h (make_older_vector): New prototype in UTF-2000.
2497
2498 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2499
2500         * lrecord.h (enum lrecord_type): Rename
2501         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2502
2503         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2504         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2505         `get_char_code_table'.
2506
2507         * mule-charset.c (mark_char_id_table): Renamed from
2508         `mark_char_code_table'.
2509         (char_id_table_equal): Renamed from `char_code_table_equal'.
2510         (char_id_table_hash): Renamed from `char_code_table_hash'.
2511         (make_char_id_table): Renamed from `make_char_code_table'.
2512         (copy_char_id_table): Renamed from `copy_char_code_table'.
2513         (get_char_id_table): Renamed from `get_char_code_table'.
2514         (put_char_id_table): Renamed from `put_char_code_table'.
2515         (to_char_id): Renamed from `to_char_code'.
2516
2517         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2518         `Lisp_Char_Code_Table'.
2519         (char_id_table): Renamed from `char_code_table'.
2520         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2521         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2522         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2523         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2524         (get_char_id_table): Renamed from `get_char_code_table'.
2525
2526 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2527
2528         * lrecord.h (enum lrecord_type): Rename
2529         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2530
2531         * mule-charset.c (mark_byte_table): Renamed from
2532         `mark_char_byte_table'.
2533         (byte_table_equal): Renamed from `char_byte_table_equal'.
2534         (byte_table_hash): Renamed from `byte_table_hash'.
2535         (make_byte_table): Renamed from `make_byte_table'.
2536         (copy_byte_table): Renamed from `copy_char_byte_table'.
2537
2538         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2539         `Lisp_Char_Byte_Table'.
2540         (byte_table): Renamed from `char_byte_table'.
2541         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2542         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2543         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2544         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2545
2546 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2547
2548         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2549         (dfc_convert_to_internal_format): Likewise.
2550         
2551         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2552         * text-coding.c (Fcoding_system_alias_p): New function.
2553         * text-coding.c (Fcoding_system_aliasee): New function.
2554         * text-coding.c (append_suffix_to_symbol): New function.
2555         * text-coding.c (dangling_coding_system_alias_p): New function.
2556         * text-coding.c (Ffind_coding_system):
2557         * text-coding.c (Fcopy_coding_system):
2558         * text-coding.c (encode_coding_no_conversion):
2559         * text-coding.c (syms_of_file_coding):
2560         * text-coding.c (vars_of_file_coding):
2561         Rewrite coding system alias code.
2562         Allow nested aliases, like symbolic links.
2563         Allow redefinition of coding system aliases.
2564         Prevent existence of dangling coding system aliases.
2565         Eliminate convert_to_external_format.
2566         Eliminate convert_to_internal_format.
2567         
2568         * text-coding.c: Change enum eol_type to eol_type_t.
2569
2570 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2571
2572         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2573         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2574
2575         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2576         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2577
2578 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2579
2580         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2581         `ideograph-daikanwa'.
2582
2583         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2584         (Vcharset_ucs_bmp): Likewise.
2585         (Vcharset_mojikyo): Add new extern variable definition.
2586         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2587         (Vcharset_latin_iso8859_3): Likewise.
2588         (Vcharset_latin_iso8859_4): Likewise.
2589         (Vcharset_latin_iso8859_9): Likewise.
2590         (Vcharset_latin_viscii_lower): Likewise.
2591         (Vcharset_latin_viscii_upper): Likewise.
2592         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2593         `mojikyo' code-point is used to decode.
2594         (encode_char_2): New function [to convert `mojikyo' code-point to
2595         Mojikyo font encoding].
2596         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2597         (breakup_char_1): Likewise.
2598         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2599
2600 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2601
2602         * text-coding.c (Fmake_coding_system): Add document about
2603         `disable-composition' property.
2604
2605 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2606
2607         * text-coding.c (Qdisable_composition): New variable; delete
2608         `Qcomposite'.
2609         (Fmake_coding_system): Add new property `disable-composite';
2610         delete property `composite'.
2611         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2612         instead of `!CODING_SYSTEM_COMPOSITE'.
2613         (syms_of_file_coding): Add new symbol `disable-composition';
2614         delete symbol `composite'.
2615
2616         * file-coding.h (struct Lisp_Coding_System): Add
2617         `disable_composition'; delete `enable_composition'.
2618         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2619         `CODING_SYSTEM_COMPOSITE'.
2620         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2621         `XCODING_SYSTEM_COMPOSITE'.
2622
2623 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2624
2625         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2626         to 0.15.
2627
2628 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2629
2630         * text-coding.c (Qcomposite): New variable.
2631         (Fmake_coding_system): Add new property `composite'.
2632         (struct decoding_stream): Add `combined_char_count',
2633         `combined_chars' and `combining_table' in UTF-2000.
2634         (COMPOSE_FLUSH_CHARS): New macro.
2635         (COMPOSE_ADD_CHAR): New macro.
2636         (reset_decoding_stream): Reset `str->combined_char_count' and
2637         `str->combining_table' in UTF-2000.
2638         (decode_coding_iso2022): Modify for character-decomposition.
2639         (syms_of_file_coding): Add new symbol `composite'.
2640
2641 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2642
2643         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2644         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2645         of `Vcharacter_composition_table' if `->decomposition' property
2646         has only 1 element.
2647         (Qlatin_tcvn5712): New variable.
2648         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2649         (complex_vars_of_mule_charset): Add new coded-charset
2650         `latin-tcvn5712'.
2651
2652         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2653
2654 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2655
2656         * file-coding.h (struct Lisp_Coding_System): Add
2657         `enable_composition'.
2658         (CODING_SYSTEM_COMPOSITE): New macro.
2659         (XCODING_SYSTEM_COMPOSITE): New macro.
2660
2661 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2662
2663         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2664
2665 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2666
2667         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2668         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2669
2670 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2671
2672         * mule-charset.c (Vcharset_mojikyo): New variable.
2673         (Fdefine_char): Don't use coded-charset which does not have
2674         non-builtin character range to allocate character-id.
2675         (Qmojikyo): New variable.
2676         (syms_of_mule_charset): Add new symbol `mojikyo'.
2677         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2678
2679         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2680         (LEADING_BYTE_MOJIKYO): New macro.
2681         (MIN_CHAR_MOJIKYO): New macro.
2682         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2683         (MAX_CHAR_MOJIKYO): New macro.
2684
2685 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2686
2687         * mule-charset.c (remove_char_attribute): Fixed.
2688
2689 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2690
2691         * mule-charset.c (remove_char_attribute): New function.
2692         (Fremove_char_attribute): New function.
2693         (encode_builtin_char_1): Comment out builtin-support for
2694         greek-iso8859-7 and cyrillic-iso8859-5.
2695         (Fdecode_char): Check `code' is an integer.
2696         (syms_of_mule_charset): Add `remove-char-attribute'.
2697         (MIN_CHAR_GREEK): Deleted.
2698         (MAX_CHAR_GREEK): Likewise.
2699         (MIN_CHAR_CYRILLIC): Likewise.
2700         (MAX_CHAR_CYRILLIC): Likewise.
2701         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2702         MAX_CHAR_GREEK for `greek-iso8859-7'.
2703
2704         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2705         (MAX_CHAR_GREEK): Likewise.
2706         (MIN_CHAR_CYRILLIC): Likewise.
2707         (MAX_CHAR_CYRILLIC): Likewise.
2708
2709 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2710
2711         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2712         format is used without `ucs' property.
2713         (Fdecode_char): Fix problem with GR representation.
2714         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2715         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2716
2717 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2718
2719         * mule-charset.c (make_builtin_char): New function.
2720         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2721         (Fset_charset_mapping_table): Modify for new representation of
2722         code-point.
2723         (Fdecode_char): New function.
2724         (syms_of_mule_charset): Add new builtin function `decode-char' in
2725         UTF-2000.
2726
2727         * char-ucs.h (make_builtin_char): New prototype.
2728         (DECODE_CHAR): New inline function.
2729         (MAKE_CHAR): Use `DECODE_CHAR'.
2730
2731 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2732
2733         * text-coding.c (parse_charset_conversion_specs): Use
2734         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2735         `XCHARSET_TYPE'.
2736         (iso2022_designate): Likewise.
2737
2738         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2739         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2740
2741         * mule-charset.c (Vcharset_ucs): New variable.
2742         (print_charset): Change design; use `CHARSET_CHARS' and
2743         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2744         (make_charset): Change signature to specify `chars' and
2745         `dimension' instead of `type'.
2746         (range_charset_code_point): Modify for 256^n-set.
2747         (encode_builtin_char_1): Encode as `ucs' in default.
2748         (Fmake_charset): Modify for `make_charset'.
2749         (Fmake_reverse_direction_charset): Likewise.
2750         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2751         UTF-2000.
2752         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2753         for `make_charset'.
2754
2755         * char-ucs.h (Vcharset_ucs): New variable.
2756         (LEADING_BYTE_UCS): New macro.
2757         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2758         and `chars' to `unsigned short' from `unsigned int'.
2759         (CHARSET_TYPE): Deleted.
2760         (XCHARSET_TYPE): Deleted.
2761
2762 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2763
2764         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2765
2766         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2767         (ENCODE_CHAR): New macro.
2768
2769 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2770
2771         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2772         to 0.14 (Kawachi-Katakami).
2773
2774 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2775
2776         * text-coding.c (char_encode_shift_jis): Modify for
2777         `charset_code_point'.
2778         (char_encode_iso2022): Likewise.
2779
2780         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2781         (integer) instead of list of <Lisp_Object>s (integers) as the
2782         format of code-point of a coded-charset.
2783         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2784         (encode_builtin_char_1): New function; delete
2785         `split_builtin_char'.
2786         (charset_code_point): Return <int> instead of <Lisp_Object>.
2787         (Fsplit_char): Don't use `SPLIT_CHAR'.
2788
2789         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2790         prototype for `split_builtin_char'.
2791         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2792         (charset_code_point): Likewise.
2793         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2794         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2795
2796 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2797
2798         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2799         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2800
2801 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2802
2803         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2804
2805         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2806         (MAX_CHAR_OBS_94x94): Deleted.
2807
2808 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2809
2810         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2811
2812         * char-ucs.h (MAX_CHAR_BMP): New macro.
2813
2814 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2815
2816         * text-coding.c: Sync with r21-2-24.
2817
2818 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2819
2820         * file-coding.c: Modify for UTF-2000.
2821
2822 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2823
2824         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2825         to 0.13 (Takaida).
2826
2827 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2828
2829         * mule-charset.c (split_builtin_char): Delete builtin support for
2830         `katakana-jisx0201'.
2831         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2832         BMP area in builtin representation.
2833
2834         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2835         `Vcharset_katakana_jisx0201'.
2836
2837 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2838
2839         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2840         (Qisolated): New variable.
2841         (Qinitial): New variable.
2842         (Qmedial): New variable.
2843         (Qfinal): New variable.
2844         (Qvertical): New variable.
2845         (Qsmall): New variable.
2846         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2847         `Qvertical' and `Qsmall'.
2848         (Qmojikyo_pj_[1 .. 21]): New variable.
2849         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2850         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2851         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2852         .. 21]'.
2853
2854 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2855
2856         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2857         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2858         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2859
2860 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2861
2862         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2863         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2864         BMP.
2865         (Qjapanese_jisx0208_1990): New variable.
2866         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2867         (complex_vars_of_mule_charset): Add new coded-charset
2868         `japanese-jisx0208-1990'.
2869
2870         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2871         (MIN_CHAR_JIS_X0208_1990): New macro.
2872         (MAX_CHAR_JIS_X0208_1990): New macro.
2873
2874 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2875
2876         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2877         coded-charset is not found.
2878
2879 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2880
2881         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2882         (Fdefine_char): Use `Fmake_char'.
2883
2884 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2885
2886         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2887         (Vcharset_hiragana_jisx0208): Deleted.
2888         (Vcharset_katakana_jisx0208): Deleted.
2889         (Qideograph_daikanwa): New variable.
2890         (Qhiragana_jisx0208): Deleted.
2891         (Qkatakana_jisx0208): Deleted.
2892         (split_builtin_char): Split `ideograph-daikanwa'.
2893         (Fsplit_char): New implementation for UTF-2000.
2894         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2895         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2896         (complex_vars_of_mule_charset): Add new coded-charset
2897         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2898         `katakana-jisx0208'.
2899
2900         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2901         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2902         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2903         (MIN_CHAR_DAIKANWA): New macro.
2904         (MAX_CHAR_DAIKANWA): New macro.
2905
2906 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2907
2908         * data.c (Fstring_to_number): Don't recognize floating point if
2909         base is not 10.
2910
2911 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2912
2913         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2914
2915 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2916
2917         * mule-charset.c (Qsquare): New variable.
2918         (to_char_code): Add `Qsquare'.
2919         (syms_of_mule_charset): Add new symbol `square'.
2920
2921 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2922
2923         * mule-charset.c (Qcircle): New variable.
2924         (to_char_code): Add `Qcircle'.
2925         (syms_of_mule_charset): Add new symbol `circle'.
2926
2927 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2928
2929         * mule-charset.c (Qfont): New variable.
2930         (to_char_code): Add `Qfont'.
2931         (syms_of_mule_charset): Add new symbol `font'.
2932
2933 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2934
2935         * mule-charset.c (Qsub): New variable.
2936         (to_char_code): Add `Qsub'.
2937         (syms_of_mule_charset): Add new symbol `sub'.
2938
2939 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2940
2941         * mule-charset.c (Fput_char_attribute): Convert each element of
2942         VALUE to GL position if ATTRIBUTE is a GR-set,
2943
2944 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2945
2946         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2947         coded-charset is a GR-set.
2948
2949 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2950
2951         * mule-charset.c (Fput_char_attribute): Check each element of
2952         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2953
2954 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2955
2956         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2957         UTF-2000.
2958         (Qethiopic_ucs): New variable in UTF-2000.
2959         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2960         (complex_vars_of_mule_charset): Add new coded-charset
2961         `ethiopic-ucs' in UTF-2000.
2962
2963         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2964         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2965         9)'.
2966         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2967         10)'.
2968         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2969
2970 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2971
2972         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2973         `ascii'.
2974
2975 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2976
2977         * mule-charset.c (Vcharacter_variant_table): New variable.
2978         (Q_ucs): New variable.
2979         (Fchar_variants): New function.
2980         (Fput_char_attribute): Register `->ucs' value to
2981         `Vcharacter_variant_table'.
2982         (syms_of_mule_charset): Add new function `char-variants' and new
2983         symbol `->ucs'.
2984         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2985
2986 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2987
2988         * mule-charset.c (get_char_code_table): Allow negative character
2989         code.
2990         (put_char_code_table): Likewise.
2991         (Vcharacter_composition_table): New variable.
2992         (Q_decomposition): New variable.
2993         (Qwide): New variable.
2994         (Qnarrow): New variable.
2995         (Qcompat): New variable.
2996         (QnoBreak): New variable.
2997         (Qsuper): New variable.
2998         (Qfraction): New variable.
2999         (to_char_code): New function.
3000         (Fget_composite_char): New function.
3001         (Fput_char_attribute): Register `->decomposition' value to
3002         `Vcharacter_composition_table'.
3003         (syms_of_mule_charset): Add new function `get-composite-char', new
3004         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3005         `super' and `fraction'.
3006         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3007
3008 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3009
3010         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3011         character; copy the return value.
3012
3013 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3014
3015         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3016
3017         * mule-charset.c (range_charset_code_point): Must use make_int.
3018         (split_builtin_char): New function.
3019
3020 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3021
3022         * mule-charset.c (char_byte_table): Change name from
3023         "char-code-table" to "char-byte-table".
3024         (mark_char_code_table): New function.
3025         (char_code_table_equal): New function.
3026         (char_code_table_hash): New function.
3027         (char_code_table_description): New constant.
3028         (char_code_table): New type.
3029         (make_char_code_table): New function.
3030         (copy_char_code_table): New function.
3031         (get_char_code_table): Modify for `char_code_table' type.
3032         (put_char_code_table): Likewise.
3033         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3034         (Kashiwara).
3035
3036         * char-ucs.h (char_code_table): New type.
3037         (XCHAR_CODE_TABLE): New macro.
3038         (XSETCHAR_CODE_TABLE): New macro.
3039         (CHAR_CODE_TABLE_P): New macro.
3040         (GC_CHAR_CODE_TABLE_P): New macro.
3041         (struct Lisp_Char_Code_Table): New structure.
3042
3043 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3044
3045         * mule-charset.c (Fmake_charset): Setup byte_offset for
3046         {94|96}^n-set.
3047
3048 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3049
3050         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3051         character.
3052
3053 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3054
3055         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3056         is found.
3057
3058 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3059
3060         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3061         charset, it is regarded as a charset.
3062         (put_char_attribute): New function in UTF-2000.
3063         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3064         charset, mapping-table of the charset is modified.
3065         (Fdefine_char): New function in UTF-2000.
3066         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3067         `Fput_char_attribute'.
3068         (syms_of_mule_charset): Add new function `define-char' and new
3069         symbol `ucs' in UTF-2000.
3070         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3071
3072 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3073
3074         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3075         non-UTF-2000 configuration.
3076
3077 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3078
3079         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3080         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3081
3082         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3083         deleted.
3084         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3085         (Fset_charset_mapping_table): Likewise.
3086
3087         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3088         (CHARSET_ENCODING_TABLE): Delete.
3089         (XCHARSET_ENCODING_TABLE): Delete.
3090         (charset_code_point): New interface.
3091
3092 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3093
3094         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3095         instead of `charset_get_byte1' and `charset_get_byte2'.
3096
3097         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3098         (charset_get_byte2): Deleted.
3099
3100 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3101
3102         * char-ucs.h (SPLIT_CHAR): New inline function.
3103         (breakup_char_1): Use `SPLIT_CHAR'.
3104
3105         * mule-charset.c (range_charset_code_point): New function.
3106         (charset_code_point): New function.
3107
3108         * char-ucs.h (range_charset_code_point): New interface.
3109         (breakup_char_1): Use `range_charset_code_point'.
3110
3111 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3112
3113         * mule-charset.c (Fmake_charset): Delete unused local variable
3114         `code_offset'.
3115
3116         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3117         (breakup_char_1): Find a charset and code-point in
3118         `Vcharacter_attribute_table'.
3119
3120 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3121
3122         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3123         to 0.10 (Yao).
3124
3125 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3126
3127         * mule-charset.c (Vcharacter_attribute_table): New variable.
3128         (Fchar_attribute_alist): New function.
3129         (Fget_char_attribute): New function.
3130         (Fput_char_attribute): New function.
3131         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3132         too.
3133         (syms_of_mule_charset): Add new function `char-attribute-alist',
3134         `get-char-attribute' and `put-char-attribute'.
3135         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3136
3137 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3138
3139         * mule-charset.c (Fmake_charset): Just use
3140         `get_unallocated_leading_byte'.
3141
3142         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3143         sets; don't use final-byte based number for private sets.
3144
3145 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3146
3147         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3148         integer.
3149
3150 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3151
3152         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3153         to 0.9.
3154
3155 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3156
3157         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3158         of `CHAR_LEADING_BYTE' in UTF-2000.
3159
3160         * insdel.c (find_charsets_in_bufbyte_string): Use
3161         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3162         (find_charsets_in_emchar_string): Likewise.
3163
3164         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3165         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3166
3167         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3168         (CHAR_CHARSET_ID): New macro.
3169
3170 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3171
3172         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3173         charset-id - MIN_LEADING_BYTE.
3174         (put_char_table): Likewise.
3175
3176 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3177
3178         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3179         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3180         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3181         (CHARSET_ID_OFFSET): New macro.
3182         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3183         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3184         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3185         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3186         4).
3187         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3188         5).
3189         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3190         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3191         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3192         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3193         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3194
3195 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3196
3197         * mule-charset.c (next_allocated_leading_byte): New variable in
3198         UTF-2000.
3199         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3200         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3201         (get_unallocated_leading_byte): Simply use
3202         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3203         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3204         UTF-2000.
3205
3206         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3207         (MAX_LEADING_BYTE_PRIVATE): New macro.
3208         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3209         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3210
3211 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3212
3213         * mule-charset.c (Fmake_charset): Allocate final-byte based
3214         charset-id for 94-set, 96-set and 94x94-set.
3215
3216 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3217
3218         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3219         ambiguous `else'.
3220         (Fmake_charset): Likewise.
3221         (complex_vars_of_mule_charset): Modify the font registry of
3222         `ucs-bmp' not to match `Ethiopic-Unicode'.
3223
3224 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3225
3226         * mule-charset.c (complex_vars_of_mule_charset): Add font
3227         registory of `ucs-bmp'.
3228
3229 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3230
3231         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3232         coded-charsets in `default-coded-charset-priority-list' when
3233         breaking up a character.
3234
3235         * mule-charset.c (Vcharset_latin_viscii): New variable.
3236         (Qlatin_viscii): New variable.
3237         (make_charset): Don't use `decoding_table'.
3238         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3239         byte_offset.
3240         (Fset_charset_mapping_table): New implementation.
3241         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3242         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3243         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3244         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3245         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3246         charset `latin_viscii'.
3247
3248         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3249         (CHARSET_TYPE_94X94): Change to 1 from 2.
3250         (CHARSET_TYPE_96): Change to 2 from 1.
3251         (CHARSET_TYPE_128): New macro.
3252         (CHARSET_TYPE_128X128): Change to 5 from 4.
3253         (CHARSET_TYPE_256): New macro.
3254         (CHARSET_TYPE_256X256): Change to 7 from 5.
3255         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3256
3257 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3258
3259         * text-coding.c (char_encode_shift_jis): Refer
3260         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3261         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3262
3263         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3264         (char_byte_table_equal): New function in UTF-2000.
3265         (char_byte_table_hash): New function in UTF-2000.
3266         (char_byte_table_description): New constant in UTF-2000.
3267         (char_byte_table): New type in UTF-2000.
3268         (make_char_byte_table): New function in UTF-2000.
3269         (copy_char_byte_table): New function in UTF-2000.
3270         (make_char_code_table): New macro in UTF-2000.
3271         (get_char_code_table): New function in UTF-2000.
3272         (put_char_code_table): New function in UTF-2000.
3273         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3274         (charset_description): Add setting in UTF-2000.
3275         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3276         `CHARSET_TO_BYTE1_TABLE(cs)'.
3277         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3278         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3279         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3280         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3281         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3282         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3283         `CHARSET_TO_BYTE2_TABLE(cs)'.
3284
3285         * char-ucs.h (char_byte_table): New type.
3286         (XCHAR_BYTE_TABLE): New macro.
3287         (XSETCHAR_BYTE_TABLE): New macro.
3288         (CHAR_BYTE_TABLE_P): New macro.
3289         (GC_CHAR_BYTE_TABLE_P): New macro.
3290         (struct Lisp_Char_Byte_Table): New structure.
3291         (get_char_code_table): New interface.
3292         (Emchar_to_byte_table): Deleted.
3293         (get_byte_from_character_table): Deleted.
3294         (struct Lisp_Charset): Add `encoding_table'; delete
3295         `to_byte1_table' and `to_byte2_table'.
3296         (CHARSET_ENCODING_TABLE): New macro.
3297         (CHARSET_TO_BYTE1_TABLE): Deleted.
3298         (CHARSET_TO_BYTE2_TABLE): Deleted.
3299         (XCHARSET_ENCODING_TABLE): New macro.
3300         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3301         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3302
3303 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3304
3305         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3306         `vietnamese-viscii-*'.
3307
3308 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3309
3310         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3311         (Qvietnamese_viscii_upper): New variable.
3312         (Fdefine_charset_alias): New function.
3313         (syms_of_mule_charset): Add new function `define-charset-alias'.
3314         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3315         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3316         `latin-viscii-*'.
3317
3318 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3319
3320         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3321         (MAX_CHAR_OBS_94x94): New macro.
3322         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3323         for 94x94 sets.
3324
3325         * mule-charset.c (put_byte_from_character_table): Change unit size
3326         from 128 to 256.
3327         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3328         not defined.
3329         (Fmake_reverse_direction_charset): Modify dummy argument of
3330         `make_charset' for non-UTF-2000 environment.
3331
3332 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3333
3334         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3335
3336         * mule-charset.c (destroy_byte_from_character_table): New macro.
3337         (latin_jisx0201_to_ucs): Deleted.
3338         (latin_iso8859_2_to_ucs): Deleted.
3339         (latin_iso8859_3_to_ucs): Deleted.
3340         (latin_iso8859_4_to_ucs): Deleted.
3341         (latin_iso8859_9_to_ucs): Deleted.
3342         (latin_viscii_lower_to_ucs): Deleted.
3343         (latin_viscii_upper_to_ucs): Deleted.
3344         (mark_charset): Mark `cs->decoding_table'.
3345         (Fcharset_mapping_table): Fix DOC-string.
3346         (Fset_charset_mapping_table): New function.
3347         (syms_of_mule_charset): Add nwe function
3348         `set-charset-mapping-table'.
3349         (complex_vars_of_mule_charset): Don't setup and use
3350         `latin_*_to_ucs'.
3351
3352 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3353
3354         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3355         charset.
3356
3357 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3358
3359         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3360         (Vcharset_katakana_jisx0208): New variable.
3361         (Qhiragana_jisx0208): New variable.
3362         (Qkatakana_jisx0208): New variable.
3363         (make_charset): Add new argument `byte_offset'.
3364         (charset_get_byte1): Modify for new coded-charset definition; use
3365         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3366         `XCHARSET_BYTE_OFFSET'.
3367         (Fmake_charset): Modify for `make_charset'.
3368         (Fmake_reverse_direction_charset): Likewise.
3369         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3370         `katakana-jisx0208'.
3371         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3372         `.'  in font registry of charset `katakana-jisx0201',
3373         `latin-jisx0201', `vietnamese-viscii-lower' and
3374         `vietnamese-viscii-upper'; modify DOC-string of charset
3375         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3376         registry of charset `japanese-jisx0208' not to use font for JIS
3377         X0208:1990; add new charset `hiragana-jisx0208' and
3378         `katakana-jisx0208'.
3379
3380         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3381         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3382         (struct Lisp_Charset): Add `byte_offset'.
3383         (CHARSET_BYTE_OFFSET): New macro.
3384         (XCHARSET_UCS_MIN): New macro.
3385         (XCHARSET_UCS_MAX): New macro.
3386         (XCHARSET_CODE_OFFSET): New macro.
3387         (XCHARSET_BYTE_OFFSET): New macro.
3388         (MIN_CHAR_HIRAGANA): New macro.
3389         (MAX_CHAR_HIRAGANA): New macro.
3390         (MIN_CHAR_KATAKANA): New macro.
3391         (MAX_CHAR_KATAKANA): New macro.
3392         (MAKE_CHAR): Modify for new coded-charset definition; use
3393         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3394         `XCHARSET_BYTE_OFFSET'.
3395
3396 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3397
3398         * mule-charset.c (CHAR96): Deleted.
3399         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3400         <Lisp_Object>.
3401         (latin_iso8859_2_to_ucs): Likewise.
3402         (latin_iso8859_3_to_ucs): Likewise.
3403         (latin_iso8859_4_to_ucs): Likewise.
3404         (latin_iso8859_9_to_ucs): Likewise.
3405         (latin_viscii_lower_to_ucs): Likewise.
3406         (latin_viscii_upper_to_ucs): Likewise.
3407         (latin_tcvn5712_to_ucs): Commented out.
3408         (make_charset): Change type of argument `decoding_table' from
3409         <Emchar*> to <Lisp_Object> [vector of characters].
3410         (Fmake_charset): Modify for `make_charset'.
3411         (Fmake_reverse_direction_charset): Likewise.
3412         (Fcharset_mapping_table): New function in UTF-2000.
3413         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3414         UTF-2000.
3415         (complex_vars_of_mule_charset): Modify for type change of
3416         `*_to_ucs'; modify for `make_charset'.
3417
3418         * char-ucs.h (struct Lisp_Charset): Change type of
3419         `decoding_table' from <Emchar*> to <Lisp_Object>.
3420         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3421
3422 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3423
3424         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3425         error with non-UTF-2000-Mule.
3426
3427 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3428
3429         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3430         in lisp again].
3431         (Vcharset_chinese_cns11643_4): Likewise.
3432         (Vcharset_chinese_cns11643_5): Likewise.
3433         (Vcharset_chinese_cns11643_6): Likewise.
3434         (Vcharset_chinese_cns11643_7): Likewise.
3435         (Qchinese_cns11643_3): Likewise.
3436         (Qchinese_cns11643_4): Likewise.
3437         (Qchinese_cns11643_5): Likewise.
3438         (Qchinese_cns11643_6): Likewise.
3439         (Qchinese_cns11643_7): Likewise.
3440         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3441         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3442         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3443         (complex_vars_of_mule_charset): Likewise.
3444
3445 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3446
3447         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3448         96-set.
3449         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3450         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3451
3452 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3453
3454         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3455         0xFF60.
3456         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3457         (breakup_char_1): Likewise.
3458
3459         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3460         one of them includes the specified character.
3461
3462 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3463
3464         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3465
3466 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3467
3468         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3469
3470 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3471
3472         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3473         definition for non-UTF-2000 Mule.
3474         (latin_iso8859_3_to_ucs): Likewise.
3475         (latin_iso8859_4_to_ucs): Likewise.
3476         (latin_iso8859_9_to_ucs): Likewise.
3477         (latin_jisx0201_to_ucs): Likewise.
3478         (MIN_CHAR_THAI): Likewise.
3479         (MAX_CHAR_THAI): Likewise.
3480         (MIN_CHAR_GREEK): Likewise.
3481         (MAX_CHAR_GREEK): Likewise.
3482         (MIN_CHAR_HEBREW): Likewise.
3483         (MAX_CHAR_HEBREW): Likewise.
3484         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3485         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3486         (MIN_CHAR_CYRILLIC): Likewise.
3487         (MAX_CHAR_CYRILLIC): Likewise.
3488
3489 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3490
3491         * char-ucs.h (breakup_char_1): Use
3492         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3493         thai-tis620 and katakana-jisx0201 area.
3494
3495 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3496
3497         * char-ucs.h (breakup_char_1): Use
3498         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3499         area.
3500
3501         * text-coding.c (reset_encoding_stream): Fixed.
3502         (char_encode_ucs4): Delete `& 255'.
3503
3504         * char-ucs.h (breakup_char_1): Use
3505         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3506
3507 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3508
3509         * file-coding.c (Fmake_coding_system): Don't set up
3510         `codesys->fixed.size'.
3511         (encode_coding_no_conversion): Don't refer
3512         `str->codesys->fixed.size'.
3513
3514 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3515
3516         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3517         (latin_a_char_to_byte1): Deleted.
3518         (latin_a_char_to_byte2): Deleted.
3519
3520 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3521
3522         * mule-charset.c (make_charset): Add new argument `ucs_min',
3523         `ucs_max' and `code_offset'.
3524         (charset_get_byte1): New implementation [delete specific charset
3525         depended implementations].
3526         (Fmake_charset): Modify for `make_charset'.
3527         (Fmake_reverse_direction_charset): Likewise.
3528         (complex_vars_of_mule_charset): Likewise.
3529
3530         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3531         `code_offset'.
3532         (CHARSET_UCS_MIN): New macro.
3533         (CHARSET_UCS_MAX): New macro.
3534         (CHARSET_CODE_OFFSET): New macro.
3535         (MAKE_CHAR): Delete charset depended definitions [except
3536         katakana-jisx0201].
3537
3538 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3539
3540         * char-ucs.h (breakup_char_1): Use
3541         `Vdefault_coded_charset_priority_list' for C0-Controls,
3542         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3543
3544 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3545
3546         * char-ucs.h (charset_get_byte1): New function.
3547         (XCHARSET_GET_BYTE1): Deleted.
3548         (charset_get_byte2): New function.
3549         (XCHARSET_GET_BYTE2): Deleted.
3550         (Vdefault_coded_charset_priority_list): New external variable.
3551         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3552         `Vdefault_preferred_coded_charset_list'.
3553
3554         * mule-charset.c (charset_get_byte1): New function.
3555         (charset_get_byte2): New function.
3556         (Vdefault_coded_charset_priority_list): New variable.
3557         (vars_of_mule_charset): Add new variable
3558         `default-coded-charset-priority-list'.
3559
3560 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3561
3562         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3563         (XCHARSET_GET_BYTE2): New inline function.
3564         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3565         `XCHARSET_GET_BYTE2'.
3566
3567 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3568
3569         * mule-charset.c (make_charset): Initialize
3570         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3571         NULL if table is not defined.
3572
3573 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3574
3575         * text-coding.c (char_encode_shift_jis): Use
3576         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3577         `ucs_to_latin_jisx0201'.
3578
3579         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3580         (ucs_to_latin_iso8859_2): Deleted.
3581         (ucs_to_latin_iso8859_3): Deleted.
3582         (ucs_to_latin_iso8859_4): Deleted.
3583         (ucs_to_latin_iso8859_9): Deleted.
3584         (ucs_to_latin_viscii_lower): Deleted.
3585         (ucs_to_latin_viscii_upper): Deleted.
3586         (ucs_to_latin_tcvn5712): Deleted.
3587         (make_charset): Add new argument `decoding_table'; set up
3588         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3589         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3590         `decoding_table' is defined in UTF-2000.
3591         (Fmake_charset): Modify for `make_charset'.
3592         (Fmake_reverse_direction_charset): Likewise.
3593         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3594         and `GENERATE_96_SET'.
3595
3596         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3597         (ucs_to_latin_jisx0201): Deleted.
3598         (latin_iso8859_2_to_ucs): Deleted.
3599         (ucs_to_latin_iso8859_2): Deleted.
3600         (latin_iso8859_3_to_ucs): Deleted.
3601         (ucs_to_latin_iso8859_3): Deleted.
3602         (latin_iso8859_4_to_ucs): Deleted.
3603         (ucs_to_latin_iso8859_4): Deleted.
3604         (latin_iso8859_9_to_ucs): Deleted.
3605         (ucs_to_latin_iso8859_9): Deleted.
3606         (latin_viscii_lower_to_ucs): Deleted.
3607         (ucs_to_latin_viscii_lower): Deleted.
3608         (latin_viscii_upper_to_ucs): Deleted.
3609         (ucs_to_latin_viscii_upper): Deleted.
3610         (struct Lisp_Charset): Renamed `encoding_table' to
3611         `to_byte1_table'; add `to_byte2_table'.
3612         (CHARSET_DECODING_TABLE): New macro.
3613         (CHARSET_TO_BYTE1_TABLE): New macro.
3614         (CHARSET_TO_BYTE2_TABLE): New macro.
3615         (XCHARSET_DECODING_TABLE): New macro.
3616         (XCHARSET_TO_BYTE1_TABLE): New macro.
3617         (XCHARSET_TO_BYTE2_TABLE): New macro.
3618         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3619         tables.
3620         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3621         don't use `ucs_to_*' tables.
3622
3623 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3624
3625         * text-coding.c (Fmake_coding_system): Don't set up
3626         `codesys->fixed.size'.
3627         (encode_coding_no_conversion): Use `if' instead of `switch'.
3628
3629         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3630
3631 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3632
3633         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3634         (Fmake_charset): Modify for `make_charset'.
3635         (Fmake_reverse_direction_charset): Likewise.
3636         (complex_vars_of_mule_charset): Likewise.
3637
3638 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3639
3640         * text-coding.c (char_encode_shift_jis): Use table
3641         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3642
3643 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3644
3645         * text-coding.c (text_encode_generic): Use `if' instead of
3646         `switch'.
3647         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3648         decode JIS-Latin.
3649
3650 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3651
3652         * text-coding.c (encode_coding_sjis): Deleted.
3653         (char_encode_shift_jis): New function.
3654         (char_finish_shift_jis): New function.
3655         (reset_encoding_stream): Set up `encode_char' and `finish' for
3656         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3657         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3658         (char_encode_utf8): Treat `eol_type'.
3659
3660 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3661
3662         * file-coding.c (decode_coding_iso2022): Use
3663         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3664
3665 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3666
3667         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3668         to 0.7 (Hirano).
3669
3670 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3671
3672         * char-lb.h (CHAR_COLUMNS): New macro.
3673
3674 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3675
3676         * text-coding.c (char_encode_ucs4): New function.
3677         (char_finish_ucs4): New function.
3678         (encode_coding_ucs4): Deleted.
3679         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3680         (text_encode_generic): Delete local variable `charset' and `half'.
3681         (ucs_to_mule_table): Deleted.
3682         (mule_to_ucs_table): Deleted.
3683         (Fset_ucs_char): Deleted.
3684         (ucs_to_char): Deleted.
3685         (Fucs_char): Deleted.
3686         (Fset_char_ucs): Deleted.
3687         (Fchar_ucs): Deleted.
3688         (decode_ucs4): Deleted.
3689         (mule_char_to_ucs4): Deleted.
3690         (encode_ucs4): Deleted.
3691         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3692         (decode_coding_utf8): Likewise.
3693         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3694         (char_encode_iso2022): Fixed.
3695         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3696         `Fset_char_ucs' and `Fchar_ucs'.
3697         (complex_vars_of_file_coding): Don't initialize
3698         `ucs_to_mule_table'.
3699
3700         * objects-tty.c (tty_initialize_font_instance): Don't use
3701         `XCHARSET_COLUMNS'.
3702
3703         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3704         UTF-2000.
3705
3706         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3707         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3708
3709         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3710         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3711         (emchar_string_displayed_columns): Likewise.
3712
3713         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3714         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3715         (string_column_at_point): Likewise.
3716         (Fmove_to_column): Likewise.
3717
3718         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3719         `encoding_table' and `decoding_table'.
3720         (CHARSET_REP_BYTES): Deleted.
3721         (XCHARSET_REP_BYTES): Deleted.
3722         (XCHARSET_COLUMNS): Deleted.
3723         (CHAR_COLUMNS): New macro.
3724         (lookup_composite_char): Deleted unconditionally.
3725         (composite_char_string): Likewise.
3726
3727 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3728
3729         * char-ucs.h (Emchar_to_byte_table): New type.
3730         (get_byte_from_character_table): New function interface.
3731         (Vcharset_latin_jisx0201): New variable.
3732         (latin_jisx0201_to_ucs): New variable.
3733         (ucs_to_latin_jisx0201): New variable.
3734         (Vcharset_latin_iso8859_2): New variable.
3735         (latin_iso8859_2_to_ucs): New variable.
3736         (ucs_to_latin_iso8859_2): New variable.
3737         (Vcharset_latin_iso8859_3): New variable.
3738         (latin_iso8859_3_to_ucs): New variable.
3739         (ucs_to_latin_iso8859_3): New variable.
3740         (Vcharset_latin_iso8859_4): New variable.
3741         (latin_iso8859_4_to_ucs): New variable.
3742         (ucs_to_latin_iso8859_4): New variable.
3743         (Vcharset_latin_iso8859_9): New variable.
3744         (latin_iso8859_9_to_ucs): New variable.
3745         (ucs_to_latin_iso8859_9): New variable.
3746         (Vcharset_latin_viscii_lower): New variable.
3747         (latin_viscii_lower_to_ucs): New variable.
3748         (ucs_to_latin_viscii_lower): New variable.
3749         (Vcharset_latin_viscii_upper): New variable.
3750         (latin_viscii_upper_to_ucs): New variable.
3751         (ucs_to_latin_viscii_upper): New variable.
3752         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3753         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3754         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3755         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3756         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3757         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3758         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3759         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3760         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3761         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3762
3763         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3764         (Vcharset_latin_viscii_upper): New variable.
3765         (make_byte_from_character_table): New function.
3766         (put_byte_from_character_table): New function.
3767         (get_byte_from_character_table): New function.
3768         (CHAR96): New macro.
3769         (ucs_to_latin_jisx0201): New variable.
3770         (latin_jisx0201_to_ucs): New variable.
3771         (ucs_to_latin_iso8859_2): New variable.
3772         (latin_iso8859_2_to_ucs): New variable.
3773         (ucs_to_latin_iso8859_3): New variable.
3774         (latin_iso8859_3_to_ucs): New variable.
3775         (ucs_to_latin_iso8859_4): New variable.
3776         (latin_iso8859_4_to_ucs): New variable.
3777         (ucs_to_latin_iso8859_9): New variable.
3778         (latin_iso8859_9_to_ucs): New variable.
3779         (ucs_to_latin_viscii_lower): New variable.
3780         (latin_viscii_lower_to_ucs): New variable.
3781         (ucs_to_latin_viscii_upper): New variable.
3782         (latin_viscii_upper_to_ucs): New variable.
3783         (ucs_to_latin_tcvn5712): New variable.
3784         (latin_tcvn5712_to_ucs): New variable.
3785         (Qlatin_viscii_lower): New variable.
3786         (Qlatin_viscii_upper): New variable.
3787         (syms_of_mule_charset): Set up new symbol
3788         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3789         (complex_vars_of_mule_charset): Set up new charset
3790         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3791         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3792         `ucs_to_<CHARSET>' tables.
3793
3794 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3795
3796         * text-coding.c: New file.
3797
3798 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3799
3800         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3801
3802         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3803         (MAKE_CHAR): Modify for `ucs-bmp'.
3804         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3805         non-MULE characters of BMP.
3806
3807 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3808
3809         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3810         to 0.6.
3811
3812 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3813
3814         * lstream.h:
3815         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3816         - Include character.h for `CHAR_ASCII_P'.
3817
3818         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3819
3820         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3821         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3822
3823         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3824         (BYTE_C0_P): Likewise.
3825         (BYTE_C1_P): Likewise.
3826         (Lstream_get_emchar_1): Likewise.
3827         (Lstream_fput_emchar): Likewise.
3828         (Lstream_funget_emchar): Likewise.
3829         (copy_internal_to_external): Likewise.
3830         (copy_external_to_internal): Likewise.
3831
3832         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3833         (BYTE_C0_P): Likewise.
3834         (BYTE_C1_P): Likewise.
3835         (Lstream_get_emchar_1): Likewise.
3836         (Lstream_fput_emchar): Likewise.
3837         (Lstream_funget_emchar): Likewise.
3838         (copy_internal_to_external): Likewise.
3839         (copy_external_to_internal): Likewise.
3840
3841         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3842         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3843
3844         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3845         (BYTE_ASCII_P): Moved to mb-1byte.h.
3846
3847 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3848
3849         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3850
3851         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3852         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3853         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3854         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3855         (VALIDATE_CHARPTR_FORWARD): Likewise.
3856         (simple_charptr_emchar): Moved to mb-multibyte.h.
3857         (simple_set_charptr_emchar): Likewise.
3858         (simple_charptr_copy_char): Likewise.
3859         (non_ascii_charptr_emchar): Likewise.
3860         (non_ascii_set_charptr_emchar): Likewise.
3861         (non_ascii_charptr_copy_char): Likewise.
3862         (charptr_emchar): Moved to mb-*byte.h.
3863         (set_charptr_emchar): Likewise.
3864         (charptr_copy_char): Likewise.
3865
3866         * mb-1byte.h, mb-multibyte.h: New files.
3867
3868 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3869
3870         * mb-utf-8.h (MULTIBYTE): New macro.
3871         (MAX_EMCHAR_LEN): Moved from buffer.h.
3872         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3873
3874         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3875
3876         * mb-lb.h, multibyte.h: New files.
3877
3878         * char-1byte.h (Charset_ID): Moved from buffer.h.
3879         (MIN_LEADING_BYTE): Likewise.
3880         (LEADING_BYTE_ASCII): Likewise.
3881         (NUM_LEADING_BYTES): Likewise.
3882         (CHARSETP): Likewise.
3883         (CHARSET_BY_LEADING_BYTE): Likewise.
3884         (XCHARSET_LEADING_BYTE): Likewise.
3885         (XCHARSET_GRAPHIC): Likewise.
3886         (XCHARSET_COLUMNS): Likewise.
3887         (XCHARSET_DIMENSION): Likewise.
3888         (CHAR_CHARSET): Likewise.
3889         (CHAR_LEADING_BYTE): Likewise.
3890         (BREAKUP_CHAR): Likewise.
3891         (Vcharset_ascii): Likewise.
3892
3893         * buffer.h: Include multibyte.h unconditionally.
3894         (VALID_CHARPTR_P): Moved to multibyte.h.
3895         (ASSERT_VALID_CHARPTR): Likewise.
3896         (REAL_INC_CHARPTR): Likewise.
3897         (REAL_INC_CHARBYTIND): Likewise.
3898         (REAL_DEC_CHARPTR): Likewise.
3899         (INC_CHARPTR): Likewise.
3900         (INC_CHARBYTIND): Likewise.
3901         (DEC_CHARPTR): Likewise.
3902         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3903         (VALIDATE_CHARPTR_FORWARD): Likewise.
3904         (charptr_n_addr): Likewise.
3905         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3906         (simple_charptr_emchar): Moved to multibyte.h.
3907         (simple_set_charptr_emchar): Likewise.
3908         (simple_charptr_copy_char): Likewise.
3909         (non_ascii_charptr_emchar): Likewise.
3910         (non_ascii_set_charptr_emchar): Likewise.
3911         (non_ascii_charptr_copy_char): Likewise.
3912         (charptr_emchar): Likewise.
3913         (set_charptr_emchar): Likewise.
3914         (charptr_copy_char): Likewise.
3915         (charptr_emchar_n): Likewise.
3916         (Charset_ID): Moved to char-1byte.h.
3917         (Vcharset_ascii): Likewise.
3918         (CHAR_CHARSET): Likewise.
3919         (CHAR_LEADING_BYTE): Likewise.
3920         (LEADING_BYTE_ASCII): Likewise.
3921         (NUM_LEADING_BYTES): Likewise.
3922         (MIN_LEADING_BYTE): Likewise.
3923         (CHARSETP): Likewise.
3924         (CHARSET_BY_LEADING_BYTE): Likewise.
3925         (XCHARSET_LEADING_BYTE): Likewise.
3926         (XCHARSET_GRAPHIC): Likewise.
3927         (XCHARSET_COLUMNS): Likewise.
3928         (XCHARSET_DIMENSION): Likewise.
3929         (BREAKUP_CHAR): Likewise.
3930
3931 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3932
3933         * character.h: Add document about interface for characters.
3934
3935         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3936         (MAKE_CHAR): Delete comment about
3937         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3938         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3939         (BREAKUP_CHAR): Modify name of arguments.
3940         (CHAR_CHARSET): Modify name of argument.
3941
3942         * buffer.h: Delete document about Emchar accessors.
3943
3944 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3945
3946         * character.h (CHAR_INTP): Moved from buffer.h
3947         (CHAR_OR_CHAR_INTP): Likewise.
3948         (XCHAR_OR_CHAR_INT): Likewise.
3949         (CHECK_CHAR_COERCE_INT): Likewise.
3950
3951         * buffer.h (CHAR_INTP): Moved to character.h
3952         (CHAR_OR_CHAR_INTP): Likewise.
3953         (XCHAR_OR_CHAR_INT): Likewise.
3954         (CHECK_CHAR_COERCE_INT): Likewise.
3955
3956 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3957
3958         * character.h:
3959         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3960         - Include char-1byte.h, char-lb.h or char-ucs.h.
3961
3962         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3963
3964         * buffer.h: Include character unconditionally.
3965         (valid_char_p): Moved to char-*.h.
3966         (non_ascii_valid_char_p): Moved to char-lb.h.
3967
3968         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3969
3970 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3971
3972         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3973         in UTF-2000 because it is not ported yet and not to use
3974         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3975         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3976         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3977
3978         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3979         (CHAR_ASCII_P): Moved from character.h.
3980
3981         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3982         (CHAR_ASCII_P): Likewise.
3983         (CHAR_FIELD1_MASK): Deleted.
3984         (CHAR_FIELD2_MASK): Deleted.
3985         (CHAR_FIELD3_MASK): Deleted.
3986         (MAX_CHAR_BASIC_LATIN): New macro.
3987         (CHAR_FIELD1): Deleted.
3988         (CHAR_FIELD2_INTERNAL): Deleted.
3989         (CHAR_FIELD3_INTERNAL): Deleted.
3990         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3991         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3992         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3993         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3994         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3995         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3996         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3997         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3998         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3999         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4000         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4001         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4002         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4003         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4004         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4005         (MIN_CHAR_COMPOSITION): Deleted.
4006         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4007         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4008
4009 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4010
4011         * buffer.h: Include mb-utf-8.h in UTF-2000.
4012
4013         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4014
4015         * mb-utf-8.h: New file.
4016
4017 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4018
4019         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4020         instead of `int'.
4021
4022         * mule-charset.h, buffer.h (Charset_ID): New type.
4023
4024 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4025
4026         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4027         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4028         instead of `MULE_CHAR_PRIVATE_OFFSET',
4029         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4030         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4031         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4032
4033         * character.h (Vcharset_japanese_jisx0212): New variable
4034         definition.
4035
4036 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4037
4038         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4039         (charset_by_attributes): Delete array about direction.
4040         (latin_a_char_to_charset): New variable in UTF-2000.
4041         (latin_a_char_to_byte1): New variable in UTF-2000.
4042         (latin_a_char_to_byte2): New variable in UTF-2000.
4043         (Qucs_bmp): New variable.
4044         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4045         `Bufbyte'.
4046         (next_allocated_2_byte_leading_byte): Likewise.
4047         (non_ascii_set_charptr_emchar): Likewise.
4048         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4049         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4050         `charset_by_attributes'.
4051         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4052         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4053         and `CHARSET_BY_LEADING_BYTE'.
4054         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4055         `utf-2000-version' to `vars_of_mule_charset'.
4056         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4057         define `leading-code-private-11' in UTF-2000; move setting of
4058         `utf-2000-version' from `syms_of_mule_charset'.
4059         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4060         UTF-2000.
4061
4062         * character.h (Charset_ID): New type.
4063         (LEADING_BYTE_UCS_BMP): New macro.
4064         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4065         (CHARSET_ID_OFFSET_94): New macro.
4066         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4067         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4068         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4069         final-byte.
4070         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4071         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4072         (CHARSET_ID_OFFSET_96): New macro.
4073         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4074         CHARSET_ID_OFFSET_96 and final-byte.
4075         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4076         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4077         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4078         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4079         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4080         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4081         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4082         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4083         (LEADING_BYTE_THAI_TIS620): Likewise.
4084         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4085         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4086         (CHARSET_ID_OFFSET_94x94): New macro.
4087         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4088         CHARSET_ID_OFFSET_94x94 and final-byte.
4089         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4090         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4091         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4092         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4093         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4094         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4095         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4096         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4097         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4098         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4099         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4100         (CHARSET_TYPE_128X128): New macro.
4101         (CHARSET_TYPE_256X256): New macro.
4102         (XCHARSET_PRIVATE_P): Delete unconditionally.
4103         (charset_by_attributes): Delete array about direction.
4104         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4105         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4106         (MIN_CHAR_94): New macro.
4107         (MAX_CHAR_94): New macro.
4108         (MIN_CHAR_96): New macro.
4109         (MAX_CHAR_96): New macro.
4110         (MIN_CHAR_94x94): New macro.
4111         (MAX_CHAR_94x94): New macro.
4112         (MIN_CHAR_96x96): New macro.
4113         (MAX_CHAR_96x96): New macro.
4114         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4115         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4116         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4117         - 32)'.
4118         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4119         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4120         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4121         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4122         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4123         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4124         `XCHARSET_LEADING_BYTE' to make code-point.
4125         (latin_a_char_to_charset): New variable.
4126         (latin_a_char_to_byte1): New variable.
4127         (latin_a_char_to_byte2): New variable.
4128         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4129         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4130         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4131
4132         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4133         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4134         (find_charsets_in_emchar_string): Likewise.
4135         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4136
4137         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4138         `int'.
4139         (decode_coding_iso2022): Likewise.
4140
4141         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4142         of `unsigned char'.
4143
4144         * redisplay.c (redisplay_text_width_emchar_string): Use
4145         `Charset_ID' instead of `unsigned char'.
4146         (redisplay_frame_text_width_string): Likewise.
4147
4148         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4149         `unsigned char'.
4150
4151         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4152         instead of `unsigned char'.
4153         (face_cachel_charset_font_metric_info): Likewise.
4154
4155         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4156         (get_non_ascii_char_table_value): Likewise.
4157         (get_char_table): Likewise.
4158         (put_char_table): Likewise.
4159         (map_over_other_charset): Likewise.
4160         (map_char_table): Likewise.
4161
4162         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4163         instead of `unsigned char'.
4164
4165 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4166
4167         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4168         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4169
4170         * mule-charset.c (leading_code_private_11): Don't define in
4171         UTF-2000.
4172
4173         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4174         in UTF-2000 because it is not ported yet and not to use
4175         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4176
4177 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4178
4179         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4180
4181 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4182
4183         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4184         in UTF-2000.
4185
4186         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4187         of unsigned char to store leading-byte.
4188
4189         * chartab.c (get_non_ascii_char_table_value): Don't use
4190         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4191
4192         * file-coding.c (encode_coding_big5): Delete bogus implementation
4193         in UTF2000.
4194
4195         * character.h (LEADING_BYTE_*): Delete definition for
4196         non-UTF-2000.
4197         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4198         (LEADING_BYTE_PREFIX_P): Deleted.
4199         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4200         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4201         (BUFBYTE_LEADING_BYTE_P): Deleted.
4202         (CHARSET_PRIVATE_P): Deleted unconditionally.
4203         (rep_bytes_by_first_byte): Deleted unconditionally.
4204         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4205         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4206         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4207         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4208         (CHAR_FIELD2): Deleted.
4209         (CHAR_FIELD3): Deleted.
4210         (MAKE_CHAR): Delete definition for non-UTF-2000.
4211         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4212         (breakup_char_1): New implementation.
4213         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4214         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4215
4216 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4217
4218         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4219         condition.
4220
4221 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4222
4223         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4224         (CHARSET_PRIVATE_P): Likewise.
4225         (XCHARSET_PRIVATE_P): Likewise.
4226         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4227
4228         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4229         UTF2000.
4230         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4231
4232 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4233
4234         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4235         (NUM_LEADING_BYTES): Changed from 128 to 256.
4236         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4237         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4238         UTF2000.
4239         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4240
4241         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4242         UTF2000.
4243         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4244         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4245         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4246         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4247         (Qchinese_cns11643_3): New variable in UTF2000.
4248         (Qchinese_cns11643_4): New variable in UTF2000.
4249         (Qchinese_cns11643_5): New variable in UTF2000.
4250         (Qchinese_cns11643_6): New variable in UTF2000.
4251         (Qchinese_cns11643_7): New variable in UTF2000.
4252         (syms_of_mule_charset): Define `chinese-cns11643-3',
4253         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4254         and `chinese-cns11643-7' in UTF2000.
4255         (vars_of_mule_charset): Initialize
4256         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4257         + 1 in UTF2000.
4258         (complex_vars_of_mule_charset): Setup charset
4259         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4260         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4261
4262 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4263
4264         * mule-charset.c: Move setting for `leading-code-private-11' from
4265         `syms_of_mule_charset' to `vars_of_mule_charset'.
4266
4267 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4268
4269         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4270         and `NUM_LEADING_BYTES' in assert.
4271
4272 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4273
4274         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4275         instead of 128.
4276         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4277         `NUM_LEADING_BYTES' instead of 128.
4278
4279 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4280
4281         * mule-charset.h (charset_by_leading_byte): Use
4282         `NUM_LEADING_BYTES' instead of 128.
4283         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4284
4285         * mule-charset.c (charset_by_leading_byte): Use
4286         `NUM_LEADING_BYTES' instead of 128.
4287         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4288
4289         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4290         128.
4291
4292 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4293
4294         * mule-charset.c (syms_of_mule_charset): Update to
4295         0.4 (Shin-Imamiya).
4296
4297 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4298
4299         * file-coding.c (encode_coding_sjis): New implementation for
4300         UTF2000.  (decode_coding_sjis): Ditto.
4301
4302 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4303
4304         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4305         Don't define in UTF2000.
4306
4307         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4308         defined.
4309
4310         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4311         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4312         MULE.
4313
4314 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4315
4316         * config.h.in (CHAR_IS_UCS4): New macro.
4317
4318         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4319         conventional MULE representation.
4320         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4321
4322         * mule-charset.h: Reverted to original.
4323
4324         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4325         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4326         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4327
4328         * character.h: New file.
4329
4330         * file-coding.c (Fmake_coding_system): Set 1 to
4331         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4332         defined.
4333         (encode_coding_no_conversion): New implementation for UTF2000.
4334
4335         * file-coding.h (struct Lisp_Coding_System): Add new member
4336         `fixed.size'.
4337
4338 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4339
4340         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4341         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4342         (encode_coding_iso2022): New implementation for UTF2000.
4343
4344 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4345
4346         * mule-canna.c (c2mu): New implementation for UTF2000.
4347         (m2c): Likewise.
4348
4349 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4350
4351         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4352
4353 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4354
4355         * file-coding.c (reset_encoding_stream): Set 0 to
4356         `str->iso2022.current_char_boundary' in UTF2000.
4357         (encode_utf8): Don't define in UTF2000.
4358         (encode_coding_utf8): New implementation for UTF-8 representation
4359         of UTF2000.
4360         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4361
4362 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4363
4364         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4365
4366         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4367         UTF2000.
4368         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4369
4370         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4371
4372         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4373         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4374         as UTF-8 in UTF2000.
4375         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4376         (non_ascii_valid_char_p): Don't define in UTF2000.
4377         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4378         (Lstream_get_emchar_1): Likewise.
4379         (utf-2000-version): New variable in UTF2000.
4380
4381         * lread.c (read_escape): Add new reader `u'.
4382
4383         * insdel.c (three_to_one_table): Don't define in UTF2000.
4384         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4385         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4386         UTF2000.
4387         (bytind_to_bufpos_func): Likewise.
4388         (buffer_mule_signal_inserted_region): Likewise.
4389         (vars_of_insdel): Don't initialize `three_to_one_table'.
4390         (init_buffer_text): Use `buf->text->mule_size' instead of
4391         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4392         UTF2000.
4393
4394         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4395         UTF-8 representation in UTF2000.
4396         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4397         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4398         (decode_coding_iso2022): Don't define local variable `lb' in
4399         UTF2000; don't use LEADING_BYTE in UTF2000; use
4400         `DECODE_ADD_UCS_CHAR' in UTF2000.
4401         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4402
4403         * config.h.in (UTF2000): New macro.
4404
4405         * buffer.h (struct buffer_text): Add new member `mule_size' and
4406         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4407         (valid_char_p): Return always 1 in UTF2000.
4408         (MAX_EMCHAR_LEN): 6 in UTF2000.
4409         (three_to_one_table): Don't define in UTF2000.
4410         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4411         UTF2000.
4412         (real_bytind_to_bufpos): Likewise.
4413
4414         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4415
4416 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4417
4418         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4419         representation change.
4420         (Vutf_2000_version): New variable.
4421         (leading_code_private_11): New variable.
4422         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4423         `leading-code-private-11'.
4424
4425         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4426         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4427         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4428         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4429         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4430         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4431         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4432         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4433         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4434         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4435         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4436         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4437         (MIN_CHAR_GREEK): New macro.
4438         (MAX_CHAR_GREEK): New macro.
4439         (MIN_CHAR_CYRILLIC): New macro.
4440         (MAX_CHAR_CYRILLIC): New macro.
4441         (MIN_CHAR_HEBREW): New macro.
4442         (MAX_CHAR_HEBREW): New macro.
4443         (MIN_CHAR_THAI): New macro.
4444         (MAX_CHAR_THAI): New macro.
4445         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4446         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4447         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4448         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4449         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4450         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4451         (CHAR_FIELD2): New inline function.
4452         (CHAR_FIELD3): New inline function.
4453         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4454         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4455         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4456         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4457         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4458         (MIN_CHAR_COMPOSITION): Likewise.
4459         (CHAR_LEADING_BYTE): Modified for character representation change.
4460         (MAKE_CHAR): Likewise.
4461
4462         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4463         (Vcharset_greek_iso8859_7): Likewise.
4464         (Vcharset_cyrillic_iso8859_5): Likewise.
4465         (Vcharset_hebrew_iso8859_8): Likewise.
4466         (Vcharset_thai_tis620): Likewise.
4467         (Vcharset_katakana_jisx0201): Likewise.
4468
4469 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
4470
4471         * XEmacs 21.4.9 "Informed Management" is released.
4472
4473 2002-08-19  Andy Piper  <andy@xemacs.org>
4474
4475         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
4476         win32 format.
4477
4478         * realpath.c (xrealpath): normalize drive spec also so that dir
4479         sep chars are not mixed on cygwin.
4480
4481 2002-08-06  Jerry James  <james@xemacs.org>
4482
4483         * window.c (Fsplit_window): Count only half of the divider width
4484         against the left window when splitting horizontally. 
4485
4486 2002-06-24  Andy Piper  <andy@xemacs.org>
4487
4488         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
4489         toolbar was cleared.
4490
4491         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
4492         function. Split out from mswindows_output_frame_toolbars.
4493         (mswindows_output_frame_toolbars): move clear pieces to
4494         mswindows_output_frame_toolbars.
4495
4496         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
4497         out from gtk_output_frame_toolbars.
4498         (gtk_output_frame_toolbars): move clear pieces to
4499         gtk_clear_frame_toolbars.
4500
4501         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
4502         the frame is cleared. How this ever worked before is a mystery.
4503         (x_output_frame_toolbars): Only output toolbars.
4504         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
4505
4506         * gutter.c (update_gutter_geometry):
4507         Mark frame layout changed.
4508         (update_frame_gutter_geometry, update_frame_gutters):
4509         Respect frame_layout_changed.
4510
4511         * console.h (struct console_methods): add
4512         clear_frame_toolbars_method.
4513
4514         * redisplay.c (redisplay_frame): call
4515         update_frame_toolbars_geometry and re-order update_frame_toolbars.
4516
4517         * toolbar.h: declare update_frame_toolbars_geometry.
4518
4519         * toolbar.c (update_frame_toolbars_geometry): new function. Split
4520         out from update_frame_toolbars.  Call clear_frame_toolbars.
4521         (update_frame_toolbars): only output, do not change geometry.
4522
4523         * redisplay.c: add frame_layout_changed.
4524
4525         * redisplay.h: add frame_layout_changed.
4526         (CLASS_RESET_CHANGED_FLAGS): set it.
4527         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
4528         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
4529         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
4530
4531         * device.h (struct device): add frame_layout_changed.
4532         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
4533
4534         * frame.h (struct frame): add frame_layout_changed.
4535         (MARK_FRAME_LAYOUT_CHANGED): new.
4536
4537 2002-06-30  Mike Alexander  <mta@arbortext.com>
4538
4539         * event-msw.c (mswindows_need_event): Don't wait for a new message
4540         if the queue is not empty.  Suggested by Paul Moore.
4541
4542 2002-06-12  Andy Piper  <andy@xemacs.org>
4543
4544         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
4545         for printing on accurately.
4546
4547 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
4548
4549         * event-msw.c (mswindows_wnd_proc): Add a handler for the
4550         WM_ACTIVATE message. Make sure that the frame is visible if the
4551         window is visible. This seemss to fix the problem where XEmacs
4552         appears to freeze after switching desktops with certain virtual
4553         window managers.
4554         (debug_output_mswin_message): Added code to output message
4555         parameters for WM_WINDOWPOSCHANGED, 
4556         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
4557
4558 2002-05-25  Andy Piper  <andy@xemacs.org>
4559
4560         * select-x.c (vars_of_select_x): Fix docstring of
4561         x-selection-strict-motif-ownership
4562
4563 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4564
4565         * keymap.c (get_keymap):
4566         Add comment about do_autoload GCPROs own args.
4567
4568 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4569
4570         * bytecode.c (execute_optimized_program): check_opcode ifdef
4571         ERROR_CHECK_BYTE_CODE.
4572
4573 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4574
4575         Thanks to Ben Wing and Michael Sperber.
4576
4577         * eval.c (Fcommand_execute):
4578         (Feval):
4579         (Ffuncall):
4580         (Fmacroexpand_internal):
4581         (function_argcount):
4582         callint.c (Fcall_interactively):
4583         Add comment about do_autoload GCPROs own args.
4584
4585         * (do_autoload): GCPRO both args as well as local Lisp_Object.
4586
4587         * eval.c (Ffuncall): Extra braces to placate GCC.
4588
4589 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
4590
4591         * backtrace.h (grow_specpdl):
4592         (SPECPDL_RESERVE):
4593         * EmacsFrame.c (EmacsFrameSetValues):
4594         * eval.c (grow_specpdl):
4595         * ExternalShell.c (hack_event_masks_1):
4596         * glyphs-x.c (convert_EImage_to_XImage): 
4597         (x_finalize_image_instance):
4598         * ralloc.c (page_size):
4599         (r_alloc_sbrk):
4600         * xgccache.c (gc_cache_hash):
4601         Fix unsigned comparison warnings.
4602
4603 2002-07-29  Jerry James  <james@xemacs.org>
4604
4605         * lread.c (locate_file): Any nonnegative return value indicates
4606         success if MODE is nonnegative.
4607
4608 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
4609
4610         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
4611         argument. 
4612
4613 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
4614
4615         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
4616
4617         * dumper.c (pdump_get_indirect_count):
4618         (pdump_scan_by_alignment):
4619         (pdump_dump_root_struct_ptrs):
4620         (pdump_dump_rtables):
4621         (pdump_dump_root_objects):
4622         (pdump):
4623         * nas.c (WaveOpenDataForReading):
4624         * fns.c (print_bit_vector):
4625         * font-lock.c (SINGLE_SYNTAX_STYLE):
4626         * glyphs.c (check_for_ignored_expose):
4627         (find_matching_subwindow):
4628         * glyphs-eimage.c:
4629         * imgproc.c (get_histogram):
4630         * redisplay.c (point_in_line_start_cache):
4631         * redisplay-output.c (redisplay_unmap_subwindows):
4632         * symbols.c (defsymbol_massage_name_1):
4633         (defkeyword_massage_name):
4634         (deferror_massage_name_and_message):
4635         * redisplay-x.c (x_output_string): 
4636         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
4637         * frame.h (struct frame):
4638         * filelock.c (current_lock_owner):
4639         * doprnt.c (emacs_doprnt_1):
4640         * lisp.h (struct Lisp_Bit_Vector):
4641         (DO_REALLOC):
4642         Fix warnings.
4643
4644 2002-02-13  Ben Wing  <ben@xemacs.org>
4645
4646         * event-stream.c (reset_key_echo):
4647         * event-stream.c (reset_this_command_keys):
4648         * event-stream.c (execute_command_event):
4649         If console is dead as a result of C-x 5 0, then post-command stuff
4650         needs to be careful and do only non-console-specific stuff.
4651
4652 2002-07-01  Mike Sperber <mike@xemacs.org>
4653
4654         * process-unix.c (unix_send_process): Mark coding_outstream as
4655         non-open upon SIGPIPE.
4656
4657         * event-stream.c (Fnext_event): Reorder switch cases to something
4658         that makes sense.
4659
4660 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
4661
4662         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
4663         Don't bogusly reinitialize ascii_character property.
4664
4665 2002-07-08  Mike Sperber <mike@xemacs.org>
4666
4667         * process.c (Fstart_process_internal): Do error checking before we
4668         fork off the child, so the child can't muck with the state of the
4669         parent.
4670
4671 2002-07-08  Mike Sperber <mike@xemacs.org>
4672
4673         * ralloc.c (init_ralloc): Allocate properly for pdump.
4674
4675 2002-06-12  Andy Piper  <andy@xemacs.org>
4676
4677         * glyphs.c (query_string_geometry): check the string.
4678
4679         * glyphs-widget.c (widget_logical_unit_height): cope with nil
4680         widget names.
4681
4682 2002-06-17  Jerry James  <james@xemacs.org>
4683
4684         * sysdll.c: Remove RTLD_GLOBAL initialization.
4685         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
4686
4687 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
4688
4689         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
4690
4691 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
4692
4693         * sysdep.c (sys_rename): Make sys_rename work for the case where
4694         Windows rename sets errno to EACCES if target file exists.
4695
4696 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
4697
4698         * device-msw.c (mswindows_handle_page_setup_dialog_box):
4699         Fix detection of metric units to work on Win95
4700
4701 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
4702
4703         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
4704
4705 2002-04-25  Andy Piper  <andy@xemacs.org>
4706
4707         * redisplay.c (create_text_block): Remove extra comment trailer.
4708
4709 2002-04-24  Andy Piper  <andy@xemacs.org>
4710
4711         * redisplay.c (create_text_block): Don't actually add propagation
4712         data if the line ends after we have added a glyph.
4713
4714 2002-04-22  Andy Piper  <andy@xemacs.org>
4715
4716         * extents.c (extent_fragment_update): check for glyphs we have
4717         previously displayed.
4718         * extents.c (print_extent_1): warning removal.
4719         * extents.h: change prototype.
4720         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
4721         widths correctly for wide glyphs.
4722         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
4723         * redisplay.c (prop_type): add PROP_GLYPH.
4724         * redisplay.c (struct prop_block): add glyph type
4725         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
4726         to the propagation data.
4727         * redisplay.c (create_text_block): if there is a glyph in the
4728         propagation data use it to salt extent_fragment_update.
4729         * redisplay.c (create_string_text_block): ditto.
4730
4731 2002-04-13  Nix  <nix@esperi.demon.co.uk>
4732
4733         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
4734         * redisplay-output.c (compare_runes): Compare them.
4735         * redisplay.c: Update copyright date.
4736         * redisplay.c (pos_data): Add need_baseline_computation field.
4737         * redisplay.c (add_glyph_rune): Update ascent, descent, and
4738         need_baseline_computation; zero yoffset. Set max_pixmap_height
4739         for all pixmaps, not just automatically positioned ones.
4740         * redisplay.c (calculate_yoffset): New, compute yoffset values.
4741         * redisplay.c (calculate_baseline): New, compute textual baseline.
4742         * redisplay.c (add_glyph_rune): Call them.
4743         * redisplay.c (create_text_block): Likewise.
4744         * redisplay.c (create_overlay_glyph_block): Likewise.
4745         * redisplay.c (add_margin_runes): Likewise.
4746         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
4747
4748         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
4749         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
4750         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
4751         * redisplay-msw.c (mswindows_output_string): Likewise.
4752         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
4753         * redisplay-gtk.c (gtk_output_display_block): Likewise.
4754         * redisplay-x.c (x_output_display_block): Likewise.
4755
4756 2002-03-28  Ben Wing  <ben@xemacs.org>
4757
4758         * redisplay.c: Fixed bug in redisplay
4759         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
4760         and down of the lines, since they're bigger than the line
4761         size. (It was seen most obviously when there's a horizontal scroll
4762         bar, e.g. do C-h a glyph or something like that.) The problem was
4763         that the glyph-contrib-p setting on glyphs was ignored even if it
4764         was set properly, which it wasn't until now.
4765
4766 2002-04-24  Andy Piper  <andy@xemacs.org>
4767
4768         * lisp.h (Dynarr_end): Fix definition.
4769
4770 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
4771
4772         * redisplay.c (mark_redisplay): Remove call to
4773         update_frame_window_mirror.
4774
4775 2001-11-15  Andy Piper  <andy@xemacs.org>
4776
4777         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
4778         cygwin (again).
4779
4780 2002-02-13  Andy Piper  <andy@xemacs.org>
4781
4782         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
4783         we did in fact enqueue the XM_MAPFRAME event.
4784
4785 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
4786
4787         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
4788         to fix problem switching between virtual desktops under virtuawin
4789         virtual window manager.
4790
4791 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
4792
4793         * event-msw.c: Typo fix.
4794         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
4795         magic XM_MAPFRAME event has been sent.
4796
4797 2001-11-23  Andy Piper  <andy@xemacs.org>
4798
4799         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
4800
4801 2001-11-21  Andy Piper  <andy@xemacs.org>
4802
4803         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
4804         mouse events outside the frame.
4805
4806 2002-03-20  Andy Piper  <andy@xemacs.org>
4807
4808         * menubar-msw.c (mswindows_popup_menu): warning removal.
4809         * dialog-msw.c (dialog_popped_down): ditto.
4810
4811 2001-12-11  Andy Piper  <andy@xemacs.org>
4812
4813         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
4814         * dialog-msw.c (mswindows_make_dialog_box_internal): set
4815         popup_up_p.
4816         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
4817         * menubar-msw.c (mswindows_handle_wm_command): ditto.
4818         * menubar-msw.c (mswindows_popup_menu): ditto.
4819
4820 2001-10-29  Andy Piper  <andy@xemacs.org>
4821
4822         * dialog-msw.c (handle_directory_dialog_box): quit if the user
4823         cancels.
4824
4825 2002-01-03  Andy Piper  <andy@xemacs.org>
4826
4827         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
4828         letters.
4829         (xrealpath): ditto.
4830
4831 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
4832
4833         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
4834         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
4835         * device-msw.c (mswindows_handle_page_setup_dialog_box):
4836         Detect and handle case where machine is set up for metric units
4837
4838 2002-04-02  Andy Piper  <andy@xemacs.org>
4839
4840         * dired-msw.c (mswindows_get_files): 
4841         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
4842         completely handled by XEmacs. Suggested by Thomas Vogler
4843         <mail@thomas-vogler.de>.
4844
4845 2001-11-14  Andy Piper  <andy@xemacs.org>
4846
4847         * nt.c (REG_ROOT): change registry key to XEmacs.
4848
4849 2002-04-27  Andy Piper  <andy@xemacs.org>
4850
4851         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
4852
4853 2002-04-26  Andy Piper  <andy@xemacs.org>
4854
4855         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
4856         behavior.
4857
4858 2002-03-14  Mike Alexander  <mta@arbortext.com>
4859
4860         * event-msw.c (mswindows_unwait_process): New, remove process from
4861         wait list
4862         * process-nt.c (nt_finalize_process_data): Call
4863         mswindows_unwait_process
4864         * console-msw.h: Declare mswindows_unwait_process
4865
4866 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
4867
4868         * editfns.c (Fdecode_time):
4869         (Fformat_time_string):
4870         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
4871         (make_time): Warning elimination (change arg name).
4872
4873 2001-11-24  Andy Piper  <andy@xemacs.org>
4874
4875         * window.c (Fsplit_window): Doc return type.
4876
4877 2002-04-01  Andy Piper  <andy@xemacs.org>
4878
4879         * emacs.c (Fkill_emacs): Only output message box in interactive
4880         mode.
4881
4882 2002-04-26  Andy Piper  <andy@xemacs.org>
4883  
4884         * config.h.in: pull in 21.5.x change to stop alloca warnings under
4885         cygwin.
4886
4887 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
4888
4889         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
4890         bit platform.
4891
4892 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
4893
4894         * XEmacs 21.4.8 "Honest Recruiter" is released.
4895
4896 2002-05-07  Nix  <nix@esperi.demon.co.uk>
4897
4898         Supersedes 2002-04-17 patch.
4899
4900         * process.h (PROCESS_LIVE_P): Use the process status as
4901         evidence of health, not the state of the input stream.
4902         (PROCESS_READABLE_P): Say if the process is readable
4903         from. (It may be dead nonetheless.)
4904         (CHECK_READABLE_PROCESS): Test for that condition.
4905
4906         * process.c (create_process): Use PROCESS_READABLE_P.
4907         (read_process_output, set_process_filter): Likewise.
4908
4909         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
4910         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
4911
4912         This code is #if 0'd, this is not the time to add new functions:
4913
4914         * process.c (Fprocess_readable_p): Report readability status.
4915         * process.c (Qprocess_readable_p): New, associated symbol...
4916         * process.c (syms_of_process): ... initialize it.
4917
4918 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
4919
4920         * XEmacs 21.4.7 "Economic Science" is released.
4921
4922 2002-04-17  Nix  <nix@esperi.demon.co.uk>
4923
4924         * process.h (PROCESS_LIVE_P): Use the process status as
4925         evidence of health, not the state of the input stream.
4926
4927 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
4928
4929         * sysdep.c (sys_siglist): change "signum" to "signal"
4930
4931 2001-04-21  Martin Buchholz  <martin@xemacs.org>
4932
4933         * s/darwin.h: New file.
4934         Thanks to Greg Parker <gparker@cs.stanford.edu>.
4935         
4936 2002-04-23  Andreas Jaeger  <aj@suse.de>
4937
4938         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
4939         which use lib64 for 64-bit libs.
4940         (START_FILES): Likewise.
4941
4942 2002-02-11  Mike Sperber  <mike@xemacs.org>
4943
4944         * device-x.c: 
4945         (x_IO_error_handler):
4946         (x_init_device): Temporarily keep device in static variable
4947         `device_being_initialized' so we can recover gracefully from
4948         internal XOpenDevice failure.  (XOpenDevice is documented to
4949         return NULL on failure, but sometimes calls the IO error handler
4950         instead.)
4951
4952 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
4953
4954         * dired.c (Ffile_name_all_completions): Change documentation --
4955         remove reference to completion-ignored-extensions.
4956         * dired.c (vars_of_dired): Change documentation for
4957         completion-ignored-extensions -- remove reference to
4958         file-name-all-completions.
4959
4960 2002-03-06  Jerry James  <james@xemacs.org>
4961
4962         * emodules.c (emodules_load): Fix multiple loading of same module.
4963
4964 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
4965         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
4966         RTLD_LAZY to avoid incorrect symbol binding when using nested
4967         shared libraries on Solaris.
4968
4969 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
4970
4971         * fileio.c (Ffind_file_name_handler): Improve docstring.
4972
4973 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
4974
4975         * fns.c (Fmapconcat): Improve docstring.
4976
4977 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
4978
4979         * device-gtk.c: Add prototype for
4980         emacs_gtk_selection_clear_event_handle.
4981         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
4982         selection.  Setup signal handler for "selection_clear_event"
4983         (emacs_gtk_selection_clear_event_handle).
4984
4985         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
4986         other applications owning the clipboard (based on
4987         x_handle_selection_clear).
4988
4989 2001-12-23  William M. Perry  <wmperry@gnu.org>
4990
4991         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
4992         
4993 2002-01-04  Martin Buchholz  <martin@xemacs.org>
4994
4995         * keymap.c (define_key_alternate_name): Parenthesize EQ.
4996
4997 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
4998
4999         * XEmacs 21.4.6 "Common Lisp" is released.
5000
5001 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5002
5003         * search.c (Freplace_match): Add missing sub-expression functionality.
5004
5005         * buffer.c (decode_buffer): Add a check for pointer type to
5006         decode_buffer, before gcc's CSE optimization reorders a
5007         dereference in front of the allow_string test.
5008
5009 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5010
5011         * window.c (window_loop): Fix bug that sometimes prevented
5012         window_loop() from iterating across multiple devices.  Also, at
5013         Ben's request, changed infloop-detecting code to abort() instead
5014         of silently terminating window_loop().
5015
5016 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5017
5018         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5019         * editfns.c (make_time): New function.
5020         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5021         * lisp.h (make_time): Prototype and comment it.
5022         * dired.c (wasteful_word_to_lisp): Deprecate.
5023         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5024
5025 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5026
5027         * fileio.c (auto_save_1): Use current coding system, not
5028         escape-quoted.
5029
5030 2001-11-13  Ben Wing  <ben@xemacs.org>
5031
5032         * window.c:
5033         * window.c (window_truncation_on):
5034         * window.c (syms_of_window):
5035         truncate-partial-width-windows should respect the buffer being
5036         displayed, like other redisplay vars.
5037
5038 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5039
5040         * event-stream.c (Fread_key_sequence): save current buffer.
5041
5042 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5043
5044         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5045
5046 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5047
5048         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5049
5050 2001-10-26  Mike Alexander  <mta@arbortext.com>
5051
5052         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5053
5054 2001-10-25  Andy Piper  <andy@xemacs.org>
5055
5056         * ChangeLog:
5057         * dialog-msw.c (handle_directory_proc): new function.
5058          (handle_directory_dialog_box): new fucntion.
5059          (handle_file_dialog_box): use new directory dialog support.
5060          (mswindows_make_dialog_box_internal): ditto.
5061         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5062         handling.
5063         (mswindows_find_frame): make global.
5064         * fileio.c (Fexpand_file_name): build fix.
5065         * general-slots.h: add Qdirectory.
5066         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5067         handling.
5068         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5069         cygwin not leaving win32 paths unchanged.
5070         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5071         cygwin runtime to do path conversion.
5072         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5073         (syms_of_win32): add new function.
5074         * window.c (window_loop): build fix.
5075
5076 2001-10-15  Andy Piper  <andy@xemacs.org>
5077
5078         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5079
5080 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5081
5082         * XEmacs 21.4.5 "Civil Service" is released.
5083
5084 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5085
5086         * glyphs-x.c: Force buffer-tab highlight update when moving the
5087         buffer, avoiding an ugly black border, used for keyboard focus
5088         indication, on a widget that can never have keyboard focus, the
5089         buffer tab.
5090
5091 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5092
5093         * process-unix.c (unix_open_multicast_group): Remove too much
5094         conversion between host and network byte order.
5095
5096 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5097
5098         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5099         before replacing them.
5100
5101         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5102         operation.
5103
5104         * src/window.c (undedicate_windows): Use it.
5105         * src/window.h: Add prototype.
5106
5107 2001-09-17  Ben Wing  <ben@xemacs.org>
5108
5109         * fileio.c (normalize_filename):
5110         * fileio.c (Fexpand_file_name):
5111         Fix various C++ compile errors in Andy's recent code.
5112         
5113         * callint.c (Fcall_interactively):
5114         * editfns.c (Ftemp_directory):
5115         * editfns.c (Fuser_full_name):
5116         * emacs.c (argmatch):
5117         * lread.c (locate_file_map_suffixes):
5118         * redisplay-x.c (x_ring_bell):
5119         Fix sign-compare warnings.
5120         
5121 2001-09-08  Andy Piper  <andy@xemacs.org>
5122
5123         * fileio.c (normalize_filename): copied from nt.c
5124         * (Ffile_name_directory): enable win32 paths under cygwin.
5125         * (Ffile_name_nondirectory): ditto.
5126         * (directory_file_name): ditto.
5127         * (Fexpand_file_name): ditto.
5128         * (Ffile_truename): ditto.
5129         * (Fsubstitute_in_file_name): ditto.
5130         * (Ffile_name_absolute_p): ditto.
5131         * (Ffile_readable_p): ditto.
5132
5133 2001-09-08  Andy Piper  <andy@xemacs.org>
5134
5135         * device-msw.c (mswindows_finish_init_device): remove dde
5136         initialization.
5137         * device-msw.c (mswindows_init_dde): factor out from
5138         mswindows_finish_init_device()
5139         * device-msw.c (init_mswindows_very_early): new function
5140         initialize but don't enable dde.
5141         * emacs.c (main_1): call init_mswindows_very_early.
5142         * event-msw.c:
5143         * event-msw.c (mswindows_dde_callback): only execute when we are
5144         ready.
5145         * symsinit.h: declare init_mswindows_very_early.
5146
5147 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5148
5149         [sjt: This has been in 21.5 for months with no complaints.]
5150
5151         * console.h (struct console_methods): Added flags member.
5152         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5153         (CONMETH_IMPL_FLAG):
5154         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5155         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5156
5157         * device.c (window_system_pixelated_geometry): Use the above macros.
5158
5159         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5160         implememntation flag.
5161         * device.h (DEVICE_DISPLAY_P): Use it.
5162
5163         * frame.c (delete_frame_internal): Use the above macro.
5164
5165         * redisplay.c (redisplay_device): Use it.
5166         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5167         (redisplay_frame): Ditto.
5168
5169         * device-msw.c (mswindows_device_implementation_flags): Removed.
5170         (msprinter_device_implementation_flags): Removed.
5171         (console_type_create_device_mswindows): Removed references to
5172         implementation_flags methods, set implementation flags here.
5173         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5174
5175         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5176         (console_type_create_device_gtk): Removed method declaration.
5177         Added commented out statement which semantically matches the
5178         commented out statement in the above removed method.
5179
5180 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5181
5182         The attached patch fixes a few warnings. 
5183
5184         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5185         * src/frame-gtk.c: guard against GNOME calls in GTK only
5186         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5187         * src/select-gtk.c: prototype lisp_to_time
5188
5189 2001-06-08  Ben Wing  <ben@xemacs.org>
5190
5191         ------ gc-in-window-procedure fixes ------
5192         
5193         * alloc.c:
5194         * alloc.c (struct post_gc_action):
5195         * alloc.c (register_post_gc_action):
5196         * alloc.c (run_post_gc_actions):
5197         * alloc.c (garbage_collect_1):
5198         Create "post-gc actions", to avoid those dreaded "GC during window
5199         procedure" problems.
5200
5201         * event-msw.c:
5202         Abort, clean and simple, when GC in window procedure.  We want
5203         to flush these puppies out.
5204
5205         * glyphs-msw.c:
5206         * glyphs-msw.c (finalize_destroy_window):
5207         * glyphs-msw.c (mswindows_finalize_image_instance):
5208         Use a post-gc action when destroying subwindows.
5209
5210         * lisp.h:
5211         Declare register_post_gc_action().
5212
5213         * scrollbar-msw.c:
5214         * scrollbar-msw.c (unshow_that_mofo):
5215         Use a post-gc action when unshowing scrollbar windows, if in gc.
5216
5217         * redisplay.c (mark_redisplay):
5218         Add comment about the utter evilness of what's going down here.
5219
5220         ------ cygwin setitimer fixes ------
5221         
5222         * Makefile.in.in (sheap_objs):
5223         * Makefile.in.in (profile_objs):
5224         * Makefile.in.in (objs):
5225         Compile profile.c only when HAVE_SETITIMER.
5226         
5227         * nt.c (mswindows_sigset):
5228         * nt.c (mswindows_sighold):
5229         * nt.c (mswindows_sigrelse):
5230         * nt.c (mswindows_sigpause):
5231         * nt.c (mswindows_raise):
5232         * nt.c (close_file_data):
5233         Style fixes.
5234         
5235         * nt.c:
5236         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5237         
5238         * profile.c:
5239         * profile.c (Fstart_profiling):
5240         * profile.c (Fstop_profiling):
5241         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5242         instead of just plain setitimer().
5243         
5244         * signal.c:
5245         * signal.c (set_one_shot_timer):
5246         * signal.c (alarm):
5247         Define qxe_setitimer() as an encapsulation around setitimer() --
5248         call setitimer() directly unless Cygwin or MS Win, in which case
5249         we use our simulated version in win32.c.
5250         
5251         * systime.h:
5252         * systime.h (struct itimerval):
5253         * systime.h (ITIMER_REAL):
5254         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5255         comment about "qxe" and the policy regarding encapsulation.
5256
5257         * win32.c:
5258         * win32.c (setitimer_helper_proc):
5259         * win32.c (setitimer_helper_period):
5260         * win32.c (setitimer_helper):
5261         * win32.c (mswindows_setitimer):
5262         Move setitimer() emulation here, so Cygwin can use it.
5263         Rename a couple of functions and variables to be longer and more
5264         descriptive.  In setitimer_helper_proc(), send the signal
5265         using either mswindows_raise() or (on Cygwin) kill().  If for
5266         some reason we are still getting lockups, we'll change the kill()
5267         to directly invoke the signal handlers.
5268
5269         ------ windows shell fixes ------
5270         
5271         * callproc.c:
5272         * ntproc.c:
5273         Comments about how these two files must die.
5274
5275         * callproc.c (init_callproc):
5276         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5277         not just COMSPEC. (more correct and closer to FSF.) Don't
5278         force a value for SHELL into the environment. (Comments added
5279         to explain why not.)
5280         
5281         * nt.c (init_user_info):
5282         Don't shove a fabricated SHELL into the environment.  See above.
5283
5284 2001-06-01  Ben Wing  <ben@xemacs.org>
5285
5286         * Makefile.in.in (ldflags):
5287         eliminate that pesky "defaulting to 00401000" warning.
5288         * nt.h:
5289         eliminate warnings.
5290
5291 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5292
5293         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5294         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5295
5296 2001-04-24  Jerry James <james@xemacs.org>
5297
5298         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5299         correct order.
5300
5301 2001-06-01  Ben Wing  <ben@xemacs.org>
5302
5303         * event-msw.c (debug_mswin_messages):
5304         conditionalize the messages that were causing compile errors.
5305         (if only macros could generate #ifdef statements ...)
5306
5307 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5308
5309         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5310
5311 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5312
5313         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5314
5315 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5316
5317         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5318         * process-unix.c (unix_canonicalize_host_name):
5319         sysdep.c (init_system_name):
5320         Use it to conditionally support IPv6 canonicalization.
5321
5322 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5323
5324         * event-msw.c:
5325         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5326
5327 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5328
5329         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5330         attempt is made to scroll when no scroll bar is available.
5331
5332 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5333
5334         * input-method-motif.c (XIM_delete_frame): New callback.
5335         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5336         got deleted from 21.4.3.)
5337
5338 2001-06-01  Ben Wing  <ben@xemacs.org>
5339
5340         * nt.c (mswindows_utime):
5341         * nt.c (close_file_data):
5342         fix off-by-one-indirection error.
5343
5344 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5345
5346         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5347         because set_file_times() now takes Lisp_Object path, instead of
5348         char*.
5349         * nt.c: Include buffer.h.
5350         * nt.c (convert_from_time_t): New.
5351         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5352         not set mtime correctly.
5353         * nt.h: Declare mswindows_utime().
5354         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5355         path, instead of char*.
5356         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5357
5358 2001-05-30  Ben Wing  <ben@xemacs.org>
5359
5360         For 21.4:
5361
5362         (Stephen, just take all event-msw.c patches.  This includes
5363         the "iconify" fix below.)
5364
5365         * event-msw.c:
5366         * event-msw.c (mswindows_dequeue_dispatch_event):
5367         * event-msw.c (assert):
5368         * event-msw.c (emacs_mswindows_quit_p):
5369         * event-msw.c (debug_mswin_messages):
5370         * event-msw.c (debug_output_mswin_message):
5371         * event-msw.c (vars_of_event_mswindows):
5372         Fix yet more problems with C-g handling.
5373         Implement debug-mswindows-events.
5374         
5375 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5376
5377         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5378         
5379 2001-05-23  Ben Wing  <ben@xemacs.org>
5380
5381         * event-msw.c (winsock_writer):
5382         * event-msw.c (winsock_closer):
5383         prior kludgy code was clobbering the buffer, thinking it was
5384         "unused" space to store an unneeded return value; instead, use
5385         the variable we've already got staring us in the face.
5386
5387 2001-05-17  Andy Piper  <andy@xemacs.org>
5388
5389         * sysfile.h: don't assume that file attributes are boolean
5390
5391 2001-05-23  Ben Wing  <ben@xemacs.org>
5392
5393         * device-msw.c (msprinter_init_device):
5394         signal an error rather than crash with an unavailable network
5395         printer (from Mike Alexander).
5396         
5397         * event-msw.c:
5398         * event-msw.c (struct winsock_stream):
5399         * event-msw.c (winsock_writer):
5400         * event-msw.c (winsock_closer):
5401         * event-msw.c (make_winsock_stream_1):
5402         cleanup headers.  fix (hopefully) an error with data corruption
5403         when sending to a network connection.
5404
5405         * fileio.c (Fexpand_file_name): Fix evil code that attempts
5406         to handle the ~user prefix by (a) always assuming we're referencing
5407         ourselves and not even verifying the user -- hence any file with
5408         a tilde as its first char is invalid! (b) if there wasn't a slash
5409         following the filename, the pointer was set *past* the end of
5410         file and we started reading from uninitialized memory.  Now we
5411         simply treat these as files, always.
5412
5413         * buffer.c (common_init_complex_vars_of_buffer): comment change.
5414         
5415 2001-05-19  Ben Wing  <ben@xemacs.org>
5416
5417         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
5418
5419         * process-nt.c:
5420         * process-nt.c (vars_of_process_nt):
5421         remove unused mswindows-quote-process-args.  rec for 21.4.
5422         
5423 2001-05-12  Ben Wing  <ben@xemacs.org>
5424
5425         * event-msw.c (mswindows_dde_callback):
5426         * event-msw.c (mswindows_wnd_proc):
5427         eliminate cygwin warnings.
5428
5429 2001-05-06  Ben Wing  <ben@xemacs.org>
5430
5431         * console-msw.h:
5432         * device-msw.c:
5433         * device-msw.c (print_dialog_worker):
5434         * device-msw.c (mswindows_handle_print_dialog_box):
5435         * device-msw.c (syms_of_device_mswindows):
5436         * dialog-msw.c (mswindows_make_dialog_box_internal):
5437         * general-slots.h:
5438         implement printing the selection when it's selected.
5439
5440 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
5441
5442         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
5443
5444 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
5445
5446         * lisp.h (EMACS_INT_MAX): This should be one bit less since
5447         EMACS_INT is signed.
5448
5449 2001-04-15  Michael Lausch  <mla@1012surf.net>
5450
5451         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
5452         gtk_widget_request_size() to give scrollbar >0 width for
5453         GTK >1.2.8.
5454
5455 2001-05-30  William M. Perry  <wmperry@gnu.org>
5456
5457         * event-gtk.c: Check for buttons as modifier keys.
5458
5459 2001-05-25  Craig Lanning  <CraigL@Knology.net>
5460
5461         * s\mingw32.h:
5462         Properly find MinGW's <process.h> inside Cygwin's restructured
5463         include directories.  Don't try to include <cygwin/version.h>
5464         since we are dropping support for MinGW in versions of Cygwin
5465         earlier than b21.
5466         * nt.c:
5467         Drop support for MinGW in versions of Cygwin before b21.
5468         * sysdep.c:
5469         Properly find MinGW's <process.h> inside Cygwin's restructured
5470         include directories.
5471         * syswindows.h:
5472         Drop support for MinGW in versions of Cygwin before b21.
5473         * unexcw.c:
5474         Even though a.out.h is no longer detected by configure, allow
5475         MinGW to use it until we figure out how to do the job with Win32.
5476
5477 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
5478
5479         * syntax.c (find_start_of_comment):
5480         Fix `unbalanced parentheses' bug when dealing with mixed comment
5481         styles in c++/java/etc. mode
5482
5483 2001-05-29  Mike Alexander  <mta@arbortext.com>
5484
5485         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
5486         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
5487
5488 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
5489
5490         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
5491
5492 2001-03-31  Mike Sperber <mike@xemacs.org>
5493
5494         * search.c (Freplace_match): Support FSF-style specification of
5495         match subexpression when applied to a buffer.
5496
5497 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5498
5499         * event-stream.c (is_scrollbar_event): add missing semicolon
5500
5501 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
5502
5503         * Makefile.in.in: Use TAR macro instead of hardcoding
5504           tar.  Allows use of GNU tar instead of system tar
5505
5506 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5507
5508         * event-stream.c (is_scrollbar_event): add missing semicolon
5509
5510 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5511
5512         * XEmacs 21.4.3 "Academic Rigor" is released.
5513
5514 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5515
5516         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
5517
5518 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
5519
5520         * buffer.c (Vcase_fold_search): Remove obsolete
5521           comment about non ASCII case-fold-search.  This
5522           bug has been fixed by case-table changes.
5523
5524 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
5525
5526         * event-msw.c: Restore include of events-mod.h.
5527
5528 2001-04-22   zhaoway  <zw@debian.org>
5529
5530         * event-stream.c (is_scrollbar_event): Noop returning 0 if
5531         !HAVE_SCROLLBARS.
5532
5533 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
5534
5535         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
5536
5537 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
5538
5539         * mule-charset.c (Fmake_charset): Add missing else.
5540
5541 2001-04-23  Ben Wing  <ben@xemacs.org>
5542
5543         * event-msw.c (FAKE_MOD_QUIT):
5544         * event-msw.c (mswindows_dequeue_dispatch_event):
5545         * event-msw.c (mswindows_wnd_proc):
5546         * event-msw.c (emacs_mswindows_quit_p):
5547         Get critical quit working.
5548
5549 2001-05-05  Ben Wing  <ben@xemacs.org>
5550
5551         * console-msw.h:
5552         * device-msw.c:
5553         * device-msw.c (mswindows_get_default_margin):
5554         * frame-msw.c (mswindows_size_frame_internal):
5555         * frame-msw.c (msprinter_init_frame_1):
5556         * frame-msw.c (vars_of_frame_mswindows):
5557         Change top/bottom margin defaults to 0.5 inches.
5558
5559 2001-05-01  Martin Buchholz  <martin@xemacs.org>
5560
5561         Fix link error with gcc 3.0 on Linux.
5562         * terminfo.c (UP): Remove.
5563         * terminfo.c (BC): Remove.
5564         * terminfo.c (PC): Remove.
5565         They weren't used, and in any case, these symbols should be
5566         defined in the *library*.
5567
5568 2001-05-03  Martin Buchholz  <martin@xemacs.org>
5569
5570         * s/aix4.h: Fix crash with xlc -O3.
5571         Improve comment explaining how -O3 works.
5572
5573 2001-04-15  Ben Wing  <ben@xemacs.org>
5574
5575         * event-stream.c:
5576         * event-stream.c (Fnext_event):
5577         * event-stream.c (is_scrollbar_event):
5578         * event-stream.c (execute_command_event):
5579         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
5580         crash' problem.  His fix introduces other problems.  We filter
5581         out scrollbar events specifically, making them somewhat invisible
5582         to command-building, and not appearing in `this-command-keys'.
5583         More work is still needed (see comments in event-stream.c), but
5584         this fixes all the major problems.
5585
5586 2001-04-20  Ben Wing  <ben@xemacs.org>
5587
5588         * .cvsignore: Added stuff for Windows.
5589
5590 2001-04-28  Ben Wing  <ben@xemacs.org>
5591
5592         * buffer.c (Ferase_buffer):
5593         * editfns.c (buffer_insert1):
5594         * editfns.c (Finsert_before_markers):
5595         * editfns.c (Finsert_string):
5596         * editfns.c (Finsert_char):
5597         * editfns.c (Fdelete_region):
5598         * editfns.c (Fwiden):
5599         * editfns.c (Fnarrow_to_region):
5600         remove bogus lines setting zmacs_region_stays to 0.
5601         
5602 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5603
5604         * process-unix.c (unix_open_network_stream): If connect() fails
5605         invalidate file descriptor after closing it.
5606
5607 2001-03-08  Mike Alexander  <mta@arbortext.com>
5608
5609         * event-msw.c (mswindows_need_event_in_modal_loop):
5610         Don't dispatch a message if we didn't get one.
5611         (mswindows_need_event):
5612         Terminate the correct process when one exits instead of the first
5613         one on Vprocess_list and look for process termination when in
5614         mswindows_protect_modal_loop.
5615
5616 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
5617
5618         * XEmacs 21.4.1 "Copyleft" is released.
5619
5620 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5621
5622         * input-method-motif.c (XIM_delete_frame): New callback.
5623         (XIM_init_frame): Register it.
5624
5625 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5626
5627         * XEmacs 21.4.0 "Solid Vapor" is released.
5628
5629 2001-04-15  Ben Wing  <ben@xemacs.org>
5630
5631         * cmdloop.c (call_command_loop):
5632         Fix braino in bit-rotting code.
5633         
5634 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
5635
5636         * extents.c (Fset_extent_endpoints): Force creation of extent info
5637         in buffer_or_string.
5638
5639         * extents.c (process_extents_for_insertion_mapper): Correctly
5640         check for open-open zero-length extents.
5641
5642 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5643
5644         * lisp.h: New typedefs Memory_count, Element_count.
5645         * regex.c:
5646         * regex.h:
5647         Sign-compare warning elimination: several unsigned -> signed.
5648         Based on work by Ben Wing <ben@xemacs.org>.
5649
5650 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
5651
5652         * XEmacs 21.2.47 "Zephir" is released.
5653
5654 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
5655
5656         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
5657
5658 2001-04-03  Mike Sperber <mike@xemacs.org>
5659
5660         * search.c: Revert previous patch due because of release.
5661
5662 2001-03-30  Ben Wing  <ben@xemacs.org>
5663
5664         * s\cygwin32.h:
5665         Add missing killpg prototype.
5666
5667         * elhash.c:
5668         Add a comment about fixing problems when a new entry is added
5669         while mapping.
5670
5671         * frame-msw.c (mswindows_init_frame_1):
5672         Fix compile warnings.
5673
5674         * menubar.c (vars_of_menubar):
5675         Provide `menu-accelerator-support' to indicate that we properly
5676         support %_ in menu specifications, so that package code can
5677         conditionalize on this (and remove %_ from menu specifications
5678         on older versions).
5679
5680         * event-msw.c:
5681         * scrollbar-msw.c:
5682         * scrollbar-msw.c (can_scroll):
5683         * scrollbar-msw.h:
5684         Fix handling of mouse wheel under Windows to follow standards --
5685         now scrolls window under pointer, not selected window.
5686
5687 2001-03-31  Mike Sperber <mike@xemacs.org>
5688
5689         * search.c (Freplace_match): Support FSF-style specification of
5690         match subexpression when applied to a buffer.
5691
5692 2001-03-15  Martin Buchholz  <martin@xemacs.org>
5693
5694         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
5695         function to modify KEYMAP, so map over a copy of the hash table.
5696
5697 2001-03-21  Martin Buchholz <martin@xemacs.org>
5698
5699         * XEmacs 21.2.46 "Urania" is released.
5700
5701 2001-03-20  Dan Holmsand  <dan@eyebee.com>
5702
5703         * realpath.c (xrealpath): Make file-truename work with symlinks to
5704         /cygdrive paths on cygwin. Always lowercase drive-letters on
5705         native windows.
5706         (cygwin_readlink): Don't try to find canonical filename unless
5707         file exists.
5708
5709 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
5710
5711         * ChangeLog: Log GTK merge.
5712
5713         * dumper.c:
5714         * select-x.c:
5715         * specifier.c:
5716         * symeval.h:
5717         Revert gratuitous whitespace changes from GTK merge.
5718
5719         * emacs.c: Document end of complex #ifdef @ l. 1495.
5720
5721
5722 2001-03-12  Andy Piper  <andy@xemacs.org>
5723
5724         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
5725         have to do likewise.
5726
5727 2001-03-12  Andy Piper  <andy@xemacs.org>
5728
5729         * sysdep.c: we only support mingw now.
5730
5731 2001-03-09  Andy Piper  <andy@xemacs.org>
5732
5733         * unexcw.c (copy_executable_and_dump_data_section): making approx
5734         overrun a warning only.
5735
5736 2001-03-10  William M. Perry  <wmperry@aventail.com>
5737
5738         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
5739         satisfy Stephen's identical-after-cpp plea.
5740
5741 2001-03-02  Ben Wing  <ben@xemacs.org>
5742
5743         * cmds.c:
5744         * cmds.c (Fforward_char):
5745         * syntax.c:
5746         * window.c:
5747
5748         Augment documentation of the most common motion commands to make
5749         note of the shifted-motion support.
5750         
5751 2001-03-02  Ben Wing  <ben@xemacs.org>
5752
5753         * nt.c (mswindows_fstat):
5754         * nt.c (mswindows_stat):
5755         * search.c (boyer_moore):
5756         Fix compile warnings under Windows.
5757         
5758         * sysdep.c (sys_readdir):
5759         Fix buggy filename-conversion code under Mule.
5760
5761 2001-03-09  William M. Perry  <wmperry@aventail.com>
5762
5763         * Makefile.in.in:
5764         * config.h.in:
5765         * console.c:
5766         * console.h:
5767         * device.c:
5768         * device.h:
5769         * dragdrop.c:
5770         * emacs.c:
5771         * event-stream.c:
5772         * events.c:
5773         * events.h:
5774         * faces.c:
5775         * frame.h:
5776         * general-slots.h:
5777         * glyphs.c:
5778         * gutter.c:
5779         * inline.c:
5780         * lisp.h:
5781         * lrecord.h:
5782         * make-src-depend:
5783         * redisplay-output.c:
5784         * redisplay.c:
5785         * symsinit.h:
5786         * sysfile.h:
5787         * toolbar.c:
5788         * window.c:
5789         The Great GTK Merge.
5790
5791         * ChangeLog.GTK:
5792         * console-gtk.c:
5793         * console-gtk.h:
5794         * device-gtk.c:
5795         * emacs-marshals.c:
5796         * emacs-widget-accessors.c:
5797         * event-gtk.c:
5798         * frame-gtk.c:
5799         * gccache-gtk.c:
5800         * gccache-gtk.h:
5801         * glade.c:
5802         * glyphs-gtk.c:
5803         * glyphs-gtk.h:
5804         * gtk-glue.c:
5805         * gtk-xemacs.c:
5806         * gtk-xemacs.h:
5807         * gui-gtk.c:
5808         * gui-gtk.h:
5809         * menubar-gtk.c:
5810         * native-gtk-toolbar.c:
5811         * objects-gtk.c:
5812         * objects-gtk.h:
5813         * redisplay-gtk.c:
5814         * scrollbar-gtk.c:
5815         * scrollbar-gtk.h:
5816         * select-gtk.c:
5817         * toolbar-gtk.c:
5818         * ui-byhand.c:
5819         * ui-gtk.c:
5820         * ui-gtk.h:
5821         The Great GTK Merge: new files.
5822
5823 2001-02-26  Ben Wing  <ben@xemacs.org>
5824
5825         Reapplied Lstream change.
5826
5827 2001-02-26  Ben Wing  <ben@xemacs.org>
5828
5829         Undid the last change, since it is more controversial than I
5830         thought.  It should be back in at some point soon.
5831         
5832 2001-02-25  Ben Wing  <ben@xemacs.org>
5833
5834         * buffer.c:
5835         * callproc.c (Fold_call_process_internal):
5836         * event-msw.c (ntpipe_slurp_reader):
5837         * event-msw.c (ntpipe_shove_writer):
5838         * event-msw.c (winsock_reader):
5839         * event-msw.c (winsock_writer):
5840         * file-coding.c:
5841         * file-coding.c (detect_eol_type):
5842         * file-coding.c (detect_coding_type):
5843         * file-coding.c (determine_real_coding_system):
5844         * file-coding.c (Fdetect_coding_region):
5845         * file-coding.c (decoding_reader):
5846         * file-coding.c (decoding_writer):
5847         * file-coding.c (mule_decode):
5848         * file-coding.c (Fdecode_coding_region):
5849         * file-coding.c (encoding_reader):
5850         * file-coding.c (encoding_writer):
5851         * file-coding.c (mule_encode):
5852         * file-coding.c (Fencode_coding_region):
5853         * file-coding.c (detect_coding_sjis):
5854         * file-coding.c (decode_coding_sjis):
5855         * file-coding.c (encode_coding_sjis):
5856         * file-coding.c (detect_coding_big5):
5857         * file-coding.c (decode_coding_big5):
5858         * file-coding.c (encode_coding_big5):
5859         * file-coding.c (detect_coding_ucs4):
5860         * file-coding.c (decode_coding_ucs4):
5861         * file-coding.c (encode_coding_ucs4):
5862         * file-coding.c (detect_coding_utf8):
5863         * file-coding.c (decode_coding_utf8):
5864         * file-coding.c (encode_coding_utf8):
5865         * file-coding.c (detect_coding_iso2022):
5866         * file-coding.c (decode_coding_iso2022):
5867         * file-coding.c (encode_coding_iso2022):
5868         * file-coding.c (decode_coding_no_conversion):
5869         * file-coding.c (encode_coding_no_conversion):
5870         * glyphs-x.c (write_lisp_string_to_temp_file):
5871         * gpmevent.c (tty_get_foreign_selection):
5872         * lisp.h:
5873         * lstream.c:
5874         * lstream.c (Lstream_flush_out):
5875         * lstream.c (Lstream_adding):
5876         * lstream.c (Lstream_write_1):
5877         * lstream.c (Lstream_write):
5878         * lstream.c (Lstream_raw_read):
5879         * lstream.c (Lstream_read_more):
5880         * lstream.c (Lstream_read):
5881         * lstream.c (Lstream_unread):
5882         * lstream.c (Lstream_fputc):
5883         * lstream.c (stdio_reader):
5884         * lstream.c (stdio_writer):
5885         * lstream.c (filedesc_reader):
5886         * lstream.c (filedesc_writer):
5887         * lstream.c (lisp_string_reader):
5888         * lstream.c (struct fixed_buffer_stream):
5889         * lstream.c (make_fixed_buffer_input_stream):
5890         * lstream.c (make_fixed_buffer_output_stream):
5891         * lstream.c (fixed_buffer_reader):
5892         * lstream.c (fixed_buffer_writer):
5893         * lstream.c (struct resizing_buffer_stream):
5894         * lstream.c (resizing_buffer_writer):
5895         * lstream.c (dynarr_writer):
5896         * lstream.c (lisp_buffer_reader):
5897         * lstream.c (lisp_buffer_writer):
5898         * lstream.h:
5899         * lstream.h (lstream_implementation):
5900         * lstream.h (struct lstream):
5901         * md5.c (Fmd5):
5902         * process-nt.c (nt_send_process):
5903         * process-unix.c (unix_send_process):
5904         
5905         Correct Lstream lossage due to mixing of signed and unsigned
5906         quantities.  All Lstream uses of size_t and ssize_t are now a
5907         single signed data type Lstream_data_count.  This fixes problems
5908         under Windows with sending large quantities of data to a process,
5909         and may well fix other subtle bugs.
5910
5911 2001-02-23  Martin Buchholz <martin@xemacs.org>
5912
5913         * XEmacs 21.2.45 "Thelxepeia" is released.
5914
5915 2001-02-21  Martin Buchholz  <martin@xemacs.org>
5916
5917         * lisp-union.h (XSETINT): 
5918         (XSETCHAR):
5919         (XSETOBJ): 
5920         Reverse previous change of 2001-02-06.
5921
5922 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
5923
5924         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
5925         buffers.
5926         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5927         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
5928         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
5929         * regex.c (POS_AS_IN_BUFFER): removed
5930         * regex.c (re_search_2):
5931         * regex.c (re_match_2):
5932         Don't use an offset of 1 when calculating buffer positions, since
5933         `BI_BUF_BEGV' does it already.
5934
5935 2001-02-18  Wim Dumon  <wim@easics.be>
5936
5937         * insdel.c (prepare_to_modify_buffer): Also check for
5938         supersession when clash-detection is enabled. 
5939
5940 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
5941
5942         * regex.c (re_match_2_internal):
5943         Convert temp characters from 'const unsigned char' to 're_char'.
5944         Fix crashing bug with extended characters under mule.
5945         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
5946         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
5947         font-lock, pdump, and new syntax-table code.
5948         * syntax.c (find_start_of_comment):
5949         (find_end_of_comment):
5950         (forward-comment):
5951         Fix crashing bugs involving moving beyond end of buffer.
5952         * syntax.c (find_start_of_comment):
5953         Fixed logic to allow proper detection of cases where the same
5954         character is used to end both a two-char comment start and a
5955         two-char comment end sequence. Fixes `(forward-comment -1)'.
5956         * syntax.c (find_start_of_comment):
5957         Return position just past last comment-end character for all cases
5958         (previously was only done for two-char comment-end sequences).
5959         * syntax.c (forward-comment):
5960         Take value returned from `find_end_of_comment', rather than
5961         incrementing it.
5962         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5963         Properly deal with BUFFERP (syntax_cache.object)
5964
5965 2001-02-17  Martin Buchholz  <martin@xemacs.org>
5966
5967         * alloc.c (Fgarbage_collect): 
5968         * alloc.c (make_bit_vector_from_byte_vector):
5969         -Wsign-compare-correctness.
5970
5971 2001-02-16  Martin Buchholz  <martin@xemacs.org>
5972
5973         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
5974         (XSETCHAR): Likewise.
5975         (XSETOBJ): Likewise.
5976
5977 2001-02-15  Martin Buchholz  <martin@xemacs.org>
5978
5979         * mule-canna.c (canna-func-delete_previous): 
5980         Rename to canna-func-delete-previous.
5981
5982 2001-02-14  Martin Buchholz  <martin@xemacs.org>
5983
5984         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
5985
5986 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
5987
5988         * font-lock.c (find_context): Fix C++ compile errors introduced by
5989         recent patch
5990
5991 2001-02-13  Martin Buchholz  <martin@xemacs.org>
5992
5993         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
5994         pragma, but earlier ones barf on the same pragma.
5995
5996 2001-02-06  Mike Sperber <mike@xemacs.org>
5997
5998         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
5999         `configure-mule-lisp-directory'.
6000
6001 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6002
6003         Make sure dump-id.c is compiled in the same way as other .c's.
6004         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6005         * dump-id.h: Remove.
6006         * emacs.c: Move dump-id.h into dumper.h.
6007         * dumper.h: Move dump-id.h into dumper.h.
6008         * Makefile.in.in:
6009         Use standard .c.o rule for building dump-id.o.
6010         Remove preprocessor flags from link command.
6011         Add dump-id.o to ${otherobjs} if PDUMP.
6012
6013 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6014
6015         Port FSF 20.7 syntax table improvements.
6016         * syntax.c.
6017         * syntax.h.
6018
6019         Fixups for new syntax table stuff.
6020         * dired.c: Include syntax.c.
6021         (Fdirectory_files): Initialize regex_match_object and
6022         regex_emacs_buffer.
6023         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6024         and Fget_char_property.
6025
6026         Use ported FSF 20.7 syntax table improvements.
6027         * font-lock.c.
6028         * regex.c.
6029         * search.c.
6030         
6031 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6032
6033         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6034         Unixware's enum boolean from sys/types.h.
6035
6036 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6037
6038         Fix support for building with latest Purify.
6039         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6040         (PURIFY_FLAGS): Likewise.
6041
6042 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6043
6044         * fileio.c (lisp_string_set_file_times): New.
6045         * fileio.c (Fcopy_file): Use it.
6046         Fixes bug:
6047         (copy-file filename non-ascii-filename t t)
6048         ==> No such file or directory, non-ascii-filename
6049
6050 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6051
6052         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6053         USHRT_MAX seems clearer than ~0 anyways.
6054
6055 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6056
6057         dumper improvements.  Inspired by Olivier.
6058         * dumper.c (pdump_max_align): New.
6059         * dumper.c (pdump_add_entry): Use pdump_max_align.
6060         * dumper.c (pdump_get_entry_list): Likewise.
6061         * dumper.c (pdump_scan_by_alignment): Likewise.
6062         Don't iterate through unnecessary alignments.
6063         * dumper.c (pdump_file_get): No need to align result of malloc().
6064         * dumper.c (pdump_mallocadr): Remove.  
6065         The result of malloc() is guaranteed to be maximally aligned.
6066         * dumper.c: s/elmt/elt/g;
6067         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6068         * dumper.c (pdump_alert_undump_object): Likewise.
6069         * dumper.c (pdump_align_table): 
6070         Don't support alignments > 64.
6071         Store ALIGNOF's, not shift counts, in table.
6072
6073 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6074
6075         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6076         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6077         * systime.h: Use HAVE_UTIME.
6078         * sysdep.c (struct utimbuf): Remove.
6079         * sysdep.c (set_file_times): Prefer utime() to utimes().
6080         * config.h.in (HAVE_UTIME): New.
6081         * config.h.in (HAVE_UTIME_H): Remove.
6082         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6083
6084 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6085
6086         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6087
6088 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6089
6090         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6091
6092 2001-02-08  Martin Buchholz <martin@xemacs.org>
6093
6094         * XEmacs 21.2.44 "Thalia" is released.
6095
6096 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6097
6098         Fixes crashes in kill-emacs on some systems.
6099         * process-unix.c (unix_kill_child_process):
6100         It's OK for kill() to fail with ESRCH.
6101
6102 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6103
6104         Contortions to make .gdbinit tricks work on most systems.
6105         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6106         * alloc.c (dbg_valmask): Make non-const.
6107         * alloc.c (dbg_typemask): Make non-const.
6108         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6109         * alloc.c (dbg_valbits): Make non-const.
6110         * alloc.c (dbg_gctypebits): Make non-const.
6111         * .gdbinit (decode_object): Make it work with AIX cc.
6112
6113 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6114
6115         * elhash.c (make_general_lisp_hash_table):
6116         Use simpler and more efficient calloc to clear entries.
6117
6118 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6119
6120         * window.c (window_scroll): Work around an AIX C compiler bug.
6121         Fixes 'scroll-up' does nothing problem with xlC.
6122
6123 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6124
6125         * .gdbinit: Remove obsolete comment.
6126
6127 2001-01-31  Mike Alexander  <mta@arbortext.com>
6128
6129         * select.c (Fown_selection_internal): Set owned_p for device
6130         method correctly.
6131
6132 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6133
6134         Port to g++ 2.97.
6135         "not" cannot be used as a macro name as it is an operator in C++
6136         * config.h.in: Stop #defining `not'.
6137         * chartab.c (check_category_char): not ==> not_p
6138         * chartab.h: Likewise.
6139         * regex.c (re_match_2_internal): Likewise.
6140
6141 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6142
6143         * lisp-disunion.h: Fix up comments.
6144
6145 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6146
6147         * keymap.c (define_key_check_and_coerce_keysym):
6148         (syms_of_keymap):
6149         Support mouse-6 and mouse-7 bindings in the obvious way.
6150
6151 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6152
6153         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6154
6155 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6156
6157         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6158         Previous patch missed DEFVAR_INT_MAGIC.
6159         Make sure future DEFVAR_foo use correct types.
6160         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6161         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6162         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6163         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6164         * (DEFVAR_INT): Likewise.
6165         * redisplay.c (vertical_clip): Should be of type Fixnum.
6166         * redisplay.c (horizontal_clip): Likewise.
6167         * lisp.h (dump_add_opaque_int): New.
6168         (dump_add_opaque_fixnum): New.
6169
6170 2001-01-29  Andy Piper  <andy@xemacs.org>
6171
6172         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6173         since they can be eval'ed
6174
6175 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6176
6177         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6178         Oops, XEmacs redefines `class'.  Use `typename' instead.
6179
6180 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6181
6182         * dumper.c: Fix C++ compile errors.
6183
6184 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6185
6186         * tparam.c: Use correct prototypes.
6187
6188 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6189
6190         * sysproc.h: #include util.h for NetBSD's openpty.
6191
6192 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6193
6194         More 64-bit correctness.
6195         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6196         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6197         Fix up comments.
6198         This finally finishes the 64-bit SGI port.
6199         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6200         * symbols.c: Fix up comments and type casts.
6201         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6202         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6203         * symeval.h (Fixnum): New type.
6204         * symeval.h (symbol_value_type): Fix up comment.
6205
6206         * commands.h:
6207         * nt.c:
6208         * emacs.c:
6209         * data.c:
6210         * redisplay.c:
6211         * abbrev.c:
6212         * dired-msw.c:
6213         * event-Xt.c:
6214         * eldap.c:
6215         * window.c:
6216         * sound.c:
6217         * event-stream.c:
6218         * eval.c:
6219         * buffer.c:
6220         * mule-canna.c: A million DEFVAR_INTs here...
6221         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6222         * extents.c:
6223         * cmdloop.c:
6224         * lisp.h:
6225         * select-x.c:
6226         * console-x.h:
6227         * event-msw.c:
6228         * mule-wnnfns.c:
6229         * hpplay.c:
6230         * ralloc.c:
6231         * alloc.c:
6232         * keymap.c:
6233         * profile.c:
6234         s/int/Fixnum/g in DEFVAR_INT declarations.
6235
6236 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6237
6238         Port pdump to SGI alignment-sensitive environment.
6239         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6240         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6241         properly aligned.
6242         Define and use aligned reading and writing macros.
6243         Use buffered stdio instead of posix i/o for faster dumping.
6244         Eliminate kludgy 256 byte space for header.
6245         Read and write from dump file using structs for alignment safety.
6246         * dumper.c (pdump_align_stream): New.
6247         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6248         * dumper.c (PDUMP_READ_ALIGNED): New.
6249         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6250         * dumper.c (pdump_static_Lisp_Object): New struct.
6251         * dumper.c (pdump_static_pointer): New struct.
6252         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6253         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6254         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6255         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6256
6257         * dumper.c (pdump_backtrace):
6258         * dumper.c (pdump_get_indirect_count):
6259         * dumper.c (pdump_register_object):
6260         * dumper.c (pdump_register_struct):
6261         * dumper.c (pdump_reloc_one):
6262         * dumper.c (pdump_scan_by_alignment):
6263         * dumper.c (pdump_dump_from_root_struct_ptrs):
6264         * dumper.c (pdump_dump_opaques):
6265         * dumper.c (pdump_dump_rtables):
6266         * dumper.c (pdump_dump_from_root_objects):
6267         * dumper.c (pdump):
6268         * dumper.c (pdump_load_finish):
6269         Use aligned reading and writing.
6270
6271         * dumper.c (pdump_free): Make static.
6272         * dumper.c (pdump_hFile): Likewise.
6273         * dumper.c (pdump_hMap): Likewise.
6274
6275 2001-01-26  Martin Buchholz <martin@xemacs.org>
6276
6277         * XEmacs 21.2.43 "Terspichore" is released.
6278
6279 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6280
6281         Type fiddling for window_config.saved_windows_count
6282         * window.c (struct window_config): 
6283         Make saved_windows_count member unsigned.
6284         * window.c (sizeof_window_config_for_n_windows): 
6285         Make parameter unsigned.
6286         * window.c (mark_window_config):
6287         * window.c (window_config_equal):
6288         * window.c (free_window_configuration):
6289         * window.c (Fset_window_configuration):
6290         * window.c (count_windows):
6291         * window.c (Fcurrent_window_configuration):
6292         * window.c (reinit_vars_of_window):
6293         Update all callers and users.
6294
6295 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6296
6297         Alignment correctness for flexible arrays.
6298         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6299         Make alignment-correct. Add interesting comments.
6300         * alloc.c (size_vector):
6301         * alloc.c (make_vector_internal):
6302         * alloc.c (make_bit_vector_internal):
6303         * alloc.c (sweep_bit_vectors_1):
6304         * fns.c (size_bit_vector):
6305         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6306         * window.c (sizeof_window_config_for_n_windows): 
6307         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6308
6309 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6310
6311         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6312
6313 2001-01-23  Andy Piper  <andy@xemacs.org>
6314
6315         * select.c (Fown_selection_internal): pass owned_p
6316
6317         * select-msw.c (mswindows_own_selection): New Signature.
6318
6319         * console.h (struct console_methods): add owned_p to
6320         _own_selection.
6321
6322         * select-x.c (x_own_selection): pass owned_p
6323         (hack_motif_clipboard_selection): use owned_p
6324         (vars_of_select_x): new variable -
6325         x_selection_strict_motif_ownership.
6326
6327 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6328
6329         * specifier.h (specifier_data_offset): Remove pointless parens.
6330         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6331
6332 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6333
6334         Make Lisp_Object sizeof methods be alignment-correct.
6335         pdump must restore objects to the same alignment as the C compiler
6336         assumes.  It really matters on SGIs.
6337         * lstream.c (aligned_sizeof_lstream): New.
6338         (sizeof_lstream): Use aligned_sizeof_lstream.
6339         (Lstream_new): Likewise.
6340         * opaque.c (aligned_sizeof_opaque): New.
6341         (sizeof_opaque): Use aligned_sizeof_opaque.
6342         (make_opaque): Likewise.
6343         * specifier.c (aligned_sizeof_specifier): New.
6344         (sizeof_specifier): Use aligned_sizeof_specifier.
6345         (make_specifier_internal): Likewise.
6346
6347 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6348
6349         * lstream.h (struct lstream): Use max_align_t for trailing data.
6350         * specifier.h (struct Lisp_Specifier): Likewise.
6351
6352 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6353
6354         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6355         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6356         (CCL_SUSPEND): Likewise.
6357         (CCL_INVALID_CMD): Likewise.
6358         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6359         (ccl_driver): Likewise.
6360         (CCL_WRITE_CHAR): Macro hygiene.
6361         (CCL_WRITE_STRING): Macro hygiene.
6362
6363 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6364
6365         Port "portable" dumper to SunOS 4 and HP-UX.
6366         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6367         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6368         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6369
6370 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6371
6372         * lisp.h (ALIGNOF): A better definition for C++.
6373
6374 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6375
6376         Macro hygiene.
6377         Fix printf warnings: int format, long int arg.
6378         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6379         (PUSH_FAILURE_POINT): Use correct printf formats.
6380         (POP_FAILURE_POINT): Use correct printf formats.  
6381         Use do {...} while (0)
6382
6383 2001-01-20  Martin Buchholz <martin@xemacs.org>
6384
6385         * XEmacs 21.2.42 "Poseidon" is released.
6386
6387 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6388
6389         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
6390
6391 2001-01-19  Martin Buchholz  <martin@xemacs.org>
6392
6393         De-kludgify FIXED_TYPE free list frobbing.
6394         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
6395         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
6396         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
6397         * alloc.c (Lisp_Free): New pseudo lisp object definition.
6398         * alloc.c (LRECORD_FREE_P): New.
6399         * alloc.c (MARK_LRECORD_AS_FREE): New.
6400         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
6401         * alloc.c (STRUCT_FREE_P): Deleted.
6402         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
6403         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
6404         * alloc.c (STRING_CHARS_FREE_P): New.
6405         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
6406         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
6407         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
6408         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
6409         * alloc.c (resize_string): Use new definitions.
6410         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
6411         * alloc.c (verify_string_chars_integrity): Use new definitions.
6412         * alloc.c (compact_string_chars): Use new definitions.
6413         * alloc.c: Update monster comments.
6414         * lrecord.h (lrecord_type): Add some new lrecord types for
6415         alloc.c's use.
6416
6417 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6418
6419         Improve alignment hackery.
6420         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
6421         (max_align_t): Moved from opaque.h - general purpose.
6422         (ALIGN_PTR): Use size_t, not long.
6423         * opaque.h (max_align_t): Move to lisp.h.
6424
6425 2001-01-18  Norbert Koch  <nk@LF.net>
6426
6427         * gui.h: Fix and add prototypes to fix build problems.
6428
6429 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6430
6431         temacs is going away, so `dump-temacs' is now a bad name.
6432         * .dbxrc (dump-temacs): Rename to `dmp'.
6433         * .gdbinit (dump-temacs): Rename to `dmp'.
6434
6435 2001-01-17  Andy Piper  <andy@xemacs.org>
6436
6437         * glyphs.c (print_image_instance): comment to make martin happy.
6438
6439         * glyphs-x.c (x_redisplay_widget): update faces after a frame
6440         change.
6441
6442         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
6443         activation.
6444         (mswindows_tab_control_redisplay): warning suppression.
6445
6446         * glyphs-widget.c (widget_update): re-write to cope with updated
6447         items.
6448         (widget_instantiate): use new gui_item functions.
6449         (tab_control_update): deleted.
6450         (progress_gauge_update): deleted.
6451         (image_instantiator_progress_guage): take out update reference.
6452         (image_instantiator_tree_view): ditto.
6453         (image_instantiator_tab_control): ditto.
6454
6455         * gui.c (widget_gui_parse_item_keywords): new function. Do things
6456         Right the new way.
6457         (gui_item_add_keyval_pair): re-write to cope with descriptors and
6458         return whether anything was changed.
6459         (update_gui_item_keywords): as it sounds.
6460
6461         * gui.h: declare widget_gui_parse_item_keywords.
6462
6463         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
6464         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
6465
6466 2001-01-17  Martin Buchholz <martin@xemacs.org>
6467
6468         * XEmacs 21.2.41 "Polyhymnia" is released.
6469
6470 2001-01-16  Didier Verna  <didier@xemacs.org>
6471
6472         * glyphs.c (image_instantiate): don't use fallbacks when
6473         instantiating a face's background pixmap by inheritance.
6474
6475 2001-01-14  Mike Sperber <mike@xemacs.org>
6476
6477         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
6478         Conditionalize accordingly.
6479
6480 2001-01-16  Martin Buchholz  <martin@xemacs.org>
6481
6482         * dumper.c (pdump_file_get): Fix a compiler warning.
6483
6484 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6485
6486         Make Purify happy when pdumping.
6487         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
6488         iniitalizing all bits of new lisp object memory.
6489         * symbols.c (Fmake_local_variable): Likewise.
6490         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
6491         * symbols.c (Fdefvaralias): Likewise.
6492         * mule-charset.c (vars_of_mule_charset): Likewise.
6493
6494 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6495         Add the `-nd' flag when running pre-dump operations under the debugger.
6496         * .dbxrc (run-temacs): Add `-nd'.
6497         * .dbxrc (update-elc): Likewise.
6498         * .dbxrc (dump-temacs): Likewise.
6499         * .gdbinit (run-temacs): Likewise.
6500         * .gdbinit (check-temacs): Likewise.
6501         * .gdbinit (update-elc): Likewise.
6502         * .gdbinit (dump-temacs): Likewise.
6503
6504 2001-01-14  Martin Buchholz  <martin@xemacs.org>
6505
6506         Allow building 64-bit executables on AIX with GNU malloc, e.g.
6507         export OBJECT_MODE=64
6508         configure --pdump --use-union-type=no
6509         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
6510         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
6511
6512         * miscplay.c (sndcnv8U_2mono):
6513         Avoid two uses of `++' in the same expression.
6514         Suppresses a GCC warning.
6515
6516 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6517
6518         Make sure future compilers don't miscompile alloc.c.
6519         * alloc.c:
6520         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
6521         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
6522
6523 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6524
6525         * dumper.c: A little post-pdump-rename comment fixup.
6526
6527 2001-01-09  Jerry James  <james@eecs.ku.edu>
6528
6529         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
6530
6531 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6532
6533         * *.[ch]: Globally rename symbols using the following `pdump-rename'
6534         script:
6535         #!/bin/sh
6536         replace_symbol () {
6537           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
6538         }
6539
6540         replace_symbol pdump_wire_lists pdump_weak_object_chains
6541         replace_symbol pdump_wire_list dump_add_weak_object_chain
6542
6543         replace_symbol pdump_wires pdump_root_objects
6544         replace_symbol pdump_wire dump_add_root_object
6545
6546         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
6547         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
6548
6549         replace_symbol dumpstructinfos pdump_root_struct_ptrs
6550         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
6551         replace_symbol dumpstructinfo pdump_root_struct_ptr
6552         replace_symbol dumpstruct dump_add_root_struct_ptr
6553
6554         replace_symbol dumpopaque dump_add_opaque
6555         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
6556         replace_symbol dumpopaqueinfos pdump_opaques
6557         replace_symbol dumpopaqueinfo pdump_opaque
6558
6559         replace_symbol nb_structdump nb_root_struct_ptrs
6560         replace_symbol nb_opaquedump nb_opaques
6561
6562         replace_symbol align_table pdump_align_table
6563         replace_symbol dump_header pdump_header
6564
6565         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
6566         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
6567
6568
6569 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6570
6571         * s/aix4.h: Keep the C for AIX compiler from overaggressively
6572         optimizing bytecount_to_charcount().
6573
6574 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6575
6576         * config.h.in:
6577         (HAVE_DLFCN_H): Removed.
6578         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
6579
6580 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6581
6582         Portable dumper maintainability improvements.
6583         * alloc.c (staticpro):
6584         * alloc.c (staticpro_nodump):
6585         * alloc.c (garbage_collect_1):
6586         * alloc.c (reinit_alloc_once_early):
6587         * alloc.c (init_alloc_once_early):
6588         * alloc.c: Move dumper functions to alloc.c.
6589         * dumper.c (pdump_backtrace):
6590         * dumper.c (pdump_dump_structs):
6591         * dumper.c (pdump_dump_opaques):
6592         * dumper.c (pdump_dump_rtables):
6593         * dumper.c (pdump_dump_wired):
6594         * dumper.c (pdump):
6595         * dumper.c (pdump_load_check):
6596         * dumper.c (pdump_load_finish):
6597         * dumper.c (pdump_file_unmap):
6598         * dumper.c (pdump_file_get):
6599         * dumper.c (pdump_resource_free):
6600         * dumper.c (pdump_resource_get):
6601         * dumper.c (pdump_file_free):
6602         * dumper.c (pdump_file_try):
6603         * dumper.c (pdump_load):
6604         Remove fixed size limits on staticpro(), staticpro_nodump(),
6605         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
6606         Remove custom code for dumping lrecord_implementations_table - use
6607         dumpopaque instead.
6608         Remove (most of the) custom code for dumping staticpros - dump it
6609         like any other dynarr.
6610
6611         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
6612         * dumper.c: Moved functions from alloc.c.
6613         * alloc.c (dumpstruct): Moved to dumper.c.
6614         * alloc.c (dumpopaque): Likewise.
6615         * alloc.c (pdump_wire): Likewise.
6616         * alloc.c (pdump_wire_list): Likewise.
6617
6618         * lisp.h (Dynarr_sizeof): New.
6619         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
6620         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
6621         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
6622
6623         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
6624         * lisp.h (dumpopaque): ditto.
6625         * lisp.h (pdump_wire): ditto.
6626         * lisp.h (pdump_wire_list): ditto.
6627
6628 2001-01-09  Martin Buchholz  <martin@xemacs.org>
6629
6630         * make-src-depend (PrintPatternDeps):
6631         Use `sort' to make output independent of perl version.
6632
6633 2001-01-08  Martin Buchholz  <martin@xemacs.org>
6634
6635         Port to Netbsd 1.5.
6636         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
6637         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
6638
6639 2001-01-03  Didier Verna  <didier@xemacs.org>
6640
6641         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
6642         that `focus_frame' is alive before thinking of calling
6643         `redisplay_redraw_cursor' on it.
6644
6645 2001-01-08  Martin Buchholz <martin@xemacs.org>
6646
6647         * XEmacs 21.2.40 is released.
6648
6649 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6650
6651         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
6652
6653 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6654
6655         * alloc.c (dbg_valmask): Make const.
6656         * alloc.c (dbg_typemask): Make const.
6657         * alloc.c (dbg_USE_UNION_TYPE): Make const.
6658         * alloc.c (dbg_valbits): Make const.
6659         * alloc.c (dbg_gctypebits): Make const.
6660
6661 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
6662
6663         * redisplay-x.c (x_bevel_area):
6664         redisplay.h (struct rune):
6665         Typo fixes in comments.
6666
6667 2001-01-05  Andy Piper  <andy@xemacs.org>
6668
6669         * glyphs-x.c (x_redisplay_widget): use size changed for offset
6670         adjustment.
6671
6672         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
6673
6674 2001-01-05  Martin Buchholz  <martin@xemacs.org>
6675
6676         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
6677
6678         * mule-ccl.c (stack_idx_of_map_multiple):
6679         Non const global data must not be initialized!
6680         Found by MIYASHITA Hisashi.
6681
6682 2001-01-02  Andy Piper  <andy@xemacs.org>
6683
6684         * frame.c (change_frame_size): make sure frame size is always
6685         marked as changed.
6686
6687         * glyphs.c (image_instance_layout): minor code reuse.
6688
6689         * window.c (Fcurrent_window_configuration): revert previous
6690         change.
6691
6692 2001-01-02  Martin Buchholz  <martin@xemacs.org>
6693
6694         * glyphs.h:
6695         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
6696
6697 2000-12-31  Andy Piper  <andy@xemacs.org>
6698
6699         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
6700         when widget gets unmapped.
6701
6702         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
6703         function. Make sure widgets losing focus don't just drop it.
6704         (handle_focus_event_1): record the widget with focus.
6705
6706 2000-12-31  Andy Piper  <andy@xemacs.org>
6707
6708         * window.c (allocate_window): use
6709         make_image_instance_cache_hash_table.
6710         (make_dummy_parent): ditto.
6711         (Fset_window_configuration): ditto.
6712
6713         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
6714
6715         * glyphs.c (process_image_string_instantiator): use
6716         INSTANTIATOR_TYPE.
6717         (get_image_instantiator_governing_domain): ditto.
6718         (normalize_image_instantiator): ditto.
6719         (instantiate_image_instantiator): ditto.
6720         (make_image_instance_1): ditto.
6721         (image_instantiate): ditto. Key on glyph *and* instantiator type.
6722         (instantiator_eq_equal): new function for use with instance hash
6723         tables.
6724         (instantiator_eq_hash): ditto.
6725         (make_image_instance_cache_hash_table): create a suitable hash
6726         table for storing image instances.
6727
6728         * elhash.h (hash_table_weakness): new internal weakness type
6729         HASH_TABLE_KEY_CAR_VALUE_WEAK.
6730         declare new functions.
6731
6732         * elhash.c (finish_marking_weak_hash_tables): introduce yet
6733         another weakness type for glyphs.
6734         (make_standard_lisp_hash_table): new function split out from
6735         make_general_lisp_hash_table.
6736         (make_lisp_hash_table): call make_standard_lisp_hash_table.
6737         (hash_table_instantiate): ditto.
6738         (Fmake_hash_table): ditto.
6739
6740 2000-12-31  Martin Buchholz <martin@xemacs.org>
6741
6742         * XEmacs 21.2.39 is released.
6743
6744 2000-12-29  Andy Piper  <andy@xemacs.org>
6745
6746         * menubar.c (menubar_visible_p_changed): signal the frame changed.
6747
6748         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
6749         the frame has changed so that we pick up geometry changes such as
6750         menubar visibility.
6751
6752 2000-12-28  Andy Piper  <andy@xemacs.org>
6753
6754         * lastfile.c (my_ebss): make a char array so we can pad the
6755         bss. Fixes cygwin unexec.
6756
6757         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
6758
6759 2000-12-26  Andy Piper  <andy@xemacs.org>
6760
6761         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
6762         comments and try and be more precise about a non-/SIGIO world.
6763         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
6764         SIGIO.
6765
6766         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
6767         we don't normalize to zero width or height.
6768
6769 2000-12-24  Andy Piper  <andy@xemacs.org>
6770
6771         * Makefile.in.in (ldflags): add -mwindows when appropriate.
6772
6773 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
6774
6775         * s/sco5.h: SCO 5 has pty support.
6776
6777 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
6778
6779         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
6780         input-method-xlib.c contains whole contents of input-method-xfs.c,
6781         so we can use input-method-xlib.c's code for USE_XFONTSET
6782         using #ifdefs.
6783         * input-method-xfs.c: removed.
6784
6785 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
6786
6787         * file-coding.h (enum coding_category_type): reorder enumerators to
6788         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
6789         (now one greater than largest real coding_category_type enumerator).
6790         * file-coding.c (coding_category_symbol, coding_category_by_priority,
6791         coding_category_system, fcd_descriptihon_1, decode_coding_category,
6792         Fcoding_category_list, Fset_coding_priority_list,
6793         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
6794         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
6795
6796 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6797
6798         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
6799         * redisplay-output.c (redisplay_output_window): Clear top of window
6800         when face is changed.
6801         * redisplay-x.c (x_redraw_exposed_window): Call
6802         redisplay_clear_top_of_window.
6803         * redisplay.h: Publish redisplay_clear_top_of_window.
6804
6805 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6806
6807         * buffer.c (Fkill_buffer): Map over all devices.
6808         * window.c (window_loop): Remove UNSHOW_BUFFER code.
6809         (list_windows): New function.
6810         (list_all_windows): Ditto.
6811         (Freplace_buffer_in_windows): Use them.
6812
6813 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
6814
6815         * database.c (berkdb_subtype): Recognize new subtype `queue'.
6816         (Fopen_database): Use `db_create' instead of `db_open'.
6817         (syms_of_database): Initialize Qqueue.
6818
6819 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
6820
6821         * buffer.c (common_init_complex_vars_of_buffer): Initialize
6822         buffer_local_face_property.
6823         * buffer.h (struct buffer): New member buffer_local_face_property.
6824         * window.c (Fset_window_buffer):  Mark window's face as changed
6825         when buffer has buffer local face.
6826         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
6827         * objects.c (color_after_change): Set buffer_local_face_property
6828         when locale of face specifier is buffer.
6829         * objects.c (font_after_change): Ditto.
6830         * objects.c (face_boolean_after_change): Ditto.
6831         * glyphs.c (image_after_change): Ditto.
6832
6833 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6834
6835         * nt.c (mswindows_fstat): Report file permissions, volume serial
6836         number, etc. Code adapted from FSF Emacs 20.7.
6837
6838 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6839
6840         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
6841         of stat when we don't have symbolic links, to make sure
6842         mswindows_stat is called on mswindows.
6843
6844 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6845
6846         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
6847
6848 2000-12-12  Martin Buchholz  <martin@xemacs.org>
6849
6850         * doprnt.c (emacs_doprnt_1): More printing fixes.
6851         Make printing of numbers compatible with libc and FSF Emacs.
6852         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
6853         Use the system printf to do most of the hard work of formatting,
6854         instead of doprnt_1().
6855         Calculate memory to allocate for format string.
6856         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
6857         (doprnt_1): Cleaner code and documentation.
6858
6859 2000-12-01  Jerry James  <james@eecs.ukans.edu>
6860
6861         * Makefile.in.in: Use the loop variable to install headers.
6862
6863 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6864
6865         * window.c (Fsplit_window): Don't invalidate face cache.
6866
6867 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6868
6869         * minibuf.c (Fall_completions): Undo the previous change
6870         which removed checking elements start with space.
6871
6872 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6873
6874         * mule-canna.c: Didier suppression.
6875
6876 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6877
6878         * mule-canna.c: rename static unsigned char buf[] to key_buffer
6879         (warning suppression).  Add English comment translations.
6880
6881 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6882
6883         * unexelfsgi.c (unexec): Better test for mmap failure.
6884
6885 2000-12-05  Martin Buchholz <martin@xemacs.org>
6886
6887         * XEmacs 21.2.38 is released.
6888
6889 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6890
6891         * redisplay.c (bar-cursor): Make a user variable.
6892
6893         * symsinit.h: Add init_postgresql_from_environment.
6894
6895 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6896
6897         * regex.c: Convert to clean C.
6898
6899 2000-12-05  Dan Holmsand  <dan@eyebee.com>
6900
6901         * realpath.c:
6902         Don't #include sysfile.h. Revert to duplicating PATH_MAX
6903         initialization.
6904         (sys_readlink): renamed to system_readlink to avoid conflict with
6905         the other sys_readlink.
6906
6907 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
6908
6909         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
6910
6911 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
6912
6913         * postgresql.c (init_postgresql_from_environment): new function.
6914         (vars_of_postgresql): Move code initializing Lisp variables out and
6915         into init_postgresql_from_environment.
6916         emacs.c (main_1): Call init_postgresql_from_environment if and only
6917         if running a dumped XEmacs.
6918
6919 2000-08-31  Dan Holmsand  <dan@eyebee.com>
6920
6921         * buffer.c: Make find-file-compare-truenames default to true on
6922         windows.
6923
6924         * realpath.c (win32_abs_start):
6925         (cygwin_readlink):
6926         (win32_readlink): New functions.
6927         (xrealpath): Return really real filenames on windows.
6928
6929         * fileio.c (Ffile_truename): Make file-truename work on windows.
6930
6931 2000-11-29  Didier Verna  <didier@xemacs.org>
6932
6933         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
6934         * faces.c (update_face_cachel_data): use it.
6935         * faces.c (add_face_cachel): use it. Complete background pixmap
6936         frobbing in face cache if `update_face_cachel_data' has not done so.
6937
6938 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
6939
6940         * search.c (string_match_1): Don't set last_thing_searched
6941         when search failed.
6942
6943 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
6944
6945         * buffer.c: Include casetab.h
6946         (common_init_complex_vars_of_buffer): Use new case-table object.
6947         * buffer.h: Include casetab.h
6948         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
6949         (DOWNCASE_TABLE_OF): Ditto.
6950         * bufslots.h: Remove char-tables and add case-table.
6951         * casetab.c: Include casetab.h
6952         (CASE_TABLE_P): Removed.
6953         (mark_case_table): New function.
6954         (allocate_case_table): New function.
6955         (Fcase_table_p): Use new case-table.
6956         (case_table_char): New function.
6957         (Fget_case_table): Ditto.
6958         (Fput_case_table): Ditto.
6959         (Fput_case_table_pair): Ditto.
6960         (Fcopy_case_table): Ditto.
6961         (Fcurrent_case_table): Return case-table.
6962         (Fstandard_case_table): Return case-table.
6963         (Fset_case_table): Fix doc-string.
6964         (set_case_table): Use case-table
6965         (syms_of_casetab): DEFSUBR new functions.
6966         (complex_vars_of_casetab): Set up standard case-table.
6967         * casetab.h: New file.
6968         * editfns.c: Include casetab.h
6969         (Fcompare_buffer_substrings): Use case-table.
6970         * inline.c: Include casetab.h
6971         * lisp.h: Remove bogus extern.
6972         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
6973         * search.c: Include casetab.h
6974         (TRANSLATE_ASCII): Removed.
6975         (TRANSLATE): Unconditionally translate character.
6976         (looking_at_1): Use case-table.
6977         (string_match_1): Ditto.
6978         (fast_string_match): Ditto.
6979         (search_command): Ditto.
6980         (search_buffer): Separate boyer_moore.  Check whether
6981         boyer_moore is possible.
6982         (simple_search): New function.
6983         (boyer_moore): Separated from search_buffer. Translate char.
6984
6985 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
6986
6987         * regex.c (RE_TR_ASCII): Removed.
6988         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
6989         (PATFETCH): Call PATFETCH_RAW.
6990         (PATFETCH_RAW): Fetch Emchar.
6991         (PATUNFETCH): Decrement charptr.
6992         (GET_BUFFER_SPACE): Rename b to buf_end.
6993         (BUF_PUSH): Ditto.
6994         (BUF_PUSH_2): Ditto.
6995         (BUF_PUSH_3): Ditto.
6996         (EXTEND_BUFFER): Ditto.
6997         (SET_LIST_BIT): Ditto.
6998         (regex_compile): Ditto.  Translate non ASCII char.
6999         (compile_range): Ditto.
7000         (re_search_2): Ditto.
7001         (re_match_2_internal): Compare Emchar.
7002         (bcmp_translate): Ditto.
7003
7004 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7005
7006         * lisp.h (basic char/int typedefs):  comment improvement.
7007
7008 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7009
7010         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7011         unstomp inhibit_site_lisp.  Improve comments.
7012
7013 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7014
7015         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7016
7017 2000-11-28  Andy Piper  <andy@xemacs.org>
7018
7019         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7020         clipped display for windows in the gutter also.
7021         (redisplay_display_boxes_in_window_p): change semantics of return
7022         codes to be more intuitive.
7023
7024         * gutter.h: declare display_boxes_in_gutter_p.
7025
7026         * gutter.c (display_boxes_in_gutter_p): new function for
7027         redisplay.
7028
7029 2000-11-22  Andy Piper  <andy@xemacs.org>
7030
7031         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7032         autodetect domain.
7033
7034 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7035
7036         * callproc.c (Fold_call_process_internal):
7037         * gpm.c (Freceive_gpm_event):
7038         (tty_get_foreign_selection): Might be just warning supression.
7039         * fileio.c (Fwrite_region_internal):
7040         (Fset_visited_file_modtime):
7041         * keymap.c (event_matches_key_specifier_p):
7042         Initialize GCPROed variable.
7043
7044         * menubar-x.c (command_builder_find_menu_accelerator):
7045         Initialize before use.
7046
7047 2000-11-23  Andy Piper  <andy@xemacs.org>
7048
7049         * unexcw.c (unexec): make the resulting executable executable.
7050
7051 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7052
7053         * doc.c (get_doc_string):
7054         Use size_t, not int, for result of XSTRING_LENGTH.
7055
7056         * cmds.c (Fdelete_char):
7057         * cmds.c (Fpoint_at_eol):
7058         * cmds.c (Fself_insert_command):
7059         Use EMACS_INT, not int, for result of XINT.
7060         Someday, someone will want to insert more than 2**31 identical characters.
7061
7062         * cmds.c (Fdelete_char):
7063         * cmds.c (Fdelete_backward_char):
7064         * syntax.c (Fforward_word):
7065         * syntax.c (Fforward_comment):
7066         Make COUNT argument optional, for consistency with forward-char et al.
7067
7068 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7069
7070         * lisp.h:
7071         * print.c (long_to_string):
7072         Return a useful value: the pointer at end of data written.
7073
7074         * doprnt.c:
7075         Use `static const char * const' for constant strings.
7076         (union printf_arg): Delete `i', `ui' members.
7077         (get_doprnt_args):
7078         (emacs_doprnt_1):
7079         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7080         Do all printf-ing via the `l' specifier.
7081         Use EMACS_INT instead of int.
7082         Optimize.
7083
7084 2000-11-20  Didier Verna  <didier@xemacs.org>
7085
7086         * faces.c (update_face_cachel_data): don't frob the background
7087         pixmap when the window is being created. The face is needed but
7088         does not exist yet.
7089
7090 2000-11-20  Andy Piper  <andy@xemacs.org>
7091
7092         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7093         messing with a debug environment.
7094
7095 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7096
7097         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7098
7099 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7100
7101         * casetab.c (Fcase_table_p): Fix compile error and crash.
7102
7103 2000-11-18  Philip Aston  <philipa@mail.com>
7104
7105         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7106
7107 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7108
7109         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7110         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7111
7112 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7113
7114         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7115         * unexelf.c: Use HAVE_ELF_H.
7116         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7117         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7118         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7119         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7120         for testing.
7121         So this is an unexelfsgi.c from a different line of development.
7122
7123 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7124
7125         * regex.c (RE_TR_ASCII): New function.
7126         (RE_TRANSLATE): Call it.
7127
7128 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7129
7130         * buffer.h (TRT_TABLE_OF): Remove assert.
7131         (IN_TRT_TABLE_DOMAIN): Removed.
7132
7133 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7134
7135         * free-hook.c (log_gcpro):
7136         (show_gcprohist): Add support for GCPRO5.
7137
7138 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7139
7140         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7141
7142 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7143
7144         * symeval.h: Declare flush_all_buffer_local_cache.
7145
7146         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7147         (flush_buffer_local_cache): Added.
7148         (flush_all_buffer_local_cache): Added.
7149
7150         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7151
7152         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7153         (pdump_dump_data): Ditto.
7154         (pdump_reloc_one): Ditto.
7155         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7156         before dumping.
7157
7158
7159 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7160
7161         * buffer.c: Remove if 0'ed entry.
7162         * buffer.h: Rewrite TRT to use char-table.
7163         * bufslots.h: Remove mirror tables.
7164         * casetab.c: Remove mirror tables.
7165         (CASE_TABLE_P): New macro.
7166         (Fcase_table_p): Element of a case table is string or char-table.
7167         (make_mirror_trt_table): Removed.
7168         (set_case_table): Setup char-table from strings for backward
7169         compatibility.
7170         * dired.c (Fdirectory_files):
7171         * dired-msw.c: (mswindows_get_files):
7172         * lisp.h: Change prototype of re_pattern_buffer.
7173         * regex.c: (RE_TRANSLATE): New macro.
7174         (TRANSLATE_P): Ditto.
7175         Change translate to type RE_TRANSLATE_TYPE.
7176         * regex.h: Define RE_TRANSLATE_TYPE
7177         * search.c (TRANSLATE): New macro.
7178         (TRANSLATE_ASCII): New macro.
7179         Translate table is changed to Lisp_Object.
7180         (signal_failure): Inhibit return.
7181
7182 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7183
7184         * device-msw.c:
7185         * eldap.c:
7186         * event-Xt.c:
7187         * event-stream.c:
7188         * print.c:
7189         Do UNGCPRO before return.
7190
7191 2000-11-14  Martin Buchholz <martin@xemacs.org>
7192
7193         * XEmacs 21.2.37 is released.
7194
7195 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7196
7197         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7198         Add comments about discarded return value.
7199
7200 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7201
7202         * callint.c:
7203         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7204
7205 2000-10-27  Andy Piper  <andy@xemacs.org>
7206
7207         * gutter.c (Fset_default_gutter_position): default left and right
7208         gutters to visible.
7209         (calculate_gutter_size): calculate resonable heuristic for left
7210         and right gutter sizes.
7211         (specifier_vars_of_gutter): change left and right gutter sizes to
7212         autodetect.
7213         (calculate_gutter_size_from_display_lines): new function.
7214         (output_gutter): check for resizing on left and right gutters.
7215         (clear_gutter): don't special case top and left gutters.
7216         (specifier_vars_of_gutter): use new signature for
7217         set_specifier_caching.
7218
7219         * glyphs-x.c (x_redisplay_widget): spelling fix.
7220         * glyphs.c (specifier_vars_of_glyphs):
7221         * menubar.c (specifier_vars_of_menubar):
7222         * redisplay.c (specifier_vars_of_redisplay):
7223         * toolbar.c (specifier_vars_of_toolbar):
7224         * window.c (specifier_vars_of_window):
7225         * scrollbar.c (specifier_vars_of_scrollbar):
7226         (complex_vars_of_scrollbar): use new signature for
7227         set_specifier_caching.
7228
7229         * specifier.c (set_specifier_caching): include recompute flag.
7230         (recompute_one_cached_specifier_in_window): always recompute if
7231         flag set.
7232         (recompute_one_cached_specifier_in_frame): ditto.
7233
7234         * specifier.h (struct specifier_caching): add recompute flag.
7235
7236 2000-10-24  Andy Piper  <andy@xemacs.org>
7237
7238         * unexcw.c (copy_executable_and_dump_data_section): add new
7239         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7240         5.0 happy.
7241
7242 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7243
7244         * console-x.h (x_device): New member modifier_release_time.
7245         * event-Xt.c (x_handle_sticky_modifiers):
7246         Bound interval modifier keys are sticky.
7247         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7248         * events.h: extern it.
7249
7250 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7251
7252         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7253
7254 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7255
7256         * event-stream.c (execute_command_event): Preserve current_events
7257         and the like when event is misc-user-event.
7258         Inhibit quit during the call to maybe_echo_keys.
7259
7260 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7261
7262         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7263         symlink when buffer is killed.
7264         (inhibit_clash_detection): New variable.
7265
7266 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7267
7268         * console.c (Fset_input_method): Trigger redisplay on tty.
7269
7270 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7271
7272         * process.c (Fprocess_status): Revert to previous behavior:
7273         (process-status "nosuchprocess") ==> nil
7274
7275 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7276
7277         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7278         Work around another GCC 2.95.2 optimizer bug.
7279
7280 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7281
7282         * process.c (Fget_process): Use LIST_LOOP_2.
7283         (kill_buffer_processes): Use LIST_LOOP_2.
7284
7285         * minibuf.c (Fall_completions):
7286         Delete old non-functional code for FSF fourth argument.
7287
7288         * frame.c (frame_matches_frame_spec):
7289         Renamed from `frame_matches_frametype'.  Update all callers.
7290         (device_matches_device_spec):
7291         Renamed from 'device_matches_console_spec'.  Update all callers.
7292
7293         * doc.c (Fsubstitute_command_keys):
7294         Remove buffer overflow crash.  Small code cleanups.
7295
7296         * casetab.c (check_case_table): Simpler code.
7297
7298         * window.c (Freplace_buffer_in_windows):
7299         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7300         (and similar implementation) as Fdelete_windows_on.
7301         Update all callers.
7302
7303         * alloc.c (Fmake_list):
7304         * alloc.c (make_vector):
7305         * alloc.c (Fmake_vector):
7306         * alloc.c (make_bit_vector):
7307         * alloc.c (Fmake_bit_vector):
7308         * alloc.c (Fbit_vector):
7309         * alloc.c (Fmake_string):
7310         * alloc.c (Fpurecopy):
7311         * alloc.c (Fmemory_limit):
7312         * buffer.c:
7313         * buffer.c (Fget_buffer):
7314         * buffer.c (Fkill_buffer):
7315         * buffer.c (complex_vars_of_buffer):
7316         * bytecode.c (Fcompiled_function_stack_depth):
7317         * callint.c (Fprefix_numeric_value):
7318         * event-stream.c:
7319         * event-stream.c (Fread_key_sequence):
7320         * casetab.c:
7321         * casetab.c (Fcase_table_p):
7322         * casetab.c (check_case_table):
7323         * casetab.c (Fset_case_table):
7324         * casetab.c (Fset_standard_case_table):
7325         * chartab.c:
7326         * chartab.c (Fchar_table_type):
7327         * chartab.c (Freset_char_table):
7328         * chartab.c (Fget_char_table):
7329         * chartab.c (Fget_range_char_table):
7330         * chartab.c (Fput_char_table):
7331         * chartab.c (Fmap_char_table):
7332         * chartab.c (Fcategory_table_p):
7333         * chartab.c (Fcheck_category_at):
7334         * chartab.c (Fchar_in_category_p):
7335         * chartab.c (Fcategory_table):
7336         * chartab.c (Fcopy_category_table):
7337         * chartab.c (Fset_category_table):
7338         * chartab.c (Fcategory_designator_p):
7339         * chartab.c (Fcategory_table_value_p):
7340         * cmds.c (Fdelete_char):
7341         * cmds.c (Fdelete_backward_char):
7342         * cmds.c (Fself_insert_command):
7343         * cmds.c (Fself_insert_internal):
7344         * console.c (Fvalid_console_type_p):
7345         * console.c (Fcdfw_console):
7346         * console.c (Fconsole_type):
7347         * console.c (Fconsole_name):
7348         * console.c (Fconsole_device_list):
7349         * console.c (Fconsole_on_window_system_p):
7350         * data.c:
7351         * data.c (Feq):
7352         * data.c (Fold_eq):
7353         * data.c (Fsubr_interactive):
7354         * data.c (Fchar_to_int):
7355         * data.c (Fint_to_char):
7356         * data.c (Fsetcar):
7357         * data.c (Fsetcdr):
7358         * data.c (Fnumber_to_string):
7359         * data.c (Fstring_to_number):
7360         * data.c (Frem):
7361         * database.c (mark_database):
7362         * database.c (finalize_database):
7363         * database.c (Fdatabase_live_p):
7364         * database.c (Fdatabasep):
7365         * device-x.c (Fx_get_resource):
7366         * device.c (Fdfw_device):
7367         * dired.c:
7368         * dired.c (Ffile_name_completion):
7369         * dired.c (Ffile_name_all_completions):
7370         * dired.c (Fuser_name_completion):
7371         * dired.c (Fuser_name_completion_1):
7372         * dired.c (Fuser_name_all_completions):
7373         * doc.c (Fdocumentation):
7374         * doc.c (Fdocumentation_property):
7375         * doc.c (Fsubstitute_command_keys):
7376         * editfns.c:
7377         * editfns.c (Fchar_to_string):
7378         * editfns.c (Fstring_to_char):
7379         * editfns.c (Ftemp_directory):
7380         * editfns.c (Finsert_char):
7381         * editfns.c (Fbuffer_substring_no_properties):
7382         * editfns.c (Fnarrow_to_region):
7383         * editfns.c (Fchar_equal):
7384         * editfns.c (Fchar_Equal):
7385         * editfns.c (Ftranspose_regions):
7386         * emacs.c (Fdump_emacs):
7387         * eval.c (Fthrow):
7388         * eval.c (Fcommand_execute):
7389         * eval.c (Fautoload):
7390         * eval.c (Fbacktrace):
7391         * eval.c (Fbacktrace_frame):
7392         * events.c:
7393         * events.c (Fcopy_event):
7394         * events.c (Fcharacter_to_event):
7395         * events.c (Fevent_button):
7396         * events.c (Fevent_process):
7397         * extents.c:
7398         * extents.c (Fnext_extent_change):
7399         * extents.c (Fextent_property):
7400         * faces.c (Ffacep):
7401         * faces.c (Fmake_face):
7402         * file-coding.c:
7403         * file-coding.c (Fencode_shift_jis_char):
7404         * file-coding.c (Fencode_big5_char):
7405         * fileio.c (Ffile_name_directory):
7406         * fileio.c (Ffile_name_nondirectory):
7407         * fileio.c (Ffile_name_as_directory):
7408         * fileio.c (Fdirectory_file_name):
7409         * fileio.c (Ffile_truename):
7410         * fileio.c (Fsubstitute_in_file_name):
7411         * fileio.c (Ffile_modes):
7412         * fileio.c (Fset_file_modes):
7413         * fileio.c (Fset_default_file_modes):
7414         * fileio.c (Fverify_visited_file_modtime):
7415         * floatfns.c (Facos):
7416         * floatfns.c (Fasin):
7417         * floatfns.c (Fatan):
7418         * floatfns.c (Fcos):
7419         * floatfns.c (Fsin):
7420         * floatfns.c (Ftan):
7421         * floatfns.c (Fbessel_j0):
7422         * floatfns.c (Fbessel_j1):
7423         * floatfns.c (Fbessel_jn):
7424         * floatfns.c (Fbessel_y0):
7425         * floatfns.c (Fbessel_y1):
7426         * floatfns.c (Fbessel_yn):
7427         * floatfns.c (Ferf):
7428         * floatfns.c (Ferfc):
7429         * floatfns.c (Flog_gamma):
7430         * floatfns.c (Fexp):
7431         * floatfns.c (Fexpt):
7432         * floatfns.c (Flog):
7433         * floatfns.c (Flog10):
7434         * floatfns.c (Fsqrt):
7435         * floatfns.c (Fcube_root):
7436         * floatfns.c (Facosh):
7437         * floatfns.c (Fasinh):
7438         * floatfns.c (Fatanh):
7439         * floatfns.c (Fcosh):
7440         * floatfns.c (Fsinh):
7441         * floatfns.c (Ftanh):
7442         * floatfns.c (Fabs):
7443         * floatfns.c (Ffloat):
7444         * floatfns.c (Flogb):
7445         * floatfns.c (Fceiling):
7446         * floatfns.c (Ffloor):
7447         * floatfns.c (Fround):
7448         * floatfns.c (Ftruncate):
7449         * floatfns.c (Ffceiling):
7450         * floatfns.c (Fffloor):
7451         * floatfns.c (Ffround):
7452         * floatfns.c (Fftruncate):
7453         * fns.c (Fstring_equal):
7454         * fns.c (Fstring_lessp):
7455         * fns.c (concat2):
7456         * fns.c (concat3):
7457         * fns.c (vconcat2):
7458         * fns.c (vconcat3):
7459         * fns.c (Fsubstring):
7460         * fns.c (Fassoc):
7461         * fns.c (Fold_assoc):
7462         * fns.c (assoc_no_quit):
7463         * fns.c (Fassq):
7464         * fns.c (Fold_assq):
7465         * fns.c (assq_no_quit):
7466         * fns.c (Frassoc):
7467         * fns.c (Fold_rassoc):
7468         * fns.c (Frassq):
7469         * fns.c (Fold_rassq):
7470         * fns.c (rassq_no_quit):
7471         * fns.c (Fremassoc):
7472         * fns.c (remassoc_no_quit):
7473         * fns.c (Fremassq):
7474         * fns.c (remassq_no_quit):
7475         * fns.c (Fremrassoc):
7476         * fns.c (Fremrassq):
7477         * fns.c (remrassq_no_quit):
7478         * fns.c (Fsort):
7479         * fns.c (Fplist_get):
7480         * fns.c (Fplist_put):
7481         * fns.c (Fplist_remprop):
7482         * fns.c (Fplist_member):
7483         * fns.c (Flax_plist_get):
7484         * fns.c (Flax_plist_put):
7485         * fns.c (Flax_plist_remprop):
7486         * fns.c (Flax_plist_member):
7487         * fns.c (Fequal):
7488         * fns.c (Fold_equal):
7489         * fns.c (Frequire):
7490         * fns.c (Fbase64_encode_region):
7491         * fns.c (Fbase64_encode_string):
7492         * fns.c (Fbase64_decode_region):
7493         * frame.c:
7494         * frame.c (frame_matches_frame_spec):
7495         * frame.c (device_matches_device_spec):
7496         * frame.c (next_frame):
7497         * frame.c (previous_frame):
7498         * frame.c (Fnext_frame):
7499         * frame.c (Fprevious_frame):
7500         * frame.c (Fframe_property):
7501         * frame.c (Fset_frame_height):
7502         * frame.c (Fset_frame_size):
7503         * frame.h:
7504         * glyphs.c:
7505         * glyphs.c (if):
7506         * glyphs.c (decode_error_behavior_flag):
7507         * glyphs.c (Fmake_image_instance):
7508         * indent.c (Findent_to):
7509         * intl.c (Fignore_defer_gettext):
7510         * keymap.c (Fkeymapp):
7511         * keymap.c (Flookup_key):
7512         * lread.c:
7513         * lread.c (Fload_internal):
7514         * lread.c (Feval_buffer):
7515         * lread.c (Feval_region):
7516         * macros.c (Fexecute_kbd_macro):
7517         * marker.c (set_marker_internal):
7518         * marker.c (Fset_marker):
7519         * marker.c (set_marker_restricted):
7520         * marker.c (Fcopy_marker):
7521         * marker.c (noseeum_copy_marker):
7522         * menubar.c:
7523         * menubar.c (Fpopup_menu):
7524         * minibuf.c:
7525         * mule-charset.c (Fcharset_name):
7526         * mule-charset.c (Fchar_charset):
7527         * mule-charset.c (Fchar_octet):
7528         * mule-charset.c (Fsplit_char):
7529         * mule-wnnfns.c (Fwnn_open):
7530         * mule-wnnfns.c (Fwnn_dict_comment):
7531         * mule-wnnfns.c (Fwnn_quit_henkan):
7532         * mule-wnnfns.c (Fwnn_word_toroku):
7533         * mule-wnnfns.c (Fwnn_word_sakujo):
7534         * mule-wnnfns.c (Fwnn_word_use):
7535         * mule-wnnfns.c (Fwnn_hindo_set):
7536         * objects.c:
7537         * objects.c (Fmake_color_instance):
7538         * objects.c (Fmake_font_instance):
7539         * print.c (Fwrite_char):
7540         * process.c:
7541         * process.c (mark_process):
7542         * process.c (print_process):
7543         * process.c (get_process_from_usid):
7544         * process.c (Fprocessp):
7545         * process.c (Fprocess_live_p):
7546         * process.c (Fget_process):
7547         * process.c (Fget_buffer_process):
7548         * process.c (get_process):
7549         * process.c (Fprocess_id):
7550         * process.c (Fprocess_name):
7551         * process.c (Fprocess_command):
7552         * process.c (init_process_io_handles):
7553         * process.c (start_process_unwind):
7554         * process.c (Fstart_process_internal):
7555         * process.c (Fopen_multicast_group_internal):
7556         * process.c (Fset_process_window_size):
7557         * process.c (read_process_output):
7558         * process.c (send_process):
7559         * process.c (Fprocess_tty_name):
7560         * process.c (Fset_process_buffer):
7561         * process.c (Fprocess_buffer):
7562         * process.c (Fprocess_mark):
7563         * process.c (set_process_filter):
7564         * process.c (Fset_process_filter):
7565         * process.c (Fprocess_filter):
7566         * process.c (Fprocess_send_region):
7567         * process.c (Fprocess_send_string):
7568         * process.c (exec_sentinel):
7569         * process.c (Fset_process_sentinel):
7570         * process.c (Fprocess_sentinel):
7571         * process.c (status_notify):
7572         * process.c (Fprocess_status):
7573         * process.c (Fprocess_exit_status):
7574         * process.c (process_send_signal):
7575         * process.c (Fprocess_send_eof):
7576         * process.c (deactivate_process):
7577         * process.c (remove_process):
7578         * process.c (Fdelete_process):
7579         * process.c (kill_buffer_processes):
7580         * process.c (Fprocess_kill_without_query):
7581         * process.c (Fprocess_kill_without_query_p):
7582         * rangetab.c:
7583         * rangetab.c (Fget_range_table):
7584         * rangetab.c (Fput_range_table):
7585         * rangetab.c (Fremove_range_table):
7586         * rangetab.c (Fclear_range_table):
7587         * search.c:
7588         * search.c (Fskip_chars_forward):
7589         * search.c (Fskip_chars_backward):
7590         * search.c (Fskip_syntax_forward):
7591         * search.c (Fskip_syntax_backward):
7592         * search.c (search_command):
7593         * search.c (Freplace_match):
7594         * search.c (Fregexp_quote):
7595         * select.c (Fown_selection_internal):
7596         * select.c (Fselection_owner_p):
7597         * select.c (Fselection_exists_p):
7598         * select.c (Fget_selection_internal):
7599         * specifier.c:
7600         * symbols.c:
7601         * symbols.c (Fintern):
7602         * symbols.c (Fintern_soft):
7603         * symbols.c (Funintern):
7604         * symbols.c (Fapropos_internal):
7605         * symbols.c (Fset_default):
7606         * syntax.c:
7607         * syntax.c (Fsyntax_table_p):
7608         * syntax.c (Fcopy_syntax_table):
7609         * syntax.c (Fset_syntax_table):
7610         * syntax.c (Fchar_syntax):
7611         * syntax.c (syntax_match):
7612         * syntax.c (Fmatching_paren):
7613         * syntax.c (Fforward_word):
7614         * syntax.c (scan_lists):
7615         * syntax.c (Fscan_lists):
7616         * syntax.c (Fscan_sexps):
7617         * syntax.c (Fparse_partial_sexp):
7618         * toolbar.c (Fcheck_toolbar_button_syntax):
7619         * tooltalk.doc:
7620         * window.c:
7621         * window.c (Fwindowp):
7622         * window.c (Fwindow_live_p):
7623         * window.c (Fwindow_point):
7624         * window.c (Fdelete_window):
7625         * window.c (Fnext_window):
7626         * window.c (Fprevious_window):
7627         * window.c (Fother_window):
7628         * window.c (window_loop):
7629         * window.c (Fget_lru_window):
7630         * window.c (Fsplit_window):
7631         * window.c (Fenlarge_window):
7632         * window.c (Fenlarge_window_pixels):
7633         * window.c (Fshrink_window):
7634         * window.c (Fshrink_window_pixels):
7635         * window.c (change_window_height):
7636         * window.c (Fwindow_configuration_p):
7637         * window.c (Fcurrent_window_configuration):
7638         * window.h:
7639         * casefiddle.c (casify_object):
7640         * casefiddle.c (Fupcase):
7641         * casefiddle.c (Fdowncase):
7642         * casefiddle.c (Fcapitalize):
7643         * casefiddle.c (Fupcase_initials):
7644         * casefiddle.c (casify_region_internal):
7645         * casefiddle.c (casify_region):
7646         * casefiddle.c (Fupcase_region):
7647         * casefiddle.c (Fdowncase_region):
7648         * casefiddle.c (Fcapitalize_region):
7649         * casefiddle.c (Fupcase_initials_region):
7650         * casefiddle.c (Fupcase_word):
7651         * casefiddle.c (Fdowncase_word):
7652         * casefiddle.c (Fcapitalize_word):
7653         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
7654         Replace 0 with '\0' when working with bytes.
7655         Replace initial "(" with "\(" in docstrings.
7656
7657 2000-11-01  Martin Buchholz  <martin@xemacs.org>
7658
7659         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
7660
7661         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
7662
7663 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7664
7665         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
7666
7667 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7668
7669         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
7670         correctly.
7671
7672 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7673
7674         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
7675         (inhibit_auto_save_session): New variable.
7676         (vars_of_fileio): Declare and initialize them.
7677         * fileio.c (Fdo_auto_save): Don't create session file if
7678         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
7679
7680 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7681
7682         * sgiplay.c (play_internal): C++ compilability.
7683         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
7684         * callproc.c (Fold_call_process_internal):
7685         Remove unused vars `env', `first'.
7686         * scrollbar.c (update_scrollbar_instance):
7687         #### unused var `current_window'.
7688         * redisplay-tty.c: Put currently unused vars insert_mode_on,
7689         etc. within #ifdef NOT_YET.
7690         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
7691         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
7692         * specifier.c (specifier_instance):
7693         #### unused var `tag'.
7694         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
7695
7696 2000-10-27  Martin Buchholz  <martin@xemacs.org>
7697
7698         * fns.c (Fbutlast):
7699         * fns.c (list_sort):
7700         * fns.c (Ffillarray):
7701         * fns.c (bytecode_nconc2):
7702         * fns.c (Fnconc):
7703         * fns.c (mapcar1):
7704         * fns.c (Fmapconcat):
7705         Be pedantically 64-bit correct.  For the time when someone will
7706         want to have a list with length > 2**32.
7707
7708         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7709         Work around MIPSpro compiler bug.
7710
7711         * process-unix.c (unix_kill_child_process): Add snarky comment.
7712         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
7713
7714         * config.h.in: Oops, _getpt ==> _getpty
7715
7716 2000-10-26  Martin Buchholz  <martin@xemacs.org>
7717
7718         * config.h.in:
7719         * regex.c:
7720         Use void*, not char*, as return type of alloca().
7721
7722         * alloc.c (free_marker): Side effect inside assert expression!
7723
7724 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
7725
7726         * mule-charset.c (Fset_charset_ccl_program): To check
7727         if the given ccl program is valid, use setup_ccl_program()
7728         instead of CHECK_VECTOR().
7729         (Fmake_charset): Likewise.
7730
7731 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
7732
7733         * faces.c (get_extent_fragment_face_cache_index):
7734         Fix cachel.merged_faces memory leak.
7735
7736 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
7737
7738         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
7739         Reset MSB of octets obtained by DECODE_SJIS
7740         because of the incompatibility with Emacs.
7741         (ccl_driver)<CCL_ENCODE_SJIS>:
7742         Set MSB of octets before passing them to
7743         ENCODE_SJIS because of the incompatibility
7744         with Emacs.
7745
7746 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
7747
7748         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
7749         (DECLARE_LRECORD): Undo the last change.
7750         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
7751
7752 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
7753
7754         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
7755         the implementation to lrecord_implementations_table.
7756
7757 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
7758
7759         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
7760         initial value of `lrecord_type_##c_name' and
7761         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
7762         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
7763         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
7764         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
7765         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
7766
7767 2000-10-17  Martin Buchholz  <martin@xemacs.org>
7768
7769         * miscplay.c (sndcnv8S_2mono):
7770         (sndcnv2monounsigned):
7771         (sndcnvULaw_2linear):
7772         (sndcnv16swap):
7773         Remove implementation-defined behavior.
7774
7775 2000-10-12  Martin Buchholz  <martin@xemacs.org>
7776
7777         * input-method-xlib.c: Warning suppression.
7778
7779 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
7780
7781         * mule-ccl.c: Sync up with Emacs 21.0.90.
7782         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
7783         Do nothing.
7784         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
7785         Likewise.
7786         (ccl_driver[WriteMultibyteChar2]): Bug fix.
7787         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
7788         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
7789         leading char belongs to official 2-dimensional charset.
7790         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
7791         write the given character as is.  Otherwise,
7792         if it is a multibyte char, convert it by
7793         non_ascii_set_charptr_emchar, then write it.
7794         (CCL_WRITE_STRING): Likewise.
7795         (ccl_get_compiled_code): New function.
7796         (setup_ccl_program): When ccl_prog is invalid,
7797         return -1.
7798         (Fregister_code_conversion_map): New function.
7799         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
7800
7801         * mule-ccl.h: Sync up with Emacs 21.0.90.
7802         (Fregister_ccl_program): export it.
7803
7804         * redisplay-msw.c (separate_textual_runs):
7805         If ccl program is not valid, don't do ccl conversion.
7806
7807         * redisplay-x.c (separate_textual_runs): Ditto.
7808
7809         * file-coding.c (Fmake_coding_system):
7810         When type is ccl and value is vector, register it
7811         with a proper symbol.  And checks whether the
7812         given ccl program is valid.
7813         (mule_decode): When calling ccl_driver, if src indicates
7814         NULL pointer, set an empty string instead.
7815         (mule_encode): Likewise.
7816
7817 2000-10-11  Martin Buchholz  <martin@xemacs.org>
7818
7819         The following large batch of changes gets us back to a state of
7820         C++ compilability.  Extbyte is now a char, which means that
7821         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
7822
7823         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
7824
7825         * sound.c (Fplay_sound): Type correctness.
7826
7827         * select-x.c (hack_motif_clipboard_selection): Type correctness.
7828         (x_get_window_property): Type correctness.
7829         (receive_incremental_selection): unsigned char ==> Extbyte
7830         (selection_data_to_lisp_data): unsigned char ==> Extbyte
7831         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
7832         (Fx_store_cutbuffer_internal): Type correctness.
7833
7834         * process-unix.c (try_to_initialize_subtty): Type correctness.
7835
7836         * objects-x.c (x_print_color_instance): Type correctness.
7837         (x_print_font_instance): Type correctness.
7838         (x_list_fonts): SExtbyte ==> Extbyte.
7839         (valid_x_font_name_p): SExtbyte ==> Extbyte.
7840         (x_find_charset_font): SExtbyte ==> Extbyte.
7841         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
7842         (truename_via_XListFonts): SExtbyte ==> Extbyte.
7843         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
7844         Use bufbyte_strcmp.
7845
7846         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
7847         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
7848         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
7849         (BYTE_C0_P): Use bit ops for char-signedness safety.
7850         (BYTE_C1_P): Use bit ops for char-signedness safety.
7851         (CHARSET_BY_LEADING_BYTE):
7852         (CHARSET_BY_ATTRIBUTES):
7853         Always use inline function.
7854         Use type_checking_assert.
7855         Hide chlook.
7856
7857         * mule-charset.c (non_ascii_charptr_copy_char):
7858         Modify to work with both ASCII and non-ASCII characters.
7859         Improve docs and variable names.
7860         Replace over-clever fall-through switch with a simple loop.
7861         (Lstream_get_emchar_1):
7862         Replace over-clever fall-through switch with a simple loop.
7863
7864         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7865         Warning suppression.
7866
7867         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
7868         the return value of Lstream_getc, which could be EOF as well.
7869
7870         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
7871
7872         * lisp.h: Make Extbyte a char, not unsigned char, so that external
7873         APIs can be used on Extbytes without casts.  Risky!
7874         (SExtbyte): Remove.
7875         (UExtbyte): Remove.
7876
7877         * input-method-xlib.c (XIM_init_device):
7878         Use Xlib.h instead of IntrinsicP.h.
7879         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
7880         which will break in X11R7.
7881         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
7882         to call XRegisterIMInstantiateCallback with correct types.
7883
7884         * gui-x.c (button_item_to_widget_value): Type correctness.
7885
7886         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
7887
7888         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
7889         (xbm_instantiate_1): Type correctness.
7890         (BUILD_GLYPH_INST):  Type correctness.
7891
7892         * fileio.c (Fsubstitute_in_file_name): Type correctness.
7893
7894         * file-coding.c:
7895         (decode_coding_sjis):
7896         (decode_coding_big5):
7897         (decode_coding_ucs4):
7898         (decode_coding_utf8):
7899         (decode_coding_iso2022):
7900         (decode_coding_no_conversion):
7901         Make all decoding functions take an Extbyte * arg.
7902         (encode_coding_sjis):
7903         (encode_coding_big5):
7904         (encode_coding_ucs4):
7905         (encode_coding_utf8):
7906         (encode_coding_iso2022):
7907         (encode_coding_no_conversion):
7908         Make all encoding functions take a Bufbyte * arg.
7909         Use size_t instead of unsigned int for memory sizes.
7910         Only cast to unsigned char whenever dereferencing Extbyte *.
7911
7912         * doc.c (unparesseuxify_doc_string): Type correctness.
7913
7914         * console-x.c (split_up_display_spec):
7915         Rewrite without using details of internal string representation.
7916         (x_semi_canonicalize_device_connection): Type correctness.
7917
7918         * config.h.in:
7919         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
7920         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
7921         (HAVE_XFREE386): Removed.
7922
7923         * buffer.h (DEC_CHARPTR): `const' correctness.
7924         (bufbyte_strcmp): New.
7925         (bufbyte_memcmp): New.
7926
7927         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
7928
7929         * buffer.h (XCHAR_OR_CHAR_INT):
7930         Always use inline function.
7931         Remove redundant type checking assert() - XINT will abort quite nicely.
7932
7933 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
7934
7935         * search.c (Freplace_match): Set newtext to an empty string.
7936
7937 2000-10-10  Martin Buchholz  <martin@xemacs.org>
7938
7939         * s/decosf1-3.h: Remove #include of stropts.h
7940         * s/ptx.h: Remove #include of stropts.h
7941         * s/usg5-4.h: Remove #include of stropts.h
7942         * sysproc.h:
7943         * config.h.in:
7944         Use stropts.h, not sys/stropts.h.
7945         Use strtio.h, not sys/strtio.h.
7946
7947 2000-10-04  Martin Buchholz <martin@xemacs.org>
7948
7949         * XEmacs 21.2.36 is released.
7950
7951 2000-09-21  Andy Piper  <andy@xemacs.org>
7952
7953         * glyphs-x.c (x_redisplay_widget): make sure non-structural
7954         changes still involve copying the widget tree.
7955         (update_widget_face): make sure a change is register in the widget
7956         tree. Call update_tab_widget_face appropriately.
7957         (update_tab_widget_face): ditto.
7958         (x_tab_control_redisplay): make sure non-structural changes still
7959         involve copying the widget tree.
7960
7961 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
7962
7963         * lread.c (locate_file): Check the path element is non-nil.
7964
7965 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7966
7967         * lisp.h: Warning suppression for SCO compilers.
7968
7969         * redisplay-tty.c (reset_tty_modes): Fix crash.
7970         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
7971
7972 2000-09-27  Martin Buchholz  <martin@xemacs.org>
7973
7974         Big signal/process handling overhaul.  Bugs fixed:
7975         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
7976         M-x comint-kill-subjob should work for both values nil and t of
7977         process-connection-type. It was broken on most platforms.
7978         Testing on Irix and Cygwin still needed.  Other plaforms tested.
7979         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
7980         * process-unix.c: Signal/Process handling overhaul.
7981         (pty_name): make 64 bytes, as `expect' does, for paranoia.
7982         (allocate_pty): Use all available modern methods of allocating
7983         ptys, falling back to old style BSD allocation as a last resort.
7984         Use allegedly more secure Unix98 pty allocation by default.
7985         (allocate_pty_the_old_fashioned_way): New. the last resort.
7986         (unix_create_process): Push ptem, ldterm, ttcompat where
7987         available.  Autoconfiscate.
7988         (try_to_initialize_subtty): New.
7989         (unix_kill_child_process): Proper signal handling for ptys on most
7990         platforms, using special knowledge of AIX, BSD, etc...
7991         (unix_create_process): Always disconnect_controlling_terminal() for
7992         subprocesses, whether using ptys or not.
7993         * process.h: Remove old getpt-dependent PTY code.
7994         * process.c (Fprocess_send_signal): New, obvious generic function.
7995         (decode_signal): New.
7996         (Finterrupt_process):
7997         (Fkill_process):
7998         (Fquit_process):
7999         (Fstop_process):
8000         (Fcontinue_process):
8001         (Fsignal_process): Use decode_signal.
8002         (process_send_signal):
8003         Many docstring corrections.
8004         Allow any signal to be sent to a process object.
8005         * config.h.in: Add symbols for big signal/process overhaul.
8006         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8007         * sysproc.h: Include process-related headers, where available:
8008         sys/stropts.h sys/strtio.h pty.h libutil.h
8009         * s/irix4-0.h:
8010         * s/irix5-0.h:
8011         * s/cygwin32.h:
8012         * s/gnu.h:
8013         * s/linux.h:
8014         * s/hpux.h:
8015         * s/aix3-1.h:
8016         Remove old S&M pty stuff.
8017         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8018         * systty.h: Simplify cpp hackery, improve comments.
8019         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8020
8021         * editfns.c (Fformat_time_string):
8022         Be a little more paranoid with the return value of ctime.
8023
8024         * fileio.c (check_executable):
8025         (check_writable):
8026         Use symbolic constants X_OK, W_OK.
8027
8028         * console-x.c (split_up_display_spec): Fix a warning.
8029
8030 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8031
8032         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8033         * ntproc.c (sys_spawnve): make_string ==> build_string
8034         Small clarity improvements.
8035
8036 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8037
8038         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8039
8040         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8041
8042         * config.h.in (HAVE_STRCASECMP): Remove.
8043
8044 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8045
8046         * redisplay-output.c (redisplay_output_pixmap):
8047         Cleaner and possibly more 64-bit correct code.
8048
8049 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8050
8051         * dumper.c (pdump_load_finish): move restoration of
8052         `noninteractive1' to emacs.c (main_1).
8053         * emacs.c (main_1): protect LISP-visible command-line flags
8054         from pdump_load().
8055
8056 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8057
8058         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8059         DUMP_TARGET instead of literal program names.
8060
8061 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8062
8063         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8064
8065 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8066
8067         * *: Spelling mega-patch
8068
8069 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8070
8071         * fns.c (bad_bad_turtle):
8072         Delete "Eek!" comment, since we fixed the bug to which it refers.
8073
8074 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8075
8076         * alloca.c: Replace REGISTER with register.
8077
8078 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8079
8080         * file-coding.c (ucs_to_char): Use countof.
8081
8082 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8083
8084         * file-coding.c: (ucs_to_char):
8085         (complex_vars_of_file_coding):
8086         Use countof instead of sizeof.
8087         Use CHECK_NATNUM instead of CHECK_INT.
8088
8089         * sysdep.c (strcasecmp): Remove.
8090         * device-x.c (ascii_strcasecmp): New.
8091         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8092         Avoid using non-standard non-portable strcasecmp.
8093
8094 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8095
8096         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8097         * font-lock.c: remove reference to emacsfns.h.
8098         * search.c: small doc improvement.
8099         * event-Xt.c: correct file names in comments.
8100         * console-x.h Correct file names in comments.
8101         * frame.c: Correct file names in comments.
8102         * event-stream.c: remove Energize from comments.
8103
8104 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8105
8106         * symeval.h (DEFERROR_STANDARD):
8107         (DEFERROR):
8108         (DEFSYMBOL):
8109         (DEFSYMBOL_NO_DUMP):
8110         (DEFSYMBOL_MULTIWORD_PREDICATE):
8111         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8112         (DEFKEYWORD):
8113         The construct &##name is not sensible C.
8114         Fixes compilation errors with Unixware native compiler.
8115
8116 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8117
8118         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8119         (next_frame_internal): Removed.  We now just have next_frame.
8120         (next_frame):
8121         Write a simpler and cleaner one-pass algorithm.
8122         Remove called_from_delete_device arg and #ifdefed-out code.
8123         (previous_frame):
8124         Renamed from prev_frame.  Update callers.
8125         Cleaned up to have an analogous implementation to next_frame.
8126         (other_visible_frames_internal): Remove the
8127         called_from_delete_device bogus arg, and hence, remove this
8128         function.  Just use other_visible_frames().
8129
8130         * window.c (Fnext_window):
8131         Prettify docstring.
8132         Since next_frame() is guaranteed to return a frame, remove check
8133         for nil inserted in previous patch.
8134         (Fprevious_window):
8135         Prettify docstring.
8136         Make code look more like Fnext_window.
8137         (window_loop):
8138         Respect the `console' arg when iterating through windows.
8139         Fixes bug: (get-buffer-window buffer t device) not respecting
8140         the `device' arg.
8141         This function needs more work, as others have pointed out.
8142
8143         * frame.h: Rename prev_frame to previous_frame.
8144         device_matches_console_spec no longer takes a `frame' arg.
8145
8146         * s/gnu.h:
8147         * s/linux.h:
8148         * s/hpux.h:
8149         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8150         From "Golubev I. N." <gin@mo.msk.ru>.
8151
8152         * make-src-depend: Fix typo.
8153
8154 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8155
8156         * window.c (Fnext_window):
8157         next_frame() might return nil, not a frame.
8158         Fixes this crash:
8159         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8160
8161         * frame.c (next_frame_internal):
8162         We've passed a frame if we've passed its device.
8163         Fixes this crash:
8164         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8165 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8166
8167 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8168
8169         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8170         Allow option to suppress accelerators in menu/dialog items.
8171         (populate_or_checksum_helper): Pass dialog title through above.
8172
8173 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8174
8175         * event-msw.c (mswindows_key_to_emacs_keysym):
8176         Add "pause" key, fix "menu" key.
8177
8178 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8179
8180         * eval.c (reinit_vars_of_eval):
8181         Increase max_lisp_eval_depth to 1000,
8182         required for thai-xtis.el to byte-compile under some circumstances.
8183
8184 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8185
8186         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8187         From Kenichi Handa.
8188
8189 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8190
8191         * make-src-depend: Make the generated Makefiles smaller.
8192
8193         * s/hpux.h (SETUP_SLAVE_PTY):
8194         Provide a %d in the format string for the errno argument.
8195
8196         * editfns.c (Ftemp_directory):
8197         Warning fix.
8198         Avoid buffer overrun on very long file name.
8199
8200         * input-method-xlib.c (XIM_init_device):
8201         6th parameter of XRegisterIMInstantiateCallback has different
8202         pointer types on different OSes, so simply cast to (void *).
8203
8204         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8205
8206         * sysdll.c (dll_open):
8207         shl_load will hang hard if passed a NULL filename.
8208         Simply return NULL for compatibility with dlopen.
8209         * sysdll.c: Conform to XEmacs coding standards.
8210
8211         * sysdep.c (get_pty_max_bytes):
8212         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8213
8214 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8215
8216         * tooltalk.c: Add #include <syssignal.h>
8217
8218 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8219
8220         * s/hpux.h: Don't use undefined function sigunblock().
8221
8222 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8223
8224         * config.h.in: Add HAVE_BALLOON_HELP.
8225         * emacs.c: Use HAVE_BALLOON_HELP.
8226         * Makefile.in.in (x_objs):
8227         Make Balloon Help conditional on finding shape.h.
8228
8229 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8230
8231         * syntax.c (regex_emacs_buffer_p): New variable.
8232         * syntax.h (regex_emacs_buffer_p): extern.
8233         * search.c (looking_at_1):
8234         (string_match_1):
8235         (fast_string_match):
8236         (search_buffer): Set regex_emacs_buffer_p.
8237         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8238         when before_dot, at_dot, after_dot.
8239
8240 2000-08-23  Andy Piper  <andy@xemacs.org>
8241
8242         * gui-x.c (popup_selection_callback): Only set action_occurred
8243         when we really have an image instance.
8244         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8245
8246 2000-08-23  Andy Piper  <andy@xemacs.org>
8247
8248         * gui-msw.c (mswindows_handle_gui_wm_command): set
8249         action_occurred.
8250         * gui-x.c (popup_selection_callback): ditto.
8251
8252         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8253         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8254         (struct Lisp_Image_Instance): add action_occurred flag.
8255
8256         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8257         (image_instance_changed): ditto.
8258         (reset_frame_subwindow_instance_cache): only unmap windows - do
8259         not remove them from the cache also.
8260
8261         * glyphs-widget.c (tab_control_update): better debug.
8262         (progress_gauge_update): ditto.
8263         (layout_update): ditto.
8264         (layout_instantiate): ditto.
8265         (tab_control_order_only_changed): cope with null pending items.
8266
8267         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8268         debug. Force selection of an item when an action occurred. Cope
8269         with null pending_items.
8270         (mswindows_progress_gauge_redisplay): better debug.
8271         * glyphs-x.c (x_tab_control_redisplay): ditto.
8272
8273         * redisplay.c (redisplay_frame): reset the frame cache if the
8274         frame is garbaged.
8275
8276         * window.c (Fset_window_configuration): potentially re-enable
8277         frame cache reset.
8278         (window_unmap_subwindows): need to finalize instances here since
8279         it is only used in mark_window_as_deleted.
8280
8281 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8282
8283         * nas.c (SndOpenDataForReading):
8284         nas.c (WaveOpenDataForReading):
8285         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8286         Somehow escaped from the 2000-08-14 patch.
8287
8288 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8289
8290         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8291         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8292
8293 2000-08-21  Andy Piper  <andy@xemacs.org>
8294
8295         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8296         window if it is not already displayed.
8297
8298         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8299         it is not already displayed.
8300
8301         * window.c (Fset_window_configuration): don't reset the frame
8302         cache.
8303
8304         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8305         instances from the frame cache if we are actually finalizing them.
8306         (reset_frame_subwindow_instance_cache): reset frame cache only
8307         after unmapping everything.
8308         (map_subwindow): set displayed flag after mapping.
8309
8310 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8311
8312         * data.c (indirect_function):
8313         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8314
8315         * eval.c (function_argcount):
8316         Use original function when signaling errors.
8317
8318 2000-08-18  Andy Piper  <andy@xemacs.org>
8319
8320         * frame.c (delete_frame_internal): use new
8321         free_frame_subwindow_instances name.
8322
8323         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8324         (add_tab_item): make return type correct.
8325         (mswindows_tab_control_instantiate): assert index of tab.
8326         (mswindows_tab_control_redisplay): Re-code to use
8327         gui_item_equal_sans_selected and gui_item_list_find_selected.
8328
8329         * glyphs-widget.c (tab_control_update): Correct comment.
8330
8331         * window.c (window_unmap_subwindows): use new
8332         unmap_subwindow_instance_cache_mapper.
8333         (window_unmap_subwindows_cache_mapper): deleted.
8334         (Fset_window_configuration): comparisons should now be with
8335         EQ. Preserve the subwindow instance cache across configuration
8336         changes.
8337         (allocate_window): ditto.
8338         (make_dummy_parent): ditto.
8339
8340         * glyphs.c (free_frame_subwindow_instances): rename from
8341         free_frame_subwindow_instance_cache. finalize all instances rather
8342         than just those in the display cache.
8343         (finalize_all_subwindow_instances): walk windows unmapping and
8344         finalizing subwindows.
8345         (unmap_subwindow_instance_cache_mapper): moved from
8346         window.c. Allow finalization as well as unmapping.
8347
8348         * gui.c (gui_item_list_find_selected): new function.
8349
8350         * gui.h (gui_item_list_find_selected): declare.
8351
8352         * glyphs-x.c (x_tab_control_redisplay): pick tab
8353         explicitly. Re-code to use gui_item_equal_sans_selected and
8354         gui_item_list_find_selected.
8355
8356         * glyphs-x.h: add lwlib-utils.h
8357
8358         * buffer.c (Frecord_buffer): undo previous change.
8359
8360 2000-08-09  Vin Shelton  <acs@xemacs.org>
8361
8362         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8363         possible.  Create temporary files more securely.  The patch was
8364         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8365         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8366         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8367         for details.
8368
8369 2000-08-07  Ben Wing  <ben@xemacs.org>
8370
8371         * getloadavg.c: remove duplicate (and windows-breaking)
8372         includes of fcntl.h and sys/file.h.
8373
8374         * nt.c: remove duplicate getloadavg() definition.
8375
8376         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8377         encodings.
8378
8379 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8380
8381         * eval.c (function_argcount): If function needs to be autoloaded
8382         actually use the loaded definition.
8383         GCPRO function.
8384
8385 2000-08-05  Ben Wing  <ben@xemacs.org>
8386
8387         * getloadavg.c: add prototype for getloadavg().  remove
8388         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
8389         of the code).  remove duplicate header includes.
8390
8391         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
8392
8393         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
8394         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
8395         useful load average.
8396
8397         * alloc.c (reinit_alloc_once_early): removed references to
8398         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
8399         the lisp vars are the only things referencing the malloc_sbrk_*
8400         vars, and they were already if 0'd out.  these vars only exist
8401         in the older malloc.c, which is basically unused, and they're
8402         only for informational purposes.
8403
8404         * m\*.h: removed useless VIRT_ADDR_VARIES.
8405
8406         * m\powerpc.h: removed stray NO_ARG_ARRAY.
8407
8408 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8409
8410         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
8411         color if the image is a mono pixmap.
8412
8413 2000-07-30  Ben Wing  <ben@xemacs.org>
8414
8415         * Makefile.in.in (release):
8416         Remove stray @.
8417
8418         * buffer.c (directory_is_current_directory):
8419         * dired-msw.c (mswindows_get_files):
8420         * dired.c:
8421         * dired.c (Fdirectory_files):
8422         * dired.c (file_name_completion_stat):
8423         * dired.c (Ffile_attributes):
8424         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
8425         preprocessor tricks, to avoid problems on some machines
8426         (e.g. SCO).
8427
8428         * callproc.c (egetenv): GC docs.
8429
8430         * console-msw.h:
8431         * console-msw.h (struct mswindows_dialog_id):
8432         * lrecord.h (lrecord_type):
8433         New object for use with MSW dialogs.
8434
8435         * console.h (struct console_methods):
8436         New enable/disable frame methods, for proper modal dialogs.
8437
8438         * device-msw.c (msprinter_default_printer): Fix to follow
8439         proper Mule conventions.
8440
8441         * device-msw.c:
8442         * device-msw.c (signal_open_printer_error):
8443         * device-msw.c (msprinter_init_device):
8444         * device-msw.c (ensure_not_printing):
8445         * device-msw.c (plist_get_margin):
8446         * device-msw.c (Fmsprinter_select_settings):
8447         * device-msw.c (finalize_devmode):
8448         * device-msw.c (Fmsprinter_settings_despecialize):
8449         * device-msw.c (signal_enum_priner_error):
8450         * extents.c (decode_extent):
8451         * extents.c (decode_map_extents_flags):
8452         * extents.c (decode_extent_at_flag):
8453         * extents.c (Fextent_at):
8454         * extents.c (Fextents_at):
8455         * extents.c (symbol_to_glyph_layout):
8456         [[[[2]]]] Use structured errors.
8457
8458         * dialog-msw.c:
8459         * dialog-msw.c (mswindows_is_dialog_msg):
8460         * dialog-msw.c (mark_mswindows_dialog_id):
8461         * dialog-msw.c (dialog_proc):
8462         * dialog-msw.c (handle_question_dialog_box):
8463         * dialog-msw.c (syms_of_dialog_mswindows):
8464         Define new object to clean up marking; use it as a dialog identifier.
8465         Call new delete-dialog-box-hook.
8466
8467         * dialog-x.c (dbox_selection_callback):
8468         * dialog-x.c (dbox_descriptor_to_widget_value):
8469         * dialog-x.c (x_make_dialog_box_internal):
8470         Call new delete-dialog-box-hook.
8471         Return an id.
8472
8473         * dialog.c:
8474         * dialog.c (syms_of_dialog):
8475         * dialog.c (vars_of_dialog):
8476         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
8477
8478         * eval.c:
8479         * eval.c (signal_call_debugger):
8480         when noninteractive, output stack traces on the console instead
8481         of in a (never-seen) buffer.
8482
8483         * eval.c (signal_type_error):
8484         * eval.c (invalid_argument_2):
8485         * lisp.h:
8486         new funs for use w/structured errors.
8487
8488         * event-Xt.c:
8489         * event-Xt.c (x_to_emacs_keysym):
8490         * event-Xt.c (describe_event):
8491         * event-Xt.c (emacs_Xt_event_handler):
8492         * event-Xt.c (vars_of_event_Xt):
8493         * event-msw.c:
8494         * event-msw.c (mswindows_wnd_proc):
8495         * event-msw.c (vars_of_event_mswindows):
8496         rename {x,mswindows}-debug-events to debug-{}-events for
8497         consistency with other debug-foo variables.
8498
8499         * event-stream.c:
8500         document next-event more clearly.
8501
8502         * fileio.c (Ffile_name_directory):
8503         * fileio.c (Ffile_name_nondirectory):
8504         * fileio.c (Funhandled_file_name_directory):
8505         * fileio.c (file_name_as_directory):
8506         * fileio.c (Ffile_name_as_directory):
8507         * fileio.c (directory_file_name):
8508         * fileio.c (Fdirectory_file_name):
8509         * fileio.c (Fmake_temp_name):
8510         * fileio.c (Ffile_truename):
8511         * fileio.c (Fsubstitute_in_file_name):
8512         * fileio.c (expand_and_dir_to_file):
8513         * fileio.c (barf_or_query_if_file_exists):
8514         * fileio.c (check_executable):
8515         * fileio.c (Ffile_exists_p):
8516         * fileio.c (Ffile_writable_p):
8517         * fileio.c (Ffile_directory_p):
8518         * fileio.c (Ffile_regular_p):
8519         * fileio.c (Ffile_modes):
8520         * fileio.c (Ffile_newer_than_file_p):
8521         * fileio.c (Fverify_visited_file_modtime):
8522         * fileio.c (Fset_visited_file_modtime):
8523         * fileio.c (auto_save_1):
8524         (1). (2).
8525         fix up gcpro's.
8526
8527         * frame-msw.c:
8528         * frame-msw.c (mswindows_init_frame_1):
8529         * frame-msw.c (mswindows_enable_frame):
8530         * frame-msw.c (error_frame_unsizable):
8531         * frame-msw.c (msprinter_init_frame_1):
8532         * frame-msw.c (msprinter_init_frame_3):
8533         * frame-msw.c (console_type_create_frame_mswindows):
8534         (2).
8535         implement new enable/disable frame methods.
8536
8537         * frame-x.c:
8538         * frame-x.c (x_enable_frame):
8539         * frame-x.c (console_type_create_frame_x):
8540         implement new enable/disable frame methods.
8541
8542         * frame.c:
8543         * frame.c (Fdisable_frame):
8544         * frame.c (syms_of_frame):
8545         * frame.h (struct frame):
8546         implement new enable/disable frame methods/functions.
8547
8548         * general-slots.h:
8549         add initial-focus.
8550
8551         * glyphs-msw.c (mswindows_widget_instantiate):
8552         comment that initial-focus should be implemented.
8553
8554         * glyphs-widget.c:
8555         * glyphs-widget.c (check_valid_instantiator):
8556         * glyphs-widget.c (check_valid_orientation):
8557         * glyphs-widget.c (check_valid_tab_orientation):
8558         * glyphs-widget.c (check_valid_justification):
8559         * glyphs-widget.c (check_valid_border):
8560         * glyphs-widget.c (check_valid_callback):
8561         * glyphs-widget.c (check_valid_int_or_function):
8562         * glyphs-widget.c (check_valid_string_or_vector):
8563         * glyphs-widget.c (check_valid_item_list_1):
8564         * glyphs-widget.c (widget_validate):
8565         * glyphs-widget.c (combo_box_validate):
8566         * glyphs-widget.c (widget_instantiate):
8567         * glyphs-widget.c (syms_of_glyphs_widget):
8568         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
8569         * glyphs-widget.c (image_instantiator_combo_box):
8570         * glyphs-widget.c (image_instantiator_scrollbar):
8571         * glyphs-widget.c (image_instantiator_tab_control):
8572         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
8573         (2).
8574         support (unimplemented) keyword initial-focus.
8575         reindent long macros.
8576
8577         * glyphs-x.c (x_redisplay_widget):
8578         * glyphs-x.c (x_button_instantiate):
8579         * glyphs-x.c (x_button_redisplay):
8580         * glyphs-x.c (x_progress_gauge_instantiate):
8581         * glyphs-x.c (x_edit_field_instantiate):
8582         * glyphs-x.c (x_combo_box_instantiate):
8583         * glyphs-x.c (x_tab_control_instantiate):
8584         * glyphs-x.c (x_label_instantiate):
8585         * gui-x.c:
8586         * gui-x.c (button_item_to_widget_value):
8587         * gui-x.c (gui_items_to_widget_values_1):
8588         * gui-x.c (gui_item_children_to_widget_values):
8589         * gui-x.c (gui_items_to_widget_values):
8590         * gui-x.h:
8591         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8592         add new flag to gui-parsing routines to indicate whether
8593         accelerator specs should be supported.
8594
8595         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
8596
8597         * glyphs.h (struct Lisp_Image_Instance):
8598         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
8599         add initial-focus flag.
8600
8601         * gui.c:
8602         * gui.c (syms_of_gui):
8603         * gui.c (vars_of_gui):
8604         clean up menu-no-selection-hook.
8605
8606         * gui.h:
8607         support delete-dialog-box-hook.
8608
8609         * lread.c (Fload_internal):
8610         * lread.c (locate_file_in_directory_mapper):
8611         (1).
8612
8613         * lrecord.h:
8614         * lrecord.h (struct toolbar_button):
8615         * lrecord.h (syms_of_toolbar):
8616         document how to create a new object.
8617
8618         * menubar-msw.c (mswindows_char_is_accelerator):
8619         may be called on frames w/o menus.
8620
8621         * menubar.c (vars_of_menubar):
8622         clean up :filter docs.
8623
8624         * nt.c (readdir):
8625         * ntproc.c:
8626         (1).
8627
8628         * process-nt.c:
8629         * process-nt.c (validate_signal_number):
8630         * process-nt.c (signal_cannot_launch):
8631         * process-nt.c (nt_create_process):
8632         * process-nt.c (nt_send_process):
8633         * process-nt.c (nt_kill_child_process):
8634         * process-nt.c (nt_open_network_stream):
8635         * process-nt.c (syms_of_process_nt):
8636         (2).
8637         delete quote-handling.  call new lisp code that does it better.
8638
8639         * process-unix.c (connect_to_file_descriptor):
8640         * process-unix.c (allocate_pty):
8641         * process-unix.c (unix_send_process):
8642         * process-unix.c (unix_kill_child_process):
8643         * process-unix.c (unix_open_network_stream):
8644         * process-unix.c (unix_open_multicast_group):
8645         (1). (2).
8646
8647         * process.c:
8648         * process.c (Fstart_process_internal):
8649         (2).  need to canonicalize process path even if absolute.
8650
8651         * select-msw.c (symbol_to_ms_cf):
8652         * select-msw.c (ms_cf_to_symbol):
8653         * select-msw.c (cf_is_autofreed):
8654         * select-msw.c (mswindows_destroy_selection):
8655         * select.c:
8656         * select.c (syms_of_select):
8657         * select.h:
8658         support dibv5, fix bugs. (from Mike Alexander)
8659
8660         * select.c (Fget_selection_internal):
8661         * select.c (select_convert_out):
8662
8663         * sysdep.c:
8664         * sysdep.c (xemacs_stat):
8665         renamed.
8666
8667         * sysdep.c (mkdir):
8668         * sysdep.c (rmdir):
8669         but keep original stat() here because we provide encapsulation
8670         around these funs.
8671
8672         * sysfile.h:
8673         * sysfile.h (fstat):
8674         remove stat garbage.
8675
8676         * syswindows.h:
8677         fix X/MSW conflict.
8678         don't include tchar.h.  it's inappropriate because it makes
8679         compile-time distinctions when we want runtime distinctions.
8680         (we provide our own tchar replacements)
8681
8682         * toolbar.c:
8683         use default object printer for toolbar-button.
8684
8685         * unexcw.c:
8686         make sure we don't encapsulate.
8687
8688         * window.c (vars_of_window):
8689         emphasize that temp-buffer-show-hook is obsolete.
8690
8691 2000-08-05  Martin Buchholz  <martin@xemacs.org>
8692
8693         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
8694         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
8695
8696         * events.c (Fevent_timestamp_lessp):
8697         Not 64-bit clean.  Use EMACS_INT, not int.
8698
8699 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
8700
8701         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
8702         unsigned int and changed the last enum to
8703         lrecord_type_last_built_in_type.
8704         (lrecord_implementations_table): changed prototype to know how
8705         long the array is supposed to be.
8706         (lrecord_type_count): new unsigned int to keep track of the
8707         current number of lisp lrecord types.
8708         (DEFINE_EXTERNAL_LRECORD):
8709         (DECLARE_EXTERNAL_LRECORD): Added these two for external
8710         dynamic-modules to declare new lisp types. They are the same
8711         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
8712         int for each new type, and increment lrecord_type_count by 1.
8713
8714         * alloc.c (lrecord_implementations_table): Changed to reference
8715         lrecord_type_last_built_in_type for the size of the array.
8716         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
8717
8718 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8719
8720         * glyphs.h (check_valid_item_list): Renamed from
8721         check_valid_item_list_1.
8722
8723 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
8724
8725         * select.c (Qselect_coerce): New.
8726         * select.c (Vselection_coercion_alist): New.
8727         * select.c (syms_of_select): Declare.
8728         * select.c (get-selection-internal): Use it.
8729         Use the new select-coerce functionality.
8730
8731         * select.c (select_coerce): New.
8732         * select.h (select_coerce): Declare.
8733         New function to coerce one type of data into another.
8734
8735 2000-08-03  Martin Buchholz  <martin@xemacs.org>
8736
8737         * callproc.c (Fcall_process_internal):
8738         (Fcall_process_internal):
8739         * process-unix.c (unix_create_process):
8740         Save and restore the value of errno, so that error messages are accurate.
8741
8742 2000-08-01  Martin Buchholz  <martin@xemacs.org>
8743
8744         * elhash.c (print_hash_table):
8745         Fix printing of hash tables to also use `key-and-value' instead of `t'.
8746         Prettify docstrings and indentation.
8747
8748 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8749
8750         * window.c (Fwindow_pixel_edges): Subtract frame border and
8751         gutter size.
8752
8753 2000-07-31  Andy Piper  <andy@xemacs.org>
8754
8755         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
8756         will acknowledge the change.
8757
8758         * glyphs.h: declare tab_control_order_only_changed.
8759
8760         * glyphs-x.c (x_tab_control_redisplay): use
8761         tab_control_order_only_changed.
8762
8763         * glyphs-widget.c (tab_control_order_only_changed): new function.
8764
8765         * glyphs-msw.c (mswindows_tab_control_redisplay): use
8766         tab_control_order_only_changed.
8767
8768         * gui.c (gui_item_equal_sans_selected): new function.
8769         (gui_item_equal): use it.
8770
8771         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
8772         :properties in favor of :items..
8773
8774         * glyphs-widget.c (check_valid_item_list): rename from
8775         check_valid_item_list_1.
8776         (check_valid_item_list_1): renamed.
8777         (combo_box_validate): deprecate :properties in favor of :items.
8778         (widget_instantiate): ditto.
8779         (tab_control_update): ditto.
8780         (image_instantiator_combo_box): ditto.
8781         (image_instantiator_tree_view): ditto.
8782         (image_instantiator_tab_control): ditto.
8783         (layout_post_instantiate): remove dead code.
8784
8785         * print.c (debug_print_no_newline): only write to debugger if in
8786         WIN32_NATIVE.
8787
8788         * elhash.c (Fmake_hash_table): update doc string.
8789
8790         * event-msw.c (mswindows_wnd_proc): don't allow processing of
8791         messages whilst in GC. This at least stops XEmacs crashing but has
8792         the potential for wierd behaviour.
8793
8794 2000-07-31  Martin Buchholz  <martin@xemacs.org>
8795
8796         * config.h.in:
8797         Make existence of s&m files optional.
8798
8799         * s/bsd386.h: Remove HAVE_GETLOADAVG.
8800         * s/freebsd.h: Remove HAVE_GETLOADAVG.
8801         * s/gnu.h: Remove HAVE_GETLOADAVG.
8802         * s/netbsd.h: Remove HAVE_GETLOADAVG.
8803         * s/sol2.h: Remove HAVE_GETLOADAVG.
8804         * lisp.h: Remove getloadavg() declaration.
8805         * fns.c:
8806         Include <sys/loadavg.h> if available.
8807         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
8808         * config.h.in:  Group together getloadavg()-related macros.
8809         Use only configure-time tests to detect getloadavg().
8810
8811 2000-07-30  Martin Buchholz  <martin@xemacs.org>
8812
8813         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
8814
8815 2000-07-25  Andy Piper  <andy@xemacs.org>
8816
8817         * syswindows.h: add tchar.h for native builds.
8818
8819         * frame.c (syms_of_frame): remove set-glyph-image.
8820
8821         * general-slots.h: add Qset_glyph_image.
8822
8823         * glyphs-widget.c (layout_update): add domain arg to
8824         set-glyph-image.
8825         (syms_of_glyphs_widget): remove set-glyph-image.
8826
8827 2000-07-23  Ben Wing  <ben@xemacs.org>
8828
8829         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
8830         Vpopup_frame_list.
8831
8832 2000-07-22  Andy Piper  <andy@xemacs.org>
8833
8834         * symsinit.h: add syms_of_win32().
8835
8836         * gui-msw.c (syms_of_gui_mswindows): remove
8837         Fmswindows_shell_execute.
8838         (Fmswindows_shell_execute): moved to win32.c.
8839
8840         * emacs.c (main_1): add syms_of_win32 ().
8841
8842         * win32.c (init_potentially_nonexistent_functions): rewrite in
8843         compiler-friendly terms.
8844         (Fmswindows_shell_execute): move here from gui-msw.c.
8845         (syms_of_win32): new.
8846
8847         * device-msw.c (Fmswindows_printer_list): clean up args to
8848         EnumPrinters.
8849         Don't include tchar under cygwin or mingw.
8850         (msprinter_default_printer): make cygwin-friendly.
8851
8852 2000-07-21  Andy Piper  <andy@xemacs.org>
8853
8854         * glyphs-widget.c (image_instantiator_tree_view): use tab
8855         control's update function.
8856         (layout_property): new function. Retrieve items.
8857
8858         * glyphs-msw.c (mswindows_tree_view_redisplay): new
8859         function. Re-populate the tree view from the pending items.
8860
8861         * glyphs.c (instantiate_image_instantiator): Make sure the domain
8862         is designated the parent if the domain is an image instance. This
8863         is needed so that dirtiness can be cascade up the hierarchy and
8864         thus for layout children to be redisplayed correctly.
8865         (allocate_image_instance): rename glyph -> parent.
8866
8867         * redisplay.h: change redisplay_output_layout signature.
8868
8869         * redisplay-msw.c (mswindows_output_display_block): use domain
8870         arg.
8871
8872         * redisplay-x.c (x_output_display_block): use domain arg.
8873
8874 2000-07-10  Andy Piper  <andy@xemacs.org>
8875
8876         * window.c (Fset_window_configuration): add comment.
8877
8878         * redisplay-output.c (compare_runes):
8879         (redisplay_output_subwindow): redisplay rather than update subwindow.
8880         (redisplay_output_layout): ditto.
8881
8882         * redisplay-msw.c (mswindows_frame_output_end):
8883         (mswindows_frame_output_end): make defer window pos optional.
8884
8885         * lisp.h: add Flast.
8886
8887         * glyphs.h (struct image_instantiator_methods): add dest_mask top
8888         normalize method. Change update method to be for changed
8889         instantiators. Add redisplay method. Change signature of layout
8890         method.
8891         (struct Lisp_Image_Instance): add instantiator.
8892         (IMAGE_INSTANCE_INSTANTIATOR): new.
8893         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
8894         (XIMAGE_INSTANCE_INSTANTIATOR): new.
8895         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
8896
8897         * glyphs.c:
8898         (find_instantiator_differences): new function.
8899         (Fset_instantiator_property): new convenience function.
8900         (check_image_instance_structure): strictly check for vector
8901         instantiators.
8902         (normalize_image_instantiator): make non-static.
8903         (instantiate_image_instantiator): pass on dest_mask and use new
8904         signatures for image_instance_layout and friends.
8905         (mark_image_instance): mark the instantiator. Mark the subwindow
8906         face not the widget face.
8907         (image_instance_equal): add instantiator.
8908         (image_instance_hash): ditto.
8909         (allocate_image_instance): ditto.
8910         (Fset_image_instance_property): removed.
8911         (Fimage_instance_file_name): ditto.
8912         (Fcolorize_image_instance): ditto.
8913         (image_instance_layout): add offsets to be set.
8914         (update_image_instance): new function. update an image instance
8915         from its changed instantiator.
8916         (inherit_normalize): add dest_mask.
8917         (xbm_normalize): ditto.
8918         (xface_normalize): ditto.
8919         (xpm_normalize): ditto.
8920         (text_update): set_property -> update.
8921         (image_instantiate): use the glyph identity as a hash key, not the
8922         instantiator.
8923         (glyph_width): use new image_instance_layout signature.
8924         (glyph_ascent): ditto.
8925         (glyph_descent): ditto.
8926         (glyph_height): ditto.
8927         (glyph_query_geometry): ressurrect.
8928         (glyph_layout): ditto.
8929         (redisplay_subwindow): update -> redisplay.
8930         (syms_of_glyphs): add Fset_instantiator_property.
8931         (image_instantiator_format_create): set_property -> update.
8932
8933         * glyphs-x.c:
8934         (autodetect_normalize): add dest_maks to signature.
8935         (x_redisplay_subwindow): update -> redisplay.
8936         (x_redisplay_widget): ditto.
8937         (x_button_redisplay): ditto.
8938         (x_progress_gauge_redisplay): ditto.
8939         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
8940         stacking order.
8941         (console_type_create_glyphs_x): update -> redisplay.
8942         (image_instantiator_format_create_glyphs_x): ditto.
8943
8944         * glyphs-widget.c:
8945         (check_valid_instantiator): disallow glyphs in the instantiator,
8946         they must now be vectors.
8947         (check_valid_instantiator_list): ditto.
8948         (glyph_instantiator_to_glyph): use internal symbol rather than
8949         intern.
8950         (widget_update): renamed from widget_set_property. Call cascaded
8951         update methods.
8952         (redisplay_widget): renamed from update_widget.
8953         (widget_layout): image_instance_layout now takes position as well
8954         as size.
8955         (widget_normalize): ditto.
8956         (widget_instantiate): ditto.
8957         (tab_control_query_geometry) ditto.:
8958         (tab_control_update): renamed from tab_control_set_property.
8959         (progress_gauge_update): set_property -> update.
8960         (layout_normalize): rewrite so that child instantiators are
8961         normalized also.
8962         (layout_update): new function. Create glyphs from the normalized
8963         children and cope with any other layout keywords. We do not
8964         instantiate children here that will be take care of by
8965         redisplay_output_layout.
8966         (layout_instantiate): call layout_update and not much else.
8967         (layout_post_instantiate): not sure whether this is needed
8968         anymore.
8969         (layout_query_geometry): query glyph geometry rather than
8970         image_instance geometry.
8971         (layout_layout): set offsets from pass in parameters. Use glyph
8972         geometry and layout functions rather than image instance ones.
8973         (native_layout_layout): ditto.
8974         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
8975         (image_instantiator_widget): set_property -> update.
8976         (image_instantiator_buttons): ditto.
8977         (image_instantiator_progress_guage): ditto.
8978         (image_instantiator_tab_control): ditto.
8979         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
8980         (image_instantiator_layout): add update method.
8981
8982         * glyphs-msw.c (bmp_normalize):
8983         (mswindows_resource_normalize): add dest_mask so that it can be
8984         proprogated by layout_normalize.
8985         (begin_defer_window_pos): make optional because it may not be the
8986         right thing to do and it introduces differences with X.
8987         (mswindows_unmap_subwindow): ditto.
8988         (mswindows_map_subwindow): ditto.
8989         (mswindows_redisplay_subwindow): renamed from
8990         mswindows_update_subwindow.
8991         (mswindows_redisplay_widget): ditto.
8992         (mswindows_button_redisplay): renamed from
8993         mswindows_button_update. Update is now what the instantiation
8994         function does for a changed instantiator.
8995         (mswindows_progress_gauge_instantiate): set the progress value
8996         here if appropriate.
8997         (mswindows_tab_control_redisplay): cope with re-ordering of the
8998         members of the tab widget by simply selecting the new top
8999         widget. This makes things appear ok if you click on a tab.
9000         (mswindows_combo_box_instantiate): image_instance_layout now takes
9001         position as well as size.
9002         (mswindows_progress_gauge_redisplay): renamed from
9003         mswindows_progress_gauge_update.
9004         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9005         (image_instantiator_format_create_glyphs_mswindows): ditto.
9006
9007         * glyphs-eimage.c (jpeg_normalize):
9008         (gif_normalize):
9009         (png_normalize):
9010         (tiff_normalize): add dest_mask so that it can be proprogated by
9011         layout_normalize.
9012
9013         * elhash.c:
9014         (print_hash_table):
9015         (hash_table_weakness_validate):
9016         (decode_hash_table_weakness):
9017         (Fhash_table_weakness):
9018         (Fhash_table_type):
9019         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9020
9021         * console.h (struct console_methods): move update_* to
9022         redisplay_*.
9023
9024 2000-07-20  Ben Wing  <ben@xemacs.org>
9025
9026         * *.[ch] (XSETOBJ): remove unused middle argument.
9027         lisp-disunion.h: correct wrap_object() to one argument.
9028
9029 2000-07-15  Ben Wing  <ben@xemacs.org>
9030
9031         * s/cygwin32.h:
9032         * s/cygwin32.h (CYGWIN_CONV_PATH):
9033         Add missing logb prototype for v1.1.
9034         Use post-b20 names and alias to pre-b20 names when pre-b20.
9035
9036         * s/windowsnt.h: [5].
9037
9038 2000-07-15  Ben Wing  <ben@xemacs.org>
9039
9040         * Makefile.in.in (x_objs):
9041         * Makefile.in.in (sheap_objs):
9042         * Makefile.in.in (objs):
9043         added win32.o, cosmetic cleanups.
9044
9045         * alloc.c (Fmake_byte_code):
9046         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9047         etc. macros which declare their own args now.
9048
9049         * alloc.c (syms_of_alloc):
9050         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9051
9052         * buffer.c:
9053         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9054
9055         * buffer.c (Fget_file_buffer):
9056         Fixed GCPRO problem.
9057
9058         * buffer.c (get_truename_buffer):
9059         Fixed comment about GC checking.
9060
9061         * buffer.c (syms_of_buffer):
9062         Undeclared those dedicated frame funs.
9063         [2].
9064
9065         * buffer.h:
9066         Define convenience macros for internal/external conversions.
9067         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9068         and Qenvironment_variable_encoding for cleaner code.
9069
9070         * bufslots.h:
9071         Remove dedicated-frame; in lisp.
9072
9073         * bytecode.c (funcall_compiled_function):
9074         [1].
9075
9076         * bytecode.c (syms_of_bytecode):
9077         [2].
9078
9079         * console-msw.c:
9080         * console-msw.c (mswindows_show_console): Rewrote.
9081
9082         * console-msw.c (Fmswindows_debugging_output): New.
9083         Sends to OutputDebugString (special MSWin debugger interface).
9084
9085         * console-msw.c (Fmswindows_message_box):
9086         Fixed stupid bugs so it works when called from kill-emacs.
9087
9088         * console-msw.c (syms_of_console_mswindows):
9089         Declare Fmswindows_debugging_output.
9090
9091         * console-msw.h:
9092         New MSWin prototypes.
9093
9094         * console-msw.h (struct mswindows_frame):
9095         New entry last-click-mods for improved button-modifier support.
9096
9097         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9098         New struct entry `popup' with corresponding accessor.
9099
9100         * console-x.c:
9101         * console-x.c (split_up_display_spec):
9102         * console-x.c (get_display_arg_connection):
9103         * console-x.c (x_semi_canonicalize_console_connection):
9104         * console-x.c (x_canonicalize_device_connection):
9105         [[[6]]]: Change char to more specific type.
9106         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9107
9108         * console-x.c (x_semi_canonicalize_console_connection):
9109         * console-x.c (x_canonicalize_device_connection):
9110         [[[9]]]: Fix up error signalling to use new structured error system.
9111
9112         * console-x.h:
9113         [[[4]]]: Define codesys aliases:
9114         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9115         Qx_color_name_encoding, Qx_display_name_encoding.
9116
9117         * console.h (struct console_methods):
9118         New method make_dialog_box_internal supersedes older
9119         popup_dialog_box method.
9120
9121         * data.c:
9122         Define many new errors, part of new structured errors.
9123
9124         * data.c (init_errors_once_early):
9125         * data.c (syms_of_data):
9126         [2].
9127
9128         * device-msw.c (mswindows_init_device):
9129         [[[5]]]: Cleanup to support NT 3.51.
9130
9131         * device-msw.c (decode_devmode): Cleanup.
9132
9133         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9134         * device-msw.c (mswindows_handle_print_dialog_box):
9135         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9136         * device-msw.c (syms_of_device_mswindows):
9137         Delete the dialog box primitives recently introduced by Kirill and
9138         instead interface to general dialog box interface.
9139
9140         * device-x.c:
9141         * device-x.c (compute_x_app_name):
9142         * device-x.c (x_init_device):
9143         * device-x.c (Fx_valid_keysym_name_p):
9144         * device-x.c (Fx_set_font_path):
9145         [6].
9146         [7].
9147
9148         * device.h (wrap_device): New.
9149         First of its kind; meant to replace XSETDEVICE.
9150
9151         * dialog-msw.c: Many file-dialog symbols.
9152
9153         * dialog-msw.c (mswindows_register_popup_frame): New.
9154         * dialog-msw.c (mswindows_is_dialog_msg): New.
9155         For supporting kbd traversal in dialog boxes.
9156
9157         * dialog-msw.c (dialog_proc):
9158         Support hitting ESC in dialogs.
9159
9160         * dialog-msw.c (struct):
9161         Common dialog box errors.
9162
9163         * dialog-msw.c (handle_file_dialog_box): New.
9164         Add file dialog code.
9165
9166         * dialog-msw.c (handle_question_dialog_box):
9167         Redo existing code to support new question dialog syntax.
9168
9169         * dialog-msw.c (console_type_create_dialog_mswindows):
9170         We support new dialog console method.
9171
9172         * dialog-msw.c (syms_of_dialog_mswindows):
9173         * dialog-msw.c (vars_of_dialog_mswindows):
9174         New file dialog symbols, vars.
9175
9176         * dialog-x.c:
9177         * dialog-x.c (maybe_run_dbox_text_callback):
9178         * dialog-x.c (dbox_descriptor_to_widget_value):
9179         * dialog-x.c (x_make_dialog_box_internal):
9180         * dialog-x.c (console_type_create_dialog_x):
9181         Mule-ize entire file.
9182         Redo to support question dialog syntax.
9183         [6].
9184
9185         * dialog.c:
9186         * dialog.c (Fmake_dialog_box_internal):
9187         * dialog.c (syms_of_dialog):
9188         Kill old popup-dialog-box, replace with new primitive.
9189         Just call device method or signal error.
9190
9191         * eldap.c (Fldap_open):
9192         * eldap.c (Fldap_search_basic):
9193         * eldap.c (Fldap_add):
9194         * eldap.c (Fldap_modify):
9195         [1].
9196         [7].
9197
9198         * emacs.c:
9199         * emacs.c (make_arg_list_1):
9200         * emacs.c (make_arg_list):
9201         Mule-ize call to dll_init().
9202         [6].
9203         [8].
9204
9205         * emacs.c (make_argc_argv):
9206         * emacs.c (free_argc_argv):
9207         * emacs.c (init_cmdargs):
9208         * emacs.c (main_1):
9209         * emacs.c (Fkill_emacs):
9210         * emacs.c (Fdump_emacs):
9211         Update comments about what can be used in syms_* etc.
9212         Call init_win32() when necessary.
9213         Fix up MS Win dialog box in kill-buffer to actually work right.
9214         [7].
9215
9216         * eval.c:
9217         * eval.c (For):
9218         * eval.c (Fand):
9219         * eval.c (Fprogn):
9220         * eval.c (Fprog1):
9221         * eval.c (Fprog2):
9222         * eval.c (FletX):
9223         * eval.c (Flet):
9224         * eval.c (condition_case_3):
9225         * eval.c (Feval):
9226         * eval.c (function_argcount):
9227         * eval.c (funcall_lambda):
9228         [1].
9229
9230         * eval.c (type_error): New.
9231         * eval.c (maybe_type_error): New.
9232         * eval.c (continuable_type_error): New.
9233         * eval.c (maybe_continuable_type_error): New.
9234         * eval.c (type_error_with_frob): New.
9235         * eval.c (maybe_type_error_with_frob): New.
9236         * eval.c (continuable_type_error_with_frob): New.
9237         * eval.c (maybe_continuable_type_error_with_frob): New.
9238         New functions for use with structured errors.
9239
9240         * event-Xt.c:
9241         * event-Xt.c (x_event_to_emacs_event):
9242         Buttons are now modifiers too.
9243
9244         * event-Xt.c (emacs_Xt_current_event_timestamp):
9245         Implement new event method.
9246         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9247
9248         * event-msw.c:
9249         * event-msw.c (ntpipe_shove_writer): [5].
9250         * event-msw.c (mswindows_enqueue_mouse_button_event):
9251         * event-msw.c (mswindows_drain_windows_queue):
9252         * event-msw.c (mswindows_wnd_proc): [7].
9253         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9254         * event-msw.c (mswindows_modifier_state):
9255         Throughout: support new button modifiers.
9256
9257         * event-msw.c (emacs_mswindows_current_event_timestamp):
9258         Implement new event method.
9259         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9260
9261         * event-stream.c:
9262         * event-stream.c (event_stream_current_event_timestamp): New.
9263         * event-stream.c (maybe_kbd_translate): New functionality.
9264         * event-stream.c (vars_of_event_stream):
9265         Document new kbd-translate-table functionality.
9266
9267         * event-stream.c (Fcurrent_event_timestamp): New.
9268         New primitive for use in fabricated events.
9269         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9270
9271         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9272
9273         * events.c:
9274         * events.c (Fmake_event):
9275         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9276         [1].
9277         [9].
9278
9279         * events.c (format_event_object): fix gcc warnings.
9280
9281         * events.c (Fevent_timestamp): Document new primitives.
9282
9283         * events.c (TIMESTAMP_HALFSPACE): New.
9284
9285         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9286         comparing timestamps correctly (half-space algorithm).
9287
9288         * events.c (Fevent_modifier_bits): Doc fix.
9289
9290         * events.c (Fevent_modifiers): Major doc addition.
9291         * events.c (event_x_y_pixel_internal): Typo fix.
9292         * events.c (syms_of_events): Declare new primitives.
9293
9294         * events.h:
9295         Update long comment for button modifiers, timestamps.
9296
9297         * events.h (struct event_stream):
9298         New current_event_timestamp method.
9299
9300         * extents.c:
9301         * extents.c (extent_in_region_p):
9302         * extents.c (decode_extent):
9303         * extents.c (Fset_extent_parent):
9304         * extents.c (decode_map_extents_flags):
9305         Fix gcc warnings.
9306         [9].
9307
9308         * extents.c (struct extent_at_arg):
9309         * extents.c (decode_extent_at_flag):
9310         * extents.c (extent_at_mapper):
9311         * extents.c (extent_at_bytind):
9312         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9313         * extents.c (Fextents_at): New primitive. [9].
9314         * extents.c (symbol_to_glyph_layout): [9].
9315         Support new primitive `extents-at'.
9316
9317
9318         * extents.c (get_text_property_bytind):
9319         extent_at_bytind has another arg.
9320         [9].
9321
9322         * extents.c (syms_of_extents): New primitive.
9323
9324         * file-coding.c (Fmake_coding_system): [1].
9325         * file-coding.c (subsidiary_coding_system): fix gcc warning
9326         * file-coding.c (syms_of_file_coding): [2].
9327
9328         * fileio.c (Fexpand_file_name):
9329         * fileio.c (Fsysnetunam):
9330         * fileio.c (Ffile_exists_p):
9331         * fileio.c (Ffile_executable_p):
9332         * fileio.c (Fverify_visited_file_modtime):
9333         Clean up GCPROing.
9334
9335         * fileio.c (syms_of_fileio): [2].
9336
9337         * filelock.c (lock_file_1):
9338         * filelock.c (current_lock_owner):
9339         * filelock.c (lock_if_free):
9340         * filelock.c (lock_file):
9341         * filelock.c (unlock_file):
9342         Clean up GCPROing.
9343
9344         * fns.c (concat): Fix gcc warning.
9345
9346         * fns.c (Fmember):
9347         * fns.c (Fold_member):
9348         * fns.c (Fmemq):
9349         * fns.c (Fold_memq):
9350         * fns.c (memq_no_quit):
9351         * fns.c (Fassoc):
9352         * fns.c (Fold_assoc):
9353         * fns.c (Fassq):
9354         * fns.c (Fold_assq):
9355         * fns.c (assq_no_quit):
9356         * fns.c (Frassoc):
9357         * fns.c (Fold_rassoc):
9358         * fns.c (Frassq):
9359         * fns.c (Fold_rassq):
9360         * fns.c (rassq_no_quit):
9361         * fns.c (Fdelete):
9362         * fns.c (Fold_delete):
9363         * fns.c (Fdelq):
9364         * fns.c (Fold_delq):
9365         * fns.c (delq_no_quit):
9366         * fns.c (Fremassoc):
9367         * fns.c (Fremassq):
9368         * fns.c (remassq_no_quit):
9369         * fns.c (Fremrassoc):
9370         * fns.c (Fremrassq):
9371         * fns.c (remrassq_no_quit):
9372         * fns.c (Freverse):
9373         * fns.c (mapcar1):
9374         [1].
9375
9376         * frame-msw.c (mswindows_init_frame_1):
9377         * frame-msw.c (mswindows_delete_frame):
9378         Register popups with dialog code so keyboard traversing works.
9379
9380         * frame-tty.c (tty_raise_frame_no_select): [1].
9381
9382         * frame-x.c:
9383         * frame-x.c (x_set_frame_text_value):
9384         * frame-x.c (x_set_frame_properties):
9385         * frame-x.c (x_create_widgets):
9386         [7].
9387
9388         * frame.c:
9389         * frame.c (Fmouse_pixel_position): Minor doc fixes.
9390
9391         * frame.h (wrap_frame): New.
9392         Macro like wrap_device.
9393
9394         * general.c:
9395         * general.c (SYMBOL):
9396         * general.c (syms_of_general):
9397         Major reorg.  This is now just a wrapper and symbols themselves
9398         are listed in general-slots.h.
9399
9400         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
9401         * glyphs-msw.c (mswindows_resource_instantiate): [5].
9402
9403         * glyphs-msw.c (mswindows_native_layout_instantiate):
9404         Add DS_CONTROL so keyboard traversal will work.
9405
9406         * glyphs-widget.c:
9407         * glyphs-widget.c (syms_of_glyphs_widget):
9408         Move some symbols to general-slots.h.
9409
9410         * glyphs-x.c:
9411         * glyphs-x.c (xbm_instantiate_1):
9412         * glyphs-x.c (x_xbm_instantiate):
9413         * glyphs-x.c (x_xface_instantiate):
9414         * glyphs-x.c (autodetect_instantiate):
9415         * glyphs-x.c (cursor_font_instantiate):
9416         * glyphs-x.c (x_update_widget):
9417         * glyphs-x.c (x_widget_instantiate):
9418         * glyphs.c (bitmap_to_lisp_data):
9419         * glyphs.c (pixmap_to_lisp_data):
9420         [7].
9421
9422         * glyphs.c (syms_of_glyphs):
9423         [2].
9424
9425         * gui-x.c:
9426         * gui-x.c (print_widget_value):
9427         * gui-x.c (menu_separator_style_and_to_external):
9428         * gui-x.c (add_accel_and_to_external):
9429         * gui-x.c (button_item_to_widget_value):
9430         * gui-x.c (gui_items_to_widget_values_1):
9431         * gui-x.c (gui_items_to_widget_values):
9432         * gui-x.c (syms_of_gui_x):
9433         * gui-x.c (vars_of_gui_x):
9434         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
9435         [9].
9436
9437         * gui-x.h:
9438         Muleize, prototype changes matching gui-x.c.
9439
9440         * gui.c:
9441         * gui.c (separator_string_p):
9442         * gui.c (gui_item_add_keyval_pair):
9443         * gui.c (make_gui_item_from_keywords_internal):
9444         * gui.c (signal_too_long_error):
9445         * gui.c (parse_gui_item_tree_item):
9446         * gui.c (syms_of_gui):
9447         * gui.c (vars_of_gui):
9448         * gui.h:
9449         menu-no-selection-hook moved here (used by MSWin).
9450         Move some symbols to general-slots.h.
9451         [6].
9452         [9].
9453
9454         * insdel.c (get_buffer_pos_char):
9455         * insdel.c (get_buffer_range_char):
9456         Add GC comments.
9457
9458         * keymap.c (keymap_lookup_directly):
9459         * keymap.c (keymap_store):
9460         * keymap.c (ensure_meta_prefix_char_keymapp):
9461         * keymap.c (describe_map):
9462         * keymap.h:
9463         Support new button modifiers.
9464
9465         * lisp-disunion.h (wrap_object):
9466         * lisp-disunion.h (XSETOBJ):
9467         Rename make_obj to wrap_object.
9468
9469         * lisp-union.h:
9470         * lisp-union.h (make_int):
9471         * lisp-union.h (make_char):
9472         Support wrap_object.
9473
9474         * lisp.h:
9475         * lisp.h (LIST_LOOP):
9476         * lisp.h (EXTERNAL_LIST_LOOP):
9477         * lisp.h (LIST_LOOP_2):
9478         * lisp.h (EXTERNAL_LIST_LOOP_1):
9479         * lisp.h (EXTERNAL_LIST_LOOP_2):
9480         * lisp.h (EXTERNAL_LIST_LOOP_3):
9481         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
9482         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9483         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
9484         * lisp.h (EXTERNAL_ALIST_LOOP_5):
9485         * lisp.h (EXTERNAL_ALIST_LOOP_6):
9486         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
9487         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
9488         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
9489         * lisp.h (struct Lisp_Symbol):
9490         * lisp.h (maybe_continuable_error_with_frob):
9491         Fix up section comments.
9492         Add new types for char to indicate usage.
9493         Delete symbols auto-generated from general-slots.h.
9494         Add prototypes for structured error functions.
9495         Add long comments describing looping macros and change interface
9496         so that lvalues are automatically declared.
9497         Add NO_DECLARE macro in case callers want to declare lvalues
9498         themselves.
9499
9500         * lread.c (read_syntax_error):
9501         * lread.c (continuable_read_syntax_error):
9502         * lread.c (read_structure):
9503         * lread.c (sequence_reader):
9504         * lread.c (read_list_conser):
9505         * lread.c (read_compiled_function):
9506         Rename syntax_error and continuable_syntax_error to avoid clash
9507         with same-named structured error functions.
9508
9509         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9510         * menubar-msw.c (populate_menu_add_item):
9511         * menubar-msw.c (populate_or_checksum_helper):
9512         [5].
9513         [9].
9514
9515         * menubar-x.c:
9516         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9517         Mule-ize whole file.
9518
9519         * menubar.c (Fnormalize_menu_item_name): Add optimization.
9520
9521         * mule-charset.c (Fmake_charset):
9522         * mule-wnnfns.c (Fwnn_set_param):
9523         [1].
9524
9525         * ntproc.c (create_child):
9526         * ntproc.c (Fwin32_set_current_locale):
9527         Add comments portending doom.
9528
9529         * objects-msw.c:
9530         * objects-msw.c (old_font_enum_callback_2):
9531         * objects-msw.c (font_enum_callback_1):
9532         * objects-msw.c (mswindows_enumerate_fonts):
9533         [5].
9534
9535         * objects-x.c:
9536         * objects-x.c (allocate_nearest_color):
9537         * objects-x.c (x_parse_nearest_color):
9538         * objects-x.c (x_initialize_color_instance):
9539         * objects-x.c (x_print_color_instance):
9540         * objects-x.c (x_finalize_color_instance):
9541         * objects-x.c (x_valid_color_name_p):
9542         * objects-x.c (x_initialize_font_instance):
9543         * objects-x.c (x_print_font_instance):
9544         * objects-x.c (valid_x_font_name_p):
9545         * objects-x.c (truename_via_FONT_prop):
9546         * objects-x.c (truename_via_random_props):
9547         * objects-x.c (truename_via_XListFonts):
9548         * objects-x.c (x_font_truename):
9549         * objects-x.c (x_font_instance_truename):
9550         * objects-x.c (x_font_instance_properties):
9551         * objects-x.c (x_list_fonts):
9552         * objects-x.c (x_find_charset_font):
9553         Mule-ize entire file.
9554         [7].
9555
9556         * objects-x.h:
9557         Mule-verify.
9558
9559         * print.c:
9560         * print.c (std_handle_out_external):
9561         * print.c (debug_print_no_newline):
9562         * print.c (syms_of_print):
9563         Output to all debugger kinds in debug-print.
9564         Fix console-output code under MSWin to actually work.
9565
9566         * process-nt.c (send_signal):
9567         * process-nt.c (nt_create_process):
9568         Use newer Unicode macros.
9569
9570         * process-unix.c (unix_create_process):
9571         * process-unix.c (unix_canonicalize_host_name):
9572         * process-unix.c (unix_open_network_stream):
9573         [7].
9574
9575         * scrollbar-x.c:
9576         Mule-verify.
9577
9578         * search.c (syms_of_search):
9579         [2].
9580
9581         * select-msw.c (mswindows_destroy_selection):
9582         Use LIST_LOOP_2.
9583
9584         * select-x.c (symbol_to_x_atom):
9585         [7].
9586
9587         * select.c (syms_of_select):
9588         [2].
9589
9590         * sound.c (Fplay_sound_file):
9591         [7].
9592
9593         * specifier.c:
9594         * specifier.c (decode_specifier_type):
9595         * specifier.c (Fvalid_specifier_locale_type_p):
9596         * specifier.c (check_valid_locale_or_locale_type):
9597         * specifier.c (decode_locale):
9598         * specifier.c (decode_locale_type):
9599         * specifier.c (decode_locale_list):
9600         * specifier.c (check_valid_domain):
9601         * specifier.c (decode_specifier_tag_set):
9602         * specifier.c (Fcanonicalize_tag_set):
9603         * specifier.c (Fdefine_specifier_tag):
9604         * specifier.c (Fspecifier_tag_predicate):
9605         * specifier.c (check_valid_inst_list):
9606         * specifier.c (check_valid_spec_list):
9607         * specifier.c (decode_how_to_add_specification):
9608         * specifier.c (check_modifiable_specifier):
9609         * specifier.c (specifier_add_spec):
9610         * specifier.c (boolean_validate):
9611         * specifier.c (display_table_validate):
9612         [9].
9613
9614         * specifier.c (syms_of_specifier):
9615         Move some symbols to general-slots.h.
9616         [2].
9617
9618         * symbols.c:
9619         * symbols.c (Fmapatoms):
9620         * symbols.c (Fapropos_internal):
9621         Add GCPROs.
9622
9623         * symbols.c (set_default_buffer_slot_variable):
9624         * symbols.c (set_default_console_slot_variable):
9625         [1].
9626
9627         * symbols.c (defsymbol_massage_name_1):
9628         * symbols.c (defkeyword_massage_name):
9629         * symbols.c (deferror_1):
9630         * symbols.c (deferror):
9631         * symbols.c (deferror_massage_name_and_message):
9632         * symeval.h:
9633         * symeval.h (DEFSYMBOL):
9634         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
9635
9636         * symbols.c (syms_of_symbols):
9637         [2].
9638
9639         * symsinit.h:
9640         * symsinit.h (init_win32): New.
9641         Also new is syms_of_dialog_mswindows.
9642
9643         * syswindows.h:
9644         Add new Unicode macros, missing Cygwin wide-char functions,
9645         convenience conversion macros for Qmswindows_tstr, macros for
9646         encapsulating required MSWin <-> Cygwin filename conversions,
9647         prototype for dynamically-extracted (not in NT 3.51) functions.
9648
9649         * toolbar-x.c:
9650         Mule-verify.
9651
9652         * tooltalk.c (Fadd_tooltalk_message_arg):
9653         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
9654         * tooltalk.c (Fadd_tooltalk_pattern_arg):
9655         [7].
9656
9657         * tooltalk.c (syms_of_tooltalk):
9658         [2].
9659
9660         * unexnt.c:
9661         * unexnt.c (unexec):
9662         Fix up headers, declaration of unexec() to be more standard.
9663
9664 2000-07-20  Martin Buchholz  <martin@xemacs.org>
9665
9666         * offix.h: Revert change to guard macros - they're used in offix.c!
9667
9668 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9669
9670         * lisp.h: Defsubred Fdelete.
9671
9672         * console-msw.h:  (msprinter_default_printer): Added.
9673
9674         * console-msw.c (msprinter_canonicalize_console_connection):
9675         (msprinter_canonicalize_device_connection): Added.
9676
9677         * device-msw.c (msprinter_default_printer):
9678         (Fmswingows_get_default_printer):
9679         (signal_enum_priner_error):
9680         (Fmswingows_printer_list): Added.
9681
9682 2000-07-19  Martin Buchholz <martin@xemacs.org>
9683
9684         * XEmacs 21.2.35 is released.
9685
9686 2000-07-19  Martin Buchholz  <martin@xemacs.org>
9687
9688         * select-x.c (x_handle_selection_request):
9689         Text selected in xemacs and pasted into xterm failed to appear.
9690         Spelling fixes and cosmetic changes.
9691
9692 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9693
9694         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
9695         XEmacs frame (fix for doubling chars in dialog boxes).
9696
9697 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9698
9699         * select.c (select_convert_in, select_convert_out):
9700         Don't call intern() every time.
9701
9702         * select.c (Qselect_convert_in, Qselect_convert_out): New.
9703         * select.c (vars_of_select): Initialise them.
9704
9705 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9706
9707         * select.c (selection-coercible-types): New.
9708
9709         * select.c (own-selection-internal):
9710         * select.c (get-selection-internal):
9711         MULE bug fix - these should default to COMPOUND_TEXT and not
9712         STRING for MULE. I think.
9713
9714         * select.c (select_convert_out): Use selection-coercible-types
9715         to find types that we can attempt to perform coercions on.
9716
9717 2000-07-18  Martin Buchholz  <martin@xemacs.org>
9718
9719         * mule-wnnfns.c:
9720         * mule-canna.c:
9721         Add coding: cookie to identify encoding.
9722
9723         * mule-canna.c (CANNA_mode_keys): make static.
9724         Use proper prototypes, even for functions of no arguments.
9725         Remove external prototype for Fding().
9726
9727         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
9728
9729         * select.c (syms_of_select): Add missing DEFSUBR.
9730
9731 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9732
9733         * select.c (get_selection_internal, own_selection_internal):
9734         Make the type default to STRING, rather than placing a nil type
9735         into Vselection_alist.
9736
9737 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9738
9739         * gpmevent.c (tty_selection_exists_p):
9740         * gpmevent.c (tty_own_selection):
9741         Updated parameter lists.
9742
9743 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
9744
9745         * select.h (selection-alist): Removed declaration.
9746
9747         * select.h (get_local_selection):
9748         * select.c (get_local_selection):
9749         Made static.
9750
9751         * select.h (convert_selection): Removed declaration.
9752         * select.c (convert_selection): Removed.
9753         This function belongs in Lisp.
9754
9755         * select.h (select_convert_in): Declare.
9756         * select.h (select_convert_out): Declare.
9757         * select.c (select_convert_in): New.
9758         * select.c (select_convert_out): New.
9759         New conversion functions for other files to call.
9760
9761         * select.h (select_notify_buffer_kill): Declare.
9762         * select.c (select_notify_buffer_kill): New.
9763         New functions that get called from kill-buffer.
9764
9765         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
9766         X-specific lisp code.
9767
9768         * select.h: Declare some of the lisp-visible functions for
9769         external use.
9770
9771         * select.c (clean_local_selection_data): Removed. This was
9772         a disgusting function, and previously should have been in
9773         select-x.c in any case. The functionality is now provided
9774         in select-convert-from-integer (select.el).
9775
9776         * select.c (available-selection-types): Fixed stupidity where
9777         INTEGER and ATOM got added twice. Also add STRING when we see an
9778         extent.
9779
9780         * select.c (get-selection-internal): Removed symbol stripping. No
9781         longer causes conversion when data comes from the internal cache.
9782
9783         * select.c (syms_of_select): Added new functions.
9784
9785         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
9786         error checking - previously this called abort!
9787
9788         * select-x.c (x_own_selection): Changed comment.
9789
9790         * select-x.c (x_handle_selection_request): Use select_convert_out.
9791         Don't mess with selection-alist; it's an internal variable of select.c.
9792
9793         * select-x.c (x_get_foreign_selection): Use select_convert_in.
9794
9795         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
9796         rather than messing with selection-alist.
9797
9798         * select-msw.c (mswindows_get_foreign_selection):
9799         Use TO_INTERNAL_FORMAT rather than hacking.
9800
9801 2000-07-14  Martin Buchholz  <martin@xemacs.org>
9802
9803         * process-unix.c (unix_open_multicast_group):
9804         (unix_open_multicast_group): Remove useless casts.
9805
9806 2000-07-13  Martin Buchholz  <martin@xemacs.org>
9807
9808         * sound.c (Fplay_sound): Fix `unused variable' warning.
9809
9810         * emacs.c (main): Use correct type for _environ on SCO5.
9811
9812 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
9813
9814         * console.h (own_selection_method):
9815         * console.h (selection_exists_p_method):
9816         * console.h (available_selection_types_method): New.
9817         * console.h (register_selection_data_type_method): New.
9818         * console.h (selection_data_type_name): New.
9819
9820         * console-msw.h (mswindows_destroy_selection): Declare it.  New
9821         function & alist to track GlobalAlloc()'d handles that need
9822         releasing when the clipboard data gets replaced or emptied.
9823
9824         * event-msw.c (mswindows_wnd_proc): Call it.
9825
9826         * lisp.h, general.c (Qappend): New symbol representing a
9827         `how-to-add' mode.
9828
9829         * select.c (own-selection-internal):
9830         * select.c (selection-exists-p):
9831         * select.c (available-selection-types): New.
9832         * select.c (register-selection-data-type): New.
9833         * select.c (selection-data-type-name): New.  New functions to deal
9834         with device-specific selection data formats.
9835         * select.c (selection-converter-out-alist): Renamed.
9836         * select.c (selection-converter-in-alist): New.
9837         * select.c (selection-appender-alist): New.  Added new alists.
9838         * select.c (syms_of_select, vars_of_select): Added new symbols &
9839         variables.
9840         * select.c (get_local_selection): Split.
9841         * select.c: Removed spurious type checking - selections may now be
9842         of any type, not just strings.
9843         * select.c (own-selection-internal):
9844
9845         * select.h, select.c (convert_selection): New. Created
9846         convert_selection() function based on get_local_selection().
9847         * select.h, select.c (QCF_*): New symbols representing mswindows
9848         clipboard formats.
9849         * select.h, select.c (Qreplace_all, Qreplace_existing): New
9850         symbols representing `how-to-add' modes.
9851
9852         * select-msw.c (x_sym_p): New.
9853         * select-msw.c (symbol_to_ms_cf): New.
9854         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
9855         symbols & clipboard formats. Can also handle string names.
9856         * select-msw.c (mswindows_own_selection):
9857         * select-msw.c (mswindows_selection_exists_p):
9858         Added `data-type' parameter. Use it.
9859         * select-msw.c (mswindows_available_selection_types): New.
9860         * select-msw.c (mswindows_register_selection_data_type): New.
9861         * select-msw.c (mswindows_selection_data_type_name): New.
9862         * select-msw.c (mswindows_own_selection):
9863         * select-msw.c (mswindows_get_foreign_selection):
9864         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
9865         * select-msw.c (console_create_select_mswindows): Added new methods.
9866         * select-msw.c (mswindows_destroy_selection): New.
9867         * select-msw.c (Vhandle_alist): New list.
9868         * select-msw.c (mswindows_own_selection):
9869
9870         * select-x.c (x_own_selection):
9871         * select-x.c (x_selection_exists_p):
9872         * select-x.c: Added some comments about maybe using new
9873         functionality.
9874         * select-x.c (x_own_selection):
9875
9876         * specifier.c: Remove definition of Qappend (now in general.c)
9877         * specifier.c (syms_of_specifier): Remove Qappend.
9878
9879 2000-07-12  Martin Buchholz  <martin@xemacs.org>
9880
9881         * config.h.in: Add socklen_t.
9882
9883         * s/decosf4-0.h: No special compiler flags needed or desired.
9884         In particular, undefine _BSD for DEC OSF 4.0.
9885
9886 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9887
9888         * redisplay-msw.c (msprinter_frame_output_end): Added.
9889         (console_type_create_redisplay_mswindows): Referred the above.
9890
9891         * frame.c (setup_frame_without_minibuffer): Do not create a
9892         default minibuffer frame on a printer device.
9893
9894         * frame-msw.c (apply_dc_geometry): Added.
9895         (msprinter_start_page):
9896         (msprinter_init_frame_3):
9897         (msprinter_eject_page): Use it.
9898
9899         * console-msw.h (struct msprinter_frame): Added pix_left and top,
9900         and removed residual duplex and orientation properties.
9901
9902 2000-07-11  Martin Buchholz  <martin@xemacs.org>
9903
9904         * eval.c (function_argcount): Work around a DEC CC compiler bug.
9905
9906         * unexalpha.c: Remove system prototypes from C sources!
9907
9908 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
9909
9910         * eval.c: Remove references to M-x edit-options in DEFUNs for
9911         `defvar' and `defconst'.
9912
9913 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9914
9915         * config.h.in: Remove SMART_INCLUDE hackery.
9916
9917         PostgreSQL hacking:
9918         * config.h.in: Don't use SMART_INCLUDE.
9919
9920         * postgresql.h: Include libpq-fe.h here.  Fix typo.
9921         * inline.c: Simply #include "postgresql.h"
9922         * postgresql.c:
9923         - Don't use SMART_INCLUDE
9924         - Use simply "const".
9925         - Use standard doc string conventions.
9926         - Use correct type for result of PQstatus.
9927
9928 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9929
9930         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
9931
9932         C++ compilation changes.
9933         * config.h.in (EXTERN_C): Define.
9934         * config.h.in (not): This is also a C++ keyword.
9935         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
9936         * cm.c: Use EXTERN_C.
9937         * redisplay-tty.c: Use EXTERN_C.
9938         * sysdep.c: Use EXTERN_C.  Remove Gould support.
9939
9940 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9941
9942         * general.c: Remove duplicate definition for Qfunction.
9943
9944 2000-07-08  Ben Wing  <ben@xemacs.org>
9945
9946         * device-msw.c (msprinter_init_device):
9947         * device-msw.c (sync_printer_with_devmode):
9948         * device-msw.c (handle_devmode_changes):
9949         * device-msw.c (print_dialog_worker):
9950         * device-msw.c (Fmsprinter_apply_settings):
9951         * device-msw.c (hash_devmode):
9952         * device-msw.c (Fmsprinter_settings_despecialize):
9953         use Qmswindows_tstr, not Qctext.
9954
9955         * vm-limit.c (check_memory_limits):
9956         avoid infinite loop printing warning messages.
9957
9958 2000-07-05  Craig Lanning  <lanning@scra.org>
9959
9960         * Makefile.in.in: Add support for including the Windows resources
9961         when building with the cygwin and mingw targets.
9962
9963         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
9964         not set or not correct.
9965         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
9966         (init_initial_directory): Don't try to use $PWD on the
9967         WIN32_NATIVE target.
9968
9969         * s\cygwin32.h:
9970         [[Add -mwindows to eliminate console window.]] not required --ben
9971         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9972         (MAIL_USE_POP): removed; now handled by configure.
9973
9974         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
9975         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
9976         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9977         (MAIL_USE_POP): removed; now handled by configure.
9978         (ENCAPSULATE_STAT): from Dan Holmsand, added.
9979         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
9980         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
9981         constant string.
9982         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
9983         up from <winsock.h> via systime.h.
9984         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
9985         (getpagesize): from Dan Holmsand, added.
9986         Added #endif which was left dangling by Ben's mega patch; added
9987         comment to help prevent this in the future.
9988
9989         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
9990
9991 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9992
9993         * console-msw.h (struct mswindows_device): Removed unnecessary
9994         cached device geometry values.
9995         Added update_tick and an accessor macro.
9996         (Lisp_Devmode): Added lrecord declaration.
9997         (struct msprinter_device): Contain devmode as a Lisp object.
9998         Added mswindows_get_selected_frame_hwnd();
9999
10000         * console.h (struct console_methods): Indentation nitpicking.
10001
10002         * device-msw.c (mswindows_init_device): Do not initialize geometry
10003         cache. Initialize update tick.
10004         (mswindows_device_system_metrics): Ask the device for its geometry.
10005         (global_free_2_maybe):
10006         (devmode_to_hglobal):
10007         (handle_printer_changes):
10008         (ensure_not_printing):
10009         (print_dialog_worker):
10010         (Fmsprinter_print_setup_dialog):
10011         (Fmsprinter_print_dialog):
10012         (plist_get_margin):
10013         (plist_set_margin):
10014         (Fmsprinter_page_setup_dialog): Added functions.
10015         (sync_printer_with_devmode):
10016         (handle_devmode_changes):
10017         (Fmsprinter_get_settings):
10018         (Fmsprinter_select_settings):
10019         (Fmsprinter_apply_settings):
10020         (allocate_devmode):
10021         (Fmsprinter_settings_copy):
10022         (Fmsprinter_settings_despecialize):
10023         (print_devmode):
10024         (finalize_devmode):
10025         (equal_devmode):
10026         (hash_devmode): Added functions
10027         (syms_of_device_mswindows): Init devmode lrecord class.
10028
10029         * device.h: Added an exfun for find-device.
10030
10031         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10032         geometry; although, recreate the device compatible DC.
10033
10034         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10035         (msprinter_init_frame_3):
10036         (msprinter_frame_property):
10037         (msprinter_internal_frame_property_p):
10038         (msprinter_frame_properties):
10039         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10040         print job properties (will move to device settings).
10041
10042         * lisp.h: Added symbols.
10043
10044         * general.c (syms_of_general): Declared them.
10045
10046         * hash.c (string_hash): Added.
10047
10048         * lrecord.h (lrecord_type): Added devmode lrecord type.
10049
10050 2000-07-02  Mike Sperber <mike@xemacs.org>
10051
10052         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10053         FreeBSD 4.0.
10054
10055 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10056
10057         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10058         integer.
10059
10060 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10061
10062         * data.c (Fstring_to_number): Don't recognize floating point if
10063         base is not 10.
10064
10065 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10066
10067         * glyphs-widget.c (tab_control_query_geometry):
10068         (widget_query_geometry):
10069         (button_query_geometry):
10070         * glyphs.c (text_query_geometry):
10071         Enforce type correctness.
10072
10073 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10074
10075         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10076         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10077
10078 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10079
10080         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10081         conflicts with gcc's fixincluded version of FOO.h.
10082
10083         * glyphs.h (image_instance_geometry): Remove trailing `,'
10084
10085 2000-06-08  Mike Alexander  <mta@arbortext.com>
10086
10087         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10088         (shove_thread): Don't write the same output twice
10089         (make_ntpipe_output_stream): Increase priority of shove thread
10090         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10091         chance to run
10092         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10093         it.
10094
10095 2000-06-12  Ben Wing  <ben@xemacs.org>
10096
10097         * s\mingw32.h (sigset):
10098         * s\windowsnt.h (sigset):
10099         rename msw_ to mswindows_ for consistency with general convention.
10100
10101 2000-06-12  Ben Wing  <ben@xemacs.org>
10102
10103         * console-msw.c:
10104         * console-msw.c (mswindows_get_console_hwnd):
10105         * console-msw.c (mswindows_ensure_console_allocated):
10106         * console-msw.c (mswindows_hide_console):
10107         * console-msw.c (mswindows_show_console):
10108         * console-msw.c (mswindows_ensure_console_buffered):
10109         * console-msw.c (mswindows_output_console_string):
10110         * console-msw.c (mswindows_windows9x_p):
10111         * console-msw.h:
10112         * device-msw.c (mswindows_get_workspace_coords):
10113         * device-msw.c (mswindows_device_system_metrics):
10114         * dialog-msw.c (mswindows_popup_dialog_box):
10115         * event-msw.c (mswindows_wnd_proc):
10116         * frame-msw.c (mswindows_size_frame_internal):
10117         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10118         * menubar-msw.c (displayable_menu_item):
10119         * menubar-msw.c (mswindows_char_is_accelerator):
10120         * nt.c:
10121         * nt.c (mswindows_sigset):
10122         * nt.c (mswindows_sigrelse):
10123         * nt.c (mswindows_sigpause):
10124         * nt.c (mswindows_raise):
10125         * nt.c (timer_proc):
10126         * ntproc.c:
10127         * ntproc.c (find_child_console):
10128         * ntproc.c (sys_kill):
10129         * print.c:
10130         * print.c (std_handle_out_external):
10131         * process-nt.c (find_child_console):
10132         * process-nt.c (send_signal_the_95_way):
10133         * process-nt.c (ensure_console_window_exists):
10134         * process-nt.c (nt_create_process):
10135         * syssignal.h:
10136         rename msw_ to mswindows_ for consistency with general convention.
10137
10138         * emacs.c:
10139         * dumper.c:
10140         include nt.h, not syswindows.h.
10141
10142         * nt.c (mswindows_fstat):
10143         * nt.c (mswindows_stat):
10144         prefix mswindows_ instead of attempting to directly override the
10145         library functions.  fix declarations.
10146
10147         * nt.h:
10148         include syswindows.h.  move some sysdep.h stuff here.
10149
10150         * ntheap.h:
10151         include syswindows.h, not <windows.h>.
10152
10153         * ntplay.c:
10154         clean up headers.
10155
10156         * sysdep.c:
10157         clean up headers.
10158
10159         * sysdep.c (sys_fstat):
10160         * sysdep.c (sys_stat):
10161         call mswindows versions when appropriate.
10162
10163         * sysdep.h:
10164         move mswin decls to nt.h.
10165
10166         * syswindows.h:
10167         add long comment describing appropriate use of the various windows
10168         headers.
10169
10170 2000-06-11  Ben Wing  <ben@xemacs.org>
10171
10172         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10173
10174 2000-06-10  Ben Wing  <ben@xemacs.org>
10175
10176         * Makefile.in.in (release):
10177         Correction to make sure xemacs.exe always dumped when correct.
10178
10179         * alloca.c:
10180         * balloon_help.c:
10181         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10182
10183         * buffer.c (set_buffer_internal):
10184         [[[[2]]]]: Remove HAVE_FEP code.
10185
10186         * buffer.c (init_initial_directory):
10187         [3].
10188
10189         * bytecode.c:
10190         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10191         individual files.
10192
10193         * callproc.c:
10194         * callproc.c (call_process_cleanup):
10195         * callproc.c (Fold_call_process_internal):
10196         * callproc.c (child_setup):
10197         * callproc.c (getenv_internal):
10198         * callproc.c (init_callproc):
10199         * callproc.c (vars_of_callproc):
10200         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10201         __CYGWIN32__ -> CYGWIN.
10202         DOS_NT -> WIN32_NATIVE.
10203         Remove MSDOS support/references, converting to WIN32_NATIVE
10204           where correct.
10205         __MINGW32__ -> MINGW.
10206         Fix windows.h includes.
10207         Remove bogus HAVE_NTGUI.
10208
10209         * config.h.in:
10210         [2].
10211
10212         * console-msw.c:
10213         mswindows_message_outputted added for use in allowing startup
10214         errors on the console to be seen.
10215
10216         * console-msw.c (msw_ensure_console_allocated):
10217         * console-msw.c (msw_output_console_string):
10218         * console-msw.c (DHEADER):
10219         * console-msw.c (DOPAQUE_DATA):
10220         * console-msw.c (DEVENT):
10221         * console-msw.c (DCONS):
10222         * console-msw.c (DCONSCDR):
10223         * console-msw.c (DSTRING):
10224         * console-msw.c (DVECTOR):
10225         * console-msw.c (DSYMBOL):
10226         * console-msw.c (DSYMNAME):
10227         Fix warnings.
10228
10229         * console-stream.c (stream_init_console):
10230         Fix text/binary problems.
10231
10232         * device-msw.c:
10233         * device-msw.c (mswindows_finish_init_device):
10234         * device-msw.c (mswindows_delete_device):
10235         [1].
10236
10237         * device.c (handle_asynch_device_change):
10238         [3].
10239
10240         * dgif_lib.c:
10241         * dgif_lib.c (DGifOpenFileName):
10242         * dgif_lib.c (DGifOpenFileHandle):
10243         * dgif_lib.c (DGifGetLine):
10244         * dgif_lib.c (DGifGetPixel):
10245         Added config.h/lisp.h, fix up includes.
10246         [1].
10247
10248         * dired-msw.c:
10249         [4].
10250
10251         * dired.c:
10252         * dired.c (file_name_completion):
10253         * dired.c (Ffile_attributes):
10254         * dired.c (syms_of_dired):
10255         [1].
10256
10257         * dumper.c:
10258         * dumper.c (pdump_file_unmap):
10259         * dumper.c (pdump_load):
10260         [1].
10261
10262         * editfns.c:
10263         * editfns.c (Ftemp_directory):
10264         * editfns.c (user_login_name):
10265         * editfns.c (Fuser_real_login_name):
10266         * editfns.c (get_home_directory):
10267         [1].
10268
10269         * elhash.c (finish_marking_weak_hash_tables):
10270         [[[[5]]]]: Fix GCC warnings.
10271
10272         * emacs.c:
10273         * emacs.c (mswindows_handle_hardware_exceptions):
10274         * emacs.c (make_arg_list_1):
10275         * emacs.c (main_1):
10276         * emacs.c (Fkill_emacs):
10277         * emacs.c (Fdump_emacs):
10278         [1].
10279         Fix problems with nested crashes, add long comment.
10280
10281         * event-Xt.c (init_event_Xt_late):
10282         [1].
10283
10284         * event-msw.c:
10285         * event-msw.c (mswindows_dde_callback):
10286         * event-msw.c (mswindows_handle_sticky_modifiers):
10287         * event-msw.c (mswindows_wnd_proc):
10288         [1].
10289         [5].
10290
10291         * events.c (character_to_event):
10292         [1].
10293
10294         * fileio.c:
10295         * fileio.c (Ffile_name_directory):
10296         * fileio.c (Ffile_name_nondirectory):
10297         * fileio.c (directory_file_name):
10298         * fileio.c (Fexpand_file_name):
10299         * fileio.c (Fsubstitute_in_file_name):
10300         * fileio.c (Ffile_name_absolute_p):
10301         * fileio.c (check_executable):
10302         * fileio.c (Ffile_readable_p):
10303         * fileio.c (Ffile_accessible_directory_p):
10304         * fileio.c (Ffile_modes):
10305         * fileio.c (Funix_sync):
10306         * fileio.c (vars_of_fileio):
10307         [1]. [4].
10308
10309         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10310
10311         Expand getdefdir defn.
10312         Fix bogus rename() comment.
10313
10314         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10315         to use standard XEmacs include files, e.g. sysfile.h, rather
10316         than system-specific includes.
10317
10318         * fns.c:
10319         * fns.c (Fsubseq):
10320         [5]. [6].
10321
10322         * frame.c (vars_of_frame):
10323         [1].
10324
10325         * getloadavg.c:
10326         * getloadavg.c (getloadavg):
10327         [1]. [6].
10328         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10329         (We don't use it elsewhere in the code; just add a comment.)
10330
10331         * gif_io.c:
10332         [6].
10333         Add config.h.
10334
10335         * glyphs-msw.c:
10336         * glyphs-msw.c (mswindows_resource_instantiate):
10337         [1].
10338
10339         * glyphs-x.c (x_native_layout_instantiate):
10340         [5].
10341
10342         * gui-msw.c (Fmswindows_shell_execute):
10343         [1].
10344
10345         * insdel.c:
10346         [4].
10347
10348         * lisp.h:
10349         [4]. [5].
10350
10351         * lread.c (locate_file_in_directory_mapper):
10352         [1].
10353
10354         * lstream.c:
10355         [4].
10356
10357         * mem-limits.h:
10358         * mem-limits.h (get_lim_data):
10359         [1].
10360
10361         * menubar-msw.c:
10362         [4].
10363
10364         * ndir.h:
10365         [1].
10366
10367         * nt.c:
10368         * nt.c (getwd):
10369         * nt.c (closedir):
10370         * nt.c (rva_to_section):
10371         * nt.c (mswindows_executable_type):
10372         [1]. [6].
10373         Fix closedir() defn.
10374
10375         * nt.h:
10376         [[[[8]]]]: *_OK defs moved to sysfile.h.
10377
10378         * ntproc.c:
10379         [6]. [7].
10380
10381         * objects-x.c:
10382         [4].
10383
10384         * print.c:
10385         * print.c (std_handle_out_external):
10386         [1]. [4].
10387
10388         * process-nt.c:
10389         * process-nt.c (nt_create_process):
10390         [6].
10391         try to fix process quoting somewhat.
10392
10393         * process-unix.c (unix_create_process):
10394         [1].
10395
10396         * process.c:
10397         * process.c (vars_of_process):
10398         Add Vnull_device.
10399
10400         * process.h:
10401         [1].
10402
10403         * realpath.c:
10404         * realpath.c (xrealpath):
10405         [1].
10406
10407         * redisplay-tty.c (init_tty_for_redisplay):
10408         [3].
10409
10410         * redisplay.c:
10411         [4]. [6].
10412
10413         * scrollbar-msw.c:
10414         [4].
10415
10416         * sheap.c:
10417         * sheap.c (more_static_core):
10418         * sheap.c (report_sheap_usage):
10419         [5]. [6].
10420
10421         * signal.c:
10422         * signal.c (alarm_signal):
10423         [1]. [6].
10424
10425         * sound.c:
10426         [6].
10427
10428         * strftime.c:
10429         * strftime.c (zone_name):
10430         [1]. [5].
10431
10432         * symsinit.h (init_sunpro):
10433         [1].
10434
10435         * syscommctrl.h:
10436         commctrl.h not in Cygwin b20.1.
10437
10438         * sysdep.c:
10439         * sysdep.c (endif):
10440         * sysdep.c (sys_subshell):
10441         * sysdep.c (init_baud_rate):
10442         * sysdep.c (emacs_get_tty):
10443         * sysdep.c (emacs_set_tty):
10444         * sysdep.c (tty_init_sys_modes_on_device):
10445         * sysdep.c (init_system_name):
10446         * sysdep.c (sys_open):
10447         * sysdep.c (interruptible_open):
10448         * sysdep.c (sys_fopen):
10449         * sysdep.c (sys_mkdir):
10450         * sysdep.c (sys_rename):
10451         * sysdep.c (get_process_times_1):
10452         [1]. [6].
10453
10454         * sysdep.h:
10455         [1].
10456
10457         * sysdir.h:
10458         * sysdir.h (DIRENTRY_NONEMPTY):
10459         [1]. [6].
10460
10461         * sysdll.c (dll_init):
10462         * sysdll.h:
10463         [1].
10464
10465         * sysfile.h:
10466         [1]. [6]. [8].
10467         added text/binary defs.
10468
10469         * sysfloat.h:
10470         [1].
10471
10472         * sysproc.h:
10473         * sysproc.h (EDESTADDRREQ):
10474         * sysproc.h (poll_fds_for_input):
10475         [1]. [6].
10476
10477         * syspwd.h:
10478         [6].
10479
10480         * syssignal.h:
10481         [1].
10482
10483         * systime.h:
10484         [1]. [6].
10485
10486         * systty.h:
10487         [1].
10488
10489         * syswindows.h:
10490         [1].
10491         Always define WIN32_LEAN_AND_MEAN.
10492
10493         * unexcw.c (unexec):
10494         [5].
10495
10496         * unexec.c:
10497         * unexec.c (copy_text_and_data):
10498         * unexec.c (adjust_lnnoptrs):
10499         [1].
10500
10501         * unexnt.c:
10502         * unexnt.c (_start):
10503         [1].
10504
10505 2000-06-07  Ben Wing  <ben@xemacs.org>
10506
10507         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
10508         was used only as a model.  We've long since extracted any useful
10509         logic or code out of this. (I just did an exhaustive search.)
10510
10511         * s\msdos.h: Removed.
10512
10513         * s\windows95.h: Removed.
10514
10515 2000-06-10  Ben Wing  <ben@xemacs.org>
10516
10517         * s\cygwin32.h:
10518         [1]. [5].
10519         Don't use extern with fun defs.
10520
10521         * s\mingw32.h:
10522         [1]. [7].
10523         Remove nt\inc include.
10524         Remove getdisk, getdefdir. (The former is unused, the latter
10525         expanded in fileio.h.)
10526
10527         * s\windowsnt.h:
10528         * s\windowsnt.h (WIN32_NATIVE):
10529         * s\windowsnt.h (HAVE_STRCASECMP):
10530         [1]. [7].
10531         Add long comment about preprocessor changes.
10532         Remove getdisk, getdefdir. (The former is unused, the latter
10533         expanded in fileio.h.)
10534
10535 2000-06-10  Ben Wing  <ben@xemacs.org>
10536
10537         * m\arm.h:
10538         * m\delta.h:
10539         * m\intel386.h:
10540         * m\sequent.h:
10541         * m\template.h:
10542         * m\windowsnt.h:
10543         [1].
10544         Remove bogus/unused NO_SOCK_SIGIO.
10545
10546 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
10547
10548         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
10549         not an Emchar.
10550
10551 2000-06-04  Mike Sperber <mike@xemacs.org>
10552
10553         * casetab.c (set_case_table): For `set-standard-case-table',
10554         actually deposit the new case tables where the rest of XEmacs can
10555         see them.
10556
10557 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
10558
10559         * data.c (Faset): Don't cast XCHAR() to unsigned char.
10560
10561 2000-06-05  Ben Wing  <ben@xemacs.org>
10562
10563         * callproc.c (child_setup): Don't do close_load_descs() under
10564         MS Windows.  Put in a comment explaining why.
10565
10566 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
10567
10568         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
10569         Toolkit shell" which breaks `kill-compilation' on Windows NT
10570         native, retaining STDERR handling improvements.
10571
10572 2000-06-01  Andreas Jaeger  <aj@suse.de>
10573
10574         * s/s390.h: Support for S390, based on a patch by Martin
10575         Schwidefsky <schwidefsky@de.ibm.com>.
10576
10577 2000-05-30  Andy Piper  <andy@xemacs.org>
10578
10579         * window.c (allocate_window):
10580         (make_dummy_parent):
10581         (Fset_window_configuration): use new hashtable type.
10582
10583         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
10584         (struct image_instantiator_methods):
10585         (struct Lisp_Image_Instance): make instance geometry signed.
10586
10587         * glyphs.c (instantiate_image_instantiator):
10588         (image_instance_query_geometry):
10589         (image_instance_layout):
10590         (image_instance_layout):
10591         (query_string_geometry):
10592         (text_query_geometry):
10593         (image_instantiate):
10594         (image_instantiate):
10595         (cache_subwindow_instance_in_frame_maybe):
10596         (subwindow_query_geometry): make instance geometry signed.
10597
10598         * glyphs-widget.c (widget_query_geometry):
10599         (widget_layout):
10600         (button_query_geometry):
10601         (tree_view_query_geometry):
10602         (tab_control_query_geometry):
10603         (layout_query_geometry):
10604         (layout_layout):
10605         (native_layout_layout): make instance geometry signed.
10606
10607 2000-05-29  Olivier Galibert  <galibert@pobox.com>
10608
10609         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
10610         constant.
10611
10612         * general.c (syms_of_general): Add Qfull_assoc symbol.
10613
10614         * data.c (finish_marking_weak_lists): Mark full-assoc lists
10615         correctly.
10616         (decode_weak_list_type): Decode full-assoc type.
10617         (encode_weak_list_type): Encode full-assoc type.
10618         (Fmake_weak_list): Update doc string.
10619
10620 2000-05-30  Andy Piper  <andy@xemacs.org>
10621
10622         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
10623
10624         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
10625         (decode_hash_table_weakness): ditto.
10626         (Fhash_table_weakness): ditto.
10627         (Fhash_table_type): ditto.
10628         (finish_marking_weak_hash_tables): ditto.
10629         (hash_table_weakness_validate): ditto.
10630         (syms_of_elhash): ditto.
10631
10632 2000-05-28  Martin Buchholz <martin@xemacs.org>
10633
10634         * XEmacs 21.2.34 is released.
10635
10636 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10637
10638         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
10639         start cache.
10640         (updating_line_start_cache): Gone.
10641         (regenerate_window): Replace resetting of VERTICAL_CLIP by
10642         generic code to force a minimum of 1 line laid out in the
10643         CMOTION_DISP case.
10644
10645 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10646
10647         * glyphs.c (instantiate_image_instantiator): Check for initialized
10648         height & width no longer special cases IMAGE_NOTHING.
10649         (nothing_instantiate): Set height and width of instance.
10650
10651 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10652
10653         * unexelf.c (unexec): Search for ".data" section.
10654         Initialize new_data2_offset from old_data_index.
10655         Remove redundant check for ElfW.
10656
10657 2000-05-23  Andy Piper  <andy@xemacs.org>
10658
10659         * glyphs.c (get_image_instantiator_governing_domain): allow more
10660         specific domains as the governing domain rather than expecting an
10661         exact match. This fixes problems with layouts.
10662
10663 2000-05-22  Andy Piper  <andy@xemacs.org>
10664
10665         * redisplay-output.c (compare_runes): check for non-images
10666
10667         * glyphs.c (set_glyph_dirty_p): ditto.
10668         (update_glyph_cachel_data): ditto.
10669
10670         * glyphs-widget.c (layout_post_instantiate): ditto.
10671         (layout_post_instantiate): ditto.
10672
10673         * event-msw.c (mswindows_wnd_proc): warning removal.
10674
10675 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
10676
10677         * s\mingw32.h: Added #undef for CLASH_DETECTION.
10678
10679         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
10680
10681         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
10682
10683         * nt.c (rva_to_section): mingw32 needs rva_to_section.
10684         (mswindows_executable_type): mingw32 now has enough headers for
10685         this to work.
10686
10687 2000-05-20  Andy Piper  <andy@xemacs.org>
10688
10689         * console-msw.c (mswindows_output_last_error): ; -> ,
10690
10691 2000-05-12  Andy Piper  <andy@xemacs.org>
10692
10693         * console-msw.c (FROB): compare ints with ints.
10694
10695 2000-05-11  Andy Piper  <andy@xemacs.org>
10696
10697         * glyphs-x.c (x_finalize_image_instance): make minimal build
10698         happy.
10699
10700 2000-05-20  Ben Wing  <ben@xemacs.org>
10701
10702         * event-Xt.c:
10703         * event-Xt.c (vars_of_event_Xt):
10704         move modifier-keys-are-sticky to event-stream.c.
10705
10706         * event-msw.c:
10707         * event-msw.c (mswindows_enqueue_mouse_button_event):
10708         * event-msw.c (key_needs_default_processing_p):
10709         * event-msw.c (XEMSW_LCONTROL):
10710         * event-msw.c (mswindows_handle_sticky_modifiers):
10711         * event-msw.c (FROB):
10712         * event-msw.c (clear_sticky_modifiers):
10713         * event-msw.c (output_modifier_keyboard_state):
10714         * event-msw.c (output_alt_keyboard_state):
10715         * event-msw.c (mswindows_wnd_proc):
10716         * event-msw.c (mswindows_modifier_state):
10717         * event-msw.c (emacs_mswindows_handle_magic_event):
10718         implement sticky modifiers.
10719
10720         * event-stream.c:
10721         * event-stream.c (vars_of_event_stream):
10722         move modifier-keys-are-sticky here.
10723
10724         * lisp.h:
10725         add CHECK_FUNCTION.
10726
10727         * rangetab.c:
10728         implement map-range-table.
10729
10730
10731 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
10732
10733         * redisplay-tty.c (reset_tty_modes):
10734         (tty_redisplay_shutdown): Adjust argument type to
10735         tty_frame_output_end.
10736
10737 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10738
10739         * eval.c (Fbacktrace): Don't output a line with only right
10740         parenthesis.
10741
10742 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
10743
10744         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
10745         (Fpq_reset_poll): Ditto.
10746
10747 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
10748
10749         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
10750
10751 2000-05-16  Ben Wing  <ben@xemacs.org>
10752
10753         * buffer.c:
10754         * buffer.c (dfc_convert_to/from_internal_format):
10755         * buffer.c (reinit_vars_of_buffer):
10756         Fix conversion functions to allow reentrancy.
10757
10758         * console-msw.c:
10759         * console-msw.c (mswindows_output_last_error):
10760         New fun, generally useful -- output a human-readable
10761         version of GetLastError() on the console.
10762
10763         * console-msw.h:
10764         * console-msw.h (struct mswindows_frame):
10765         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
10766
10767         * console-stream.c (stream_output_begin):
10768         * console-stream.c (stream_output_end):
10769         * console-stream.c (stream_output_vertical_divider):
10770         * console-stream.c (stream_clear_region):
10771         * console-stream.c (stream_flash):
10772         * console-stream.c (console_type_create_stream):
10773         Delete blank stream methods, not needed.
10774
10775         * console.h (struct console_methods):
10776         Split begin/end methods into window and frame.
10777
10778         * event-msw.c:
10779         * event-msw.c (mswindows_handle_paint):
10780         * event-msw.c (output_alt_keyboard_state):
10781         * event-msw.c (mswindows_wnd_proc):
10782         * event-msw.c (vars_of_event_mswindows):
10783         Comment about problems with ignored-expose.
10784         Define mswindows-debug-events; not really implemented.
10785
10786         * frame-msw.c (mswindows_init_frame_1):
10787         random cleanups.
10788
10789         * glyphs-msw.c:
10790         * glyphs-msw.c (begin_defer_window_pos):
10791         * glyphs-msw.c (mswindows_unmap_subwindow):
10792         * glyphs-msw.c (mswindows_map_subwindow):
10793         * glyphs-msw.c (mswindows_resize_subwindow):
10794         Use DeferWindowPos to reduce flashing when mapping/unmapping.
10795
10796         * glyphs.c (make_image_instance_1):
10797         Fix crash.
10798
10799         * gutter.c (Fredisplay_gutter_area):
10800         Use new begin/end methods.
10801
10802         * lisp.h (Dynarr_new2):
10803         New creation fun.
10804
10805         * redisplay-msw.c:
10806         * redisplay-msw.c (mswindows_frame_output_begin):
10807         * redisplay-msw.c (mswindows_frame_output_end):
10808         * redisplay-msw.c (console_type_create_redisplay_mswindows):
10809         New begin/end methods -- handle DeferWindowPos.
10810
10811         * redisplay-output.c (redisplay_move_cursor):
10812         * redisplay-output.c (redraw_cursor_in_window):
10813         * redisplay-output.c (redisplay_update_line):
10814         * redisplay-output.c (redisplay_output_window):
10815         New begin/end methods.
10816
10817         * redisplay-tty.c:
10818         * redisplay-tty.c (tty_frame_output_begin):
10819         * redisplay-tty.c (tty_frame_output_end):
10820         * redisplay-tty.c (console_type_create_redisplay_tty):
10821         New begin/end methods.
10822
10823         * redisplay-x.c:
10824         * redisplay-x.c (x_window_output_begin):
10825         * redisplay-x.c (x_window_output_end):
10826         * redisplay-x.c (console_type_create_redisplay_x):
10827         New begin/end methods.
10828
10829         * redisplay.c (redisplay_frame):
10830         * redisplay.c (Fredisplay_echo_area):
10831         New begin/end methods.
10832         use MAYBE_DEVMETH for clear_frame; it may not exist.
10833
10834         * window.h (WINDOW_XFRAME):
10835         WINDOW_XFOO macros -- get locale and decode struct pointer.
10836
10837
10838 2000-05-12  Ben Wing  <ben@xemacs.org>
10839
10840         * emacs.c:
10841         * emacs.c (ensure_no_quitting_from_now_on):
10842         * emacs.c (fatal_error_signal):
10843         * emacs.c (mswindows_handle_hardware_exceptions):
10844         * emacs.c (main):
10845         * emacs.c (Fkill_emacs):
10846         * emacs.c (shut_down_emacs):
10847         * emacs.c (assert_failed):
10848         various improvements in fatal error handling.
10849
10850         * eval.c:
10851         move preparing_for_armageddon to emacs.c.
10852
10853         * lisp.h:
10854         declare fatal_error_in_progress.
10855
10856         * print.c:
10857         * print.c (std_handle_out_external):
10858         * print.c (std_handle_out_va):
10859         * print.c (stderr_out):
10860         * print.c (stdout_out):
10861         use console under mswin when no standard output.
10862         don't do code conversion during fatal error.
10863
10864         * scrollbar.c (Fscrollbar_page_up):
10865         * scrollbar.c (Fscrollbar_page_down):
10866         fix missing else.  reindent.
10867
10868 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
10869
10870         Emergency fix.
10871
10872         * glyphs.h (GLYPH_CACHEL_DESCENT):
10873         (GLYPH_CACHEL_DESCENT):
10874         (GLYPH_CACHEL_DESCENT):
10875         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
10876         used in case these are inline functions.
10877         Use more absurd values to error check.
10878
10879         include window.h for error check functions.
10880
10881 2000-05-11  Ben Wing  <ben@xemacs.org>
10882
10883         * cmdloop.c (Freally_early_error_handler):
10884         Display message box under windows; otherwise, message will disappear
10885         before it can be viewed.
10886
10887         * console-msw.c:
10888         * console-msw.c (Fmswindows_message_box):
10889         * console-msw.c (FROB):
10890         * console-msw.c (syms_of_console_mswindows):
10891         Define new fun `mswindows-message-box'.
10892         #### I will merge this into `popup-dialog-box'; just give me
10893         a bit of time.
10894
10895         * general.c:
10896         * general.c (syms_of_general):
10897         Some new symbols used in `mswindows-message-box'.
10898
10899         * glyphs.c:
10900         * glyphs.c (Fset_image_instance_property):
10901         put warning in this fun.
10902
10903         * glyphs.h:
10904         * glyphs.h (GLYPH_CACHEL_WIDTH):
10905         * glyphs.h (GLYPH_CACHEL_ASCENT):
10906         * glyphs.h (GLYPH_CACHEL):
10907         * glyphs.h (GLYPH_CACHEL_GLYPH):
10908         define error-checking versions to try to catch a bug i've seen --
10909         redisplay gets in an infinite loop because the glyph width of the
10910         continuation glyph is 65535.
10911
10912         * lisp.h:
10913         Extern message-box stuff.
10914
10915         * window.c (allocate_window):
10916         * window.c (make_dummy_parent):
10917         * window.c (Fset_window_configuration):
10918         Use EQUAL not EQ for subwindow caches to make them work a bit
10919         better. (Something is still very broken.)
10920
10921
10922 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10923
10924         * glyphs.c (image_instantiate): Suppress gcc warnings.
10925         (Fmake_image_instance): Fix doc string.
10926         * specifier.c (Fmake_specifier): Ditto.
10927
10928 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
10929
10930         * paths.h.in (PATH_LOCK): Removed.
10931         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
10932         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
10933
10934 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10935
10936         * fns.c (Ffeaturep): Update e-mail address in doc-string.
10937         Document (featurep '(and xemacs 21.02)).
10938
10939 2000-05-09  Ben Wing  <ben@xemacs.org>
10940
10941         * buffer.c (complex_vars_of_buffer):
10942         update modeline-format doc.
10943
10944         * device.h:
10945         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
10946
10947         * emacs.c:
10948         timeline of all released versions of Emacs, for use in creating
10949         authorship comments and in synching up.
10950
10951         * glyphs-widget.c (image_instantiator_buttons):
10952         * glyphs-widget.c (image_instantiator_edit_fields):
10953         * glyphs-widget.c (image_instantiator_combo_box):
10954         * glyphs-widget.c (image_instantiator_scrollbar):
10955         * glyphs-widget.c (image_instantiator_progress_guage):
10956         * glyphs-widget.c (image_instantiator_tree_view):
10957         * glyphs-widget.c (image_instantiator_tab_control):
10958         * glyphs-widget.c (image_instantiator_labels):
10959         * glyphs-widget.c (image_instantiator_layout):
10960         * glyphs-widget.c (image_instantiator_native_layout):
10961         rename decode_domain method to governing_domain.
10962
10963         * glyphs.c:
10964         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
10965         * glyphs.c (add_entry_to_device_ii_format_list):
10966         make sure we don't put an entry more than once into the list.
10967         * glyphs.c (check_instance_cache_mapper):
10968         *************************************************************
10969         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
10970         HAVE BEEN GETTING.
10971         *************************************************************
10972         * glyphs.c (get_image_instantiator_governing_domain):
10973         clean up, expand on new concept of governing domain.
10974         * glyphs.c (instantiate_image_instantiator):
10975         * glyphs.c (allocate_image_instance):
10976         use governing_domain instead of cache_domain in naming.
10977         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
10978         * glyphs.c (make_image_instance_1):
10979         * glyphs.c (Fmake_image_instance):
10980         allow for any domain (not just device), and process the
10981         governing domain correctly.  very big doc fix.
10982         * glyphs.c (Fimage_instance_domain):
10983         new primitive, to retrieve the governing domain of an image instance.
10984         * glyphs.c (image_instantiate):
10985         use new governing_domain stuff.  this fixes a crash you could get
10986         by instantiating certain widget glyphs in frame locales. (should
10987         signal an error instead of crashing.)
10988         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
10989         * glyphs.c (Fglyphp): clean up doc.
10990         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
10991         * glyphs.c (syms_of_glyphs):
10992         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
10993         * glyphs.c (image_instantiator_format_create): add some comments about
10994         bogus code.
10995         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
10996         for current-display-table. (Apparently Hrjove implemented in 1998 a
10997         design I wrote up in 1996, but didn't update the doc string.)
10998
10999         * glyphs.h: clean up a doc string.
11000         * glyphs.h (governing_domain):
11001         * glyphs.h (struct image_instantiator_methods):
11002         changes for governing_domain stuff.
11003
11004         * gutter.c:
11005         * gutter.c (Fgutter_specifier_p):
11006         * gutter.c (Fgutter_size_specifier_p):
11007         * gutter.c (Fgutter_visible_specifier_p):
11008         * objects.c:
11009         * objects.c (Fcolor_specifier_p):
11010         * objects.c (Ffont_specifier_p):
11011         * objects.c (Fface_boolean_specifier_p):
11012         doc strings moved to make-*-specifier.
11013
11014         * redisplay.c (add_disp_table_entry_runes_1):
11015         * redisplay.c (generate_fstring_runes):
11016         * redisplay.c (screen):
11017         add random comments and doc strings.
11018
11019         * specifier.c:
11020         * specifier.c (Fmake_specifier):
11021         major overhaul of this doc string.
11022
11023         * specifier.c (Fvalid_specifier_domain_p):
11024         comment about the bogosity of image instances being domains.
11025         * specifier.c (decode_domain):
11026         now non-static, used in glyphs.c.
11027         * specifier.c (specifier_instance):
11028         comment about the bogosity of image instances being domains.
11029         * specifier.c (Fgeneric_specifier_p):
11030         move doc string to make-generic-specifier.
11031         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11032         rebackslashify.
11033
11034         * specifier.h:
11035         * specifier.h (DOMAIN_FRAME):
11036         * specifier.h (DOMAIN_LIVE_P):
11037         * specifier.h (DOMAIN_XDEVICE):
11038         rebackslashify.
11039         add comments about problems with these macros.
11040         prototype for decode_domain.
11041
11042         * toolbar.c:
11043         * toolbar.c (Ftoolbar_specifier_p):
11044         move doc string to `make-toolbar-specifier'.
11045
11046         * window.c (window_unmap_subwindows_cache_mapper):
11047         *************************************************************
11048         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11049         HAVE BEEN GETTING.
11050         *************************************************************
11051
11052 2000-05-09  Andy Piper  <andy@xemacs.org>
11053
11054         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11055
11056         * window.c (Fset_window_configuration): reset the frame subwindow
11057         cache and re-initialize the window subwindow caches.
11058
11059         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11060
11061 2000-05-09  Ben Wing  <ben@xemacs.org>
11062
11063         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11064         DWORD.
11065
11066 2000-04-26  Mike Woolley  <mike@bulsara.com>
11067
11068         * ntheap.c: Changed recreate_heap to limit the amount reserved
11069         for the heap to that which is actually available. Also now
11070         displays a message box (with some dignostics) in the event that
11071         it still can't start.
11072
11073 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11074
11075         * callproc.c (Fold_call_process_internal): GCPRO path
11076
11077 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11078
11079         Patch by Bill Perry.
11080
11081         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11082         back data instead of #ifdef.
11083         (Fscrollbar_page_down): ditto.
11084
11085 2000-05-07  Ben Wing  <ben@xemacs.org>
11086
11087         * buffer.h:
11088         Kludge for defining Qmswindows_tstr.
11089
11090         * nt.c:
11091         * nt.c (open_input_file):
11092         * nt.c (open_output_file):
11093         * nt.c (rva_to_section):
11094         * nt.c (mswindows_executable_type):
11095         Move all memory-mapped-file routines here (some were in unexnt.c,
11096         which is bad because they are used by process-nt.c, and unexnt
11097         won't be around when portable dumping).  Synched the above routines
11098         with FSF 20.6.
11099
11100         * nt.h:
11101         Removed ifdef'd out bogus code.
11102         Fixed some prototypes.
11103
11104         * nt.h (file_data):
11105         * nt.h (OFFSET_TO_RVA):
11106         * nt.h (RVA_TO_OFFSET):
11107         * nt.h (RVA_TO_PTR):
11108         Moved the memory-mapped-file structures, macros and prototypes
11109         here, to parallel nt.c.  ntheap.h should really be removed
11110         entirely, and it's a non-portable-dumper specific file.
11111
11112         * ntheap.h (round_to_next):
11113         Moved the memory-mapped-file structures, macros and prototypes
11114         to nt.h.
11115
11116         * ntproc.c (compare_env):
11117         Moved rva_to_section and mswindows_executable_type to nt.c.
11118         Moved compare_env to process-nt.c.
11119         ntproc.c will die, one day.
11120
11121         * ntproc.c (sys_spawnve):
11122         Account for win32_ -> mswindows_.
11123
11124         * process-nt.c:
11125         * process-nt.c (struct nt_process_data):
11126         * process-nt.c (ensure_console_window_exists):
11127         * process-nt.c (compare_env):
11128         * process-nt.c (nt_create_process):
11129         * process-nt.c (nt_kill_process_by_pid):
11130         * process-nt.c (syms_of_process_nt):
11131         * process-nt.c (vars_of_process_nt):
11132         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11133         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11134         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11135         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11136         Move compare_env here from ntproc.c.
11137
11138         * process.c (Fprocess_send_region):
11139         Takes an optional fourth argument, BUFFER, which should fix some
11140         problems with call-process.
11141
11142         * syscommctrl.h:
11143         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11144
11145         * syswindows.h:
11146         Move ICC_BAR_CLASSES to syscommctrl.h.
11147         Add preliminary macros for MSWindows/Mule.  More to come.
11148
11149         * unexnt.c:
11150         * unexnt.c (unexec):
11151         open_output_file moved to nt.c.
11152
11153
11154 2000-05-05  Andy Piper  <andy@xemacs.org>
11155
11156         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11157         instance from the frame cache also since GC may catch up too late
11158         to make frame deletion sane.
11159
11160 2000-05-04  Andy Piper  <andy@xemacs.org>
11161
11162         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11163         (x_finalize_image_instance): ungcpro on deletion.
11164
11165         * glyphs.c (image_instantiator_format_create): give pointers a
11166         query geometry method so that the geometry is at least set.
11167
11168         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11169         initialize layouts if using widgets.
11170
11171 2000-05-03  Andy Piper  <andy@xemacs.org>
11172
11173         * nt.c: remove bogus reference to sysmmsystem.h
11174
11175         * gui-x.c (popup_selection_callback): fix no selection abort.
11176
11177 2000-05-02  Andy Piper  <andy@xemacs.org>
11178
11179         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11180         (mswindows_widget_instantiate): ditto.
11181
11182         * glyphs-widget.c (initialize_widget_image_instance): initialize
11183         children correctly.
11184         (widget_instantiate): cope with children and items in the same
11185         instance.
11186
11187         * glyphs.c (mark_image_instance): cope with children as a first
11188         class member.
11189         (image_instance_equal): ditto.
11190         (image_instance_hash): ditto.
11191         (image_instance_changed): ditto.
11192
11193 2000-04-30  Andy Piper  <andy@xemacs.org>
11194
11195         * glyphs.c (subwindow_query_geometry): new function. Return some
11196         defaults.
11197         (subwindow_instantiate): don't assign dimensions if none have been
11198         given.
11199         (image_instantiator_format_create): add subwindow_query_geometry.
11200         (print_image_instance): cope with layouts as widgets.
11201
11202 2000-04-29  Andy Piper  <andy@xemacs.org>
11203
11204         * frame.c (delete_frame_internal): call
11205         free_frame_subwindow_instance_cache so that all subwindows are
11206         finalized before their parent.
11207         (mark_frame): remove subwindow_cachels.
11208         (Fmake_frame): remove subwindow_cachel manipulation.
11209         (allocate_frame_core): subwindow_instance_cache is a weak list.
11210         (delete_frame_internal): set subwindow_instance_cache to nil.
11211
11212         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11213         finalization safe.
11214         (mswindows_finalize_image_instance): use the device
11215         not the domain as the domain may have died already.
11216
11217         * glyphs-x.c (x_finalize_image_instance): ditto.
11218         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11219         HEIGHT.
11220
11221         * redisplay-output.c (redisplay_unmap_subwindows): update for
11222         subwindow instance cache as a weak list.
11223         (redisplay_unmap_subwindows_maybe): ditto.
11224         (redisplay_unmap_subwindows_except_us): ditto.
11225
11226         * glyphs.c (unmap_subwindow): error checking will check the domain
11227         so don't deal with it here. Don't use cachels anymore.
11228         (map_subwindow): ditto.
11229         (update_subwindow_cachel_data): remove old accessor names.
11230         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11231         (Fresize_subwindow): don't update cachel.
11232         (mark_subwindow_cachels):
11233         (update_subwindow_cachel_data):
11234         (add_subwindow_cachel):
11235         (get_subwindow_cachel_index):
11236         (update_subwindow_cachel):
11237         (reset_subwindow_cachels):
11238         (mark_subwindow_cachels_as_not_updated): deleted.
11239         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11240         subwindow instance to the frame cache.
11241         (find_matching_subwindow): update for subwindow instance cache as
11242         a weak list.
11243         (update_widget_instances): ditto.
11244         (image_instance_type_to_mask):inlined.
11245         (free_frame_subwindow_instance_cache): new function. finalize all
11246         subwindows that are instantiated.
11247
11248         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11249         of cachel information.
11250         (IMAGE_INSTANCE_DISPLAY_X):
11251         (IMAGE_INSTANCE_DISPLAY_Y):
11252         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11253         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11254         (XIMAGE_INSTANCE_DISPLAY_X):
11255         (XIMAGE_INSTANCE_DISPLAY_Y):
11256         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11257         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11258         remove subwindow_cachel structure and function references.
11259         (image_instance_type_to_mask): inline from glyphs.c
11260
11261         * redisplay.c (redisplay_frame): remove subwindow_cachel
11262         references.
11263
11264         * frame.h (struct frame): remove subwindow_cachels.
11265         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11266
11267         * frameslots.h: add subwindow_instance_cache.
11268
11269         * window.c (replace_window): check subwindow cache of replacement.
11270         (window_unmap_subwindows_cache_mapper):
11271         (window_unmap_subwindows): new functions. Unmap all subwindows
11272         cached on this window.
11273         (mark_window_as_deleted): unmap all subwindows.
11274
11275 2000-04-27  Andy Piper  <andy@xemacs.org>
11276
11277         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11278
11279         * glyphs-widget.c (widget_layout): return something.
11280         (layout_layout): return something. Fail if not initialized.
11281         (layout_query_geometry): ditto.
11282         (image_instantiator_native_layout): new function. Initialized the
11283         native layout type.
11284         (widget_instantiate): don't do layout stuff here.
11285
11286         * glyphs.c (instantiate_image_instantiator): reorded calling or
11287         instantiate and post_instantiate with layout in between.
11288         (image_instance_layout): be more selective about deciding whether
11289         the layout has been done or not.
11290
11291         * glyphs.h (struct image_instantiator_methods): return a value
11292         from layout_method.
11293
11294 2000-04-26  Andy Piper  <andy@xemacs.org>
11295
11296         * glyphs.c (allocate_image_instance): make initial width and
11297         height unspecified. Set initialized to 0.
11298
11299         * syscommctrl.h new file. Encapsulates commctrl.h.
11300
11301         * syswindows.h new file. Encapsulates windows.h.
11302
11303         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11304         * nt.c: ditto.
11305         * console-msw.h: ditto.
11306
11307         * redisplay-tty.c (tty_output_display_block): remove layout references.
11308
11309         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11310         window handle rather than just the frame.
11311
11312         * glyphs.c (mark_image_instance): remove layout references.
11313         (print_image_instance): ditto.
11314         (image_instance_equal): ditto.
11315         (image_instance_hash): ditto.
11316         (decode_image_instance_type): ditto.
11317         (encode_image_instance_type): ditto.
11318         (image_instantiate): ditto.
11319         (allocate_glyph): ditto.
11320         (Fimage_instance_height): ditto.
11321         (Fimage_instance_width): ditto.
11322         (update_subwindow): ditto.
11323
11324         * redisplay-x.c (x_output_display_block): recode for layouts as
11325         widgets.
11326
11327         * redisplay-output.c (redisplay_output_layout): recode for layouts
11328         as widgets.
11329         (compare_runes): remove layout references.
11330
11331         * redisplay-msw.c (mswindows_output_display_block): recode for
11332         layouts as widgets.
11333
11334         * glyphs-widget.c (image_instantiator_layout): remove
11335         layout_possible_dest_types.
11336         (layout_possible_dest_types): deleted.
11337
11338         * glyphs.h (image_instance_type): remove layout references.
11339         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11340         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11341         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11342
11343 2000-04-25  Andy Piper  <andy@xemacs.org>
11344
11345         * glyphs-widget.c (image_instantiator_buttons):
11346         (image_instantiator_edit_fields):
11347         (image_instantiator_combo_box):
11348         (image_instantiator_scrollbar):
11349         (image_instantiator_progress_guage):
11350         (image_instantiator_tree_view):
11351         (image_instantiator_tab_control):
11352         (image_instantiator_labels):
11353         (image_instantiator_layout): call default post_instantiate method.
11354         (widget_post_instantiate): new function. Simply lays out the
11355         widgets.
11356
11357         * glyphs.h (struct image_instantiator_methods): add
11358         post_instantiate method.
11359
11360         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11361         method calls.
11362
11363 2000-04-23  Andy Piper  <andy@xemacs.org>
11364
11365         * glyphs.h (struct image_instantiator_methods): add
11366         decode_domain_method.
11367         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11368         derived from the domain.
11369         (IMAGE_INSTANCE_FRAME): new accessor.
11370         (XIMAGE_INSTANCE_FRAME): ditto.
11371
11372         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11373         instead of _SUBWINDOW_FRAME.
11374         (finalize_image_instance): ditto.
11375         (Fimage_instance_foreground): ditto.
11376         (Fimage_instance_background): ditto.
11377         (image_instantiate): ditto.
11378         (update_subwindow_cachel): ditto.
11379         (update_subwindow): ditto.
11380         (unmap_subwindow): ditto.
11381         (map_subwindow): ditto
11382         (subwindow_instantiate): ditto.
11383         * glyphs-msw.c (mswindows_update_widget): ditto.
11384         (mswindows_progress_gauge_instantiate): ditto.
11385         (mswindows_tab_control_update): ditto.
11386         * glyphs-x.c (x_update_widget): ditto.
11387         (x_widget_instantiate): ditto.
11388         (x_tab_control_instantiate): ditto.
11389         (x_tab_control_update): ditto.
11390         * event-msw.c (mswindows_wnd_proc): ditto
11391
11392         * glyphs-widget.c (image_instantiator_layout): use
11393         subwindow_decode_domain.
11394         (image_instantiator_buttons): ditto.
11395         (image_instantiator_edit_fields): ditto.
11396         (image_instantiator_combo_box): ditto.
11397         (image_instantiator_scrollbar): ditto.
11398         (image_instantiator_progress_guage): ditto.
11399         (image_instantiator_tree_view): ditto.
11400         (image_instantiator_tab_control): ditto.
11401         (image_instantiator_labels): ditto.
11402         (image_instantiator_layout): ditto.
11403
11404         * glyphs.c: add instance error checking to many functions.
11405         (instantiate_image_instantiator): decode device from cache_domain.
11406         (image_instantiate): partially rewrite by using
11407         decode_image_instantiator_domain to determine what domain the
11408         instance needs to be cached in.
11409         (decode_image_instantiator_domain): new function. Determine what
11410         domain the image needs to be cached in.
11411         (check_window_subwindow_cache): new error checking function.
11412         (check_instance_cache_mapper): ditto.
11413         (check_image_instance_structure): ditto.
11414         (subwindow_decode_domain): new function. Encodes a window as a
11415         subwindow's cache domain.
11416         (image_instantiator_format_create): use it for text and
11417         subwindows.
11418
11419 2000-04-21  Andy Piper  <andy@xemacs.org>
11420
11421         * glyphs.c (image_instance_device): new function.
11422         (image_instance_frame): new function.
11423         (image_instance_window): new function.
11424         (image_instance_live_p): new function.
11425
11426         * window.c (mark_window_as_deleted): reset the subwindow_instance_
11427         cache to nil.
11428
11429         * glyphs.h (struct Lisp_Image_Instance): device->domain.
11430         (IMAGE_INSTANCE_DOMAIN): new accessor.
11431         (XIMAGE_INSTANCE_DOMAIN): ditto.
11432
11433         * glyphs-x.c (x_finalize_image_instance): device->domain.
11434
11435         * glyphs-msw.c (init_image_instance_geometry): device->domain.
11436         (mswindows_finalize_image_instance): ditto.
11437
11438         * glyphs-eimage.c (jpeg_instantiate): device->domain.
11439         (gif_instantiate): ditto.
11440         (png_instantiate): ditto.
11441         (tiff_instantiate): ditto.
11442
11443         * glyphs.c (instantiate_image_instantiator): use domain rather
11444         than device.
11445         (mark_image_instance): device -> domain.
11446         (print_image_instance): ditto.
11447         (finalize_image_instance): ditto.
11448         (image_instance_equal): ditto.
11449         (allocate_image_instance): ditto.
11450         (Fcolorize_image_instance): ditto.
11451         (query_string_geometry): ditto.
11452         (image_instantiate): ditto
11453         (query_string_font): ditto.
11454         (image_instantiate): ditto.
11455         (update_subwindow): ditto.
11456         (unmap_subwindow): ditto.
11457         (map_subwindow): ditto.
11458         (subwindow_instantiate): ditto.
11459
11460         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
11461         (DOMAIN_FRAME): ditto.
11462         (DOMAIN_WINDOW): ditto.
11463         (DOMAIN_LIVE_P): ditto.
11464         (XDOMAIN_DEVICE): ditto.
11465         (XDOMAIN_FRAME): ditto.
11466         (XDOMAIN_WINDOW): ditto.
11467
11468         * specifier.c (Fvalid_specifier_domain_p): add image instances as
11469         a valid specifier domain.
11470
11471 2000-04-19  Andy Piper  <andy@xemacs.org>
11472
11473         * glyphs-widget.c (syms_of_glyphs_widget): remove
11474         widget-callback-current-channel.
11475         (vars_of_glyphs_widget): ditto.
11476         * glyphs.h: ditto
11477
11478         * gui.c (get_gui_callback): revert to previous behaviour.
11479
11480 2000-04-18  Andy Piper  <andy@xemacs.org>
11481
11482         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
11483         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
11484         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
11485
11486         * glyphs.c (image_instance_equal): add margin_width.
11487         (image_instance_hash): ditto.
11488
11489         * glyphs-widget.c (widget_instantiate): deal with margin-width.
11490         (layout_query_geometry): ditto.
11491         (layout_layout): ditto.
11492         (syms_of_glyphs_widget): add margin-width.
11493         (image_instantiator_layout): allow margin-width.
11494
11495         * glyphs.c (update_widget_instances): make a normal function.
11496         (syms_of_glyphs): remove Qupdate_widget_instances.
11497         * glyphs.h: ditto.
11498
11499         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
11500         so that we don't corrupt ideas about the last event or
11501         command. Remove widget-callback-current-channel fiddling.
11502         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11503
11504 2000-05-01  Martin Buchholz <martin@xemacs.org>
11505
11506         * XEmacs 21.2.33 is released.
11507
11508 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
11509
11510         * make-src-depend: Allow dots in header file name.
11511
11512 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
11513
11514         * mule-charset.h (struct charset_lookup): Add
11515         next_allocated_1_byte_leading_byte and
11516         next_allocated_2_byte_leading_byte.
11517         * mule-charset.c: Move above two variables so that those values
11518         will be dumped.
11519
11520 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
11521
11522         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
11523         when string length is zero.
11524         (find_charsets_in_emchar_string): Ditto.
11525
11526 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
11527
11528         * lisp.h: extern Qdialog and Qmenubar.
11529
11530         * gui-x.c: added events.h.
11531                 also fixed typo which made the file uncompilable.
11532
11533         * general.c: Added Qmenubar and Qdialog
11534
11535 2000-04-28  Ben Wing  <ben@xemacs.org>
11536
11537         * frame-msw.c (mswindows_init_frame_1):
11538         * frame-msw.c (mswindows_mark_frame):
11539         * event-msw.c (mswindows_enqueue_dispatch_event):
11540         * console-msw.h:
11541         * console-msw.h (struct mswindows_frame):
11542         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
11543         there are now three hash tables for callbacks.
11544         mswindows_enqueue_dispatch_event is no longer static.
11545
11546         * dialog-x.c (maybe_run_dbox_text_callback):
11547         * dialog-x.c (dbox_descriptor_to_widget_value):
11548         switch to new cons3 form for callbacks.
11549
11550         * glyphs-msw.c (mswindows_register_gui_item):
11551         * glyphs-msw.c (mswindows_widget_instantiate):
11552         * glyphs-msw.c (add_tree_item):
11553         * glyphs-msw.c (add_tab_item):
11554         new image instance parameter, so it can be passed to callback-ex.
11555         respect :callback-ex as well as :callback.
11556
11557         * glyphs-widget.c (VALID_GUI_KEYWORDS):
11558         add :callback-ex.
11559
11560         * glyphs.c (print_image_instance):
11561         prettify, e.g. now prints widget type.
11562
11563         * gui-x.h:
11564         certain funs have new image instance parameter.
11565
11566         * gui.c:
11567         * gui.c (get_gui_callback):
11568         * gui.c (gui_item_add_keyval_pair):
11569         * gui.c (gui_item_init):
11570         * gui.c (gui_add_item_keywords_to_plist):
11571         * gui.c (mark_gui_item):
11572         * gui.c (gui_item_hash):
11573         * gui.c (gui_item_equal):
11574         * gui.c (copy_gui_item):
11575         * gui.c (syms_of_gui):
11576         recognize callback-ex in a number of places.
11577         also, fix the annoying "can't get out of yes-no dialog" bug.
11578
11579         * gui.h:
11580         * gui.h (struct Lisp_Gui_Item):
11581         recognize callback-ex in a number of places.
11582
11583         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11584         new parameter in button_item_to_widget_value.
11585
11586         * glyphs-x.c (x_update_widget):
11587         * glyphs-x.c (x_button_instantiate):
11588         * glyphs-x.c (x_button_update):
11589         * glyphs-x.c (x_progress_gauge_instantiate):
11590         * glyphs-x.c (x_edit_field_instantiate):
11591         * glyphs-x.c (x_combo_box_instantiate):
11592         * glyphs-x.c (x_tab_control_instantiate):
11593         * glyphs-x.c (x_label_instantiate):
11594         new image instance parameter in various places.
11595
11596         * event-Xt.c:
11597         * event-Xt.c (enqueue_Xt_dispatch_event):
11598         this fun gets exported.
11599
11600         * gui-msw.c:
11601         * gui-msw.c (mswindows_handle_gui_wm_command):
11602         handle both :callback and :callback-ex, and generate our own
11603         event because it's one of the callback-ex arguments.
11604
11605         * gui-x.c:
11606         * gui-x.c (popup_selection_callback):
11607         handle both :callback and :callback-ex, and generate our own
11608         event because it's one of the callback-ex arguments.
11609         * gui-x.c (button_item_to_widget_value):
11610         * gui-x.c (gui_items_to_widget_values_1):
11611         * gui-x.c (gui_item_children_to_widget_values):
11612         * gui-x.c (gui_items_to_widget_values):
11613         new image instance parameter in various places.
11614
11615         * fns.c (Freplace_list):
11616         fix small typo in doc string.
11617
11618         * lisp.h:
11619         declare enqueue_Xt_dispatch_event.
11620
11621 2000-04-28  Ben Wing  <ben@xemacs.org>
11622
11623         * buffer.c:
11624         * buffer.c (Frecord_buffer):
11625         * buffer.c (syms_of_buffer):
11626         delete record-buffer-hook.
11627
11628         * fns.c:
11629         * fns.c (Freplace_list):
11630         * fns.c (syms_of_fns):
11631         new primitive replace-list.
11632
11633         * frameslots.h:
11634         slot for old buffer-alist.
11635
11636         * lisp.h:
11637         exfun replace-list.
11638
11639         * redisplay.c:
11640         * redisplay.c (redisplay_frame):
11641         * redisplay.c (syms_of_redisplay):
11642         * redisplay.c (vars_of_redisplay):
11643         new hook buffer-list-changed-hook.
11644         call it.
11645
11646 2000-04-27  Ben Wing  <ben@xemacs.org>
11647
11648         * extents.h: extern in_modeline_generation.
11649
11650         * redisplay.c (generate_formatted_string_db): set
11651         in_modeline_generation.
11652
11653         * extents.c (extent_changed_for_redisplay): don't mark redisplay
11654         flags if in modeline generation.  otherwise frame-modified-tick
11655         is ticked far too often.
11656         Declare in_modeline_generation.
11657
11658 2000-04-26  Ben Wing  <ben@xemacs.org>
11659
11660         * emacs.c (vars_of_emacs): document quick-build "error-checking"
11661         option.
11662         (vars_of_emacs): add quick-build as an error-checking option.
11663         A bit kludgy, but there doesn't seem much point in creating
11664         a real var for this.
11665
11666         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
11667
11668 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11669
11670         * redisplay.h (struct display_line): Add a new variable,
11671         line_continuation.
11672
11673         * redisplay.c (create_text_block): Set dl->line_continuation if
11674         the line continues.
11675         (create_string_text_block): Ditto.
11676         (regenerate_window_incrementally): Use line_continuation instead
11677         of searching continuation glyph.
11678         (add_margin_runes): Call add_glyph_rune.
11679         (add_glyph_rune): Handle margin glyph.
11680
11681 2000-04-20  Martin Buchholz  <martin@xemacs.org>
11682
11683         * filelock.c (fill_in_lock_file_name):
11684         ANSIfy.
11685         Check for IS_ANY_SEP instead of '/'.
11686         (lock_file_1):
11687         Avoid generating gratuitous garbage.  Call user_login_name() directly.
11688         Never check errno without first seeing that system call failed.
11689         (unlock_file): Add GCPRO.
11690         (Flock_buffer): Fix docstring.
11691         (Ffile_locked_p): Fix docstring.  Add GCPRO.
11692
11693 2000-04-19  Martin Buchholz  <martin@xemacs.org>
11694
11695         * sysdep.c (get_pty_max_bytes):
11696         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
11697         strings longer than 252 bytes.
11698
11699         * md5.c: Unconditionally include ANSI header <limits.h>
11700
11701         * glyphs-x.c (convert_EImage_to_XImage):
11702         * lisp-union.h (union Lisp_Object):
11703         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
11704
11705 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
11706
11707         * filelock.c (current_lock_owner): Remove unused variable o, p.
11708
11709 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
11710
11711         * callint.c: Remove multiply defined symbol Qlet
11712         (syms_of_callint): ditto.
11713
11714 2000-04-14  Andy Piper  <andy@xemacs.org>
11715
11716         * general.c (syms_of_general): add last-command, this-command, let
11717         and funcall.
11718
11719         * lisp.h: declare various symbols.
11720
11721         * glyphs.h: declare Qwidget_callback_current_channel;
11722
11723         * glyphs-widget.c (syms_of_glyphs_widget): add
11724         Qgui_callback_current_channel.
11725         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
11726
11727         * gui-msw.c (mswindows_handle_gui_wm_command): bind
11728         widget-callback-current-channel when invoking the interactive
11729         arg. Also bind last-command and next-command when invoking the
11730         widget updates.
11731         * gui-x.c (popup_selection_callback): ditto.
11732
11733         * gui.c (get_gui_callback): massage args so that we are always
11734         calling eval. This allows us to add our own variable bindings
11735         outside.
11736
11737         * glyphs-x.c (x_button_instantiate): use
11738         gui_items_to_widget_values since this is GC safe.
11739         (x_progress_gauge_instantiate): ditto.
11740         (x_edit_field_instantiate): ditto.
11741         (x_label_instantiate): ditto.
11742
11743         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
11744         (emacs_Xt_event_widget_focus_out): new function
11745         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
11746         focus.
11747         (emacs_Xt_event_add_widget_actions): new function. add focus
11748         functions as actions.
11749         (init_event_Xt_late): use it.
11750
11751 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
11752
11753         * event-stream.c (Fdispatch_event): Doc fix.
11754
11755 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
11756
11757         * postgresql.c: Remove all references to PQsetenv*.
11758
11759         * postgresql.h: Remove references to PGsetenvHandler object.
11760         * lrecord.h (lrecord_type): Ditto.
11761
11762 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11763
11764         * glyphs-msw.h (struct mswindows_image_instance_data): Added
11765         real_heigh and real_width members, and accessor macros for these.
11766
11767         * glyphs-msw.c (init_image_instance_geometry): New function.
11768         (init_image_instance_from_dibitmap): Use it.
11769         (mswindows_resource_instantiate): Use it.
11770         (init_image_instance_from_xbm_inline): Use it.
11771         (mswindows_initialize_image_instance_mask): Use real bitmap
11772         geometry.
11773         (mswindows_create_resized_bitmap): Ditto.
11774         (mswindows_create_resized_mask): Ditto.
11775
11776         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
11777         and bitmap to their surface size.
11778
11779 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
11780
11781         * process-unix.c (unix_send_process): Guard against process MIA
11782         after Faccept_process_output.
11783
11784 2000-04-11  Ben Wing  <ben@xemacs.org>
11785
11786         * eval.c (unbind_to_hairy): fix brokenness introduced by
11787         nanosecond speed improvements.
11788
11789 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
11790
11791         * sunplay.c (init_device): To play sounds correctly, the device
11792         apparently needs to be initialized at least once by XEmacs.  Make
11793         it so.
11794
11795 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11796
11797         * redisplay.c (add_margin_runes): Add text image glyph
11798           handling.
11799
11800 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
11801
11802         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
11803         gcc is newer than 2.5.
11804
11805 2000-04-06  Colin Rafferty  <colin@xemacs.org>
11806
11807         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
11808
11809         * fns.c (size_bit_vector):
11810         * alloc.c (size_vector):
11811         (make_vector_internal):
11812         (make_bit_vector_internal):
11813         (sweep_bit_vectors_1):
11814         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
11815
11816 2000-04-06  Andy Piper  <andy@xemacs.org>
11817
11818         * gmalloc.c (malloc): undo previous change.
11819         (malloc): ditto.
11820         (free): ditto.
11821         (realloc): ditto.
11822
11823 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
11824
11825         * line-number.c (buffer_line_number): Revert to former version.
11826
11827 2000-04-06  Andy Piper  <andy@xemacs.org>
11828
11829         * gmalloc.c (malloc): add error checking.
11830         (malloc): ditto.
11831         (free): ditto.
11832         (realloc): ditto.
11833
11834         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
11835         button_item_to_widget_value arg.
11836
11837         * glyphs-x.c (x_button_instantiate): add extra
11838         button_item_to_widget_value arg.
11839         (x_progress_gauge_instantiate): ditto.
11840         (x_edit_field_instantiate): ditto.
11841         (x_label_instantiate): ditto.
11842
11843         * gui-x.c (gui_items_to_widget_values_1): add extra
11844         button_item_to_widget_value arg.
11845         (button_item_to_widget_value): add extra menu_item_p arg.
11846
11847         * gui-x.h: change signature of button_item_to_widget_value.
11848
11849         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
11850         button_item_to_widget_value arg.
11851
11852 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11853
11854         * buffer.h (struct buffer): auto_save_modified should be long.
11855
11856 2000-04-05  Andy Piper  <andy@xemacs.org>
11857
11858         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
11859         type.
11860         (button_query_geometry): give a little more room so that athena
11861         buttons fit.
11862
11863 2000-04-05  Andy Piper  <andy@xemacs.org>
11864
11865         * faces.c (complex_vars_of_faces): The widget face should inherit
11866         the font of the gui-element face.
11867
11868 2000-04-04  Andy Piper  <andy@xemacs.org>
11869
11870         * glyphs-x.c (x_button_update): new function. unconditionally
11871         update a button's state when the instance is dirty.
11872         (image_instantiator_format_create_glyphs_x): add x_button_update.
11873         (x_widget_instantiate): remove old resize cruft.
11874
11875 2000-04-02  Andy Piper  <andy@xemacs.org>
11876
11877         * frame.c (change_frame_size_1): The introduction of gutters means
11878         that we need to allow 0 as a potential frame dimension.
11879
11880 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11881
11882         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
11883         image glyph if allow_cursor.
11884         (add_hscroll_rune): Don't allow cursor to border glyph.
11885         (create_text_block): Ditto.
11886
11887         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
11888         text not in buffer.
11889         (redisplay_output_layout): Call ensure_face_cachel_complete for
11890         text image glyph.
11891
11892
11893 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11894
11895         * redisplay.c (add_glyph_rune): Adding text image as text runes.
11896
11897         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
11898         not in buffer
11899
11900         * redisplay-tty.c (tty_output_display_block): Delete the routine
11901         for text image glyph
11902         * redisplay-x.c (x_output_display_block): ditto
11903         * redisplay-msw.c (mswindows_output_display_block): ditto
11904
11905 2000-02-02  Mike Alexander  <mta@arbortext.com>
11906
11907         Note: Some of these were committed by accident as part of other
11908         patches.
11909
11910         * regex.c (regex_compile): Avoid compiler warnings.
11911
11912         * ntproc.c (sys_spawnve): Avoid compiler warnings.
11913
11914         * nt.h: Declare term_ntproc correctly.
11915
11916         * nt.c: Remove incorrect declaration of get_home_directory which
11917         is declared correctly in lisp.h.
11918
11919         * keymap.c (get_keyelt): Avoid compiler warnings.
11920         (raw_lookup_key_mapper): Avoid compiler warnings.
11921
11922         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
11923
11924         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
11925
11926         * filemode.c (mode_string): Avoid compiler warnings.
11927
11928         * file-coding.c (Fcoding_system_aliasee): Add return statement to
11929         avoid warning.
11930
11931         * events-mod.h: Undef some things that winuser.h defines differently.
11932
11933         * data.c (Faset): Avoid compiler warnings.
11934
11935         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
11936
11937 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11938
11939         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
11940         Fall through to simple beep on error.
11941         Replace "extern" by real header file.
11942
11943         * linuxplay.c: Use nativesound.h
11944         (play_sound_data): Return error code. Be less verbose on error.
11945
11946         * sunplay.c: Use nativesound.h
11947         (play_sound_data): Return error code. Be less verbose on error.
11948
11949         * ntplay.c: Use nativesound.h
11950         (play_sound_data): Return fake error code
11951
11952         * sgiplay.c: Use nativesound.h
11953         (play_sound_data): Return error code
11954
11955         * hpplay.c: Use nativesound.h, partially implement
11956         new error code. Break compilation until finished.
11957         (play_sound_data): error code.
11958
11959         * nativesound.h (play_sound_file):
11960           (play_sound_data): Prototype in new header.
11961
11962 2000-03-31  Andy Piper  <andy@xemacs.org>
11963
11964         * glyphs-widget.c: (button_query_geometry): new function. Adjust
11965         for toggle and radio buttons.
11966         (image_instantiator_buttons): use it.
11967
11968 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11969
11970         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
11971         (x_update_horizontal_scrollbar_callback): Return if no mirror was
11972         found. Scrollbar event probably belonged to some old config.
11973
11974 2000-03-31  Andy Piper  <andy@xemacs.org>
11975
11976         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
11977         than 1.
11978         (initialize_widget_image_instance): default layout to
11979         LAYOUT_HORIZONTAL rather than 0.
11980         (widget_instantiate): reverse the item list at the end rather than
11981         every iteration.
11982         (layout_layout): re-code for the border text at the front of the
11983         item list rather than at the end.
11984         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
11985         provided by the user.
11986         (widget_query_geometry): comment.
11987
11988 2000-03-30  Andy Piper  <andy@xemacs.org>
11989
11990         * glyphs-widget.c (image_instantiator_layout): allow standard
11991         widget keywords in layouts.
11992
11993         * gutter.c (output_gutter): cope with nil gutter contents.
11994
11995         * frame.c (Fset_frame_properties): add gutter docs.
11996
11997 2000-03-29  Andy Piper  <andy@xemacs.org>
11998
11999         * toolbar-msw.c (TBSTYLE_FLAT): add.
12000         (mswindows_output_toolbar): minor fiddling.
12001
12002 2000-03-29  Andy Piper  <andy@xemacs.org>
12003
12004         * gutter.c (output_gutter): force gutter size recalculation if
12005         what we are trying to display won't fit.
12006         (update_gutter_geometry): new function. A per-gutter version of
12007         update_frame_gutter_geometry.
12008         (update_frame_gutter_geometry): use it.
12009         (redraw_exposed_gutter): add extra debugging output.
12010
12011 2000-03-28  Mike Alexander  <mta@arbortext.com>
12012
12013         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12014         (pdump_file_unmap): Implement it on Windows
12015         (pdump_file_get): Save alocated handles for pdump_file_unmap
12016
12017 2000-03-28  Andy Piper  <andy@xemacs.org>
12018
12019         * gui.c (get_gui_callback): treat Quit specially.
12020
12021 2000-03-27  Andy Piper  <andy@xemacs.org>
12022
12023         * glyphs.c (image_instantiate): be careful to check in the same
12024         way we assigned.
12025
12026 2000-03-27  Didier Verna  <didier@xemacs.org>
12027
12028         * config.h.in: define the proper SMART_INCLUDE macro.
12029         handle renaming of `foo_h_path' to `foo_h_file'.
12030
12031         * database.c: ditto.
12032
12033         * emacs.c: ditto.
12034
12035         * linuxplay.c: ditto.
12036
12037         * terminfo.c: ditto.
12038
12039         * tooltalk.h: ditto.
12040
12041 2000-03-27  Andy Piper  <andy@xemacs.org>
12042
12043         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12044         gets updated whenever the face might have changed.
12045
12046 2000-03-26  Mike Alexander  <mta@arbortext.com>
12047
12048         * dumper.c (pdump_resource_free): Fix the comment.
12049
12050 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12051
12052         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12053
12054 2000-03-22  Mike Alexander  <mta@arbortext.com>
12055
12056         * dumper.c: Include Windows headers on Windows
12057         (pdump_resource_free): Add a body to the function
12058         (pdump_load): exe_name -> exe_path and add some comments.
12059
12060 2000-03-25  Mike Alexander  <mta@arbortext.com>
12061
12062         * gui.c (copy_gui_item_tree): Return a value in all cases
12063
12064 2000-03-21  Didier Verna  <didier@xemacs.org>
12065
12066         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12067         lwlib/config.h.in.
12068         (SMART_INCLUDE): new macro.
12069         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12070         the proper location.
12071
12072         * postgresql.c: use it.
12073
12074         * inline.c: ditto.
12075
12076 2000-03-24  Andy Piper  <andy@xemacs.org>
12077
12078         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12079         do this.
12080
12081 2000-03-24  Andy Piper  <andy@xemacs.org>
12082
12083         * redisplay-output.c (compare_runes): use image_instance_changed
12084         to detect changes. Do not depend on glyphs_changed, only depend on
12085         dirtiness.
12086          (redisplay_output_layout): add debug messages.
12087         (compare_runes): ditto.
12088
12089         * glyphs.h: declare new functions.
12090         (struct Lisp_Image_Instance): remove percent and associated
12091         accessors.
12092
12093         * gui.h: declare new copying functions.
12094
12095         * gui.c (copy_gui_item_tree): new function.
12096         (copy_gui_item): new function.
12097         (gui_item_id_hash): revert to standard hash.
12098         (gui_item_hash): ditto.
12099         (gui_item_hash_internal): deleted.
12100         (mark_gui_item): mark value.
12101         (gui_item_add_keyval_pair): add value.
12102         (gui_item_init): ditto.
12103         (gui_add_item_keywords_to_plist): ditto.
12104         (gui_item_equal): ditto.
12105         (syms_of_gui): add Q_value.
12106
12107         * glyphs-x.c (x_progress_gauge_update): use pending items and
12108         value for setting the state.
12109         (x_update_widget): don't set items from pending here.
12110
12111         * glyphs-widget.c (update_widget): update items here.
12112         (progress_gauge_set_property): use items for storing value. Put
12113         new value in pending items.
12114
12115         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12116         items for new value. Convert percent -> value.
12117         (mswindows_tab_control_update): don't update items here.
12118
12119         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12120         (update_subwindow): ditto.
12121         (image_instance_changed): new function. Compare hash values and
12122         past and present widget items.
12123         (image_instantiate): We more careful about where we instantiate
12124         things.
12125         (image_instantiate): add error checking.
12126
12127         * gutter.c (syms_of_gutter): use -hook.
12128
12129 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12130
12131         * console-tty.c (Fset_console_tty_input_coding_system): Use
12132         Qkeyboard.
12133         (Fset_console_tty_output_coding_system): Use Qterminal.
12134         (tty_init_console): Use Qkeyboard and Qterminal.
12135
12136 2000-03-21  Ben Wing  <ben@xemacs.org>
12137
12138         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12139         From Mike Alexander <mta@arbortext.com>.
12140
12141 2000-03-21  Ben Wing  <ben@xemacs.org>
12142
12143         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12144         process brokenness.  Proper implementation to come.
12145         * callproc.c:
12146         Rename call-process-internal to old-call-process-internal.
12147         New impl. in process.el.
12148
12149 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12150
12151         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12152
12153 2000-03-20  Andy Piper  <andy@xemacs.org>
12154
12155         * glyphs.c (full_list_hash): make hashes of the same elements in
12156         different orders return different values.
12157
12158 2000-03-20  Martin Buchholz <martin@xemacs.org>
12159
12160         * XEmacs 21.2.32 is released.
12161
12162 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12163
12164         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12165         (DFC_MALLOC_USE_CONVERTED_DATA):
12166         Add aliasing-safe casts to allow use with char* or unsigned char*
12167         lvalues.
12168
12169         * eldap.c (Fldap_open):
12170         (Fldap_search_basic):
12171         (Fldap_add):
12172         (Fldap_modify):
12173         Make C++-compilable.
12174         Make sure GCPRO'ed variables are initialized.
12175         Use temp variables to avoid repeated calls to Flength.
12176
12177 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12178
12179         * sysfile.h:
12180         Make sure PATH_MAX is always defined.
12181         Include limits.h for PATH_MAX.
12182         Deprecate use of MAXPATHLEN.
12183
12184 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12185
12186         * emacs.c: Add reinit_vars_of_fileio.
12187         * symsinit.h: Add reinit_vars_of_fileio.
12188         * fileio.c (reinit_vars_of_fileio): New.
12189         * fileio.c (Fmake_temp_name):
12190         Initialize temp_name random number from microseconds to make
12191         collisions even less likely.  Initialize always at process startup
12192         time.  (make-temp-name) used to return the same file name twice in
12193         a row when PDUMP.
12194         Random stylistic fiddling.
12195         Comment fixes.
12196
12197 2000-03-20  Andy Piper  <andy@xemacs.org>
12198
12199         * glyphs.c (image_instantiate): allow text glyphs to be
12200         instantiated in the minibuffer window.
12201
12202 2000-03-19  Andy Piper  <andy@xemacs.org>
12203
12204         * glyphs.c (image_instance_hash): be careful about which items we
12205         hash on.
12206
12207         * glyphs-widget.c (tab_control_set_property): record into pending
12208         items rather than the actual items.
12209
12210         * glyphs-x.c (x_update_widget): use pending items to update with.
12211
12212         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12213         to update with.
12214
12215         * glyphs.c (mark_image_instance): mark pending items.
12216
12217         * window.c (Fset_window_configuration): record the buffer.
12218         (Fselect_window): totally revert previous change which breaks many
12219         things.
12220
12221 2000-03-18  Andy Piper  <andy@xemacs.org>
12222
12223         * glyphs-msw.c (mswindows_tab_control_update): force selected
12224         item.
12225
12226         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12227         window domain cache, otherwise we get inconsistencies at
12228         startup. There is something fishy at startup which can lead to the
12229         minibuffer being the selected window when the gutter content is
12230         instantiated.
12231
12232         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12233         gcpros.
12234         (parse_gui_item_tree_children): ditto.
12235         (parse_gui_item_tree_item): ditto.
12236
12237         * glyphs.c (Fupdate_widget_instances): return something.
12238
12239 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12240
12241         * window.c (Fselect_window): Undo 2000-03-17 change.
12242
12243 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12244
12245         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12246         against v7.0 libraries.  Insta-coredump city until the postgres
12247         folks fix it.
12248
12249 2000-03-17  Andy Piper  <andy@xemacs.org>
12250
12251         * faces.c (complex_vars_of_faces): don't give the widget face an
12252         inherited background pixmap.
12253
12254         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12255         selected item.
12256
12257         * event-stream.c (Fdispatch_non_command_events): return something.
12258
12259         * gutter.c (output_gutter): use widget face.
12260         (clear_gutter): ditto.
12261
12262         * NEWS: adjust again.
12263
12264         * window.c (Fselect_window): make sure this runs to completion to
12265         avoid oddities with Fset_window_configuration.
12266         (Fcurrent_window_configuration): in general do not save the
12267         minibuffer as the selected window.
12268
12269         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12270
12271 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12272
12273         * emacs.c (Frunning_temacs_p): Revert previous patch.
12274         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12275
12276 2000-03-16  Andy Piper  <andy@xemacs.org>
12277
12278         * glyphs-x.c (x_tab_control_update): if no widget values then
12279         return.
12280
12281         * NEWS: update for new features.
12282
12283         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12284         synthetic event to the native system.
12285         (reinit_vars_of_event_Xt): set force_event_pending to
12286         emacs_Xt_force_event_pending.
12287
12288         * events.h (struct event_stream): add force_event_pending.
12289
12290         * specifier.c (recompute_one_cached_specifier_in_window): add
12291         comment.
12292
12293         * redisplay.c (redisplay_frame): don't call
12294         update_frame_subwindows. Reset subwindow cachels when
12295         subwindows_changed, removing this was an optimization too far.
12296
12297         * redisplay-output.c (compare_runes): reorganize so that we catch
12298         glyph changes when we want them. Set optimize_output when this
12299         would help layouts.
12300         (redisplay_output_layout): remove frame_really_changed, use
12301         optimize_output instead.
12302
12303         * redisplay-msw.c (mswindows_output_display_block): reset
12304         optimize_output after outputting a glyph.
12305         * redisplay-x.c (x_output_display_block): ditto.
12306         * redisplay-tty.c (tty_output_display_block): ditto.
12307
12308         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12309         functions.
12310         (gutter_specs_changed): do specific gutter positions.
12311         (top_gutter_specs_changed): new function. Only update the
12312         specified gutter specs.
12313         (bottom_gutter_specs_changed): ditto.
12314         (left_gutter_specs_changed): ditto.
12315         (right_gutter_specs_changed): ditto.
12316
12317         * gui.c (gui_item_hash_internal): new function, does a real hash.
12318         (gui_item_id_hash): use it.
12319         (gui_item_hash): hash the eval'ed gui_item.
12320
12321         * gui-x.c (popup_selection_callback): send an eval event to call
12322         Fupdate_widget_instances.
12323
12324         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12325         to call Fupdate_widget_instances.
12326
12327         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12328         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12329
12330         * glyphs.c: (update_frame_subwindows): deleted.
12331         (Fupdate_widget_instances): new function for updating the dirty
12332         state of widgets that might have changed.
12333         (syms_of_glyphs): add Qupdate_widget_instances.
12334         (full_list_hash): hash a list completely.
12335         (image_instance_hash): use it for items and properties.
12336
12337         * frame-msw.c (mswindows_size_frame_internal): remove unused
12338         variable.
12339
12340         * faces.h (struct face_cachel): fix comment.
12341
12342         * event-stream.c (Fdispatch_non_command_events): new
12343         function. Process non-command events, forcing an event cycle
12344         beforehand.
12345         (syms_of_event_stream): declare.
12346         (event_stream_force_event_pending): new function. Force an event
12347         on the native event queue so that an event cycle will occur next
12348         time we check.
12349
12350         * event-msw.c:
12351         (struct ntpipe_shove_stream):
12352         (mswindows_enqueue_dispatch_event):
12353         (mswindows_dequeue_dispatch_event):
12354         (mswindows_cancel_dispatch_event):
12355         (mswindows_pump_outstanding_events):
12356         (mswindows_drain_windows_queue):
12357         (mswindows_handle_paint):
12358         (mswindows_wnd_proc):
12359         (mswindows_key_to_emacs_keysym):
12360         (get_process_input_waitable):
12361         (emacs_mswindows_delete_stream_pair): re-indent file.
12362         (mswindows_need_event): do not process further fds if the windows
12363         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12364         fixes the 100% cpu problem.
12365         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12366
12367 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12368
12369         * alloc.h: New.
12370         * dumper.h: New.
12371         * dumper.c: New.
12372
12373         * emacs.c: Moved dump file searching to dumper.c.
12374         (Frunning_temacs_p): Fixed.
12375
12376         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12377         last_lrecord_type_index_assigned.
12378
12379 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12380
12381         * symsinit.h: Added reinit parameter to init_console_stream
12382         declaration.
12383
12384         * lisp.h: Added file parameter to pdump_load declaration.
12385
12386         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
12387         support.  Added dump file searching.
12388
12389         * config.h.in: Added EMACS_PROGNAME.
12390
12391         * console-stream.c (init_console_stream): Fix reinitialisation
12392         when running from temacs.
12393
12394         * alloc.c (pdump): Add id support.
12395         (pdump_load): Add file parameter and signature/id support.
12396
12397         * Makefile.in.in: Add full pdump support.
12398
12399 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
12400
12401         * postgresql.c: Update documentation to reflect latest code
12402         status.
12403         (print_result): Show tuple counts in printed representation when
12404         appropriate.
12405         (Fpq_put_nbytes): MULE-ize.
12406         (Fpq_get_line_async): Ditto.
12407
12408 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12409
12410         * postgresql.c (Fpq_lo_import): Fix return value.
12411         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
12412
12413 2000-03-13  Ben Wing  <ben@xemacs.org>
12414
12415         * alloc.c (pdump_load):
12416         Fix compile warning under mswin.
12417
12418 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12419
12420         * postgresql.c: Mule-ization, bug fixes.
12421         Use PG_CODING to encapsulate coding system name changes.
12422         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
12423         (pg-coding-system): Create.
12424
12425         (Fpq_conn_defaults): Mule-ize.
12426         (Fpq_connectdb): Mule-ize & bug fix.
12427         (Fpq_connect_start): Mule-ize.
12428         (Fpq_set_client_encoding): Mule-ize.
12429         (Fpq_finish): Document `DEAD' connection status.
12430         (Fpq_clear): Ditto.
12431         (Fpq_pgconn): Mule-ize.
12432         (Fpq_exec): Mule-ize & bug fix.
12433         (Fpq_send_query): Ditto.
12434         (Fpq_get_result): Ditto.
12435         (Fpq_res_status): Mule-ize.
12436         (Fpq_result_error_message): Mule-ize.
12437         (Fpq_ntuples): fix comments.
12438         (Fpq_fname): Mule-ize.
12439         (Fpq_fnumber): Mule-ize.
12440         (Fpq_ftype): fix comments.
12441         (Fpq_get_value): Mule-ize.
12442         (Fpq_cmd_status): Ditto.
12443         (Fpq_cmd_tuples): Ditto.
12444         (Fpq_oid_value): Ditto.
12445         (Fpq_notifies): Ditto.
12446         (Fpq_lo_import): Ditto.
12447         (Fpq_lo_export): Ditto.
12448         (Fpq_get_line): Ditto.
12449         (Fpq_put_line): Mule-ize and bug fix.
12450         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
12451
12452 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12453
12454         * postgresql.c (vars_of_postgresql): Mule-ize.
12455         (Fpq_conn_defaults): Ditto.
12456
12457 2000-03-12  Ben Wing  <ben@xemacs.org>
12458
12459         * alloc.c (Fmake_byte_code):
12460         * alloc.c (debug_string_purity_print):
12461         * alloc.c (pdump_backtrace):
12462         * alloc.c (pdump_get_indirect_count):
12463         * alloc.c (pdump_register_sub):
12464         * alloc.c (pdump_register_object):
12465         * alloc.c (pdump_register_struct):
12466         * alloc.c (pdump_dump_data):
12467         * alloc.c (pdump_reloc_one):
12468         Minor cleanups.
12469
12470         * console-msw.c:
12471         * console-msw.c (GetConsoleHwnd):
12472         * console-msw.c (msw_hide_console):
12473         * console-msw.c (msw_show_console):
12474         * console-msw.c (msw_ensure_console_buffered):
12475         * console-msw.c (msw_output_console_string):
12476         * console-msw.c (console_type_create_mswindows):
12477
12478         a) Added functions to manipulate the console window for use with
12479         shell support.
12480
12481         b) Added support for writing text to the console, which is now
12482         used under Windows when xemacs is not being run non-interactively,
12483         to write text that would otherwise be destined for stdout because
12484         under these circumstances, text written to stdout tends to
12485         disappear and not be seen.
12486
12487         * console-msw.h:
12488         * event-Xt.c:
12489         * event-Xt.c (x_event_to_emacs_event):
12490         * event-Xt.c (describe_event_window):
12491         * events-mod.h (XEMACS_MOD_CONTROL):
12492         * events.c:
12493         * events.c (Fmake_event):
12494         * events.c (character_to_event):
12495         * events.c (event_to_character):
12496         * events.c (format_event_object):
12497         * events.c (Fevent_modifiers):
12498         * events.h:
12499         * events.h (struct key_data):
12500         * events.h (struct button_data):
12501         * events.h (struct misc_user_data):
12502         * frame-x.c (Fcde_start_drag_internal):
12503         * frame-x.c (Foffix_start_drag_internal):
12504         * gpmevent.c (Freceive_gpm_event):
12505         * keymap.c:
12506         * keymap.c (bucky_sym_to_bucky_bit):
12507         * keymap.c (control_meta_superify):
12508         * keymap.c (make_key_description):
12509         * keymap.c (keymap_lookup_directly):
12510         * keymap.c (create_bucky_submap):
12511         * keymap.c (keymap_store):
12512         * keymap.c (define_key_check_and_coerce_keysym):
12513         * keymap.c (define_key_parser):
12514         * keymap.c (define_key_alternate_name):
12515         * keymap.c (Fdefine_key):
12516         * keymap.c (raw_lookup_key_mapper):
12517         * keymap.c (struct map_keymap_unsorted_closure):
12518         * keymap.c (map_keymap_unsorted_mapper):
12519         * keymap.c (map_keymap_sort_predicate):
12520         * keymap.c (map_keymap_sorted):
12521         * keymap.c (accessible_keymaps_mapper_1):
12522         * keymap.c (where_is_recursive_mapper):
12523         * keymap.c (describe_map_mapper):
12524         * keymap.c (describe_map_sort_predicate):
12525         * keymap.c (describe_map):
12526         * keymap.c (complex_vars_of_keymap):
12527         And a number of other files, the key modifier preprocessor
12528         constants that xemacs uses have names that conflict with constants
12529         defined under MS Windows for other purposes, so they were renamed
12530         to begin with the prefix XEMACS_. The variables that hold such
12531         modifiers were changed to consistently be of type int to fix
12532         various compile warnings.
12533
12534         * console.c (complex_vars_of_console):
12535         * device.c:
12536         * device-msw.c:
12537         * device-msw.c (mswindows_finish_init_device):
12538         * device-msw.c (msw_get_workspace_coords):
12539         * device-msw.c (mswindows_device_system_metrics):
12540         and various other files, added support for a new
12541         device property called offset-workspace which returns the position
12542         of the upper left corner of the workspace area and goes along with
12543         the existing size-workspace property.
12544
12545         * dialog-msw.c:
12546         * dialog-msw.c (push_bufbyte_string_as_unicode):
12547         * dialog-msw.c (mswindows_popup_dialog_box):
12548         Added support for XEmacs-style accelerator specifications in
12549         button text.  Note: I didn't add support for this under X Windows,
12550         and somebody needs to do this.
12551
12552         * dialog.c:
12553         * dialog.c (Fpopup_dialog_box):
12554         Documented the support for accelerators that was just mentioned.
12555
12556         editfns.c (get_home_directory): Changed behavior under Windows
12557         when HOME not defined; former behavior was irretrievably broken.
12558
12559         * emacs.c:
12560         * emacs.c (main_1):
12561         * emacs.c (main):
12562         * minibuf.c (clear_echo_area_internal):
12563         * minibuf.c (echo_area_append):
12564         * print.c:
12565         * print.c (std_handle_out_external):
12566         * print.c (std_handle_out_va):
12567         * print.c (fatal):
12568         * print.c (write_string_to_stdio_stream):
12569         * print.c (output_string):
12570         * print.c (debug_print):
12571         * print.c (debug_backtrace):
12572         * print.c (debug_short_backtrace):
12573         Cleaned up the code that prints text to stdout so that this can be
12574         changed to output into a console window instead under MS Windows,
12575         as described above.
12576
12577         * eval.c:
12578         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
12579         * eval.c (internal_catch):
12580         * eval.c (unwind_to_catch):
12581         * eval.c (throw_or_bomb_out):
12582         * eval.c (condition_case_1):
12583         * eval.c (signal_1):
12584         * eval.c (check_error_state_sanity):
12585         * eval.c (call_with_suspended_errors_1):
12586         * eval.c (call_with_suspended_errors):
12587         * eval.c (reinit_vars_of_eval):
12588         Added code to catch throw loops and check for a pesky bug that may
12589         be gone now.
12590
12591         * event-msw.c:
12592         * event-msw.c (key_needs_default_processing_p):
12593         * event-msw.c (mswindows_wnd_proc):
12594         * event-msw.c (mswindows_modifier_state):
12595         * event-msw.c (emacs_mswindows_quit_p):
12596         * event-msw.c (vars_of_event_mswindows):
12597         a) Added support for using the alt key to select menu items as is
12598         standard under MS Windows.  This is controlled using the variable
12599         menu-accelerator-enabled, just like under X Windows.  There is an
12600         option on the options menu to turn this support on.  I really
12601         think that it should be on by default under Windows, but I'm not
12602         going to make this change yet.
12603
12604         b)  Added support for dynamic display size changes under Windows.
12605
12606         * event-stream.c:
12607         * event-stream.c (maybe_echo_keys):
12608         * event-stream.c (Fnext_event):
12609         * event-stream.c (command_builder_find_leaf):
12610         * event-stream.c (lookup_command_event):
12611         * event-stream.c (execute_command_event):
12612         * event-stream.c (pre_command_hook):
12613         * event-stream.c (post_command_hook):
12614         * event-stream.c (syms_of_event_stream):
12615         * event-stream.c (vars_of_event_stream):
12616         * event-stream.c (complex_vars_of_event_stream):
12617         * events.h (struct command_builder):
12618
12619         a) Tried to clean up a little bit the horribly written x-specific
12620         accelerator code that crept into this file.  I moved this code
12621         into menubar-x.c where it belongs. I also needed to move the
12622         command builder structure into the file events.h because it is
12623         accessed directly by this accelerator code.  What I didn't do, but
12624         which should be done at some point, is to properly abstract this
12625         code using device methods instead of the kludgy way that it
12626         currently hooks into the event code.
12627
12628         b) Added the lisp variables this-command-properties and
12629         last-command- properties, which should be used to synchronize two
12630         adjacent commands in preference to playing games with the variable
12631         this-command, which is typically what happens.
12632
12633         c) Added some slightly nasty code to hook into the lisp support
12634         for shifted- motion-key selection.  This is actually necessary for
12635         somewhat complicated reasons, which are described in
12636         simple.el. (NB: I think the proper thing would be to have the code
12637         that calls the pre and post command hooks also call out to generic
12638         lisp functions in simple.el, where all built-in stuff could be
12639         added.  I will think about this more.)
12640
12641         * event-unixoid.c (poll_fds_for_input):
12642         * lread.c (readchar):
12643         * redisplay-tty.c (tty_clear_frame):
12644         * redisplay-x.c (x_get_gc):
12645         * signal.c (interrupt_signal):
12646         And a whole bunch of other files: fixed up places that printed
12647         directly to stderr to instead call the function stderr_out so that
12648         the changes I made under Windows work correctly.
12649
12650         * filemode.c (mode_string):
12651         Warning fixes.
12652
12653         * frame-msw.c:
12654         * frame-msw.c (mswindows_size_frame_internal):
12655         Fixed the computation of frame size and position to keep the frame
12656         within the workspace area, rather than within the physical
12657         dimensions of the screen, so that the frame doesn't overlap window
12658         manager decorations, such as the start menu and toolbar, typically
12659         at the bottom of the screen.
12660
12661         * frame.c (vars_of_frame):
12662         Changed the default frame title format under MS Windows to consist
12663         of buffername-XEmacs, which is standard under MS Windows.  I think
12664         it might be a good idea to change this everywhere because I think
12665         it is superior to the current frame title format, but this is the
12666         kind of change that is likely to cause some people to get annoyed,
12667         so I'm not making it.
12668
12669         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
12670
12671         * gui-msw.c (mswindows_handle_gui_wm_command):
12672         Fixed compile warnings.
12673
12674         * gui-x.c:
12675         * gui-x.c (strdup_and_add_accel):
12676         * gui-x.c (button_item_to_widget_value):
12677         * gui-x.h:
12678         Added code to automatically put an accelerator onto the beginning
12679         of menu items that don't have one as is now the standard, and is
12680         described more later.  Also fixed things so that the menu item
12681         name can be an evaluated expression, again a new standard.
12682
12683         * gui.c:
12684         * gui.c (gui_item_add_keyval_pair):
12685         * gui.c (make_gui_item_from_keywords_internal):
12686         * gui.c (gui_add_item_keywords_to_plist):
12687         * gui.c (gui_item_accelerator):
12688         * gui.c (gui_name_accelerator):
12689         * gui.c (gui_item_included_p):
12690         * gui.c (gui_item_display_flush_left):
12691         * gui.c (gui_item_display_flush_right):
12692         * gui.c (parse_gui_item_tree_item):
12693         * gui.c (parse_gui_item_tree_children):
12694         * gui.c (parse_gui_item_tree_list):
12695         Mule-ized.  Cleanup.  GCPRO addition.
12696
12697         * line-number.c (buffer_line_number):
12698         * lisp.h:
12699         * lisp.h (EMACS_INT_MAX):
12700         Added the manifest constant EMACS_INT_MIN corresponding to the
12701         existing constant EMACS_INT_MAX.  This is partially to fix compile
12702         warnings under Windows, and partly for cleanliness.
12703
12704         * menubar-msw.c:
12705         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
12706         * menubar-msw.c (msw_translate_menu_or_dialog_item):
12707         * menubar-msw.c (displayable_menu_item):
12708         * menubar-msw.c (populate_menu_add_item):
12709         * menubar-msw.c (populate_or_checksum_helper):
12710         * menubar-msw.c (populate_menu):
12711         * menubar-msw.c (update_frame_menubar_maybe):
12712         * menubar-msw.c (prune_menubar):
12713         * menubar-msw.c (msw_char_is_accelerator):
12714         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
12715         * menubar-msw.c (mswindows_handle_wm_command):
12716         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
12717         * menubar-msw.c (mswindows_handle_wm_initmenu):
12718         * menubar-msw.c (mswindows_update_frame_menubars):
12719         * menubar-msw.c (mswindows_free_frame_menubars):
12720         * menubar-msw.c (mswindows_popup_menu):
12721         Fixed a bug in handling accelerators where an extra character
12722         would be displayed in the menu item.  Also generalized the
12723         function displayable_menu_item because it is now used by the
12724         dialog box code as well.  And finally, added code in the functions
12725         that create the menubar to extract a list of accelerators for the
12726         top level menubar, which is used in the event code to determine
12727         whether a particular alt-key combination should be used to invoke
12728         a menu item, or should be passed through to access the standard
12729         XEmacs keymap binding for this key combination.
12730
12731         Much needed GCPROing.
12732
12733         * menubar-x.c:
12734         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12735         * menubar-x.c (menu_item_descriptor_to_widget_value):
12736         * menubar-x.c (restore_in_menu_callback):
12737         * menubar-x.c (x_popup_menu):
12738         * menubar-x.c (menu_move_up):
12739         * menubar-x.c (menu_move_down):
12740         * menubar-x.c (menu_move_left):
12741         * menubar-x.c (menu_move_right):
12742         * menubar-x.c (menu_select_item):
12743         * menubar-x.c (command_builder_operate_menu_accelerator):
12744         * menubar-x.c (menu_accelerator_junk_on_error):
12745         * menubar-x.c (command_builder_find_menu_accelerator):
12746         * menubar-x.c (Faccelerate_menu):
12747         * menubar.h:
12748         Moved a whole bunch of code here that was previously in
12749         event-stream.c as described above.  There is also code connected
12750         to the new standard of adding an accelerator to the beginning of
12751         menu items that don't have one as described above and below.
12752
12753         * menubar.c:
12754         * menubar.c (menu_parse_submenu_keywords):
12755         * menubar.c (Fmenu_find_real_submenu):
12756         * menubar.c (Fnormalize_menu_item_name):
12757         * menubar.c (syms_of_menubar):
12758         * menubar.c (vars_of_menubar):
12759         * menubar.c (complex_vars_of_menubar):
12760
12761         a) Cleaned up a bunch of documentation and improved it.
12762
12763         b) XEmacs now automatically adds an accelerator onto the beginning
12764         of any menu items that don't have one.  I did this because there
12765         will inevitably be some menu items on the main menubar that don't
12766         have accelerators on them because the package that adds that
12767         particular menu item hasn't yet been fixed up to have accelerators
12768         in them and it looked rather strange to have some items with and
12769         some items without accelerators, especially since even in items
12770         without accelerators, you can, at least under windows, still
12771         access the item through an accelerator corresponding to the first
12772         character in the item's name.  If people don't like this behavior,
12773         I can add a variable to turn it off optionally, but I'm not sure
12774         this is a good idea because we really do need to have accelerators
12775         on all of the menu items, and if a package doesn't like the
12776         accelerators being put on the first character, then it should put
12777         the accelerators where they belong.
12778
12779         c) I made a behavior change, which is that the descriptor that
12780         specifies the text of the menu item, which formerly was just a
12781         string, can now also be an evaluated expression.  This makes this
12782         descriptor parallel with all of the others, which could also be
12783         evaluated expressions.  This also obviates the need for the
12784         keyword :label, which was previously listed in the documentation
12785         as unimplemented, and which was for the same purpose.
12786
12787         d) GCPROing.
12788
12789         * ntproc.c:
12790         * ntproc.c (new_child):
12791         * ntproc.c (sys_spawnve):
12792         * ntproc.c (find_child_console):
12793         * ntproc.c (sys_kill):
12794         Fixed compile warnings.  By the way, this file should really go
12795         away entirely, and this will happen as soon as Kirill makes his
12796         final round of process cleanups, which affect the function
12797         call-process.
12798
12799         * process-nt.c:
12800         * process-nt.c (struct nt_process_data):
12801         * process-nt.c (find_process_from_pid):
12802         * process-nt.c (send_signal_the_nt_way):
12803         * process-nt.c (enable_child_signals):
12804         * process-nt.c (find_child_console):
12805         * process-nt.c (send_signal_the_95_way):
12806         * process-nt.c (nt_finalize_process_data):
12807         * process-nt.c (ensure_console_window_exists):
12808         * process-nt.c (nt_create_process):
12809         * process-nt.c (nt_kill_child_process):
12810         * process-nt.c (nt_kill_process_by_pid):
12811         * process-nt.c (nt_open_network_stream):
12812         * process-nt.c (vars_of_process_nt):
12813         Copied over code from Emacs 20.5 to correctly send signals to sub-
12814         processes under Windows 95.  Also added code to automatically
12815         create and hide console window when a sub-process is created under
12816         Windows 95, which obviates the need for the separate runemacs.exe
12817         executable, and finally implemented some variables that were
12818         implemented in Emacs 20.5, but previously not in XEmacs.  These
12819         include mswindows- start-process-share-console and
12820         mswindows-start-process-inherit-error-mode. (Both of these only
12821         apply to Windows 95.)
12822
12823         * regex.c (regex_compile): Fixed a compile warning.
12824
12825         * select-msw.c:
12826         * select-msw.c (mswindows_own_selection):
12827         * select-msw.c (mswindows_get_foreign_selection):
12828         * select-msw.c (mswindows_disown_selection):
12829         * select-msw.c (console_type_create_select_mswindows):
12830         * select-msw.c (syms_of_select_mswindows):
12831         Cleaned up the file and implemented the device method
12832         selection_exists_p, which had accidentally been left out.  Also
12833         removed four lisp functions that were remnants from before the
12834         time when the selection code was properly device abstracted.
12835         These functions are no longer needed because there are generic
12836         equivalents, and because they were added recently and don't exist
12837         in FSF Emacs, I don't think there's any problem with just deleting
12838         them.
12839
12840         * sysdep.c:
12841         * sysdep.c (sys_subshell):
12842         Fixed a compile warning, although in this case there's probably
12843         something wrong with this code, and it ought to be looked into
12844         more thoroughly by somebody who understands it.
12845
12846         * window.c:
12847         * window.c (Fwindow_text_area_height):
12848         * window.c (Fwindow_width):
12849         * window.c (Fwindow_full_width):
12850         * window.c (Fwindow_pixel_width):
12851         * window.c (debug_print_window):
12852         * window.c (syms_of_window):
12853         Added functions window-text-area-height and window-full-width,
12854         which are functions for returning various width and height
12855         characteristics of a window. (One of these functions is necessary
12856         for making the file dialog box work correctly, and the other one
12857         was added for completeness.)  Also added a table to the
12858         documentation for window-height which describes the entire scheme
12859         for accessing width and height characteristics of a window.
12860
12861 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12862
12863         * nt.c (fstat): Added a comment for another problem with
12864         non-encapsulated [f]stat(), reported by Adrian Aichner
12865         <aichner@ecf.teradyne.com>.
12866
12867 2000-03-11  Andy Piper  <andy@xemacs.org>
12868
12869         * window.c (make_dummy_parent): initialize subwindow instance
12870         cache.
12871         (Fset_window_configuration): zero extent_modiff.
12872
12873 2000-03-10  Andy Piper  <andy@xemacs.org>
12874
12875         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
12876         more changes can be triggered.
12877         (Fredisplay_frame): ditto.
12878         (Fredraw_device): ditto.
12879         (Fredisplay_device): ditto.
12880         (redisplay_frame): make non-static.
12881         (redisplay_frame): call update_frame_gutter_geometry outside of
12882         display proper.
12883
12884         * gutter.h: declare update_frame_gutter_geometry.
12885
12886         * redisplay.h: declare redisplay_frame.
12887
12888         * gutter.c (update_frame_gutter_geometry): move geometry changes
12889         in update_frame_gutters here. Geometry changes can only occur
12890         outside of redisplay.
12891         (update_frame_gutters): remove geometry change code.
12892         (Fredisplay_gutter_area): make sure that we are in display when we
12893         update and that we have flushed any size changes.
12894
12895 2000-03-11  Andy Piper  <andy@xemacs.org>
12896
12897         * alloc.c (pdump_dump_data): remove i & count shadows.
12898
12899 2000-02-27  Mike Alexander  <mta@arbortext.com>
12900
12901         * sysdep.h: Declare pdump_read_file
12902
12903         * sysdep.c (pdump_read_file): New function
12904
12905         * alloc.c (pdump_load): Call pdump_read_file to get the portable
12906         dump data
12907
12908 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12909
12910         * lrecord.h: add `lrecord_type_pgsetenv'.
12911
12912 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
12913
12914         * symsinit.h: declare (vars|syms)_of* functions.
12915         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
12916
12917 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
12918
12919         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
12920
12921         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
12922         GCCs.
12923
12924         * emacs.c (main_1): Call postgres initialization code.
12925
12926         * postgresql.h: New file.  PostgreSQL RDBMS support.
12927         * postgresql.c: New file.
12928
12929 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12930
12931         * redisplay-output.c (redisplay_output_display_block): Disable
12932         redundant code.
12933
12934 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12935
12936         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
12937         (Fcanna_henkan_next): Ditto.
12938         (Fcanna_bunsetu_henkou): Ditto.
12939         (Fcanna_henkan_kakutei): Ditto.
12940         (Fcanna_henkan_end): Ditto.
12941         (Fcanna_henkan_quit): Ditto.
12942         (Fcanna_henkan_next): Set retun value correctly.
12943         (c2mu): Use unsigned char instead of signed char.
12944
12945 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12946
12947         * emacs.c (main_1): Always call syms_of_gui.
12948         * inline.c: include gui.h
12949
12950 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12951
12952         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
12953         converted to Lisp_Object.
12954         (Qtop_bottom): New variable.
12955         (syms_of_redisplay): Initialize it.
12956         * redisplay.h (Vvisible_bell): Ditto.
12957         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
12958         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
12959         only flash top and bottom.
12960
12961 2000-03-08  Andy Piper  <andy@xemacs.org>
12962
12963         * buffer.c (Frename_buffer): record new buffer name the right way.
12964
12965 2000-03-08  Andy Piper  <andy@xemacs.org>
12966
12967         * glyphs.c (update_subwindow): increase hash depth so that widget
12968         items get picked up properly.
12969
12970         * redisplay-output.c (compare_runes): increase hash depth so that
12971         widget items get picked up properly.
12972
12973 2000-03-08  Andy Piper  <andy@xemacs.org>
12974
12975         * gutter.c (output_gutter): add some debug.
12976
12977         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
12978         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
12979         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
12980
12981         * redisplay-output.c (compare_runes): use display_hash to
12982         determine if glyphs really are not the same.
12983
12984         * glyphs.c (update_subwindow): check display_hash to see if
12985         anything really needs to be updated. If not then do
12986         nothing. Record the display_hash after updating.
12987         (image_instance_equal): compare the image_instance face also.
12988
12989 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
12990
12991         * redisplay.h: Fix comment style.
12992
12993 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12994
12995         * consle-msw.h (struct mswindows_frame):
12996         Added new member paint_pending to indicate whether a WM_PAINT
12997         magic event has been queued for this frame.
12998
12999         * event-msw.c (mswindows_drain_windows_queue):
13000         Don't queue a WM_PAINT magic event if one is already queued.
13001         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13002
13003         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13004
13005 2000-03-07  Didier Verna  <didier@xemacs.org>
13006
13007         * dired.c: #include `regex.h' after `sysfile.h'.
13008
13009 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13010
13011         * sound.c (init_nas_sound): Fix compiler warning.
13012
13013         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13014         (FREE_STRUCT_P):
13015         (MARK_STRUCT_AS_FREE):
13016         (MARK_STRUCT_AS_NOT_FREE):
13017         Make `gcc -fstrict-aliasing' work properly.
13018
13019 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13020
13021         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13022         (mswindows_delete_device): Call CoUnnitialize().
13023
13024         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13025
13026 2000-02-25    <CraigL@DyCon.com>
13027
13028         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13029         <errno.h>.
13030
13031         * sysdep.c: This extern declaration for environ prevents MinGW
13032         from finding the variable in CRTDLL.DLL.
13033
13034         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13035         windows headers.
13036         (SHGFI_EXETYPE): ..
13037         (WM_MOUSEWHEEL): ..
13038         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13039         definitions.
13040         (MMRESULT): Removed, now defined in cygwin's windows headers.
13041         (TIMECAPS): ..
13042         (uid_t,gid_t,pid_t,ssize_t): ..
13043         (_timeb): Removed, MinGW defines both _timeb and timeb.
13044         (HAVE_H_ERRNO): Added.
13045         (HAVE_TZNAME): Added, configure is not detecting this.
13046
13047 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13048
13049         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13050         * syntax.c (syntax_match): Use it.
13051
13052         * cmds.c: Import auto-fill-chars from FSF Emacs.
13053         (Vauto_fill_chars): New variables.
13054         (internal_self_insert): Check Vauto_fill_chars.
13055         (vars_of_cmds):
13056         Declare auto-fill-chars as a Lisp variable and initialize it.
13057
13058 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13059
13060         * fileio.c (Fmake_symbolic_link):
13061         (Ffile_symlink_p):
13062         Run handlers even if local machine doesn't have symlinks.
13063
13064 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13065
13066         * event-msw.c (mswindows_drain_windows_queue):
13067         Don't generate paint magic events for non-XEmacs frames.
13068
13069 2000-03-05  Andy Piper  <andy@xemacs.org>
13070
13071         * redisplay.c (redisplay_frame): generate_displayable_area and
13072         friends assumes that we are not in GC, we therefore have to make
13073         sure that this doesn't happen.
13074
13075         * gutter.c (calculate_gutter_size): generate_displayable_area
13076         assumes that we are not in GC, we therefore have to make sure that
13077         this doesn't happen.
13078
13079 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13080
13081         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13082
13083 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13084
13085         * redisplay.c (regenerate_window): Make sure we set a sane value
13086         for end_pos even if we jump out of the loop.
13087         (regenerate_window): Answer Ben's question :-).
13088         (start_end_of_last_line): Add may_error argument.
13089         (start_of_last_line):
13090         (end_of_last_line): Pass may_error = 0.
13091         (end_of_last_line_may_error): New function.
13092         (pixel_to_glyph_translation): Use it, so we don't crash in
13093         event_to_glyph.
13094
13095 2000-03-04  Andy Piper  <andy@xemacs.org>
13096
13097         * window.h (struct window): add gutter_extent_modiff.
13098
13099         * window.c (allocate_window): zero out gutter_extent_modiff.
13100
13101         * redisplay.h: declare sync_display_line_structs.
13102
13103         * redisplay.c (add_glyph_rune): add a better comment.
13104
13105         * redisplay-output.c (sync_display_line_structs): made non-static.
13106         (compare_runes): remove unneccesary glyph cachel access.
13107
13108         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13109
13110         * gutter.c (output_gutter): don't output the gutter if extent
13111         changes only involve extents in buffers. use 4 sets of display
13112         lines.
13113         (gutter_extent_signal_changed_region_maybe): new function. Mark
13114         extents in gutters as changed.
13115         (update_frame_gutters): use 4 sets of display lines.
13116         (reset_gutter_display_lines): ditto.
13117         (free_frame_gutters): ditto.
13118         (redraw_exposed_gutter): force output of gutters.
13119
13120         * frame.h (struct frame): add 4 sets of gutter display lines.
13121
13122         * extents.c: (extent_changed_for_redisplay): signal changes to
13123         extents in strings in the gutter as well as extents in buffers.
13124
13125 2000-03-02  Andy Piper  <andy@xemacs.org>
13126
13127         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13128
13129         * frame.c (Fmake_frame): make sure the gutters get initialized
13130         after the frame is visible.
13131         (set_frame_selected_window): re-arrange compilation macros a
13132         little.
13133         (change_frame_size_1): mark gutters changed.
13134
13135         * device.c (Fset_device_class): mark gutters changed.
13136
13137 2000-03-01  Andy Piper  <andy@xemacs.org>
13138
13139         * window.c (window_top_frame_gutter_height): deleted.
13140         (window_bottom_frame_gutter_height): ditto.
13141         (window_left_frame_gutter_height): ditto.
13142         (window_right_frame_gutter_height): ditto.
13143         (window_top_gutter_height): don't use them.
13144         (window_bottom_gutter_height): ditto.
13145         (window_left_gutter_width): ditto.
13146         (window_right_gutter_width): ditto.
13147         (Fsplit_window): ditto.
13148         (Fwindow_pixel_edges): don't use border dimensions here.
13149
13150         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13151         (update_scrollbar_instance): ditto.
13152
13153         * redisplay.c (generate_modeline): don't take gutters into account.
13154         (generate_modeline): ditto.
13155         (redisplay_frame): small gutter display optimization.
13156
13157         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13158
13159         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13160         gutters into account.
13161
13162         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13163         for window position and type.
13164
13165         * gutter.c (get_gutter_coords): fix for frame gutters.
13166         (update_frame_gutters): update frame geometry if the gutters have
13167         changed.
13168         (init_frame_gutters): record current gutter geometries.
13169
13170         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13171         var.
13172         (mswindows_widget_instantiate): ditto.
13173
13174         * frame.h (struct frame): add current_gutter_bounds.
13175
13176         * frame.c (change_frame_size_1): position window and minibuffer
13177         appropriately taking into account the frame gutters.
13178
13179         * frame-x.c: (x_initialize_frame_size): take into account the
13180         frame gutters.
13181
13182 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13183
13184         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13185
13186 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13187
13188         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13189
13190 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13191
13192         * file-coding.c (reset_decoding_stream): Clear previous
13193         detection state when autodetect.
13194
13195 2000-02-29  Didier Verna  <didier@xemacs.org>
13196
13197         * extents.c (set_extent_glyph_1): don't require extents to be
13198         attached.
13199
13200 2000-02-27  Andy Piper  <andy@xemacs.org>
13201
13202         * gutter.c (Fset_default_gutter_position): don't default left and
13203         right gutter visibility to t.
13204         (Fset_default_gutter_position): run
13205         default-gutter-position-changed-hook.
13206         (syms_of_gutter): add default-gutter-position-changed-hook.
13207
13208 2000-02-26  Andy Piper  <andy@xemacs.org>
13209
13210         * specifier.c (Fmake_specifier): add gutter references.
13211
13212         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13213
13214         * lisp.h: declare Fvalid_plist_p.
13215
13216         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13217         as changed.
13218         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13219         well as its visibility so that it gets reconstructed.
13220         (construct_window_gutter_spec): new function. Construct a string
13221         to be displayed in the gutter from a plist of strings. Take care
13222         to only use elements that are declared as visible.
13223         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13224         WINDOW_GUTTER.
13225         (gutter_validate): allow plists of strings in the specifier.
13226         (gutter_specs_changed): construct the real_gutter from the gutter
13227         specs using construct_window_gutter_spec.
13228         (gutter_visible_validate): gutter-visible is a new specifier type.
13229         (Fgutter_visible_specifier_p): new function for the new specifier.
13230         (syms_of_gutter): declare gutter-visible and
13231         Fgutter_visible_specifier_p.
13232         (specifier_type_create_gutter): intitalize new gutter-visible
13233         specifier.
13234         (reinit_specifier_type_create_gutter): ditto.
13235         (specifier_vars_of_gutter): use new specifier type for gutter
13236         visibility.
13237         (init_frame_gutters): construct real_gutter correctly.
13238         (Fgutter_specifier_p): beef up documentation.
13239         (Fgutter_size_specifier_p): ditto.
13240
13241         * winslots.h: add real_gutter slots.
13242
13243 2000-02-25  Andy Piper  <andy@xemacs.org>
13244
13245         * device-msw.c: Be kind to older cygwin versions. From Raymond
13246         Toy <toy@rtp.ericsson.se>.
13247
13248         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13249         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13250
13251 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13252
13253         * elhash.c (MARK_OBJ): Practice macro hygiene.
13254
13255 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13256
13257         * miscplay.c: s/__inline__/inline/g;
13258         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13259         (get_device_compdc): INLINE ==> static inline
13260         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13261         find -name '*.h' | \
13262         xargs global-replace \
13263         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13264
13265 2000-02-25  Andy Piper  <andy@xemacs.org>
13266
13267         * window.c (window_top_frame_gutter_height): new function.
13268         (window_top_window_gutter_height): ditto.
13269         (window_top_gutter_height): use them.
13270         (window_bottom_frame_gutter_height): new function.
13271         (window_bottom_window_gutter_height): ditto.
13272         (window_bottom_gutter_height): use them.
13273         (window_left_window_gutter_width): new function.
13274         (window_left_frame_gutter_width): ditto.
13275         (window_left_gutter_width): use them.
13276         (window_right_window_gutter_width): new function.
13277         (window_right_frame_gutter_width): ditto.
13278         (window_right_gutter_width): use them.
13279         (window_pixel_height): new function. calulate window pixel height
13280         with frame gutter involvement.
13281         (Fsplit_window): calculate new sizes taking frame gutters into
13282         account.
13283         (window_char_height_to_pixel_height): don't include frame gutters.
13284         (window_char_height): use window_pixel_height.
13285         (window_pixheight): rename from window_pixel_height.
13286         (change_window_height): use it.
13287         (window_pixel_height_to_char_height): don't include frame gutters.
13288         (window_char_width_to_pixel_width): ditto.
13289
13290 2000-02-25  Andy Piper  <andy@xemacs.org>
13291
13292         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13293         if it is.
13294
13295 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13296
13297         * alloc.c (staticpro):
13298         (staticpro_nodump):
13299         (dumpstruct):
13300         (dumpopaque):
13301         (pdump_wire):
13302         (pdump_wire_list):
13303         (compact_string_chars):
13304         (pdump_dump_wired):
13305         Convert:  if (foo) abort();  ==>  assert (! foo);
13306
13307         * eldap.c (Fldap_search_basic):
13308         (Fldap_add):
13309         (Fldap_modify):
13310         (Fldap_delete):
13311         Fix compiler warnings, and possible crashes if (random) return
13312         value were to be used.
13313
13314 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13315
13316         * device-msw.c: Workaround ResetDC failure.
13317
13318         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13319         applying a devmode.
13320
13321         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13322         (mswindows_text_width): Do not start printer page.
13323
13324         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13325
13326         * glyphs-msw.c: Added image methods to msprinter console and
13327         msprinter-specific image instantiation.
13328
13329 2000-02-20  Mike Alexander  <mta@arbortext.com>
13330
13331         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13332         to avoid crashes when selection-sets-clipboard is on
13333         (mswindows_own_selection): ditto
13334
13335 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13336
13337         * glyphs-msw.c:
13338         * redisplay-msw.c (get_frame_dc):
13339         (get_frame_compdc):
13340         * console-msw.h:
13341         * device-msw.c (mswindows_init_device):
13342         (mswindows_delete_device):
13343         (msprinter_init_device):
13344         (msprinter_delete_device):
13345         * frame-msw.c (mswindows_init_frame_1):
13346         (mswindows_delete_frame):
13347         (msprinter_init_frame_3):
13348         (msprinter_delete_frame): Move compatible DC to device object from
13349         frame object, for both mswindows and msprinter. Only one at a time
13350         is needed, it is a real waste to have one per frame!
13351
13352 2000-02-23  Andy Piper  <andy@xemacs.org>
13353
13354         * glyphs.c: add dynamic width and height elements.
13355         (image_instance_equal): ditto.
13356
13357         * glyphs-widget.c (widget_query_geometry): calculate width and
13358         height dynamically if required.
13359         (initialize_widget_image_instance): initialize dynamic dimensions.
13360         (widget_instantiate): pick-up dynamic dimensions.
13361
13362         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13363         dynamic determination. Add appropriate macros.
13364
13365         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13366         dimensions safe.
13367         (WINDOW_GUTTER_SIZE): ditto.
13368         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13369
13370         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13371         inline.
13372         (get_frame_dc): ditto.
13373
13374         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13375         here.
13376
13377 2000-02-23  Martin Buchholz <martin@xemacs.org>
13378
13379         * XEmacs 21.2.31 is released.
13380
13381 2000-02-22  Ben Wing <ben@xemacs.org>
13382
13383         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
13384
13385 2000-02-22  Andy Piper  <andy@xemacs.org>
13386
13387         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
13388
13389 2000-02-21  Mike Sperber <mike@xemacs.org>
13390
13391         * .dbxrc:
13392         * .gdbinit:
13393         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
13394         variables.
13395
13396 2000-02-21  Mike Sperber <mike@xemacs.org>
13397
13398         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
13399
13400 2000-02-21  Martin Buchholz <martin@xemacs.org>
13401
13402         * XEmacs 21.2.30 is released.
13403
13404 2000-02-20  Martin Buchholz  <martin@xemacs.org>
13405
13406         Performance hacking.
13407         * *.c (syms_of_*):
13408         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
13409         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
13410         * emacs.c (main_1):
13411         * lisp.h (DEFUN):
13412         * console.c (DEFVAR_CONSOLE_LOCAL_1):
13413         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
13414         * symeval.h (DEFVAR_SYMVAL_FWD):
13415         * symbols.c (guts_of_unbound_marker):
13416         Make all c_readonly objects also lisp_readonly and marked for life.
13417         * lrecord.h (struct lrecord_implementation):
13418         Document flags better.
13419         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
13420         * lrecord.h (DECLARE_LRECORD):
13421         * lrecord.h (XSETRECORD):
13422         * lrecord.h (RECORDP):
13423         * lrecord.h (RECORD_TYPEP):
13424         * lrecord.h (RECORD_MARKER): New.
13425         * lrecord.h (error_check_*):
13426         * lrecord.h (CONCHECK_NONRECORD):
13427         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
13428         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
13429         * lrecord.h (set_lheader_implementation):
13430         * lrecord.h (enum lrecord_type): New.
13431         * symeval.h (SYMBOL_VALUE_MAGIC_P):
13432         * alloc.c (disksave_object_finalization_1):
13433         * alloc.c (mark_object):
13434         * alloc.c (lrecord_type_index):
13435         * alloc.c (tick_lcrecord_stats):
13436         * alloc.c (Fgarbage_collect):
13437         * alloc.c (init_alloc_once_early):
13438         * alloc.c (pdump_load):
13439         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
13440         * alloc.c (lrecord_type_index): Delete.
13441         Make lisp object type indexes be constant.
13442           Makes (byte-compile) 5% faster.
13443         Put all marker functions into their own array.
13444           Makes (garbage-collect) 5% faster.
13445         Optimize SYMBOL_VALUE_MAGIC_P.
13446           Makes (byte-compile) 2-3% faster.
13447         * config.h.in (gc_checking_assert): New.
13448         * alloc.c: Use gc_checking_assert().
13449         * .dbxrc: Make compatible with new object type implementation.
13450         * .gdbinit: Make compatible with new object type implementation.
13451         * alloc.c: Delete all symbols defined only for debugging, such as
13452         Lisp_Type_Vector and lrecord_charset.
13453
13454 2000-02-21  Andy Piper  <andy@xemacs.org>
13455
13456         * gui-msw.c (Fmswindows_shell_execute): fix file location
13457         problems.
13458
13459         * buffer.c (Fkill_buffer): remove buffer from alist buffer
13460         unshowing so that set_window_buffer doesn't undo
13461         kill_buffer_hook's hard work.
13462
13463         * glyphs-widget.c (tab_control_query_geometry): don't count the
13464         first item when calculating geometry.
13465
13466         * glyphs.c (map_subwindow): remove redundant code.
13467         (update_frame_subwindows): be more circumspect about when to
13468         update subwindows.
13469
13470         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
13471         when items haven't changed. Update faces if faces have changed as
13472         well as just the widget face.
13473         (x_tab_control_update): Update faces if faces have changed as well
13474         as just the widget face.
13475
13476 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13477
13478         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
13479         registration.
13480         (build_syscolor_string): Use mswindows_color_to_string to try to
13481         get a named color.
13482         (mswindows_device_system_metrics): Reverse the foreground and
13483         background colors so that they match the documentation.
13484
13485         * objects-msw.c: (mswindows_X_color_map): tweak some values so
13486         they match the default Windows palette.
13487         (mswindows_color_to_string): New function.
13488
13489 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13490
13491         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
13492
13493 2000-02-18  Olivier Galibert  <galibert@pobox.com>
13494
13495         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
13496         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
13497
13498         * symbols.c (init_symbols_once_early): Removed obsolete
13499         DATA_SEG_BITS related kludge.
13500         (defvar_magic): Ditto.
13501
13502         * malloc.c: Removed obsolete DATA_SEG_BITS
13503         * ralloc.c: Ditto.
13504         * mem-limits.h: Ditto.
13505
13506         * Makefile.in.in: Removed obsolete HAVE_SHM
13507         * emacs.c: Ditto.
13508
13509 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13510
13511         *  device-msw.c (mswindows_delete_device): Free DDE string
13512         handles.
13513
13514 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13515
13516         * keymap.c (get_keyelt):
13517         * unexnt.c (unexec):
13518         * vm-limit.c (memory_warnings):
13519         * ntheap.c (recreate_heap):
13520         * ntheap.h (UNINIT_PTR):
13521         * select-msw.c (Fmswindows_get_clipboard):
13522         (Fmswindows_set_clipboard):
13523         * objects-msw.h (MSWINDOWS_BAD_HFONT):
13524         * objects-msw.c:
13525         * menubar-msw.c (displayable_menu_item):
13526         * glyphs-msw.c:
13527         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
13528         * sysdep.c (sys_subshell):
13529         * process-nt.c (nt_create_process):
13530         * nt.c (normalize_filename):
13531         (dostounix_filename):
13532         (unixtodos_filename):
13533         * ntproc.c (win32_executable_type):
13534         * ntplay.c (play_sound_data_1):
13535         (play_sound_file):
13536         * editfns.c (get_home_directory):
13537         * event-msw.c (struct winsock_stream):
13538         (mswindows_dde_callback):
13539         * device-msw.c (msprinter_init_device):
13540         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
13541
13542         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
13543         mswindows_clear_toolbar were swapped!
13544
13545         * objects-msw.c:(colormap_t):
13546         (fontmap_t):
13547         * emacs.c (struct standard_args): Fixed const jumble.
13548
13549         * glyphs-widget.c (update_widget): Fixed comparison notation.
13550
13551         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
13552
13553         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
13554         __declspec(noreturn) syntax.
13555
13556 2000-02-19  Martin Buchholz  <martin@xemacs.org>
13557
13558         * eldap.c (Fldap_open):
13559         (Fldap_search_basic):
13560         (Fldap_add):
13561         (Fldap_modify):
13562         Use new coding system conversion macros.
13563
13564 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13565
13566         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
13567
13568 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
13569
13570         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
13571         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13572
13573         * eldap.c (Qadd, Qreplace): New constant symbols
13574         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
13575         interruptions by XEmacs signals
13576         Remove unnecessary calls to slow_down_interrupts and
13577         speed_up_interrupts
13578         (Fldap_search_basic): Renamed from Fldap_search_internal
13579         Added new optional parameter VERBOSE that triggers the
13580         display of progress messages
13581         Remove unnecessary calls to slow_down_interrupts and
13582         speed_up_interrupts
13583         LDAP result code analysis rewritten
13584         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13585         (syms_of_eldap): Define the new symbols and functions
13586
13587
13588 2000-02-17  Martin Buchholz  <martin@xemacs.org>
13589
13590         * realpath.c: Determine PATH_MAX maximally portably.
13591
13592         * insdel.c (bytecount_to_charcount): Optimize.
13593         The function used to be optimized for entirely ASCII sequences.
13594         Now it is optimized for successive characters from the same
13595         charset.  This also wins big for _mostly_ ASCII sequences.
13596
13597         * fileio.c (Ffile_truename): convert return from realpath() using
13598         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
13599         - Rewrite GCPROing slightly.
13600
13601         * sysdep.c (sys_open): Do filename conversion, like all other
13602         sys_* functions.  Fixes bug:
13603         (let ((file-name-coding-system 'iso-8859-2))
13604            (write-region x y latin2-name))
13605         ==> writes filename using internal encoding.
13606
13607 2000-02-18  Martin Buchholz  <martin@xemacs.org>
13608
13609         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
13610         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
13611         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
13612         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
13613         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
13614         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
13615         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
13616         (CONST_IF_NOT_DEBUG): Delete.
13617         * alloc.c (this_one_is_unmarkable): Delete.
13618         (mark_object): Don't check for this_one_is_unmarkable. Use the
13619         c_readonly flag instead.
13620         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
13621
13622 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13623
13624         * event-msw.c (mswindows_drain_windows_queue):
13625         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
13626         away redundant repaint events.
13627
13628 2000-02-17  Andy Piper  <andy@xemacs.org>
13629
13630         * redisplay.h: declare mark_redisplay_structs.
13631
13632         * redisplay.c (redisplay_window):
13633         (redisplay_frame): don't check subwindows_state_changed.
13634         (mark_redisplay): mark gutters here.
13635
13636         * glyphs.c: (instantiate_image_instantiator): always layout if we
13637         haven't done so already.
13638         (allocate_image_instance): don't mark as dirty.
13639         (update_subwindow): bind inhibit_quit.
13640
13641         * gutter.c (mark_gutters): new function.
13642
13643         * glyphs-x.c (x_update_widget): Always resize to get round a
13644         widget bug.
13645
13646         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
13647         breaking absolutely everything.
13648
13649         * gutter.h: declare mark_gutters.
13650
13651 2000-02-16  Martin Buchholz <martin@xemacs.org>
13652
13653         * XEmacs 21.2.29 is released.
13654
13655 2000-02-15  Olivier Galibert  <galibert@pobox.com>
13656
13657         * fns.c (size_bit_vector): Fix computation of the size.
13658
13659 2000-02-15  Martin Buchholz  <martin@xemacs.org>
13660
13661         * *.[ch]: Change CONST to const globally.
13662         find -name '*.[ch]' | \
13663         xargs global-replace \
13664         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
13665         - Remove vestigial references to CONST_IS_LOSING
13666
13667 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13668
13669         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
13670         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
13671         events instead of dispatching them directly.
13672         (mswindows_handle_paint): New function to do repainting.
13673         (mswindows_wnd_proc):
13674         (emacs_mswindows_handle_magic_event): Call above function.
13675
13676 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13677
13678         * objects-msw.c (mswindows_create_font_variant): Return the new
13679         font handle.
13680         (initialize_font_instance): Get font metrics from the underlined
13681         variant of the font to cope with the case where the underlined
13682         font has a bigger descent.
13683
13684 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
13685
13686         * gui.c (gui_item_accelerator): Return the first underlined
13687         character in item name.
13688
13689 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13690
13691         * lisp.h: Added Qprinter.
13692
13693         * general.c (syms_of_general): Initialized it.
13694
13695         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
13696         (get_frame_dc):
13697         (get_frame_compdc): Made inline.
13698
13699         * console.h (struct console_methods): Added eject_page method.
13700
13701         * frame.h: Added FRAME_DISPLAY_P and friends.
13702         Aligned backslahes in many macros in more readable fashion.
13703         Added page_number to struct frame, and an accessor macro
13704         for it.
13705
13706         * defice.h: Added DEVICE_DISPLAY_P and friends.
13707
13708         * device.c (Fdevice_printer_p): Used these.
13709
13710         * frame.c (allocate_frame_core): Initialize page number.
13711         (Fprint_job_page_number):
13712         (Fprint_job_eject_page): Implemented.
13713
13714         * frame-msw.c (msprinter_eject_page): Added method.
13715         (msprinter_start_page): Added.
13716
13717         * window.c (Fwindow_truncated_p): Fixed docstring.
13718         (Fwindow_last_line_visible_height): Implemented.
13719
13720 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13721
13722         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
13723
13724 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13725
13726         * syntax.c (scan_words): Always advance at least one character.
13727
13728 2000-02-13  Andy Piper  <andy@xemacs.org>
13729
13730         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
13731         to make sure the glyph is in the cachels.
13732
13733         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
13734         global image instance flag.
13735         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
13736         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
13737
13738         * glyphs.c (allocate_image_instance): set dirty bits correctly.
13739         (Fset_image_instance_property): mark layout as changed.
13740         (invalidate_glyph_geometry_maybe): mark layout as changed.
13741         (glyph_width): use new NEEDS_LAYOUT macro.
13742         (glyph_ascent): ditto.
13743         (glyph_descent): ditto.
13744         (glyph_height): ditto.
13745         (image_instance_layout): mark layout as clean after laying out.
13746         (update_subwindow): don't mark layout as clean here.
13747
13748         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
13749         should no longer be needed.
13750
13751         * glyphs-x.c (x_update_widget): sanitize asserts.
13752         (x_finalize_image_instance): sanitize assignment to widgets.
13753
13754         * glyphs-widget.c (widget_instantiate): don't need to clear the
13755         layout flag here.
13756
13757 2000-02-13  Martin Buchholz  <martin@xemacs.org>
13758
13759         * sysdep.c (getcwd): Use standard prototype.
13760         * sysdep.h (getcwd): Use standard prototype.
13761
13762         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
13763         (sequence, start, end).
13764         Remove redundant type checking.
13765         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
13766         view of `caller-protects') to avoid a crash where the real fix was
13767         found elsewhere.
13768
13769 2000-02-12  Martin Buchholz  <martin@xemacs.org>
13770
13771         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
13772
13773         * s/sol2.h: Remove feature macro initialization.
13774
13775         * alloc.c (alloc_lcrecord): Add more type checking assertions.
13776         (vector_hash): New.  Code from internal_hash.
13777         * lrecord.h:
13778         Fix up allocation subsystem comments.
13779
13780         * config.h.in: Add __EXTENSIONS__ for Solaris.
13781
13782         * systime.h (EMACS_GETTIMEOFDAY): New.
13783         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
13784         Remove Solaris-specific code.
13785         Use void* for the (ignored) second arg for gettimeofday().
13786
13787         * elhash.c (hash_table_hash): Implement it, finally.
13788         * elhash.c:  Use hashcode_t.
13789
13790         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
13791         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
13792
13793         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
13794         * fns.c (size_bit_vector):
13795         * alloc.c (size_vector):
13796         (make_vector_internal):
13797         (make_bit_vector_internal):
13798         (sweep_bit_vectors_1):
13799         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
13800
13801 2000-02-10  Martin Buchholz  <martin@xemacs.org>
13802
13803         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
13804         Include strings.h to avoid warnings for bzero and strcasecmp.
13805
13806 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13807
13808         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
13809         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
13810
13811         * fns.c (size_bit_vector): New.  Declare bit vectors as a
13812         sequence.
13813
13814 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13815
13816         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
13817         use a value field instead.
13818         (symbol_value_forward_forward): Use value field.
13819         (DEFVAR_SYMVAL_FWD): Use value field.
13820         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
13821         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
13822         (DEFVAR_CONST_INT): Ditto.
13823         (DEFVAR_BOOL): Ditto.
13824         (DEFVAR_CONST_BOOL): Ditto.
13825         (DEFVAR_INT_MAGIC): Ditto.
13826         (DEFVAR_BOOL_MAGIC): Ditto.
13827
13828         * symbols.c (guts_of_unbound_marker): Use value field.
13829         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
13830         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
13831
13832         * lisp.h: Declare dumpopaque and noninteractive1.
13833
13834         * alloc.c (dumpopaque): Added.
13835         (pdump_dump_opaquevec): Added.
13836         (pdump): Call pdump_dump_opaquevec to dump opaque data.
13837         (pdump_load): Reload opaque data.  Sync noninteractive1 with
13838         noninteractive.
13839
13840 2000-02-10  Andy Piper  <andy@xemacs.org>
13841
13842         * glyphs.c (image_instance_layout): if the size changes, mark it
13843         as such.
13844
13845         * redisplay-output.c (redisplay_output_layout): Update the
13846         subwindow here.
13847         (redisplay_output_subwindow): ditto.
13848
13849         * glyphs.c (update_subwindow): make sure we reset flags for
13850         layouts as well as everything else.
13851
13852         * glyphs-widget.c (layout_layout): don't need to set the instances
13853         dimensions here.
13854
13855 2000-02-09  Martin Buchholz  <martin@xemacs.org>
13856
13857         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
13858         not HAVE_DLOPEN, which is a lower-level thing.
13859
13860         * .cvsignore: Ignore gmon.out
13861
13862 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
13863
13864         * .cvsignore: Ignore portable dumper xemacs.dmp file
13865
13866 2000-02-09  Andy Piper  <andy@xemacs.org>
13867
13868         * redisplay-output.c (redisplay_output_layout): be more clever
13869         about when we output based on the changed flags.
13870
13871         * glyphs.h (struct image_instantiator_methods): add update_method.
13872         (struct Lisp_Image_Instance): add changed flags. Declare new
13873         macros for manipulating them.
13874
13875         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
13876         (image_instance_parent_glyph): find an image_instance's parent
13877         glyph or image_instance.
13878         (image_instance_layout): mark the size as changed.
13879         (set_image_instance_dirty_p): new function. mark an image
13880         instance, plus all of its parents, as dirty.
13881         (Fset_image_instance_property): use it.
13882         (Fglyph_animated_timeout_handler): use it.
13883         (update_subwindow): call update_widget and device methods for
13884         update_subwindow. Mark all changed flags as clean.
13885         (Fresize_subwindow): mark size as changed.
13886
13887         * glyphs-x.c (x_finalize_image_instance): try and detect gc
13888         failures.
13889         (x_update_subwindow): only resize subwindows here.
13890         (x_update_widget): new function. Update all changed properties of
13891         a widget.
13892         (x_resize_subwindow): deleted.
13893         (x_widget_set_property): deleted.
13894         (x_progress_gauge_set_property): deleted.
13895         (x_progress_gauge_update): new function. Implement recorded
13896         changes.
13897         (x_tab_control_update): ditto.
13898         (x_tab_control_set_property): deleted.
13899         (console_type_create_glyphs_x): declare new functions.
13900         (image_instantiator_format_create_glyphs_x): ditto.
13901
13902         * glyphs-widget.c (widget_set_property): mark text changed.
13903         (update_widget): new function. Update properties of a widget.
13904         (widget_instantiate): for layouts make sure we set their
13905         children's parent correctly.
13906         (tab_control_set_property): new function. Record changes that will
13907         take place under redisplay's control.
13908         (progress_gauge_set_property): ditto.
13909         (image_instantiator_progress_guage): declare new functions.
13910         (image_instantiator_tab_control): ditto.
13911
13912         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
13913         now.
13914         (mswindows_update_widget): new function. Update all properties on
13915         a widget that have changed.
13916         (mswindows_button_update): new function. Update a button's set
13917         state.
13918         (mswindows_tab_control_update): new function. Update the items in
13919         a tab.
13920         (mswindows_tab_control_set_property): deleted.
13921         (mswindows_progress_gauge_update): new function. Update the
13922         progress gauge's progress.
13923         (mswindows_widget_set_property): deleted. This is all done
13924         asynchronously now.
13925         (mswindows_progress_gauge_set_property): ditto.
13926         (console_type_create_glyphs_mswindows): declare new methods.
13927         (image_instantiator_format_create_glyphs_mswindows): ditto.
13928
13929         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
13930         (msprinter_set_frame_properties): ditto.
13931
13932         * console.h (struct console_methods): Add update_widget_method.
13933
13934 2000-02-09  Andy Piper  <andy@xemacs.org>
13935
13936         * gui-msw.c (Fmswindows_shell_execute): Make
13937         mswindows-shell-execute industrial strength.
13938
13939 2000-02-08  Martin Buchholz  <martin@xemacs.org>
13940
13941         * lrecord.h: Make macro argument `props' match member function `plist'.
13942         * fns.c (Fget):
13943         * fns.c (Fput):
13944         * fns.c (Fremprop):
13945         * fns.c (Fobject_plist):
13946         * alloc.c:
13947         * symbols.c:
13948         Object property list frobbing cleanup.
13949         - Allow any lisp object (compared with `eq'), not just symbols, as
13950           keys in object plists.
13951         - Move symbol plist frobbing into symbols.c, where it belongs.
13952         - Move string plist frobbing into alloc.c, where it belongs.
13953         - Everything's an lrecord now, so no need to test for symbolp, etc.
13954         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
13955
13956         * extents.c: Reorder code to remove declarations.
13957
13958         * frame.h (store_in_alist): Remove useless declaration.
13959
13960 2000-02-07  Martin Buchholz  <martin@xemacs.org>
13961
13962         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
13963         * config.h.in: Add HAVE_XCONVERTCASE.
13964
13965 2000-02-07  Andy Piper  <andy@xemacs.org>
13966
13967         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
13968         it breaks many things.
13969
13970 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13971
13972         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
13973         actually can start a common comment type.
13974         * src/syntax.h (SYNTAX_END_P): ditto for end.
13975
13976 2000-02-07  Martin Buchholz <martin@xemacs.org>
13977
13978         * XEmacs 21.2.28 is released.
13979
13980 2000-02-06  Martin Buchholz  <martin@xemacs.org>
13981
13982         * event-Xt.c (x_keysym_to_character): New.
13983         (maybe_define_x_key_as_self_inserting_character): New.
13984         (x_has_keysym): New.
13985         Auto-define all keys on the keyboard as self-insert-key.
13986
13987 2000-02-02  Martin Buchholz  <martin@xemacs.org>
13988
13989         * menubar.c (vars_of_menubar): A small code simplification.
13990
13991         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
13992
13993         * ExternalShell.c:
13994         * ExternalClient.c:
13995         * EmacsShell-sub.c:
13996         * EmacsManager.c:
13997         * EmacsFrame.c:
13998         Use consistent style for specifying X resources.
13999
14000         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14001         This makes (dontusethis-set-symbol-value-handler) actually usable.
14002
14003         * lrecord.h (lrecord_decription_type):
14004         * alloc.c (pdump_register_sub):
14005         (pdump_dump_data):
14006         (pdump_reloc_one):
14007         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14008         Comply with XEmacs coding style.
14009         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14010         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14011
14012         * keymap.c (Faccessible_keymaps):
14013         Make (accessible-keymaps map "\C-h") do the Right Thing.
14014         Make (accessible-keymaps map []) do the Right Thing.
14015         Make (accessible-keymaps map "") do the Right Thing.
14016         (check_keymap_definition_loop): New function.
14017         (keymap_store_internal): Keep luser from shooting self in foot,
14018           via (define-key ctl-x-4-map "p" global-map).
14019         Remove fullness slot from struct Lisp_Keymap, since hash tables
14020         are now reliable.
14021         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14022
14023 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14024
14025         * redisplay.c (init_redisplay): Fix small memory leak.
14026         * elhash.h:
14027         * elhash.c (pdump_reorganize_hash_table):
14028         Rename from reorganize_hash_table. Change prototype.
14029         Reuse the original memory for hentries.  Save 100k.
14030         * alloc.c (PDUMP_READ): new macro.
14031         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14032         * alloc.c: No need to #ifndef before #undef.
14033
14034         * print.c: Allow debug_print() to print readably by modifying
14035         debug_print_readably.  Use consistent variable names.
14036
14037         * .dbxrc: Try to get things to work even if stopped in a function
14038         without source available by explicitly specifying source files.
14039 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14040
14041         * unexnt.c (_start): Removed bogus code which caused loading heap
14042         from differrent executable file.
14043         Removed bogus assignment to _fmode, which caused inconsistencies.
14044
14045 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14046
14047         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14048         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14049         Do not preliminary `#define signal sigset'.
14050
14051         * systime.h: Do not prototype environ on windows nt and cygwin,
14052         this conflicts with system header.
14053
14054         * syssignal.h: Use correct define for WINDOWSNT
14055
14056         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14057         with system header.
14058
14059         * sysdep.c (near start of file): Fixed commentary and rearranged
14060         ifdefs in readable order.
14061         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14062         (start_of_text):
14063         (end_of_text):
14064         (end_of_data): Do not compile in if using PDUMP.
14065
14066         * symsinit.h: Prototyped vars_of_nt().
14067
14068         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14069         (find_child_console): Use it.
14070         (sys_kill): Use it.
14071
14072         * ntheap.h: Do not extern os_subtype.
14073
14074         * ntheap.c (cache_system_info): Do not cache unneeded:
14075         nt_major_version, nt_minor_version and os_subtype.
14076         (recreate_heap): Do not compile in when PDUMPing.
14077
14078         * nt.c (geteuid and friends): Use the new varibale
14079         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14080         (init_user_info): Removed the above mentioned hackery.
14081         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14082         stat has been fixed in the C runtime.
14083         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14084
14085         * file-coding.c (struct file_coding_dump): Do not define
14086         ucs_to_mule_table in the struct if not MULE.
14087         (struct struct lrecord_description fcd_description_1): Do not dump
14088         the above.
14089
14090         * emacs.c (main_1): Call vars_of_nt().
14091         (right before Fdump_emacs_data): Don't need lastfile if using both
14092         portabe dumper and system malloc.
14093
14094         * alloc.c (Fmemory_limit): Conditionalized out.
14095         (pdump): Use OPEN_BINARY for the portable dump file.
14096         (pdump_load): Ditto.
14097
14098 2000-02-02  Mike Alexander  <mta@arbortext.com>
14099
14100         * nt.c (convert_time): Set tm_isdst before calling mktime and
14101         avoid calling it at all if the compiler supports 64 bit integers.
14102         Also initialize utc_base_ft before using it.
14103
14104 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14105
14106         * frame.c (change_frame_size_1): Take f->internal_border_width
14107         into consideration when calculating the width of the frame.
14108
14109 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14110
14111         * window.c (frame_min_height):
14112         (frame_size_valid_p):
14113         (frame_pixsize_valid_p): Added.
14114         (check_frame_size): Generalized.
14115
14116         * window.h: Prototyped the above.
14117
14118         * lisp.h:
14119         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14120         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14121         Deleted Vwin32_* and Vbinary_process_* unused variables.
14122
14123         * device-msw.c (msprinter_init_device): Do not get printer font
14124         list; Added DEVMODE functions.
14125
14126         * frame-msw.c: Added lots of printer code.
14127
14128         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14129         general.c.
14130
14131         * console-msw.h: Added more msprinter device private slots.
14132
14133 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14134
14135         * event-msw.c (key_needs_default_processing_p): Added.
14136         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14137
14138 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14139
14140         * glyphs.c (image_instance_layout): Mark image instance as clean
14141         after layout.
14142         (glyph_dirty_p): Removed redundant function.
14143         (invalidate_glyph_geometry_maybe): Added.
14144         (update_glyph_cachel_data): Call it.
14145
14146         * glyphs.h: Prototyped it.
14147
14148         * redisplay.c (add_glyph_rune): Call it.
14149         (redisplay_window): Reset glyphs cachels when frame faces have
14150         changed, thus forcing recomputation of built-in border glyphs.
14151
14152 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14153
14154         * Makefile.in.in: Make portable dumper and purify play well together.
14155         Add imperfect, but better than nothing, support for pdump.
14156         Remove xemacs.dmp when temacs is re-generated.
14157         Don't ignore errors when dumping xemacs.
14158
14159         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14160
14161 2000-01-28  Andy Piper  <andy@xemacs.org>
14162
14163         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14164         (setup_normal_frame): ditto.
14165         (setup_frame_without_minibuffer): ditto.
14166         (setup_minibuffer_frame): ditto.
14167         (delete_frame_internal): ditto.
14168         (Fmake_frame_invisible): ditto.
14169         (Ficonify_frame): ditto.
14170
14171         * window.h: change Fset_window_buffer signature.
14172
14173         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14174         (Fset_window_buffer): allow recording of buffer if the window is
14175         the selected window.
14176         (window_loop): Use new Fset_window signature.
14177
14178 2000-01-23  Daniel Pittman  <daniel@danann.net>
14179
14180         * config.h.in: Added template for `HAVE_ATHENA_3D'
14181
14182 2000-01-29  Andy Piper  <andy@xemacs.org>
14183
14184         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14185
14186         * gutter.c (output_gutter): Don't output if the window isn't live.
14187
14188 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14189
14190         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14191         of 01/12/00: Moved SetFocus back here where it belongs.
14192
14193 2000-01-23  Andy Piper  <andy@xemacs.org>
14194
14195         * s/cygwin32.h: declare printer things.
14196
14197 2000-01-26  Andy Piper  <andy@xemacs.org>
14198
14199         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14200         Alexander.
14201
14202 2000-01-24  Andy Piper  <andy@xemacs.org>
14203
14204         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14205         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14206
14207         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14208
14209         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14210
14211         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14212
14213         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14214         (mswindows_output_display_block): Avoid local shadows.
14215
14216         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14217         (mswindows_enqueue_mouse_button_event): ditto.
14218         (mswindows_handle_gui_wm_command): remove declaration.
14219
14220         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14221         warnings.
14222
14223         * console-msw.h: Avoid shadows.
14224         (mswindows_get_toolbar_button_text):
14225         (emacs_mswindows_create_stream_pair):
14226         (emacs_mswindows_delete_stream_pair):
14227         (mswindows_handle_toolbar_wm_command): declare.
14228
14229         * device-msw.c (build_syscolor_string): Avoid shadows.
14230
14231 2000-01-23  Andy Piper  <andy@xemacs.org>
14232
14233         * glyphs-widget.c (widget_instantiate): reverse the items for
14234         layouts so that children are in the expected order.
14235
14236 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14237
14238         * ralloc.c: safe_bcopy ==> memmove
14239         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14240         * s/msdos.h: Remove BCOPY macros.
14241         * insdel.c (gap_right): Remove BCOPY conditional code.
14242         * insdel.c (gap_left): Remove BCOPY conditional code.
14243         XEmacs demands a working ANSI C compiler - hence memmove.
14244
14245         * regex.c (regex_compile): Remove accidental use of trigraphs.
14246
14247 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14248
14249         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14250         event timestamp.
14251
14252 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14253
14254         * event-msw.c (mswindows_drain_windows_queue): Added the
14255         parameter.
14256         (mswindows_need_event): Commented the call to
14257         mswindows_drain_windows_queue().
14258         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14259         only.
14260
14261         * console-msw.h: Moved a few function prototypes here from
14262         event-msw.c.
14263
14264         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14265         parameter from unsigned short to unsigned long.
14266         (Fmswindows_shell_execute): Added return value.
14267
14268 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14269
14270         * sysdep.c (init_system_name):
14271           process-unix.c (unix_canonicalized_host_name):
14272         Don't call freeaddrinfo() if getaddrinfo() fails.
14273
14274         * process-unix.c (unix_open_unix_network_stream):
14275         Moved the code to get a port # into address loop.
14276
14277 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14278
14279         * buffer.c (reinit_vars_of_buffer):
14280         The right place to initialize conversion_in_dynarr and
14281         conversion_out_dynarr.
14282
14283         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14284
14285         * process-unix.c (unix_canonicalize_host_name): Muleize.
14286         (unix_open_network_stream): Muleize.
14287
14288         * buffer.h: Fix up prototypes for ralloc.c functions.
14289
14290 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14291         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14292         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14293                 instead of gethostbyname()
14294         * process-unix.c: In unix_canonicalize_host_name() and
14295                 unix_open_network_stream(), add code to use getaddrinfo()
14296                 instead of gethostbyname().
14297
14298 2000-01-27  Daniel Pittman <daniel@danann.net>
14299
14300         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14301         libs when built with flat Athena.
14302
14303 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14304
14305         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14306         Use coding standards for function prototypes.
14307
14308 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14309
14310         * dialog-msw.c (push_lisp_string_as_unicode):
14311         * doc.c (unparesseuxify_doc_string):
14312         * dired.c (Fuser_name_completion_1):
14313         * dired.c (Fuser_name_all_completions):
14314         * dired.c (free_user_cache):
14315         * dired.c (user_name_completion):
14316         * console-x.c (get_display_arg_connection):
14317         * minibuf.c (clear_echo_area_internal):
14318         * minibuf.c (echo_area_append):
14319         * eldap.c (Fldap_open):
14320         * eldap.c (Fldap_search_internal):
14321         * frame-x.c (x_set_frame_text_value):
14322         * frame-x.c (x_set_frame_properties):
14323         * frame-x.c (x_create_widgets):
14324         * redisplay-tty.c (term_get_fkeys_1):
14325         * objects-x.c (x_parse_nearest_color):
14326         * objects-x.c (x_valid_color_name_p):
14327         * objects-x.c (x_initialize_font_instance):
14328         * objects-x.c (x_list_fonts):
14329         * objects-x.c (x_find_charset_font):
14330         * tooltalk.c (Fadd_tooltalk_message_arg):
14331         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14332         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14333         * process-unix.c (unix_create_process):
14334         * ntproc.c (sys_spawnve):
14335         * sound.c (Fplay_sound_file):
14336         * sound.c (Fplay_sound):
14337         * buffer.c (init_initial_directory):
14338         * buffer.c (init_buffer):
14339         * editfns.c (init_editfns):
14340         * editfns.c (Ftemp_directory):
14341         * editfns.c (Fuser_full_name):
14342         * editfns.c (uncache_home_directory):
14343         * editfns.c (get_home_directory):
14344         * editfns.c (Fuser_home_directory):
14345         * editfns.c (Fformat_time_string):
14346         * editfns.c (Fcurrent_time_string):
14347         * gui-x.c (button_item_to_widget_value):
14348         * database.c (Fopen_database):
14349         * event-Xt.c (x_to_emacs_keysym):
14350         * event-Xt.c (x_event_to_emacs_event):
14351         * event-Xt.c (describe_event_window):
14352         * event-msw.c (mswindows_wnd_proc):
14353         * glyphs-eimage.c (jpeg_instantiate):
14354         * glyphs-eimage.c (gif_instantiate):
14355         * glyphs-eimage.c (png_instantiate):
14356         * glyphs-eimage.c (tiff_instantiate):
14357         * glyphs-x.c (xbm_instantiate_1):
14358         * glyphs-x.c (x_xbm_instantiate):
14359         * glyphs-x.c (x_xface_instantiate):
14360         * glyphs-x.c (autodetect_instantiate):
14361         * glyphs-x.c (cursor_font_instantiate):
14362         * glyphs-x.c (x_widget_instantiate):
14363         * glyphs-x.c (x_widget_set_property):
14364         * glyphs-x.c (x_widget_property):
14365         * glyphs-x.c (BUILD_GLYPH_INST):
14366         * print.c (write_string_to_stdio_stream):
14367         * print.c (output_string):
14368         * print.c (Falternate_debugging_output):
14369         * print.c (Fexternal_debugging_output):
14370         * glyphs-msw.c (extract_xpm_color_names):
14371         * glyphs-msw.c (mswindows_xpm_instantiate):
14372         * glyphs-msw.c (bmp_instantiate):
14373         * glyphs-msw.c (resource_name_to_resource):
14374         * glyphs-msw.c (mswindows_resource_instantiate):
14375         * glyphs-msw.c (xbm_instantiate_1):
14376         * glyphs-msw.c (mswindows_xbm_instantiate):
14377         * glyphs-msw.c (mswindows_xface_instantiate):
14378         * glyphs-msw.c (mswindows_widget_instantiate):
14379         * glyphs-msw.c (add_tree_item):
14380         * glyphs-msw.c (add_tab_item):
14381         * glyphs-msw.c (mswindows_combo_box_instantiate):
14382         * glyphs-msw.c (mswindows_widget_property):
14383         * glyphs-msw.c (mswindows_combo_box_property):
14384         * glyphs-msw.c (mswindows_widget_set_property):
14385         * console.c (stuff_buffered_input):
14386         * objects-msw.c (mswindows_initialize_color_instance):
14387         * objects-msw.c (mswindows_valid_color_name_p):
14388         * objects-msw.c (mswindows_list_fonts):
14389         * objects-msw.c (mswindows_font_instance_truename):
14390         * bytecode.c (optimize_compiled_function):
14391         * select-x.c (symbol_to_x_atom):
14392         * select-x.c (x_atom_to_symbol):
14393         * select-x.c (hack_motif_clipboard_selection):
14394         * select-x.c (selection_data_to_lisp_data):
14395         * select-x.c (lisp_data_to_selection_data):
14396         * select-x.c (Fx_get_cutbuffer_internal):
14397         * select-x.c (Fx_store_cutbuffer_internal):
14398         * buffer.h (TO_EXTERNAL_FORMAT): New function.
14399         * buffer.h (TO_INTERNAL_FORMAT): New function.
14400         * emacs.c (make_arg_list_1):
14401         * emacs.c (make_argc_argv):
14402         * emacs.c (main_1):
14403         * emacs.c (Fdump_emacs):
14404         * emacs.c (split_string_by_emchar_1):
14405         * file-coding.h:
14406         * lisp.h:
14407         * lstream.h:
14408         * symsinit.h:
14409         * device-x.c (x_init_device):
14410         * device-x.c (Fx_valid_keysym_name_p):
14411         * device-x.c (Fx_get_font_path):
14412         * device-x.c (Fx_set_font_path):
14413         * glyphs.c (bitmap_to_lisp_data):
14414         * glyphs.c (pixmap_to_lisp_data):
14415         * alloc.c (make_ext_string): Use coding system arguments.  Update
14416         all callers.
14417         * alloc.c (build_string):
14418         * callproc.c (child_setup):
14419         * callproc.c (init_callproc):
14420         * fileio.c (lisp_strerror):
14421         * fileio.c (directory_file_name):
14422         * fileio.c (Fexpand_file_name):
14423         * fileio.c (Ffile_truename):
14424         * fileio.c (Fsysnetunam):
14425         * fileio.c (Fdo_auto_save):
14426         * sysdep.c (sys_readdir):
14427         * tests.c: New file.  Allow adding C tests.
14428         Replace GET_* macros with a more comprehensible and flexible
14429         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
14430         Modify all calls.
14431         Any coding system can be used to do format conversion.
14432         Eliminate enum external_data_format.
14433         Eliminate convert_to_external_format.
14434         Eliminate convert_to_internal_format.
14435         Make sure file-name, keyboard, terminal, and ctext are always
14436         defined as coding systems or aliases.  Make
14437         file-name-coding-system, terminal-coding-system, and
14438         keyboard-coding-system magical variables that are equivalent to
14439         defining the corresponding coding system aliases.
14440
14441         * file-coding.c (Fcoding_system_canonical_name_p): New function.
14442         * file-coding.c (Fcoding_system_alias_p): New function.
14443         * file-coding.c (Fcoding_system_aliasee): New function.
14444         * file-coding.c (append_suffix_to_symbol): New function.
14445         * file-coding.c (dangling_coding_system_alias_p): New function.
14446         * file-coding.c (Ffind_coding_system):
14447         * file-coding.c (Fcopy_coding_system):
14448         * file-coding.c (encode_coding_no_conversion):
14449         * file-coding.c (syms_of_file_coding):
14450         * file-coding.c (vars_of_file_coding):
14451         Rewrite coding system alias code.
14452         Allow nested aliases, like symbolic links.
14453         Allow redefinition of coding system aliases.
14454         Prevent existence of dangling coding system aliases.
14455
14456         * dired.c (Fuser_name_completion_1):
14457         * dired.c (Fuser_name_all_completions):
14458         A crash would happen if user did QUIT in the middle of building
14459         user_name_cache.  Remove redundant code in mainline and unwind_protect.
14460
14461         * lisp.h:
14462         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
14463
14464         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
14465         an unsigned char *.  Update all callers.
14466
14467 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14468
14469         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
14470
14471 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14472
14473         * elhash.c (hentry_description): Use more portable definition.
14474         (resize_hash_table): Initialize new hentries using
14475         xnew_array_and_zero, thereby simplifying the code.
14476
14477         * mule-charset.c (make_charset): Make sure entire object is
14478         initialized, to avoid Purify warnings.
14479
14480         * alloc.c (resize_string): Fix unlikely crash with big strings.
14481
14482 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14483
14484         * realpath.c (xrealpath):
14485         Don't call getwd().
14486
14487 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14488
14489         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
14490
14491 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
14492
14493         * unexelfsgi.c (unexec): Change the way we decide which segment
14494         should be extended.
14495
14496         Assumption that .bss section should be outside the PT_LOADable
14497         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
14498         it's present) is inside the 'data' segment. This would fail the
14499         test which was used to find a segment to grow and cover new
14500         heap. Instead of this assumption, I created another one - on IRIX
14501         the segment to grow should start below .bss and it's address
14502         should extent above the end of .bss. Once this segment is
14503         identified, it's grown to accommodate the new heap and new
14504         zero-length .bss section is added at the end of .data2.
14505
14506 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14507
14508         * eval.c (Feval): Wrong number of arguments should use original
14509         function, not the indirect_function version of it.
14510
14511 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
14512
14513         * glyphs-x.c (x_button_instantiate): Don't add image if
14514         it is not a pixmap.
14515         (x_locate_pixmap_file): Call Fexpand_file_name when file name
14516         is relative.
14517
14518 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
14519
14520         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
14521         declaration.
14522         (DEFVAR_INT_MAGIC): Ditto.
14523         (DEFVAR_BOOL_MAGIC): Ditto.
14524         * glyphs.h: Reindent backslash.
14525
14526 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14527
14528         * glyphs-widget.c (layout_query_geometry):
14529         (layout_layout): Use correct types for gheight, gwidth.
14530
14531 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14532
14533         * EmacsManager.c (QueryGeometry): Purified.
14534
14535 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14536
14537         * alloc.c (make_float): Make sure entire object is initialized, to
14538         avoid Purify warnings.
14539         (pdump_register_sub): Remove useless assignment.
14540         (pdump): Use xmalloc, not malloc.
14541         (pdump_load): Use xmalloc, not malloc.
14542
14543 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14544
14545         * callproc.c:
14546         * dired-msw.c:
14547         * fileio.c:
14548         * process-nt.c:
14549         * redisplay-msw.c:
14550         * sysdep.c: Removed redundant #include <windows.h>
14551
14552 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14553
14554         * frame.c (delete_frame_internal): Do not delete device when its
14555         implementation so declares.
14556         (delete_frame_internal): Set device selected frame to nil when
14557         last frame goes away.
14558
14559         * device-msw.c (msprinter_device_system_metrics): Implemented.
14560         (mswindows_device_system_metrics): Added 'device-dpi property.
14561
14562         * device.c: (Fdevice_printer_p): Added.
14563         Added 'offset-workspace device metric.
14564
14565         * console.h (device_metrics): Declared DM_offset_workspace.
14566
14567 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14568
14569         * fileio.c (Ffile_truename): Remove pointless and confusing
14570         initialization of elen.
14571
14572         * glyphs-widget.c: Compiler warning fixes.
14573
14574 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
14575
14576         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
14577         instead of a Lisp_Object as argument to make it consistent with
14578         the other LIVE_P macros.
14579         (CHECK_LIVE_PROCESS): New macro.
14580
14581         * process.c: Declare Qprocess_live_p.
14582         (Fprocess_live_p): New function.
14583         (create_process): Use PROCESS_LIVE_P.
14584         (read_process_output): Ditto.
14585         (set_process_filter): Ditto.
14586         (Fdelete_process): Ditto.
14587         (kill_buffer_processes): Ditto
14588         (process_send_signal): Use CHECK_LIVE_PROCESS.
14589         (Fprocess_input_coding_system): Check whether process is still
14590         alive (fix PR#1061).
14591         (Fprocess_output_coding_system): Ditto.
14592         (Fprocess_coding_system): Ditto.
14593         (Fset_process_input_coding_system): Ditto.
14594         (Fset_process_output_coding_system): Ditto.
14595
14596 2000-01-23  Andy Piper  <andy@xemacs.org>
14597
14598         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
14599         layout and widget.
14600
14601         * glyphs.c (mark_image_instance): take into account changed
14602         image_instance format.
14603         (image_instance_equal): ditto.
14604         (image_instance_hash): ditto.
14605
14606         * glyphs-widget.c (widget_instantiate): Incorporate layout
14607         instantiation here. Delay layout of the layout until later.
14608         (layout_instantiate): deleted.
14609         (layout_query_geometry): new function. get the geometry of a
14610         layout.
14611         (layout_layout): layout a layout dynamically.
14612         (image_instantiator_widget): New function - splitting up
14613         image_instantiator_format_create_glyphs_widget for netwinder
14614         compilation.
14615         (image_instantiator_buttons):
14616         (image_instantiator_edit_fields):
14617         (image_instantiator_combo_box):
14618         (image_instantiator_scrollbar):
14619         (image_instantiator_progress_guage):
14620         (image_instantiator_tree_view):
14621         (image_instantiator_tab_control):
14622         (image_instantiator_labels):
14623         (image_instantiator_layout): ditto.
14624         (image_instantiator_format_create_glyphs_widget): Call preceding
14625         functions.
14626
14627 2000-01-22  Martin Buchholz  <martin@xemacs.org>
14628
14629         * process.c (Fset_process_coding_system):
14630         * device-x.c (Fx_keysym_hash_table):
14631         Docstring fixes.
14632
14633         * lstream.c (Lstream_write): Return documented value, not 0.
14634
14635         * fileio.c (directory_file_name):
14636         (Fsubstitute_in_file_name):
14637         (Fsubstitute_insert_file_contents_internal):
14638         (Fwrite_region_internal):
14639         * emacs.c:
14640         * sysdep.c:
14641         * getloadavg.c:
14642         * systty.h:
14643         Remove vestigial APOLLO-conditional code.
14644
14645 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14646
14647         * getpagesize.h: Add guard macros.
14648         * libsst.h: Add guard macros.
14649         * libst.h: Add guard macros.
14650         * line-number.h: Add guard macros.
14651         * ndir.h: Add guard macros.
14652         * sysfloat.h: Add guard macros.
14653         * sysfile.h: Add guard macros.
14654         * sysproc.h: Add guard macros.
14655         * syswait.h: Add guard macros.
14656         * xintrinsic.h: Add guard macros.
14657         * xintrinsicp.h: Add guard macros.
14658         * xmmanager.h: Add guard macros.
14659         * xmmanagerp.h: Add guard macros.
14660         * xmprimitive.h: Add guard macros.
14661         * xmu.h: Add guard macros.
14662         * gpmevent.h: Add copyright statement. Add guard macros.
14663         * miscplay.h: Add guard macros.
14664         * *.h: Use consistent C-standards-approved guard macro names.
14665
14666         * opaque.c (make_opaque): Switch parameter order.
14667         * opaque.h (make_opaque): Switch parameter order.
14668         Update all callers.
14669         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
14670
14671         * config.h.in (type_checking_assert): Added.
14672         (bufpos_checking_assert): Added.
14673
14674 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14675
14676         * alloc.c: Harmless pdump changes.
14677         - Use countof().
14678         - spell alignment correctly.
14679         * sysdep.c: Use countof()
14680
14681 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14682
14683         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
14684         initially_selected_for_input() console method, default to 0.
14685         (semi_canonicalize_console_connection): Try to delegate to
14686         canonicalize_console_connection if no such console method.
14687         (canonicalize_console_connection): Vice versa.
14688         (print_console): Do not print nil connection.
14689
14690         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
14691         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
14692         (XDEVIMPF_FRAMELESS_OK): Added.
14693         (CONSOLE_INHERITS_METHOD): Added.
14694
14695         * console-msw.c (mswindows_canonicalize_console_connection):
14696         Added.
14697         (mswindows_canonicalize_device_connection): Added.
14698
14699         * console-msw.h (struct msprinter_device): Added this struct and
14700         accessor macros.
14701         (mswindows_device): Made fontlist a lisp object.
14702
14703         * device.c (semi_canonicalize_device_connection):  Try to delegate
14704         to canonicalize_device_connection if no such console method.
14705         (canonicalize_device_connection): Vice versa.
14706         (print_device): Do not print nil connection.
14707
14708         * device-msw.c (mswindows_init_device): Call InitCommonControls
14709         when have widgets.
14710         (mswindows_delete_device): Removed fontlist deallocation.
14711         (mswindows_mark_device): Added.
14712
14713         * events.c (event_equal): Added abort() at unreached code.
14714         (event_hash): Ditto.
14715
14716         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
14717         fallback tags of Windows devices.
14718
14719         * general.c (syms_of_general): Initialized Qmsprinter.
14720
14721         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
14722         of fallback tags of Windows devices.
14723
14724         * lisp.h: Declared Qmsprinter.
14725
14726         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
14727         of strings.
14728         (mswindows_list_fonts): Ditto.
14729         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
14730         that it can be used by both mswindows and msprinter devices.
14731         (initialize_font_instance): Added.
14732         (mswindows_initialize_font_instance): Use it.
14733         (msprinter_initialize_font_instance): Added.
14734
14735         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
14736         and implementation flags check.
14737         (redisplay_without_hooks): Changed the call to the above.
14738         (Fredraw_device): Ditto.
14739         (Fredisplay_device): Ditto.
14740
14741         * redisplay-msw.c (get_frame_dc): Implemented.
14742         (get_frame_compdc): Implemented.
14743         (many functions): Use the two functions above to get device
14744         contexts, ether for a window or a printer.
14745
14746 2000-01-21  Olivier Galibert  <galibert@pobox.com>
14747
14748         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
14749         initialization here.
14750         (init_symbols_once_early): Call it.
14751         * emacs.c (main_1): Call it.
14752         * symsinit.h: Declare it.
14753
14754 2000-01-19  Olivier Galibert  <galibert@pobox.com>
14755
14756         * alloc.c: Use a lrecord_header * in the backtrace instead of a
14757         Lisp_Object.
14758         (pdump_backtrace): Ditto.
14759         (pdump_register_object): Ditto.  Cleanup use of the pointers.
14760         (pdump_get_entry): Abort if trying to register a null pointer.
14761         (pdump_dump_data): Cleanup types when relocating.
14762         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
14763         (pdump_dump_rtables): Remove bad casts.
14764         (pdump_load): Cleanup relocation w.r.t union type.  Use a
14765         Lisp_Object instead of a EMACS_INT for the hashtable
14766         reorganization.
14767
14768 2000-01-20  Martin Buchholz  <martin@xemacs.org>
14769
14770         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
14771
14772         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
14773
14774         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
14775
14776         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
14777
14778 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14779
14780         * faces.h (FACE_STRIKETHRU_P): Added.
14781
14782         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
14783         of font variants.
14784
14785         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
14786         (mswindows_set_dc_font): New function, aware of font variants,
14787         separated from mswindows_update_dc.
14788
14789         * objects-msw.h (struct mswindows_font_instance_data): Added
14790         definition.
14791
14792         * objects-msw.c (mswindows_finalize_font_instance): Delete all
14793         cached fonts and the data structure.
14794         (mswindows_initialize_font_instance): Added creation of font data
14795         structure.
14796         (mswindows_print_font_instance): Print at least something.
14797         (mswindows_create_font_variant): Implemented.
14798         (mswindows_get_hfont): Implemented.
14799
14800 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
14801
14802         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
14803         prototyping problem with msvc.
14804
14805         * emacs.c (main_1): added syms_of_gui_mswindows() call
14806
14807         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
14808         syms_of_gui_mswindows() function
14809
14810         * symsinit.h: added the prototype for syms_of_gui_mswindows()
14811
14812 2000-01-18  Martin Buchholz <martin@xemacs.org>
14813
14814         * XEmacs 21.2.27 is released.
14815
14816 2000-01-18  Martin Buchholz  <martin@xemacs.org>
14817
14818         * glyphs-eimage.c (struct tiff_error_struct):
14819         (tiff_error_func):
14820         (tiff_warning_func):
14821         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
14822
14823         * unexmips.c:
14824         * unexhp9k3.c:
14825         * unexfreebsd.c:
14826         * unexec.c: Remove vestigial Lucid C code.
14827         * unexalpha.c:
14828         * unexaix.c:
14829         * termcap.c:
14830         * libsst.c: Ansify.
14831         Remove declarations of errno and strerror().
14832
14833         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
14834
14835         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
14836
14837 2000-01-16  Martin Buchholz  <martin@xemacs.org>
14838
14839         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
14840         Optimize.
14841
14842 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14843
14844         * md5.c:
14845         * file-coding.c:
14846         * file-coding.h:
14847         Change enum eol_type to eol_type_t.
14848
14849 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14850
14851         * gui.c (get_gui_callback): Check cons before accessing car.
14852
14853 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14854
14855         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
14856         (XSETSPECIFIER_TYPE): Ditto.
14857
14858 2000-01-17  Didier Verna  <didier@xemacs.org>
14859
14860         * redisplay.c (generate_fstring_runes): compute string size in
14861         characters, not bytes.
14862
14863 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14864
14865         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
14866
14867 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
14868
14869         * print.c (print_error_message): Call print_prepare().
14870
14871 2000-01-14  Martin Buchholz  <martin@xemacs.org>
14872
14873         * .dbxrc: Renamed from dbxrc.
14874
14875         * events.c (event_to_character):
14876         Use `assert (foo)' instead of `if (!foo) abort()'
14877
14878         * .gdbinit (xtype): Add documentation.
14879         * .gdbinit (check-temacs): New function.
14880         * .gdbinit (check-xemacs): New function.
14881         * dbxrc (check-xemacs): New function.
14882         * dbxrc (check-xemacs): New function.
14883
14884 2000-01-14  Andy Piper  <andy@xemacs.org>
14885
14886         * glyphs-widget.c (widget_query_geometry): Make sure that we
14887         calculate default dimensions correctly.
14888
14889 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14890
14891         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
14892
14893         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
14894         pdump_wire'd variable.
14895
14896         * emacs.c: (main_1): Conditionalized calls to
14897         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
14898
14899 2000-01-13  Martin Buchholz  <martin@xemacs.org>
14900
14901         * window.c (Fset_window_configuration):
14902         * sysdep.c (_start):
14903         * input-method-motif.c (res):
14904         * event-Xt.c (Xt_process_to_emacs_event):
14905         Simple compiler warning fixes.
14906
14907         * bytecode.c (funcall_compiled_function): Use the original
14908         function symbol on the backtrace list in preference to the
14909         compiled_function object in error messages.
14910
14911 2000-01-13  Andy Piper  <andy@xemacs.org>
14912
14913         * glyphs-x.c (update_widget_face): Make sure we update the widget
14914         background as well as foreground.
14915
14916 2000-01-13  Andy Piper  <andy@xemacs.org>
14917
14918         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
14919         fields to subwindow.
14920         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
14921         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
14922         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14923         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14924
14925         * glyphs-widget.c (check_valid_tab_orientation): new function.
14926         (initialize_widget_image_instance): zero orientation and
14927         justification.
14928         (widget_instantiate): pick up orientation.
14929         (tab_control_query_geometry): return appropriate values for
14930         vertical tabs.
14931
14932         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
14933         appropriate creation flags for left, right and bottom tabs.
14934
14935         * s/cygwin32.h: add tab definitions.
14936
14937 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14938
14939         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
14940         frame upon hiding a subwindow.
14941         (mswindows_button_instantiate): Changed the push button style to
14942         BS_PUSHBUTTON.
14943         (mswindows_button_instantiate): Removed button BS_NOTIFY
14944         style.
14945         (mswindows_button_instantiate): Removed redundant check for
14946         a disabled gui item.
14947         (mswindows_button_instantiate): Made use of WS_TABSTOP
14948         consistent: "operable" controls (edit, button, tree, scroll) have
14949         this style, "display-only" ones (static, progress gauge) do
14950         not. This style is currently ignored by XEmacs though. Also,
14951         removed the WS_EX_CONTROLPARENT style - it is not for children,
14952         it is for their parents!
14953         (mswindows_edit_field_instantiate): Ditto.
14954         (mswindows_progress_gauge_instantiate): Ditto.
14955         (mswindows_tree_view_instantiate): Ditto.
14956         (mswindows_tab_control_instantiate): Ditto.
14957         (mswindows_scrollbar_instantiate): Ditto.
14958         (mswindows_combo_box_instantiate): Ditto.
14959         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
14960         style to the "clip" window.
14961         (mswindows_button_instantiate): Removed compilation warning by
14962         equally typing terms of the ?: operator.
14963
14964 2000-01-12  Didier Verna  <didier@xemacs.org>
14965
14966         * redisplay.c (generate_fstring_runes): new parameter holding the
14967         last modeline-format extent.
14968         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
14969         extent, fill the glyph block with it.
14970         (generate_fstring_runes): handle these parameters.
14971         (generate_formatted_string_db): ditto.
14972
14973         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
14974         glyphs'extents in the modeline.
14975
14976 1999-01-11  Mike Woolley  <mike@bulsara.com>
14977
14978         * ntheap.c: Reduced the reserved heap space from 1Gb down to
14979         256Mb, as a workaround for the non-starting problem many people
14980         have experienced.
14981
14982 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14983
14984         * console-tty.c (Fset_console_tty_output_coding_system):
14985         Force redrawing tty frame.
14986
14987 2000-01-10  Didier Verna  <didier@xemacs.org>
14988
14989         * redisplay.c (generate_fstring_runes): fix size computation bug.
14990
14991 2000-01-09  William M. Perry <wmperry@aventail.com>
14992
14993         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
14994
14995 2000-01-09  Andy Piper  <andy@xemacs.org>
14996
14997         * glyphs-msw.c: index -> i to avoid shadows.
14998         (xbm_create_bitmap_from_data): make static.
14999         (check_valid_string_or_int): deleted.
15000         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15001
15002         * glyphs-x.c (x_update_subwindow): remove unused args.
15003
15004         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15005         back pointer - this is done in allocate_image_instance.
15006         (query_string_font): return Qnil to make the compiler happy.
15007         (unmap_subwindow): set to ~0 to make the compiler happy.
15008         (glyph_query_geometry): comment out until used.
15009         (glyph_layout): ditto.
15010
15011 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15012
15013         * insdel.c (signal_after_change): Remove extraneous unbind_to().