update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
4         UTF-2000.
5         (char_table_description): Add description for `db_file' and `db'
6         in UTF-2000.
7         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
8         UTF-2000.
9         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
10         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
11         (Fclose_char_attribute_table): New function.
12         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
13         (load_char_attribute_maybe): Change interface; use `cit->db_file'
14         and `cit->db'.
15         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
16         (syms_of_chartab): Add new builtin function
17         `Fclose_char_attribute_table'.
18
19 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
20
21         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
22         `db' in UTF-2000.
23         (load_char_attribute_maybe): Change interface.
24         (get_char_id_table): Modify for `load_char_attribute_maybe'.
25
26 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
27
28         * database.h: Add an EXFUN for `Fdatabase_live_p'.
29
30 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
31
32         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
33         instead of `DECODE_CHAR' for mother; don't use special code for
34         chinese-big5 to use code space of chinese-big5-1 and
35         chinese-big5-2.
36         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
37         `MAX_CHAR_BIG5_CDP' for chinese-big5.
38
39         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
40         (MAX_CHAR_BIG5_CDP): Revival.
41
42 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
43
44         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
45         the XLFD registry-encoding name of `chinese-big5'.
46
47 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
48
49         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
50         (Qchinese_big5_cdp): Deleted.
51         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
52         (complex_vars_of_mule_charset): Delete coded-charset
53         `chinese-big5-cdp'.
54
55         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
56         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
57         `CHARSET_ID_OFFSET - n' for private CCS.
58         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
59         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
60         of `MIN_LEADING_BYTE'.
61         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
62         `(CHARSET_ID_OFFSET - 97)'.
63         (MIN_CHAR_BIG5_CDP): Deleted.
64         (MAX_CHAR_BIG5_CDP): Deleted.
65
66 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
67
68         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
69
70 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
71
72         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
73         (vars_of_mule): Add new variable `utf-2000-version' [moved from
74         chartab.c].
75
76         * chartab.c (Vutf_2000_version): Moved to mule.c.
77         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
78
79 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
80
81         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
82         when HAVE_CHISE_CLIENT is not defined.
83
84         * mule.c (vars_of_mule): Provide feature `chise' when
85         HAVE_CHISE_CLIENT is defined.
86
87 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
88
89         * config.h.in (UTF2000): Add comment.
90         (HAVE_CHISE_CLIENT): New macro.
91
92 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
93
94         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
95         CONSP.
96         (Fput_char_attribute): Likewise.
97         (char_attribute_system_db_file): Encode file-name of attribute.
98         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
99         the initial value.
100
101 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
102
103         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
104         (Fsave_charset_mapping_table): Use
105         `char_attribute_system_db_file'.
106         (load_char_decoding_entry_maybe): Likewise.
107
108         * chartab.h (Qsystem_char_id): New external variable.
109         (char_attribute_system_db_file): New prototype.
110
111         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
112         (char_attribute_system_db_file): New function.
113         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
114         (Freset_char_attribute_table): Likewise.
115         (load_char_attribute_maybe): Likewise.
116         (Fload_char_attribute_table): Likewise.
117         (syms_of_chartab): Add new symbol `system-char-id'.
118
119 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
120
121         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
122         `XCHARSET_GRAPHIC(ccs)'.
123
124 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
127
128 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
129
130         * chartab.c (Q_ucs_variants): New variable.
131         (syms_of_chartab): Add new symbol `->ucs-variants'.
132         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
133         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
134         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
135
136         * mule-charset.c (load_char_decoding_entry_maybe): New function.
137
138         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
139         `HAVE_DATABASE' is defined.
140         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
141         `HAVE_DATABASE' is defined.
142
143 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
144
145         * chartab.c (Fsave_char_attribute_table): Don't clear internal
146         attribute-table.
147         (Freset_char_attribute_table): New function.
148         (syms_of_chartab): Add new builtin function
149         `reset-char-attribute-table'.
150
151 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
152
153         * chartab.c (load_char_attribute_maybe): Don't make directories.
154
155 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
156
157         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
158
159         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
160         for decoding-table.
161
162 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
163
164         * mule-charset.c (Fsave_charset_mapping_table): Use
165         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
166
167         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
168         instead of `XCHARSET_CHARS'.
169
170 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
171
172         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
173         (XCHARSET_BYTE_SIZE): Likewise.
174
175         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
176         mule-charset.c].
177         (XCHARSET_BYTE_SIZE): Likewise.
178
179 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
180
181         * chartab.c (Fput_char_attribute): Use exec-directory instead of
182         data-directory to store database.
183         (Fsave_char_attribute_table): Likewise.
184         (load_char_attribute_maybe): Likewise.
185         (Fload_char_attribute_table): Likewise.
186
187 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
188
189         * mule-charset.c (Fsave_charset_mapping_table): New function.
190         (syms_of_mule_charset): Add new builtin function
191         `save-charset-mapping-table'.
192
193 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
194
195         * char-ucs.h (decoding_table_check_elements): Delete prototype.
196         (get_ccs_octet_table): New inline function.
197         (put_ccs_octet_table): Likewise.
198         (decoding_table_put_char): Use `get_ccs_octet_table' and
199         `put_ccs_octet_table'.
200         (decoding_table_remove_char): Use `decoding_table_put_char'.
201         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
202
203         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
204         into encoding_table.
205         (make_charset): Use Qunbound instead Qnil as initial value of
206         decoding_table.
207
208 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
209
210         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
211         element is Qunloaded.
212         (map_over_uint16_byte_table): Likewise.
213         (map_over_byte_table): Likewise.
214         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
215         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
216         database support, load encoding-table of the specified
217         coded-charset if it is not loaded yet.
218         (save_uint8_byte_table): New function of UTF-2000 with external
219         database support.
220         (save_uint16_byte_table): Likewise.
221         (save_byte_table): Likewise.
222         (Fput_char_attribute): Don't store value into external database
223         even if the external database feature is supported in UTF-2000;
224         set `attribute' as name of char-table if the external database
225         feature is supported.
226         (Fsave_char_attribute_table): New function in UTF-2000.
227         (syms_of_chartab): Add new builtin function
228         `save-char-attribute-table' in UTF-2000.
229
230 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
231
232         * chartab.c (char_attribute_table_to_put): New variable in
233         UTF-2000.
234         (Qput_char_table_map_function): Likewise.
235         (value_to_put): Likewise.
236         (Fput_char_table_map_function): New function in UTF-2000.
237         (put_char_table): Use `Fmap_char_attribute' for
238         CHARTAB_RANGE_CHARSET in UTF-2000.
239         (Fput_char_attribute): Store symbol instead of string in
240         `XCHAR_TABLE_NAME (table)'.
241         (load_char_attribute_maybe): Likewise.
242         (syms_of_chartab): Add new symbol/function
243         `put-char-table-map-function'.
244
245 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
246
247         * database.h: Add new EXFUN for `Fmap_database'.
248
249         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
250         (syms_of_database): Likewise.
251
252         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
253         UTF-2000.
254         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
255         (XCHAR_TABLE_UNLOADED): Likewise.
256
257         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
258         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
259         HAVE_DATABASE is defined.
260         (char_attribute_table_to_load): New variable of UTF-2000 with
261         external database support.
262         (Qload_char_attribute_table_map_function): Likewise.
263         (Fload_char_attribute_table_map_function): New function of
264         UTF-2000 with external database support.
265         (Fload_char_attribute_table): New function of UTF-2000.
266         (Fmap_char_attribute): Call Fload_char_attribute_table if
267         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
268         (syms_of_chartab): Add new symbol and function
269         `load-char-attribute-table-map-function' in UTF-2000 with external
270         database support; add new function `load-char-attribute-table' in
271         UTF-2000.
272
273 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * chartab.h (load_char_attribute_maybe): New prototype for
276         UTF-2000 with DATABASE support.
277         (get_char_id_table): Use `load_char_attribute_maybe' if
278         HAVE_DATABASE is defined.
279
280         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
281         with DATABASE support.
282
283 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
284
285         * chartab.c (Fput_char_attribute): Use S-expression as key of
286         external database.
287
288         * chartab.h (get_char_id_table): Use S-expression as key of
289         external database.
290
291 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
294         if an element is not loaded, load the corresponding attributes
295         from an external database.
296         (map_over_uint16_byte_table): Likewise.
297         (map_over_byte_table): Likewise.
298         (map_char_table): Modify for `map_over_uint8_byte_table',
299         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
300         element is not loaded, load the corresponding attributes from an
301         external database.
302         (Fput_char_attribute): Change initial values to Qunloaded.
303
304         * chartab.h (get_char_id_table): If a character attribute is not
305         loaded and the attribute value is not found in an external
306         database, store Qunbound as the attribute value.
307
308 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
309
310         * chartab.c (BT_UINT8_unloaded): New macro.
311         (UINT8_VALUE_P): Accept Qunloaded.
312         (UINT8_ENCODE): Likewise.
313         (UINT8_DECODE): Likewise.
314         (BT_UINT16_unloaded): New macro.
315         (UINT16_VALUE_P): Accept Qunloaded.
316         (UINT16_ENCODE): Likewise.
317         (UINT16_DECODE): Likewise.
318         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
319         BT_UINT16_unloaded.
320         (mark_char_table): Mark `ct->name' in UTF-2000.
321         (char_table_description): Add `name' in UTF-2000.
322         (Fmake_char_table): Initialize `ct->name'.
323         (Fcopy_char_table): Copy `ct->name'.
324         (Fput_char_attribute): Store value into an external database if
325         HAVE_DATABASE is defined.
326
327         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
328         UTF-2000.
329         (CHAR_TABLE_NAME): New macro in UTF-2000.
330         (XCHAR_TABLE_NAME): New macro in UTF-2000.
331         (get_char_id_table): Try to read an external database if Qunloaded
332         is stored in a table.
333
334         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
335         Qunloaded.
336
337 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
338
339         * database.h: Add EXFUN definitions for Fopen_database,
340         Fput_database, Fget_database and Fclose_database.
341
342         * data.c (Qunloaded): New variable in UTF-2000.
343
344         * lisp.h (Qunloaded): New variable in UTF-2000.
345
346 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
347
348         * mule-charset.c (put_char_ccs_code_point): Modify for
349         `decoding_table_remove_char' and `decoding_table_put_char'.
350         (remove_char_ccs): Modify for `decoding_table_remove_char'.
351
352         * char-ucs.h (decoding_table_remove_char): Change arguments to
353         hide decoding_table vector.
354         (decoding_table_put_char): Likewise.
355
356 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
357
358         * mule-charset.c (decoding_table_remove_char): Moved to
359         char-ucs.h.
360         (decoding_table_put_char): Likewise.
361
362         * char-ucs.h (decoding_table_check_elements): New prototype [moved
363         from mule-charset.c].
364         (decoding_table_remove_char): New inline function [moved from
365         mule-charset.c].
366         (decoding_table_put_char): Likewise.
367
368 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
369
370         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
371         extension.
372
373 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
374
375         * mule-charset.c (decode_builtin_char): Support mother charsets.
376
377 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
378
379         * mule-charset.c (Q94x94x60): New variable.
380         (charset_code_point): Support conversion `94x94x60'.
381         (Fmake_charset): Likewise.
382         (syms_of_mule_charset): Add new symbol `94x94x60'.
383
384         * char-ucs.h (CONVERSION_94x94x60): New macro.
385
386 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
387
388         * mule-charset.c (charset_code_point): Unify code about
389         `code-offset'.
390
391 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
392
393         * mule-charset.c (charset_code_point): Merge code about builtin
394         characters into code about mother charsets; don't use
395         `range_charset_code_point'.
396         (range_charset_code_point): Deleted.
397
398 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
399
400         * mule-charset.c (Qcode_offset): New variable.
401         (Fmake_charset): Use `XUINT' to get value of `min-code' and
402         `max-code'; accept new property `code-offset'.
403         (syms_of_mule_charset): Add new symbol `code-offset'.
404
405 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
406
407         * mule-charset.c (range_charset_code_point): Fixed.
408
409 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
410
411         * mule-charset.c (decode_builtin_char): Change semantics of
412         code-offset of coded-charset.
413         (charset_code_point): Likewise.
414         (range_charset_code_point): Likewise.
415         (complex_vars_of_mule_charset): Modify for the change.
416
417 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
418
419         * mule-charset.c (Fencode_char): Reverse arguments.
420
421         * mule-charset.c (charset_code_point): Fixed.
422
423 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
424
425         * mule-charset.c (Vcharset_mojikyo): Deleted.
426         (Vcharset_mojikyo_2022_1): Deleted.
427         (Vcharset_mojikyo_pj_{1..21}): Deleted.
428         (Qmin_code): New variable in UTF-2000.
429         (Qmax_code): Likewise.
430         (Qmother): Likewise.
431         (Qconversion): Likewise.
432         (Q94x60): Likewise.
433         (Qmojikyo): Deleted.
434         (Qmojikyo_2022_1): Deleted.
435         (Qmojikyo_pj_{1..22}): Deleted.
436         (mark_charset): Mark `cs->mother'.
437         (charset_description): Add description for `mother'.
438         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
439         new arguments `mother' and `conversion'; use
440         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
441         (charset_code_point): Moved from char-ucs.h; support `mother'
442         charset feature.
443         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
444         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
445         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
446         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
447         allow 2 as the value of `graphic' in UTF-2000; add new properties
448         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
449         require `final' in UTF-2000; modify for `make_charset'.
450         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
451         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
452         (Fcharset_property): Support `mother', `min-code' and `max-code'.
453         (Fencode_char): New function.
454         (syms_of_mule_charset): Add new builtin function `encode-char' in
455         UTF-2000; add new symbols `min-code', `max-code', `mother',
456         `conversion' and `94x60'; delete symbols `mojikyo',
457         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
458         (complex_vars_of_mule_charset): Modify for `make_charset' change;
459         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
460         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
461
462         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
463         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
464
465         * char-ucs.h (Vcharset_mojikyo): Deleted.
466         (Vcharset_mojikyo_2022_1): Deleted.
467         (LEADING_BYTE_MOJIKYO): Deleted.
468         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
469         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
470         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
471         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
472         add new member `mother'; add new member `conversion'.
473         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
474         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
475         (CHARSET_MOTHER): New macro.
476         (CHARSET_CONVERSION): New macro.
477         (CONVERSION_IDENTICAL): New macro.
478         (CONVERSION_94x60): New macro.
479         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
480         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
481         (XCHARSET_MOTHER): New macro.
482         (XCHARSET_CONVERSION): New macro.
483         (MIN_CHAR_MOJIKYO): Deleted.
484         (MAX_CHAR_MOJIKYO): Deleted.
485         (DECODE_MOJIKYO_2022): Deleted.
486         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
487         (charset_code_point): Changed to non-inline function.
488         (encode_char_1): Use `charset_code_point'.
489         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
490
491 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
492
493         * lread.c (read_compiled_function): Fix prototype.
494         (read_vector): Likewise.
495
496 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
497
498         * lrecord.h (struct lrecord_header): Delete `older'.
499         (set_lheader_implementation): Delete code for `older'.
500         (set_lheader_older_implementation): Deleted.
501         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
502         (OLDER_RECORD_P): Deleted.
503         (OLDER_RECORD_HEADER_P): Deleted.
504         (alloc_older_lcrecord): Deleted.
505         (alloc_older_lcrecord_type): Deleted.
506
507         * alloc.c (all_older_lcrecords): Deleted.
508         (alloc_older_lcrecord): Deleted.
509         (disksave_object_finalization_1): Delete code for older objects.
510         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
511         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
512
513 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
514
515         * mule-charset.c (decoding_table_put_char): Use `make_vector'
516         instead of `make_older_vector'.
517         (put_char_ccs_code_point): Likewise.
518         (mark_charset): Mark `cs->decoding_table'.
519         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
520
521         * lisp.h (make_older_vector): Deleted.
522         (make_vector_newer): Deleted.
523
524         * config.h.in (HAVE_GGC): Deleted.
525
526         * alloc.c (make_older_vector): Deleted.
527         (make_vector_newer_1): Deleted.
528         (make_vector_newer): Deleted.
529
530 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
531
532         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
533         (Qideograph_daikanwa_2): New variable.
534         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
535         (complex_vars_of_mule_charset): Add new coded-charset
536         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
537         `LEADING_BYTE_DAIKANWA'.
538
539         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
540         (LEADING_BYTE_DAIKANWA_1): New macro.
541         (LEADING_BYTE_DAIKANWA_2): New macro.
542         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
543
544 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
545
546         * mule-charset.c (complex_vars_of_mule_charset): Change
547         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
548         the second revised version.
549
550 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
551
552         * mule-charset.c (Vcharset_ucs_smp): New variable.
553         (Vcharset_ucs_sip): New variable.
554         (Qucs_smp): New variable.
555         (Qucs_sip): New variable.
556         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
557         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
558         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
559         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
560         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
561         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
562
563         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
564         (LEADING_BYTE_UCS_SIP): New macro.
565         (MIN_CHAR_SMP): New macro.
566         (MAX_CHAR_SMP): New macro.
567         (MIN_CHAR_SIP): New macro.
568         (MAX_CHAR_SIP): New macro.
569
570 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
571
572         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
573         utf-2000.
574
575 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
576
577         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
578         value; don't store value into `encoding_table' of `Lisp_Charset'.
579         (mark_charset): `encoding_table' was deleted.
580         (charset_description): Likewise.
581         (make_charset): Likewise.
582         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
583         `put_char_ccs_code_point'.
584
585         * chartab.h (Fput_char_attribute): New EXFUN.
586
587         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
588         is unified with normal symbol space.
589         (Fget_char_attribute): Likewise.
590         (Fput_char_attribute): Likewise; behavior of
591         `put_char_ccs_code_point' is changed.
592
593         * char-ucs.h: Include "elhash.h".
594         (Vchar_attribute_hash_table): New external variable.
595         (struct Lisp_Charset): Delete `encoding_table'.
596         (CHARSET_ENCODING_TABLE): New implementation; refer
597         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
598         `Lisp_Charset'.
599
600 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
601
602         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
603         (cs) == 0.
604
605 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
606
607         * text-coding.c (char_encode_big5): Prefer charset-g1 than
608         `chinese-big5'.
609
610 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
611
612         * chartab.c (uint8_byte_table_description): New constant.
613         (uint8-byte-table): Use `uint8_byte_table_description'.
614         (uint16_byte_table_description): New constant.
615         (uint16-byte-table): Use `uint16_byte_table_description'.
616
617 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
618
619         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
620         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
621
622 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
623
624         * mule-charset.c (Vcharset_ucs_ks): New variable.
625         (Qucs_ks): New variable.
626         (syms_of_mule_charset): Add new symbol `ucs-ks'.
627         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
628
629         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
630
631 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
632
633         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
634         (Fdecode_char): Likewise.
635
636         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
637         chartab.h.
638         (Fdefine_char): Modify for Fdecode_char.
639         (Ffind_char): Likewise.
640
641         * mule-charset.c (Fdecode_char): Add new optional argument
642         `defined-only'.
643         (Fdecode_builtin_char): Modify for `Fdecode_char'.
644
645 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
646
647         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
648         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
649         (allocate_coding_system): Initialize initial-charsets of
650         CODESYS_BIG5 in XEmacs UTF-2000.
651         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
652         CODESYS_BIG5 in XEmacs UTF-2000.
653         (decode_coding_big5): Use initial-charset-g0 and -g1 of
654         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
655
656         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
657         variables.
658         (Qideograph_hanziku_{1 .. 12}): Likewise.
659         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
660         .. 12}'.
661         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
662         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
663         `ideograph-hanziku-{1 .. 12}'.
664
665         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
666         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
667         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
668         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
669         (DECODE_DEFINED_CHAR): New inline function.
670         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
671
672 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
673
674         * mule-charset.c (Vcharset_china3_jef): Renamed from
675         `Vcharset_japanese_jef_china3'.
676         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
677         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
678         `{MIN|MAX}_CHAR_JEF_CHINA3'..
679         (syms_of_mule_charset): Rename `china3-jef' from
680         `japanese-jef-china3'.
681         (complex_vars_of_mule_charset): Likewise; rename
682         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
683
684         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
685         `LEADING_BYTE_JEF_CHINA3'.
686         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
687         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
688
689 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
690
691         * mule-charset.c (encode_builtin_char_1): Comment out special code
692         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
693
694         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
695         (MAX_CHAR_MOJIKYO_0): Comment out.
696         (MIN_CHAR_CBETA): Changed to 0x00E20000.
697         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
698         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
699         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
700
701 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
702
703         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
704         (Qideograph_cbeta): New variable.
705         (encode_builtin_char_1): Comment out special code for
706         coded-charset `mojikyo' and `japanese-jef-china3'.
707         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
708         (complex_vars_of_mule_charset): Add new coded-charset
709         `ideograph-cbeta'.
710
711         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
712         (MIN_CHAR_CBETA): New macro.
713         (MAX_CHAR_CBETA): New macro.
714
715 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
718         (LEADING_BYTE_JEF_CHINA3): New macro.
719         (MIN_CHAR_JEF_CHINA3): New macro.
720         (MAX_CHAR_JEF_CHINA3): Likewise.
721         (DECODE_CHAR): Fixed.
722
723 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
724
725         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
726         (Qjapanese_jef_china3): New variable.
727         (encode_builtin_char_1): Support `japanese-jef-china3'.
728         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
729         (complex_vars_of_mule_charset): Add new coded-charset
730         `japanese-jef-china3'.
731
732 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
733
734         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
735         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
736         94^4, 96^3, 96^4, 128^n and 256^n set.
737         (put_char_table): Use `XCHARSET_CELL_RANGE'.
738         (map_char_table): Likewise.
739
740 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
741
742         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
743         UTF-2000.
744
745 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
746
747         * chartab.h (get_char_id_table): New inline function.
748
749         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
750         function.
751
752 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
753
754         * chartab.h (decode_char_table_range): New prototype in XEmacs
755         UTF-2000.
756         (put_char_id_table): New inline function in XEmacs UTF-2000.
757
758         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
759         function.
760         (decode_char_table_range): Delete static declaration in XEmacs
761         UTF-2000.
762
763 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
764
765         * chartab.c (put_char_id_table): Use `put_char_table'.
766
767 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
768
769         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
770         (map_over_uint16_byte_table): Likewise.
771         (map_over_byte_table): Likewise.
772         (map_char_table): Modify for `map_over_uint8_byte_table',
773         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
774         UTF-2000.
775
776 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
777
778         * chartab.c (struct map_char_table_for_charset_arg): New
779         structure.
780         (map_char_table_for_charset_fun): New function.
781         (map_char_table): Use `map_char_table' for encoding_table of
782         `range->charset'.
783
784 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
785
786         * chartab.c (map_char_table): Check a character is found in
787         range->charset instead of non default value is defined in
788         char-table when range is CHARTAB_RANGE_ROW.
789
790 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
791
792         * chartab.c (map_char_id_table): Deleted.
793         (Fmap_char_attribute): Use `map_char_table' instead of
794         `map_char_id_table'.
795
796 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
797
798         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
799         UTF-2000.
800         (update_syntax_table): Deleted in XEmacs UTF-2000.
801
802         * syntax.c (find_defun_start): Use `syntax_table' instead of
803         `mirror_syntax_table' in XEmacs UTF-2000.
804         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
805         UTF-2000.
806         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
807         XEmacs UTF-2000.
808         (Fmatching_paren): Likewise.
809         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
810         in XEmacs UTF-2000.
811         (find_start_of_comment): Likewise.
812         (find_end_of_comment): Likewise.
813         (Fforward_comment): Likewise.
814         (scan_lists): Likewise.
815         (char_quoted): Likewise.
816         (Fbackward_prefix_chars): Likewise.
817         (scan_sexps_forward): Likewise.
818         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
819         (update_syntax_table): Likewise.
820
821         * search.c (skip_chars): Use `syntax_table' instead of
822         `mirror_syntax_table' in XEmacs UTF-2000.
823         (wordify): Likewise.
824         (Freplace_match): Likewise.
825
826         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
827         `mirror_syntax_table' in XEmacs UTF-2000.
828         (WORDCHAR_P_UNSAFE): Likewise.
829         (re_match_2_internal): Likewise.
830
831         * font-lock.c (find_context): Use `buf->syntax_table' instead of
832         `buf->mirror_syntax_table' in XEmacs UTF-2000.
833
834         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
835         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
836
837         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
838         XEmacs UTF-2000.
839
840         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
841         UTF-2000.
842         (print_char_table): Print `default_value' in XEmacs UTF-2000.
843         (char_table_description): Delete `mirror_table' in XEmacs
844         UTF-2000.
845         (fill_char_table): Don't call `update_syntax_table' in XEmacs
846         UTF-2000.
847         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
848         (Fcopy_char_table): Likewise.
849         (put_char_table): Don't call `update_syntax_table' in XEmacs
850         UTF-2000.
851
852         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
853         `buf->mirror_syntax_table' in XEmacs UTF-2000.
854         (casify_region_internal): Likewise.
855
856         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
857
858         * buffer.c (common_init_complex_vars_of_buffer): Don't use
859         `mirror_syntax_table' in XEmacs UTF-2000.
860
861         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
862         `buf->mirror_syntax_table' in XEmacs UTF-2000.
863         (Fexpand_abbrev): Likewise.
864
865 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
866
867         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
868
869 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
870
871         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
872         (map_over_uint16_byte_table): Likewise.
873         (map_over_byte_table): Likewise.
874         (get_char_id_table): Refer `cit->default_value'.
875         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
876         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
877         of character-id ranges.
878         (mark_char_table): Mark `ct->default_value'.
879         (char_table_description): Add `default_value'.
880         (fill_char_table): Use `default_value'.
881         (decode_char_table_range): Decode `nil' as
882         `CHARTAB_RANGE_DEFAULT'.
883         (get_char_id_table): Refer `cit->default_value'.
884         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
885         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
886         temporary hack; check value of char-table is bound or not.
887         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
888
889         * chartab.h (struct Lisp_Char_Table): Add new member
890         `default_value' in XEmacs UTF-2000.
891         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
892         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
893         UTF-2000.
894
895 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
896
897         * chartab.h (Lisp_Char_ID_Table): Deleted.
898
899         * chartab.c (char_table_description): Fix typo.
900         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
901         `Lisp_Char_ID_Table'.
902
903 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
904
905         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
906         `CHAR_ID_TABLE_P'.
907
908         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
909         `CHAR_ID_TABLE_P'.
910
911         * chartab.h (XCHAR_ID_TABLE): Deleted.
912         (XSETCHAR_ID_TABLE): Deleted.
913         (CHAR_ID_TABLE_P): Deleted.
914
915         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
916         `CHAR_ID_TABLE_P'.
917         (Fget_composite_char): Likewise.
918         (put_char_table): Likewise.
919         (add_char_attribute_alist_mapper): Fixed.
920         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
921         `CHAR_ID_TABLE_P'.
922         (Fget_char_attribute): Likewise.
923         (Fget_char_attribute): Likewise.
924         (Fmap_char_attribute): Likewise.
925
926         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
927         `CHAR_ID_TABLE_P'.
928         (encode_char_1): Likewise.
929
930 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
931
932         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
933         `XCHAR_ID_TABLE'.
934
935         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
936         instead of `XCHAR_ID_TABLE'.
937         (remove_char_ccs): Likewise.
938
939         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
940         `XCHAR_ID_TABLE'.
941         (Fget_composite_char): Likewise.
942         (Fchar_variants): Likewise.
943         (put_char_table): Likewise.
944         (add_char_attribute_alist_mapper): Likewise.
945         (Fchar_attribute_alist): Likewise.
946         (Fget_char_attribute): Likewise.
947         (Fput_char_attribute): Likewise.
948         (Fmap_char_attribute): Likewise.
949         (Fmap_char_attribute): Likewise.
950
951         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
952         `XCHAR_ID_TABLE'.
953         (encode_char_1): Likewise.
954
955 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
956
957         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
958         `Lisp_Char_ID_Table'.
959         (mark_char_id_table): Deleted.
960         (print_char_id_table): Likewise.
961         (char_id_table_equal): Likewise.
962         (char_id_table_hash): Likewise.
963         (char_id_table_description): Likewise.
964         (char_id_table): Likewise.
965         (make_char_id_table): Use `Fmake_char_table' and
966         `fill_char_table'.
967         (get_char_id_table): Use `Lisp_Char_Table' instead of
968         `Lisp_Char_ID_Table'.
969         (put_char_id_table): Likewise.
970         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
971         `XCHAR_ID_TABLE'.
972         (Fremove_char_attribute): Likewise.
973         (syms_of_chartab): Don't define type `char-id-table'.
974
975         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
976         (char_id_table): Likewise.
977         (GC_CHAR_ID_TABLE_P): Likewise.
978         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
979         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
980         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
981         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
982         (get_char_id_table): Use `Lisp_Char_Table' instead of
983         `Lisp_Char_ID_Table'.
984         (put_char_id_table_0): Likewise.
985         (put_char_id_table): Likewise.
986
987 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
988
989         * chartab.h: Lisp_Byte_Table related codes are moved from
990         chartab.h.
991
992         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
993
994 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
995
996         * chartab.h: Don't include "chartab.h".
997         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
998         (Lisp_Char_ID_Table): Likewise.
999         (char_id_table): Likewise.
1000         (XCHAR_ID_TABLE): Likewise.
1001         (XSETCHAR_ID_TABLE): Likewise.
1002         (CHAR_ID_TABLE_P): Likewise.
1003         (GC_CHAR_ID_TABLE_P): Likewise.
1004         (get_char_id_table): Likewise.
1005
1006         * char-ucs.h: Include "chartab.h".
1007         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1008         (Lisp_Char_ID_Table): Likewise.
1009         (char_id_table): Likewise.
1010         (XCHAR_ID_TABLE): Likewise.
1011         (XSETCHAR_ID_TABLE): Likewise.
1012         (CHAR_ID_TABLE_P): Likewise.
1013         (GC_CHAR_ID_TABLE_P): Likewise.
1014         (get_char_id_table): Likewise.
1015
1016 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1017
1018         * chartab.c (copy_uint8_byte_table): New function.
1019         (copy_uint16_byte_table): New function.
1020         (copy_byte_table): New function.
1021         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1022         characters to call.
1023         (map_over_uint16_byte_table): Likewise.
1024         (map_over_byte_table): Likewise.
1025         (get_byte_table): Move prototype to chartab.h.
1026         (put_byte_table): Likewise.
1027         (put_char_id_table_0): Moved to chartab.h.
1028         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1029         (char_table_entry_equal): Likewise.
1030         (char_table_entry_hash): Likewise.
1031         (char_table_entry_description): Likewise.
1032         (char_table_entry): Likewise.
1033         (make_char_table_entry): Likewise.
1034         (copy_char_table_entry): Likewise.
1035         (get_non_ascii_char_table_value): Likewise.
1036         (map_over_charset_ascii): Likewise.
1037         (map_over_charset_control_1): Likewise.
1038         (map_over_charset_row): Likewise.
1039         (map_over_other_charset): Likewise.
1040         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1041         (print_char_table): Likewise.
1042         (char_table_equal): Likewise.
1043         (char_table_hash): Likewise.
1044         (char_table_description): Likewise.
1045         (fill_char_table): Likewise.
1046         (Fcopy_char_table): Likewise.
1047         (get_char_table): Likewise.
1048         (Fget_range_char_table): Likewise.
1049         (put_char_table): Likewise.
1050         (map_char_table): Likewise.
1051         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1052         UTF-2000.
1053
1054 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1055
1056         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1057         `Vauto_fill_chars' in XEmacs UTF-2000.
1058
1059         * chartab.h (get_byte_table): New prototype [moved from
1060         chartab.c].
1061         (put_byte_table): Likewise [moved from chartab.c].
1062         (put_char_id_table_0): New inline function [moved from chartab.c].
1063         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1064         (Lisp_Char_Table_Entry): Likewise.
1065         (char_table_entry): Likewise.
1066         (XCHAR_TABLE_ENTRY): Likewise.
1067         (XSETCHAR_TABLE_ENTRY): Likewise.
1068         (CHAR_TABLE_ENTRYP): Likewise.
1069         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1070         (NUM_ASCII_CHARS): Likewise.
1071         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1072         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1073
1074 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1075
1076         * chartab.c (get_char_id_table): Change interface.
1077         (put_char_id_table_0): New function.
1078         (put_char_id_table): Change interface; new implementation.
1079         (Fget_composite_char): Modify for interface change of
1080         `get_char_id_table'.
1081         (Fchar_variants): Likewise.
1082         (add_char_attribute_alist_mapper): Likewise.
1083         (Fchar_attribute_alist): Likewise.
1084         (Fget_char_attribute): Likewise.
1085         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1086         as same as character as the first argument like `put-char-table';
1087         modify for interface change of `put_char_id_table'.
1088         (Fremove_char_attribute): Modify for interface change of
1089         `put_char_id_table'.
1090
1091 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1092
1093         * text-coding.c: Sync up with XEmacs 21.2.41.
1094         (COMPOSE_ADD_CHAR): Modify for interface change of
1095         `get_char_id_table'.
1096
1097         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1098         change of `put_char_id_table'.
1099         (remove_char_ccs): Likewise.
1100
1101         * chartab.h (put_char_id_table): Change interface.
1102
1103         * char-ucs.h (get_char_id_table): Change interface.
1104         (charset_code_point): Modify for interface change of
1105         `get_char_id_table'.
1106         (encode_char_1): Likewise.
1107
1108 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1109
1110         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1111         argument `ccs'.
1112         (map_over_uint16_byte_table): Likewise.
1113         (map_over_byte_table): Likewise.
1114         (map_char_id_table): Add new argument `range' like
1115         `map_char_table'.
1116         (Fmap_char_attribute): Add new argument `range' like
1117         `Fmap_char_table'.
1118
1119 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1120
1121         * chartab.c (map_over_uint8_byte_table): Change interface of
1122         mapping function to use struct chartab_range instead of Emchar.
1123         (map_over_uint16_byte_table): Likewise.
1124         (map_over_byte_table): Likewise.
1125         (map_char_id_table): Likewise.
1126         (struct slow_map_char_id_table_arg): Deleted.
1127         (slow_map_char_id_table_fun): Deleted.
1128         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1129         function `slow_map_char_table_fun' instead of struct
1130         `slow_map_char_id_table_arg' and function
1131         `slow_map_char_id_table_fun'.
1132
1133 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1134
1135         * mule-charset.c: Move char-it-table related codes to chartab.c.
1136         (Vutf_2000_version): Moved to chartab.c.
1137         (Fdefine_char): Likewise.
1138         (Ffind_char): Likewise.
1139         (syms_of_mule_charset): Move types `uint8-byte-table',
1140         `uint16-byte-table', `byte-table' and `char-id-table' to
1141         chartab.c; move functions `char_attribute_list,
1142         `find_char_attribute_table, `char_attribute_alist,
1143         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1144         `map_char_attribute, `define_char, `find_char, `char_variants and
1145         `get_composite_char to chartab.c; move symbols `=>ucs',
1146         `->decomposition', `compat', `isolated', `initial', `medial',
1147         `final', `vertical', `noBreak', `fraction', `super', `sub',
1148         `circle', `square', `wide', `narrow', `small' and `font' to
1149         chartab.c.
1150         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1151         setting codes for `Vcharacter_composition_table' and
1152         `Vcharacter_variant_table' to chartab.c.
1153         (complex_vars_of_mule_charset): Move setting code for
1154         `Vchar_attribute_hash_table' to chartab.c.
1155
1156         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1157         (make_char_id_table): New prototype.
1158         (put_char_id_table): Likewise.
1159         (Fget_char_attribute): Likewise.
1160
1161         * chartab.c: Move char-id-table related code from mule-charset.c.
1162         (Vutf_2000_version): Moved from mule-charset.c.
1163
1164         * char-ucs.h (Qucs): New external variable.
1165         (put_char_ccs_code_point): New prototype.
1166         (remove_char_ccs): Likewise.
1167
1168 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1169
1170         * mule-charset.c (Vcharset_ucs_jis): New variable.
1171         (Qucs_jis): Likewise.
1172         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1173         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1174
1175         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1176
1177 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1178
1179         * mule-charset.c (map_over_uint8_byte_table): New function.
1180         (map_over_uint16_byte_table): Likewise.
1181         (map_over_byte_table): Likewise.
1182         (map_char_id_table): Likewise.
1183         (slow_map_char_id_table_fun): Likewise.
1184         (Fmap_char_attribute): Likewise.
1185         (syms_of_mule_charset): Add new function `map-char-attribute'.
1186
1187 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1188
1189         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1190         (syms_of_mule_charset): Add new function `find-char'.
1191
1192 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1193
1194         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1195         XEmacs UTF-2000.
1196         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1197         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1198         XEmacs UTF-2000.
1199         (complex_vars_of_mule_charset): Add new coded-charset
1200         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1201         `ideograph-gt-pj-*'.
1202
1203         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1204
1205 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1206
1207         * mule-charset.c (encode_builtin_char_1): Purge codes about
1208         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1209         {MIN|MAX}_CHAR_HEBREW.
1210         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1211         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1212
1213         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1214         (MAX_CHAR_GREEK): Purged.
1215         (MIN_CHAR_CYRILLIC): Purged.
1216         (MAX_CHAR_CYRILLIC): Purged.
1217         (MIN_CHAR_HEBREW): Commented out.
1218         (MAX_CHAR_HEBREW): Likewise.
1219
1220 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1221
1222         * mule-charset.c (Qto_ucs): New variable.
1223         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1224         (Fdefine_char): Likewise.
1225         (syms_of_mule_charset): Add new symbol `=>ucs'.
1226
1227 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1228
1229         * mule-charset.c (Fdecode_char): Fixed.
1230
1231 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1232
1233         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1234         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1235         "tcvn5712-1".
1236
1237 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1238
1239         * mule-charset.c (Vcharset_ucs_big5): New variable.
1240         (Qucs_big5): Likewise.
1241         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1242         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1243
1244         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1245
1246 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1247
1248         * mule-charset.c (decode_builtin_char): Check Big5 code range
1249         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1250
1251 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1252
1253         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1254         (Qchinese_gb12345): Likewise.
1255         (Fdecode_builtin_char): Fixed.
1256         (syms_of_mule_charset): Add `chinese-gb12345'.
1257         (complex_vars_of_mule_charset): Add coded-charset
1258         `chinese-gb12345'.
1259
1260         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1261         (LEADING_BYTE_CHINESE_GB12345): New macro.
1262
1263 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1264
1265         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1266         and `latin-viscii-upper' for `latin-viscii'.
1267
1268 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1269
1270         * mule-charset.c (Fdecode_builtin_char): Comment out
1271         regularization code for ISO-IR GR representation.
1272
1273 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1274
1275         * mule-charset.c (decode_builtin_char): New function; renamed from
1276         `make_builtin_char'; return -1 instead of signal.
1277         (Fdecode_builtin_char): Use `decode_builtin_char'.
1278
1279         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1280         `make_builtin_char'.
1281         (DECODE_CHAR): Use `decode_builtin_char' instead of
1282         `make_builtin_char'; use mapping table of `chinese-big5' for
1283         `chinese-big5-{1,2}'.
1284
1285 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1286
1287         * text-coding.c (char_encode_big5): New function.
1288         (char_finish_big5): Likewise.
1289         (reset_encoding_stream): Use `char_encode_big5' and
1290         `char_finish_big5' for CODESYS_BIG5.
1291         (mule_encode): Don't use `encode_coding_big5'.
1292         (encode_coding_big5): Deleted.
1293
1294 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1295
1296         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1297         0x81- in XEmacs UTF-2000.
1298         (detect_coding_big5): Likewise.
1299
1300 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1301
1302         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1303         generate character-id if the CCS property does not have
1304         corresponding predefined character.
1305         (make_builtin_char): Return -1 if corresponding predefined
1306         character is not found.
1307         (Fdecode_char): Return nil if corresponding character is not
1308         found.
1309         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1310         don't map to builtin ucs space.
1311
1312 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1313
1314         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1315         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1316
1317 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1318
1319         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1320         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1321         (Qideograph_gt): Likewise.
1322         (Qideograph_gt_pj_{1..11}): Likewise.
1323         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1324         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1325         `ideograph-gt-pj-11'.
1326         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1327         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1328         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1329
1330         * char-ucs.h (LEADING_BYTE_GT): New macro.
1331         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1332         (MIN_CHAR_GT): Likewise.
1333         (MAX_CHAR_GT): Likewise.
1334
1335 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1336
1337         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1338         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1339
1340         * doprnt.c (unsigned_int_converters): Add `c'.
1341         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1342
1343         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1344         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1345         `MIN_CHAR_MOJIKYO'.
1346         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1347         (MAX_CHAR_MOJIKYO_0): New macro.
1348         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1349
1350 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1351
1352         * mule-charset.c (Fdefine_char): Delete cemented out code.
1353         (encode_builtin_char_1): Modify for new allocation of builtin
1354         Mojikyo characters.
1355
1356         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1357
1358 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1359
1360         * mule-charset.c (Vcharset_ucs_cns): New variable.
1361         (Qucs_cns): New variable.
1362         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1363         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1364
1365 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1366
1367         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1368
1369 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1370
1371         * search.c (search_buffer): Make `charset_base_code' as
1372         character-id >> 6 to eliminate the corresponding last byte in
1373         UTF-8 representation [I'm not sure it is right thing].
1374         (boyer_moore): Likewise.
1375
1376 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1377
1378         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1379         representation in MULE.
1380
1381 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1382
1383         * text-coding.c (Fmake_coding_system): Use
1384         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1385         `EXTERNAL_PROPERTY_LIST_LOOP'.
1386
1387 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1388
1389         * text-coding.c (decode_output_utf8_partial_char): New function.
1390         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1391
1392 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1393
1394         * text-coding.c (decode_coding_utf8): Output original byte
1395         sequence if it is broken; change order of conditions.
1396
1397         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1398         of conditions.
1399
1400         * mb-multibyte.h (BYTE_ASCII_P):
1401         Use bit ops for char-signedness safety.
1402         (BYTE_C0_P): Use bit ops for char-signedness safety.
1403         (BYTE_C1_P): Use bit ops for char-signedness safety.
1404
1405         * character.h: (XCHAR_OR_CHAR_INT):
1406         Always use inline function.
1407         Remove redundant type checking assert() - XINT will abort quite
1408         nicely.
1409
1410 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1411
1412         * text-coding.c: (Fencode_shift_jis_char):
1413         (Fencode_big5_char):
1414         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1415         Replace 0 with '\0' when working with bytes.
1416         Replace initial "(" with "\(" in docstrings.
1417
1418         (Fmake_coding_system):
1419         When type is ccl and value is vector, register it with a proper
1420         symbol.  And checks whether the given ccl program is valid.
1421         (mule_decode): When calling ccl_driver, if src indicates
1422         NULL pointer, set an empty string instead.
1423         (mule_encode): Likewise.
1424
1425         (detect_eol_type):
1426         (detect_coding_sjis):
1427         (decode_coding_sjis):
1428         (detect_coding_big5):
1429         (decode_coding_big5):
1430         (detect_coding_ucs4):
1431         (decode_coding_ucs4):
1432         (detect_coding_utf8):
1433         (decode_coding_utf8):
1434         (detect_coding_iso2022):
1435         (decode_coding_iso2022):
1436         (decode_coding_no_conversion):
1437         (mule_decode):
1438         Make all detecting and decoding functions take an Extbyte * arg.
1439         (text_encode_generic):
1440         (encode_coding_big5):
1441         (encode_coding_no_conversion):
1442         (mule_encode):
1443         Make all encoding functions take a Bufbyte * arg.
1444         Use size_t instead of unsigned int for memory sizes.
1445         Only cast to unsigned char whenever dereferencing Extbyte *.
1446
1447         (struct lrecord_description fcd_description_1): Use countof.
1448         (complex_vars_of_file_coding):
1449         Use countof instead of sizeof.
1450         Use CHECK_NATNUM instead of CHECK_INT.
1451
1452 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1453
1454         * mule-charset.c (Fget_char_attribute): Add new optional argument
1455         `default-value'.
1456         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1457         (remove_char_ccs): Likewise.
1458
1459 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1460
1461         * text-coding.c (char_encode_shift_jis): New implementation in
1462         UTF-2000.
1463         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1464         ...)'.
1465
1466         * mule-charset.c (Vcharset_chinese_big5): New variable in
1467         UTF-2000.
1468         (Qchinese_big5): New variable in UTF-2000.
1469         (BIG5_SAME_ROW): New macro in UTF-2000.
1470         (make_builtin_char): Use builtin characters of
1471         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1472         characters of `Vcharset_chinese_big5'.
1473         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1474         (complex_vars_of_mule_charset): Add new coded-charset
1475         `chinese-big5' in UTF-2000.
1476
1477         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1478         (Vcharset_chinese_big5): New external variable declaration.
1479         (Vcharset_japanese_jisx0208_1990): Likewise.
1480
1481 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1482
1483         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1484         function.
1485         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1486
1487 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1488
1489         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1490         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1491         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1492         `mojikyo-pj-*'.
1493
1494 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1495
1496         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1497
1498 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1499
1500         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1501         to 0.17.
1502
1503 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1504
1505         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1506         for `CHARSET_BY_ATTRIBUTES'.
1507         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1508         `CHARSET_BY_ATTRIBUTES'.
1509
1510         * text-coding.c (struct decoding_stream): Rename member `CH' to
1511         `CPOS'.
1512         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1513         (decode_coding_sjis): Likewise.
1514         (decode_coding_big5): Likewise.
1515         (decode_coding_ucs4): Likewise.
1516         (decode_coding_utf8): Likewise.
1517         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1518         `CHARSET_BY_ATTRIBUTES'.
1519         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1520         `str->counter'; decode 3, 4 bytes sets.
1521         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1522         sets.
1523         (decode_coding_no_conversion): Use `str->cpos' instead of
1524         `str->ch'.
1525
1526         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1527         (Qmojikyo_2022_1): New variable.
1528         (make_charset): Don't use `CHARSET_TYPE_*'.
1529         (range_charset_code_point): Support coded-charset
1530         `mojikyo-2022-1'.
1531         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1532         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1533         `CHARSET_BY_ATTRIBUTES'.
1534         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1535         `CHARSET_BY_ATTRIBUTES'.
1536         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1537         (complex_vars_of_mule_charset): Add new coded-charset
1538         `mojikyo-2022-1'.
1539
1540         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1541         interface; changed to inline function.
1542
1543         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1544         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1545         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1546         (CHARSET_TYPE_94): Deleted.
1547         (CHARSET_TYPE_94X94): Deleted.
1548         (CHARSET_TYPE_96): Deleted.
1549         (CHARSET_TYPE_96X96): Deleted.
1550         (CHARSET_TYPE_128): Deleted.
1551         (CHARSET_TYPE_128X128): Deleted.
1552         (CHARSET_TYPE_256): Deleted.
1553         (CHARSET_TYPE_256X256): Deleted.
1554         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1555         to inline function.
1556         (DECODE_MOJIKYO_2022): New inline function.
1557         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1558         `Vcharset_mojikyo_2022_1'.
1559
1560 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1561
1562         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1563         instead of `EQ'.
1564         (put_byte_table): Likewise.
1565         (char_id_table_equal): Use `get_byte_table' [new implementation].
1566
1567 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1568
1569         * mule-charset.c: Include <limits.h> in UTF-2000.
1570         (BT_UINT8_MIN): New macro in UTF-2000.
1571         (BT_UINT8_MAX): New macro in UTF-2000.
1572         (BT_UINT8_t): New macro in UTF-2000.
1573         (BT_UINT8_nil): New macro in UTF-2000.
1574         (BT_UINT8_unbound): New macro in UTF-2000.
1575         (INT_UINT8_P): New inline function in UTF-2000.
1576         (UINT8_VALUE_P): New inline function in UTF-2000.
1577         (UINT8_ENCODE): New inline function in UTF-2000.
1578         (UINT8_DECODE): New inline function in UTF-2000.
1579         (mark_uint8_byte_table): New function in UTF-2000.
1580         (print_uint8_byte_table): New function in UTF-2000.
1581         (uint8_byte_table_equal): New function in UTF-2000.
1582         (uint8_byte_table_hash): New function in UTF-2000.
1583         (make_uint8_byte_table): New function in UTF-2000.
1584         (uint8_byte_table_same_value_p): New function in UTF-2000.
1585         (BT_UINT16_MIN): New macro in UTF-2000.
1586         (BT_UINT16_MAX): New macro in UTF-2000.
1587         (BT_UINT16_t): New macro in UTF-2000.
1588         (BT_UINT16_nil): New macro in UTF-2000.
1589         (BT_UINT16_unbound): New macro in UTF-2000.
1590         (INT_UINT16_P): New inline function in UTF-2000.
1591         (UINT16_VALUE_P): New inline function in UTF-2000.
1592         (UINT16_ENCODE): New inline function in UTF-2000.
1593         (UINT16_DECODE): New inline function in UTF-2000.
1594         (UINT8_TO_UINT16): New inline function in UTF-2000.
1595         (mark_uint16_byte_table): New function in UTF-2000.
1596         (print_uint16_byte_table): New function in UTF-2000.
1597         (uint16_byte_table_equal): New function in UTF-2000.
1598         (uint16_byte_table_hash): New function in UTF-2000.
1599         (make_uint16_byte_table): New function in UTF-2000.
1600         (uint16_byte_table_same_value_p): New function in UTF-2000.
1601         (print_byte_table): New function in UTF-2000.
1602         (byte-table): Use `print_byte_table' as printer.
1603         (make_byte_table): Delete second argument `older'.
1604         (byte_table_same_value_p): New function in UTF-2000.
1605         (copy_byte_table): Deleted.
1606         (get_byte_table): New function in UTF-2000.
1607         (put_byte_table): New function in UTF-2000.
1608         (print_char_id_table): New function in UTF-2000.
1609         (char-id-table): Use `print_char_id_table' as printer.
1610         (make_char_id_table): Delete second argument `older'.
1611         (get_char_id_table): Use `get_byte_table [new implementation].
1612         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1613         implementation].
1614         (Ffind_char_attribute_table): New function in UTF-2000.
1615         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1616         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1617         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1618         (syms_of_mule_charset): Add new function
1619         `find-char-attribute-table' in UTF-2000.
1620
1621         * lrecord.h (enum lrecord_type): Add
1622         `lrecord_type_uint16_byte_table' and
1623         `lrecord_type_uint8_byte_table'.
1624
1625         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1626         (Lisp_Uint8_Byte_Table): New type.
1627         (XUINT8_BYTE_TABLE): New macro.
1628         (XSETUINT8_BYTE_TABLE): New macro.
1629         (UINT8_BYTE_TABLE_P): New macro.
1630         (GC_UINT8_BYTE_TABLE_P): New macro.
1631         (struct Lisp_Uint16_Byte_Table): New structure.
1632         (Lisp_Uint16_Byte_Table): New type.
1633         (XUINT16_BYTE_TABLE): New macro.
1634         (XSETUINT16_BYTE_TABLE): New macro.
1635         (UINT16_BYTE_TABLE_P): New macro.
1636         (GC_UINT16_BYTE_TABLE_P): New macro.
1637
1638 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1639
1640         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1641         (Vcharacter_ideographic_strokes_table): Deleted.
1642         (Vcharacter_total_strokes_table): Deleted.
1643         (Vcharacter_morohashi_daikanwa_table): Deleted.
1644         (Vcharacter_decomposition_table): Deleted.
1645         (Qname): Deleted because it is duplicated.
1646         (Qideographic_radical): Deleted.
1647         (Qideographic_strokes): Deleted.
1648         (Qtotal_strokes): Deleted.
1649         (Qmorohashi_daikanwa): Deleted.
1650         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1651         `ideographic-radical', `ideographic-strokes', `total-strokes',
1652         `morohashi-daikanwa' and `->decomposition'.
1653         (Fget_char_attribute): Likewise.
1654         (Fput_char_attribute): Likewise; use `make-vector' instead of
1655         `make_older_vector' for `->decomposition' value.
1656         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1657         `ideograph-daikanwa'.
1658         (syms_of_mule_charset): Delete builtin symbols `name',
1659         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1660         `morohashi-daikanwa'.
1661         (vars_of_mule_charset): Don't setup
1662         `Vcharacter_ideographic_radical_table',
1663         `Vcharacter_ideographic_strokes_table',
1664         `Vcharacter_total_strokes_table',
1665         `Vcharacter_morohashi_daikanwa_table' and
1666         `Vcharacter_decomposition_table'.
1667
1668 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1669
1670         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1671         `make_older_vector', `make_vector_newer_1' and
1672         `make_vector_newer'.
1673
1674         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1675         `make_older_vector' and `make_vector_newer'.
1676
1677         * config.h.in (HAVE_GGC): New macro.
1678
1679 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1680
1681         * mule-charset.c (struct char_attribute_list_closure): New
1682         structure in UTF-2000.
1683         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1684         (Fchar_attribute_list): Likewise.
1685         (Fset_charset_mapping_table): Use `make_vector_newer'.
1686         (Fdecode_builtin_char): New function in UTF-2000.
1687         (syms_of_mule_charset): Add new function `char-attribute-list' and
1688         `decode-builtin-char' in UTF-2000.
1689
1690         * lisp.h (make_vector_newer): New prototype.
1691
1692         * alloc.c (make_vector_newer_1): New function.
1693         (make_vector_newer): New function.
1694
1695 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1696
1697         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1698         50100)'.
1699
1700 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1701
1702         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1703         (Vcharacter_attribute_table): Deleted.
1704         (Vcharacter_name_table): Deleted.
1705         (put_char_attribute): Deleted.
1706         (remove_char_attribute): Deleted.
1707         (struct char_attribute_alist_closure): New structure.
1708         (add_char_attribute_alist_mapper): New function.
1709         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1710         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1711         (Fget_char_attribute): Likewise.
1712         (Fput_char_attribute): Likewise.
1713         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1714         of `remove_char_attribute'.
1715         (Fdefine_char): Return character.
1716         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1717         and `Vcharacter_name_table'.
1718         (complex_vars_of_mule_charset): Likewise
1719         `Vchar_attribute_hash_table'.
1720
1721 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1722
1723         * character.h (CHARC_CHARSET): New macro.
1724         (CHARC_CHARSET_ID): New macro.
1725         (CHARC_CODE_POINT): New macro.
1726         (CHARC_COLUMNS): New macro.
1727         (CHARC_TO_CHAR): New inline function.
1728         (CHARC_EQ): New inline function.
1729         (CHARC_ASCII_EQ): New inline function.
1730         (CHARC_IS_SPACE): New inline function.
1731         (ASCII_TO_CHARC): New inline function.
1732
1733         * char-ucs.h (encode_char_2): Deleted.
1734         (ENCODE_CHAR): Use `encode_char_1' again.
1735         (breakup_char_1): Likewise.
1736         (CHAR_TO_CHARC): New inline function.
1737
1738         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1739
1740 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1741
1742         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1743         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1744         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1745         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1746         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1747         `CHARC_IS_SPACE'.
1748         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1749
1750         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1751         `CHARC_CODE_POINT'.
1752         (x_output_display_block): Use `CHARC_CHARSET' and
1753         `CHARC_ASCII_EQ'.
1754
1755         * redisplay-tty.c (tty_output_display_block): Use
1756         `CHARC_ASCII_EQ'.
1757         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1758
1759         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1760
1761         * insdel.c (find_charsets_in_charc_string): Use
1762         `CHARC_CHARSET_ID'.
1763         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1764         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1765         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1766         (convert_charc_string_into_malloced_string): Likewise.
1767
1768 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1769
1770         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1771         instead of <Emchar_dynarr *> for buf; use
1772         `convert_bufbyte_string_into_charc_dynarr' instead of
1773         `convert_bufbyte_string_into_emchar_dynarr'; use
1774         `find_charsets_in_charc_string' instead of
1775         `find_charsets_in_emchar_string'.
1776
1777         * redisplay.h:
1778         - Include "character.h".
1779         (struct rune): New member `cglyph'; delete member `chr'.
1780
1781         * redisplay.c (redisplay_text_width_charc_string): New function;
1782         delete `redisplay_text_width_emchar_string'.
1783         (rtw_charc_dynarr): New variable; renamed from
1784         `rtw_emchar_dynarr'.
1785         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1786         `rtw_emchar_dynarr'; use
1787         `convert_bufbyte_string_into_charc_dynarr' instead of
1788         `convert_bufbyte_string_into_emchar_dynarr'; use
1789         `redisplay_text_width_charc_string' instead of
1790         `redisplay_text_width_emchar_string'.
1791         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1792         instead of `rtw_emchar_dynarr'; use
1793         `convert_bufbyte_string_into_charc_dynarr' instead of
1794         `convert_bufbyte_string_into_emchar_dynarr'.
1795         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1796         `redisplay_text_width_charc_string' instead of
1797         `redisplay_text_width_emchar_string'.
1798         (create_text_block): Modify for <struct rune> change.
1799         (generate_formatted_string_db): Likewise.
1800         (create_string_text_block): Likewise.
1801         (pixel_to_glyph_translation): Likewise.
1802
1803         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1804         instead of <const Emchar *>.
1805         (x_text_width): Likewise.
1806         (x_output_display_block): Use <Charc_dynarr *> instead
1807         <Emchar_dynarr *>; modify for <structure rune> change.
1808         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1809         *>.
1810
1811         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1812         <const Emchar *>; use `charc_string_displayed_columns' instead of
1813         `emchar_string_displayed_columns'.
1814         (tty_output_display_block): Use <Charc_dynarr *> instead of
1815         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1816         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1817         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1818         `tty_output_emchar_dynarr_dynarr'.
1819         (tty_output_charc_dynarr): New function; delete
1820         `tty_output_charc_dynarr'.
1821
1822         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1823         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1824         <Emchar_dynarr *> for buf; use
1825         `convert_bufbyte_string_into_charc_dynarr' instead of
1826         `convert_bufbyte_string_into_emchar_dynarr'.
1827
1828         * frame.c (title_string_charc_dynarr): New variable; renamed from
1829         `title_string_emchar_dynarr'.
1830         (generate_title_string): Use `title_string_charc_dynarr' instead
1831         of `title_string_emchar_dynarr'; use
1832         `convert_charc_string_into_malloced_string' instead of
1833         `convert_emchar_string_into_malloced_string'.
1834         (init_frame): Use `title_string_charc_dynarr' instead of
1835         `title_string_emchar_dynarr'.
1836
1837         * console.h:
1838         - Include "character.h".
1839         (struct console_methods): Use <const Charc *> instead of <const
1840         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1841         <Emchar_dynarr *> in output_string_method.
1842
1843         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1844         <Emchar_dynarr *>.
1845
1846         * console-stream.c (stream_text_width): Use <const Charc *>
1847         instead of <const Emchar *>.
1848
1849         * character.h (Charc_dynarr): New type.
1850
1851         * char-ucs.h (structure Charc): New structure; define new type
1852         `Charc'.
1853
1854         * char-lb.h (DECODE_CHAR): New inline function.
1855         (encode_char_1): New inline function.
1856         (ENCODE_CHAR): New macro.
1857         (structure Charc): New structure; define new type `Charc'.
1858
1859         * char-1byte.h (Vcharset_control_1): New macro.
1860         (Vcharset_latin_iso8859_1): New macro.
1861         (DECODE_CHAR): New inline function.
1862         (encode_char_1): New inline function.
1863         (ENCODE_CHAR): New macro.
1864         (structure Charc): New structure; define new type `Charc'.
1865
1866         * insdel.c (find_charsets_in_charc_string): New function; delete
1867         `find_charsets_in_emchar_string'.
1868         (charc_string_displayed_columns): New function; delete
1869         `emchar_string_displayed_columns'.
1870         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1871         `convert_bufbyte_string_into_emchar_dynarr'.
1872         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1873         `convert_charc_string_into_bufbyte_dynarr'.
1874         (convert_charc_string_into_malloced_string): New function; delete
1875         `convert_charc_string_into_malloced_string'.
1876
1877         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1878         `find_charsets_in_emchar_string'.
1879         (charc_string_displayed_columns): New prototype; delete
1880         `emchar_string_displayed_columns'.
1881         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1882         `convert_charc_string_into_bufbyte_dynarr'.
1883         (convert_charc_string_into_malloced_string): New prototype; delete
1884         `convert_charc_string_into_malloced_string'.
1885
1886 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1887
1888         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1889
1890 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1891
1892         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1893
1894         * char-ucs.h: Use <short> for <Charset_ID>.
1895
1896         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1897         <Charset_ID>.
1898
1899 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1900
1901         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1902         to 0.16.
1903
1904 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1905
1906         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1907         variable.
1908         (Qmorohashi_daikanwa): New variable.
1909         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1910         for `morohashi-daikanwa' attribute.
1911         (Fget_char_attribute): Likewise.
1912         (Fput_char_attribute): Likewise.
1913         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1914         has the same value of `ideograph-daikanwa'.
1915         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1916         (vars_of_mule_charset): Setup
1917         `Vcharacter_morohashi_daikanwa_table'.
1918
1919 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1920
1921         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1922         attributes.
1923         (add_charset_to_list_mapper): Add `key' instead of
1924         `XCHARSET_NAME (value)' to return aliases.
1925
1926 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1927
1928         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1929         variable.
1930         (Vcharacter_ideographic_strokes_table): New variable.
1931         (Qideographic_radical): New variable.
1932         (Qideographic_strokes): New variable.
1933         (Fchar_attribute_alist): Use
1934         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1935         attribute; use `Vcharacter_ideographic_strokes_table' for
1936         `ideographic-strokes' attribute.
1937         (Fget_char_attribute): Likewise.
1938         (Fput_char_attribute): Likewise.
1939         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1940         `ideographic-strokes'.
1941         (vars_of_mule_charset): Setup
1942         `Vcharacter_ideographic_radical_table' and
1943         `Vcharacter_ideographic_strokes_table'.
1944
1945 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1946
1947         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1948         (Qtotal_strokes): New variable.
1949         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1950         `total-strokes' attribute.
1951         (Fget_char_attribute): Likewise.
1952         (Fput_char_attribute): Likewise.
1953         (syms_of_mule_charset): Add new symbol `total-strokes'.
1954         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1955
1956 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1957
1958         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1959         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1960         are found.
1961         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1962         `->decomposition' attribute.
1963         (Fput_char_attribute): Likewise.
1964         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1965
1966 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1967
1968         * mule-charset.c (decoding_table_check_elements): New function.
1969         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1970
1971 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1972
1973         * mule-charset.c (Fset_charset_mapping_table): Use
1974         `put_char_ccs_code_point'.
1975
1976 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1977
1978         * mule-charset.c (decoding_table_put_char): New inline function.
1979         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1980
1981 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1982
1983         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1984         (XCHARSET_BYTE_SIZE): New macro.
1985         (decoding_table_remove_char): New inline function.
1986         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1987         `decoding_table_remove_char'.
1988         (remove_char_ccs): Use `decoding_table_remove_char'.
1989         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1990
1991 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1992
1993         * mule-charset.c (Vcharacter_name_table): New variable.
1994         (Qname): New variable.
1995         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1996         attribute.
1997         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1998         `Vcharacter_name_table' for `name' attribute.
1999         (Fremove_char_attribute): Use function `remove_char_ccs'.
2000         (put_char_ccs_code_point): New function.
2001         (remove_char_ccs): New function.
2002         (syms_of_mule_charset): Add new symbol `name'.
2003         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2004
2005 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2006
2007         * mule-charset.c (make_byte_table): Add new argument `older'.
2008         (make_char_id_table): Likewise.
2009         (copy_char_id_table): Comment out because it is not used.
2010         (put_char_id_table): Modify for `make_byte_table'.
2011         (Fput_char_attribute): Make encoding_table as older object;
2012         inherit older bit of `Vcharacter_composition_table'.
2013         (mark_charset): Don't mark `cs->encoding_table'.
2014         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2015         normal object; make `Vcharacter_composition_table' as an older
2016         object; delete staticpro for `Vcharacter_composition_table'; make
2017         `Vcharacter_variant_table' as a normal object.
2018
2019         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2020         (mark_object): Don't check older object in UTF-2000.
2021
2022         * lrecord.h (struct lrecord_header): Add new member `older' in
2023         UTF-2000.
2024         (set_lheader_implementation): Setup `SLI_header->older' in
2025         UTF-2000.
2026         (set_lheader_older_implementation): New macro in UTF-2000.
2027         (OLDER_RECORD_P): New macro in UTF-2000.
2028         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2029         (alloc_older_lcrecord): New prototype in UTF-2000.
2030         (alloc_older_lcrecord_type): New macro in UTF-2000.
2031
2032 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2033
2034         * mule-charset.c (byte_table_description): Use
2035         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2036         (char_id_table_description): Delete bogus `, 1'.
2037         (Fget_char_attribute): Refer encoding_table of each coded-charset
2038         to get value of coded-charset attribute of a character.
2039         (Fput_char_attribute): Use `make_older_vector' instead of
2040         `make_vector'; use encoding_table of each coded-charset to store
2041         value of coded-charset attribute of a character.
2042         (Fremove_char_attribute): Use encoding_table of each coded-charset
2043         to store value of coded-charset attribute of a character.
2044         (mark_charset): Mark `cs->encoding_table'; don't mark
2045         `cs->decoding_table'.
2046         (charset_description): Add description of new member
2047         `encoding_table'.
2048         (make_charset): Initialize `encoding_table'.
2049
2050         * char-ucs.h (struct Lisp_Charset): Add new member
2051         `encoding_table'.
2052         (CHARSET_ENCODING_TABLE): New macro.
2053         (XCHARSET_ENCODING_TABLE): New macro.
2054         (charset_code_point): New implementation.
2055         (encode_char_1): Likewise.
2056
2057         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2058         (disksave_object_finalization_1): Call finalizers of
2059         `all_older_lcrecords' in UTF-2000.
2060         (make_older_vector): New function in UTF-2000.
2061         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2062         UTF-2000.
2063
2064         * lisp.h (make_older_vector): New prototype in UTF-2000.
2065
2066 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2067
2068         * lrecord.h (enum lrecord_type): Rename
2069         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2070
2071         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2072         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2073         `get_char_code_table'.
2074
2075         * mule-charset.c (mark_char_id_table): Renamed from
2076         `mark_char_code_table'.
2077         (char_id_table_equal): Renamed from `char_code_table_equal'.
2078         (char_id_table_hash): Renamed from `char_code_table_hash'.
2079         (make_char_id_table): Renamed from `make_char_code_table'.
2080         (copy_char_id_table): Renamed from `copy_char_code_table'.
2081         (get_char_id_table): Renamed from `get_char_code_table'.
2082         (put_char_id_table): Renamed from `put_char_code_table'.
2083         (to_char_id): Renamed from `to_char_code'.
2084
2085         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2086         `Lisp_Char_Code_Table'.
2087         (char_id_table): Renamed from `char_code_table'.
2088         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2089         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2090         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2091         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2092         (get_char_id_table): Renamed from `get_char_code_table'.
2093
2094 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2095
2096         * lrecord.h (enum lrecord_type): Rename
2097         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2098
2099         * mule-charset.c (mark_byte_table): Renamed from
2100         `mark_char_byte_table'.
2101         (byte_table_equal): Renamed from `char_byte_table_equal'.
2102         (byte_table_hash): Renamed from `byte_table_hash'.
2103         (make_byte_table): Renamed from `make_byte_table'.
2104         (copy_byte_table): Renamed from `copy_char_byte_table'.
2105
2106         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2107         `Lisp_Char_Byte_Table'.
2108         (byte_table): Renamed from `char_byte_table'.
2109         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2110         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2111         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2112         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2113
2114 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2115
2116         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2117         (dfc_convert_to_internal_format): Likewise.
2118         
2119         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2120         * text-coding.c (Fcoding_system_alias_p): New function.
2121         * text-coding.c (Fcoding_system_aliasee): New function.
2122         * text-coding.c (append_suffix_to_symbol): New function.
2123         * text-coding.c (dangling_coding_system_alias_p): New function.
2124         * text-coding.c (Ffind_coding_system):
2125         * text-coding.c (Fcopy_coding_system):
2126         * text-coding.c (encode_coding_no_conversion):
2127         * text-coding.c (syms_of_file_coding):
2128         * text-coding.c (vars_of_file_coding):
2129         Rewrite coding system alias code.
2130         Allow nested aliases, like symbolic links.
2131         Allow redefinition of coding system aliases.
2132         Prevent existence of dangling coding system aliases.
2133         Eliminate convert_to_external_format.
2134         Eliminate convert_to_internal_format.
2135         
2136         * text-coding.c: Change enum eol_type to eol_type_t.
2137
2138 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2139
2140         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2141         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2142
2143         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2144         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2145
2146 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2147
2148         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2149         `ideograph-daikanwa'.
2150
2151         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2152         (Vcharset_ucs_bmp): Likewise.
2153         (Vcharset_mojikyo): Add new extern variable definition.
2154         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2155         (Vcharset_latin_iso8859_3): Likewise.
2156         (Vcharset_latin_iso8859_4): Likewise.
2157         (Vcharset_latin_iso8859_9): Likewise.
2158         (Vcharset_latin_viscii_lower): Likewise.
2159         (Vcharset_latin_viscii_upper): Likewise.
2160         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2161         `mojikyo' code-point is used to decode.
2162         (encode_char_2): New function [to convert `mojikyo' code-point to
2163         Mojikyo font encoding].
2164         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2165         (breakup_char_1): Likewise.
2166         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2167
2168 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2169
2170         * text-coding.c (Fmake_coding_system): Add document about
2171         `disable-composition' property.
2172
2173 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2174
2175         * text-coding.c (Qdisable_composition): New variable; delete
2176         `Qcomposite'.
2177         (Fmake_coding_system): Add new property `disable-composite';
2178         delete property `composite'.
2179         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2180         instead of `!CODING_SYSTEM_COMPOSITE'.
2181         (syms_of_file_coding): Add new symbol `disable-composition';
2182         delete symbol `composite'.
2183
2184         * file-coding.h (struct Lisp_Coding_System): Add
2185         `disable_composition'; delete `enable_composition'.
2186         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2187         `CODING_SYSTEM_COMPOSITE'.
2188         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2189         `XCODING_SYSTEM_COMPOSITE'.
2190
2191 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2192
2193         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2194         to 0.15.
2195
2196 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2197
2198         * text-coding.c (Qcomposite): New variable.
2199         (Fmake_coding_system): Add new property `composite'.
2200         (struct decoding_stream): Add `combined_char_count',
2201         `combined_chars' and `combining_table' in UTF-2000.
2202         (COMPOSE_FLUSH_CHARS): New macro.
2203         (COMPOSE_ADD_CHAR): New macro.
2204         (reset_decoding_stream): Reset `str->combined_char_count' and
2205         `str->combining_table' in UTF-2000.
2206         (decode_coding_iso2022): Modify for character-decomposition.
2207         (syms_of_file_coding): Add new symbol `composite'.
2208
2209 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2210
2211         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2212         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2213         of `Vcharacter_composition_table' if `->decomposition' property
2214         has only 1 element.
2215         (Qlatin_tcvn5712): New variable.
2216         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2217         (complex_vars_of_mule_charset): Add new coded-charset
2218         `latin-tcvn5712'.
2219
2220         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2221
2222 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2223
2224         * file-coding.h (struct Lisp_Coding_System): Add
2225         `enable_composition'.
2226         (CODING_SYSTEM_COMPOSITE): New macro.
2227         (XCODING_SYSTEM_COMPOSITE): New macro.
2228
2229 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2230
2231         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2232
2233 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2234
2235         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2236         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2237
2238 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2239
2240         * mule-charset.c (Vcharset_mojikyo): New variable.
2241         (Fdefine_char): Don't use coded-charset which does not have
2242         non-builtin character range to allocate character-id.
2243         (Qmojikyo): New variable.
2244         (syms_of_mule_charset): Add new symbol `mojikyo'.
2245         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2246
2247         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2248         (LEADING_BYTE_MOJIKYO): New macro.
2249         (MIN_CHAR_MOJIKYO): New macro.
2250         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2251         (MAX_CHAR_MOJIKYO): New macro.
2252
2253 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2254
2255         * mule-charset.c (remove_char_attribute): Fixed.
2256
2257 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2258
2259         * mule-charset.c (remove_char_attribute): New function.
2260         (Fremove_char_attribute): New function.
2261         (encode_builtin_char_1): Comment out builtin-support for
2262         greek-iso8859-7 and cyrillic-iso8859-5.
2263         (Fdecode_char): Check `code' is an integer.
2264         (syms_of_mule_charset): Add `remove-char-attribute'.
2265         (MIN_CHAR_GREEK): Deleted.
2266         (MAX_CHAR_GREEK): Likewise.
2267         (MIN_CHAR_CYRILLIC): Likewise.
2268         (MAX_CHAR_CYRILLIC): Likewise.
2269         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2270         MAX_CHAR_GREEK for `greek-iso8859-7'.
2271
2272         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2273         (MAX_CHAR_GREEK): Likewise.
2274         (MIN_CHAR_CYRILLIC): Likewise.
2275         (MAX_CHAR_CYRILLIC): Likewise.
2276
2277 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2278
2279         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2280         format is used without `ucs' property.
2281         (Fdecode_char): Fix problem with GR representation.
2282         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2283         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2284
2285 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2286
2287         * mule-charset.c (make_builtin_char): New function.
2288         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2289         (Fset_charset_mapping_table): Modify for new representation of
2290         code-point.
2291         (Fdecode_char): New function.
2292         (syms_of_mule_charset): Add new builtin function `decode-char' in
2293         UTF-2000.
2294
2295         * char-ucs.h (make_builtin_char): New prototype.
2296         (DECODE_CHAR): New inline function.
2297         (MAKE_CHAR): Use `DECODE_CHAR'.
2298
2299 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2300
2301         * text-coding.c (parse_charset_conversion_specs): Use
2302         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2303         `XCHARSET_TYPE'.
2304         (iso2022_designate): Likewise.
2305
2306         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2307         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2308
2309         * mule-charset.c (Vcharset_ucs): New variable.
2310         (print_charset): Change design; use `CHARSET_CHARS' and
2311         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2312         (make_charset): Change signature to specify `chars' and
2313         `dimension' instead of `type'.
2314         (range_charset_code_point): Modify for 256^n-set.
2315         (encode_builtin_char_1): Encode as `ucs' in default.
2316         (Fmake_charset): Modify for `make_charset'.
2317         (Fmake_reverse_direction_charset): Likewise.
2318         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2319         UTF-2000.
2320         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2321         for `make_charset'.
2322
2323         * char-ucs.h (Vcharset_ucs): New variable.
2324         (LEADING_BYTE_UCS): New macro.
2325         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2326         and `chars' to `unsigned short' from `unsigned int'.
2327         (CHARSET_TYPE): Deleted.
2328         (XCHARSET_TYPE): Deleted.
2329
2330 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2331
2332         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2333
2334         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2335         (ENCODE_CHAR): New macro.
2336
2337 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2338
2339         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2340         to 0.14 (Kawachi-Katakami).
2341
2342 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2343
2344         * text-coding.c (char_encode_shift_jis): Modify for
2345         `charset_code_point'.
2346         (char_encode_iso2022): Likewise.
2347
2348         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2349         (integer) instead of list of <Lisp_Object>s (integers) as the
2350         format of code-point of a coded-charset.
2351         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2352         (encode_builtin_char_1): New function; delete
2353         `split_builtin_char'.
2354         (charset_code_point): Return <int> instead of <Lisp_Object>.
2355         (Fsplit_char): Don't use `SPLIT_CHAR'.
2356
2357         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2358         prototype for `split_builtin_char'.
2359         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2360         (charset_code_point): Likewise.
2361         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2362         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2363
2364 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2365
2366         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2367         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2368
2369 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2370
2371         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2372
2373         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2374         (MAX_CHAR_OBS_94x94): Deleted.
2375
2376 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2377
2378         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2379
2380         * char-ucs.h (MAX_CHAR_BMP): New macro.
2381
2382 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2383
2384         * text-coding.c: Sync with r21-2-24.
2385
2386 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2387
2388         * file-coding.c: Modify for UTF-2000.
2389
2390 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2391
2392         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2393         to 0.13 (Takaida).
2394
2395 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2396
2397         * mule-charset.c (split_builtin_char): Delete builtin support for
2398         `katakana-jisx0201'.
2399         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2400         BMP area in builtin representation.
2401
2402         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2403         `Vcharset_katakana_jisx0201'.
2404
2405 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2406
2407         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2408         (Qisolated): New variable.
2409         (Qinitial): New variable.
2410         (Qmedial): New variable.
2411         (Qfinal): New variable.
2412         (Qvertical): New variable.
2413         (Qsmall): New variable.
2414         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2415         `Qvertical' and `Qsmall'.
2416         (Qmojikyo_pj_[1 .. 21]): New variable.
2417         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2418         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2419         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2420         .. 21]'.
2421
2422 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2423
2424         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2425         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2426         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2427
2428 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2429
2430         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2431         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2432         BMP.
2433         (Qjapanese_jisx0208_1990): New variable.
2434         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2435         (complex_vars_of_mule_charset): Add new coded-charset
2436         `japanese-jisx0208-1990'.
2437
2438         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2439         (MIN_CHAR_JIS_X0208_1990): New macro.
2440         (MAX_CHAR_JIS_X0208_1990): New macro.
2441
2442 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2443
2444         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2445         coded-charset is not found.
2446
2447 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2448
2449         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2450         (Fdefine_char): Use `Fmake_char'.
2451
2452 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2453
2454         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2455         (Vcharset_hiragana_jisx0208): Deleted.
2456         (Vcharset_katakana_jisx0208): Deleted.
2457         (Qideograph_daikanwa): New variable.
2458         (Qhiragana_jisx0208): Deleted.
2459         (Qkatakana_jisx0208): Deleted.
2460         (split_builtin_char): Split `ideograph-daikanwa'.
2461         (Fsplit_char): New implementation for UTF-2000.
2462         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2463         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2464         (complex_vars_of_mule_charset): Add new coded-charset
2465         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2466         `katakana-jisx0208'.
2467
2468         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2469         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2470         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2471         (MIN_CHAR_DAIKANWA): New macro.
2472         (MAX_CHAR_DAIKANWA): New macro.
2473
2474 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2475
2476         * data.c (Fstring_to_number): Don't recognize floating point if
2477         base is not 10.
2478
2479 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2480
2481         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2482
2483 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2484
2485         * mule-charset.c (Qsquare): New variable.
2486         (to_char_code): Add `Qsquare'.
2487         (syms_of_mule_charset): Add new symbol `square'.
2488
2489 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2490
2491         * mule-charset.c (Qcircle): New variable.
2492         (to_char_code): Add `Qcircle'.
2493         (syms_of_mule_charset): Add new symbol `circle'.
2494
2495 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2496
2497         * mule-charset.c (Qfont): New variable.
2498         (to_char_code): Add `Qfont'.
2499         (syms_of_mule_charset): Add new symbol `font'.
2500
2501 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2502
2503         * mule-charset.c (Qsub): New variable.
2504         (to_char_code): Add `Qsub'.
2505         (syms_of_mule_charset): Add new symbol `sub'.
2506
2507 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2508
2509         * mule-charset.c (Fput_char_attribute): Convert each element of
2510         VALUE to GL position if ATTRIBUTE is a GR-set,
2511
2512 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2513
2514         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2515         coded-charset is a GR-set.
2516
2517 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2518
2519         * mule-charset.c (Fput_char_attribute): Check each element of
2520         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2521
2522 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2523
2524         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2525         UTF-2000.
2526         (Qethiopic_ucs): New variable in UTF-2000.
2527         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2528         (complex_vars_of_mule_charset): Add new coded-charset
2529         `ethiopic-ucs' in UTF-2000.
2530
2531         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2532         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2533         9)'.
2534         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2535         10)'.
2536         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2537
2538 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2539
2540         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2541         `ascii'.
2542
2543 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2544
2545         * mule-charset.c (Vcharacter_variant_table): New variable.
2546         (Q_ucs): New variable.
2547         (Fchar_variants): New function.
2548         (Fput_char_attribute): Register `->ucs' value to
2549         `Vcharacter_variant_table'.
2550         (syms_of_mule_charset): Add new function `char-variants' and new
2551         symbol `->ucs'.
2552         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2553
2554 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2555
2556         * mule-charset.c (get_char_code_table): Allow negative character
2557         code.
2558         (put_char_code_table): Likewise.
2559         (Vcharacter_composition_table): New variable.
2560         (Q_decomposition): New variable.
2561         (Qwide): New variable.
2562         (Qnarrow): New variable.
2563         (Qcompat): New variable.
2564         (QnoBreak): New variable.
2565         (Qsuper): New variable.
2566         (Qfraction): New variable.
2567         (to_char_code): New function.
2568         (Fget_composite_char): New function.
2569         (Fput_char_attribute): Register `->decomposition' value to
2570         `Vcharacter_composition_table'.
2571         (syms_of_mule_charset): Add new function `get-composite-char', new
2572         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2573         `super' and `fraction'.
2574         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2575
2576 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2577
2578         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2579         character; copy the return value.
2580
2581 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2582
2583         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2584
2585         * mule-charset.c (range_charset_code_point): Must use make_int.
2586         (split_builtin_char): New function.
2587
2588 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2589
2590         * mule-charset.c (char_byte_table): Change name from
2591         "char-code-table" to "char-byte-table".
2592         (mark_char_code_table): New function.
2593         (char_code_table_equal): New function.
2594         (char_code_table_hash): New function.
2595         (char_code_table_description): New constant.
2596         (char_code_table): New type.
2597         (make_char_code_table): New function.
2598         (copy_char_code_table): New function.
2599         (get_char_code_table): Modify for `char_code_table' type.
2600         (put_char_code_table): Likewise.
2601         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2602         (Kashiwara).
2603
2604         * char-ucs.h (char_code_table): New type.
2605         (XCHAR_CODE_TABLE): New macro.
2606         (XSETCHAR_CODE_TABLE): New macro.
2607         (CHAR_CODE_TABLE_P): New macro.
2608         (GC_CHAR_CODE_TABLE_P): New macro.
2609         (struct Lisp_Char_Code_Table): New structure.
2610
2611 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2612
2613         * mule-charset.c (Fmake_charset): Setup byte_offset for
2614         {94|96}^n-set.
2615
2616 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2617
2618         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2619         character.
2620
2621 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2622
2623         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2624         is found.
2625
2626 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2627
2628         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2629         charset, it is regarded as a charset.
2630         (put_char_attribute): New function in UTF-2000.
2631         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2632         charset, mapping-table of the charset is modified.
2633         (Fdefine_char): New function in UTF-2000.
2634         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2635         `Fput_char_attribute'.
2636         (syms_of_mule_charset): Add new function `define-char' and new
2637         symbol `ucs' in UTF-2000.
2638         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2639
2640 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2641
2642         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2643         non-UTF-2000 configuration.
2644
2645 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2646
2647         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2648         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2649
2650         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2651         deleted.
2652         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2653         (Fset_charset_mapping_table): Likewise.
2654
2655         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2656         (CHARSET_ENCODING_TABLE): Delete.
2657         (XCHARSET_ENCODING_TABLE): Delete.
2658         (charset_code_point): New interface.
2659
2660 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2661
2662         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2663         instead of `charset_get_byte1' and `charset_get_byte2'.
2664
2665         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2666         (charset_get_byte2): Deleted.
2667
2668 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2669
2670         * char-ucs.h (SPLIT_CHAR): New inline function.
2671         (breakup_char_1): Use `SPLIT_CHAR'.
2672
2673         * mule-charset.c (range_charset_code_point): New function.
2674         (charset_code_point): New function.
2675
2676         * char-ucs.h (range_charset_code_point): New interface.
2677         (breakup_char_1): Use `range_charset_code_point'.
2678
2679 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2680
2681         * mule-charset.c (Fmake_charset): Delete unused local variable
2682         `code_offset'.
2683
2684         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2685         (breakup_char_1): Find a charset and code-point in
2686         `Vcharacter_attribute_table'.
2687
2688 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2689
2690         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2691         to 0.10 (Yao).
2692
2693 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2694
2695         * mule-charset.c (Vcharacter_attribute_table): New variable.
2696         (Fchar_attribute_alist): New function.
2697         (Fget_char_attribute): New function.
2698         (Fput_char_attribute): New function.
2699         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2700         too.
2701         (syms_of_mule_charset): Add new function `char-attribute-alist',
2702         `get-char-attribute' and `put-char-attribute'.
2703         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2704
2705 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2706
2707         * mule-charset.c (Fmake_charset): Just use
2708         `get_unallocated_leading_byte'.
2709
2710         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2711         sets; don't use final-byte based number for private sets.
2712
2713 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2714
2715         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2716         integer.
2717
2718 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2719
2720         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2721         to 0.9.
2722
2723 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2724
2725         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2726         of `CHAR_LEADING_BYTE' in UTF-2000.
2727
2728         * insdel.c (find_charsets_in_bufbyte_string): Use
2729         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2730         (find_charsets_in_emchar_string): Likewise.
2731
2732         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2733         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2734
2735         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2736         (CHAR_CHARSET_ID): New macro.
2737
2738 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2739
2740         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2741         charset-id - MIN_LEADING_BYTE.
2742         (put_char_table): Likewise.
2743
2744 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2745
2746         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2747         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2748         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2749         (CHARSET_ID_OFFSET): New macro.
2750         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2751         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2752         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2753         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2754         4).
2755         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2756         5).
2757         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2758         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2759         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2760         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2761         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2762
2763 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2764
2765         * mule-charset.c (next_allocated_leading_byte): New variable in
2766         UTF-2000.
2767         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2768         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2769         (get_unallocated_leading_byte): Simply use
2770         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2771         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2772         UTF-2000.
2773
2774         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2775         (MAX_LEADING_BYTE_PRIVATE): New macro.
2776         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2777         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2778
2779 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2780
2781         * mule-charset.c (Fmake_charset): Allocate final-byte based
2782         charset-id for 94-set, 96-set and 94x94-set.
2783
2784 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2785
2786         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2787         ambiguous `else'.
2788         (Fmake_charset): Likewise.
2789         (complex_vars_of_mule_charset): Modify the font registry of
2790         `ucs-bmp' not to match `Ethiopic-Unicode'.
2791
2792 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2793
2794         * mule-charset.c (complex_vars_of_mule_charset): Add font
2795         registory of `ucs-bmp'.
2796
2797 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2798
2799         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2800         coded-charsets in `default-coded-charset-priority-list' when
2801         breaking up a character.
2802
2803         * mule-charset.c (Vcharset_latin_viscii): New variable.
2804         (Qlatin_viscii): New variable.
2805         (make_charset): Don't use `decoding_table'.
2806         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2807         byte_offset.
2808         (Fset_charset_mapping_table): New implementation.
2809         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2810         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2811         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2812         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2813         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2814         charset `latin_viscii'.
2815
2816         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2817         (CHARSET_TYPE_94X94): Change to 1 from 2.
2818         (CHARSET_TYPE_96): Change to 2 from 1.
2819         (CHARSET_TYPE_128): New macro.
2820         (CHARSET_TYPE_128X128): Change to 5 from 4.
2821         (CHARSET_TYPE_256): New macro.
2822         (CHARSET_TYPE_256X256): Change to 7 from 5.
2823         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2824
2825 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2826
2827         * text-coding.c (char_encode_shift_jis): Refer
2828         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2829         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2830
2831         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2832         (char_byte_table_equal): New function in UTF-2000.
2833         (char_byte_table_hash): New function in UTF-2000.
2834         (char_byte_table_description): New constant in UTF-2000.
2835         (char_byte_table): New type in UTF-2000.
2836         (make_char_byte_table): New function in UTF-2000.
2837         (copy_char_byte_table): New function in UTF-2000.
2838         (make_char_code_table): New macro in UTF-2000.
2839         (get_char_code_table): New function in UTF-2000.
2840         (put_char_code_table): New function in UTF-2000.
2841         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2842         (charset_description): Add setting in UTF-2000.
2843         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2844         `CHARSET_TO_BYTE1_TABLE(cs)'.
2845         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2846         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2847         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2848         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2849         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2850         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2851         `CHARSET_TO_BYTE2_TABLE(cs)'.
2852
2853         * char-ucs.h (char_byte_table): New type.
2854         (XCHAR_BYTE_TABLE): New macro.
2855         (XSETCHAR_BYTE_TABLE): New macro.
2856         (CHAR_BYTE_TABLE_P): New macro.
2857         (GC_CHAR_BYTE_TABLE_P): New macro.
2858         (struct Lisp_Char_Byte_Table): New structure.
2859         (get_char_code_table): New interface.
2860         (Emchar_to_byte_table): Deleted.
2861         (get_byte_from_character_table): Deleted.
2862         (struct Lisp_Charset): Add `encoding_table'; delete
2863         `to_byte1_table' and `to_byte2_table'.
2864         (CHARSET_ENCODING_TABLE): New macro.
2865         (CHARSET_TO_BYTE1_TABLE): Deleted.
2866         (CHARSET_TO_BYTE2_TABLE): Deleted.
2867         (XCHARSET_ENCODING_TABLE): New macro.
2868         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2869         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2870
2871 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2872
2873         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2874         `vietnamese-viscii-*'.
2875
2876 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2877
2878         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2879         (Qvietnamese_viscii_upper): New variable.
2880         (Fdefine_charset_alias): New function.
2881         (syms_of_mule_charset): Add new function `define-charset-alias'.
2882         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2883         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2884         `latin-viscii-*'.
2885
2886 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2887
2888         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2889         (MAX_CHAR_OBS_94x94): New macro.
2890         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2891         for 94x94 sets.
2892
2893         * mule-charset.c (put_byte_from_character_table): Change unit size
2894         from 128 to 256.
2895         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2896         not defined.
2897         (Fmake_reverse_direction_charset): Modify dummy argument of
2898         `make_charset' for non-UTF-2000 environment.
2899
2900 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2901
2902         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2903
2904         * mule-charset.c (destroy_byte_from_character_table): New macro.
2905         (latin_jisx0201_to_ucs): Deleted.
2906         (latin_iso8859_2_to_ucs): Deleted.
2907         (latin_iso8859_3_to_ucs): Deleted.
2908         (latin_iso8859_4_to_ucs): Deleted.
2909         (latin_iso8859_9_to_ucs): Deleted.
2910         (latin_viscii_lower_to_ucs): Deleted.
2911         (latin_viscii_upper_to_ucs): Deleted.
2912         (mark_charset): Mark `cs->decoding_table'.
2913         (Fcharset_mapping_table): Fix DOC-string.
2914         (Fset_charset_mapping_table): New function.
2915         (syms_of_mule_charset): Add nwe function
2916         `set-charset-mapping-table'.
2917         (complex_vars_of_mule_charset): Don't setup and use
2918         `latin_*_to_ucs'.
2919
2920 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2921
2922         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2923         charset.
2924
2925 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2926
2927         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2928         (Vcharset_katakana_jisx0208): New variable.
2929         (Qhiragana_jisx0208): New variable.
2930         (Qkatakana_jisx0208): New variable.
2931         (make_charset): Add new argument `byte_offset'.
2932         (charset_get_byte1): Modify for new coded-charset definition; use
2933         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2934         `XCHARSET_BYTE_OFFSET'.
2935         (Fmake_charset): Modify for `make_charset'.
2936         (Fmake_reverse_direction_charset): Likewise.
2937         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2938         `katakana-jisx0208'.
2939         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2940         `.'  in font registry of charset `katakana-jisx0201',
2941         `latin-jisx0201', `vietnamese-viscii-lower' and
2942         `vietnamese-viscii-upper'; modify DOC-string of charset
2943         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2944         registry of charset `japanese-jisx0208' not to use font for JIS
2945         X0208:1990; add new charset `hiragana-jisx0208' and
2946         `katakana-jisx0208'.
2947
2948         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2949         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2950         (struct Lisp_Charset): Add `byte_offset'.
2951         (CHARSET_BYTE_OFFSET): New macro.
2952         (XCHARSET_UCS_MIN): New macro.
2953         (XCHARSET_UCS_MAX): New macro.
2954         (XCHARSET_CODE_OFFSET): New macro.
2955         (XCHARSET_BYTE_OFFSET): New macro.
2956         (MIN_CHAR_HIRAGANA): New macro.
2957         (MAX_CHAR_HIRAGANA): New macro.
2958         (MIN_CHAR_KATAKANA): New macro.
2959         (MAX_CHAR_KATAKANA): New macro.
2960         (MAKE_CHAR): Modify for new coded-charset definition; use
2961         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2962         `XCHARSET_BYTE_OFFSET'.
2963
2964 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2965
2966         * mule-charset.c (CHAR96): Deleted.
2967         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2968         <Lisp_Object>.
2969         (latin_iso8859_2_to_ucs): Likewise.
2970         (latin_iso8859_3_to_ucs): Likewise.
2971         (latin_iso8859_4_to_ucs): Likewise.
2972         (latin_iso8859_9_to_ucs): Likewise.
2973         (latin_viscii_lower_to_ucs): Likewise.
2974         (latin_viscii_upper_to_ucs): Likewise.
2975         (latin_tcvn5712_to_ucs): Commented out.
2976         (make_charset): Change type of argument `decoding_table' from
2977         <Emchar*> to <Lisp_Object> [vector of characters].
2978         (Fmake_charset): Modify for `make_charset'.
2979         (Fmake_reverse_direction_charset): Likewise.
2980         (Fcharset_mapping_table): New function in UTF-2000.
2981         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2982         UTF-2000.
2983         (complex_vars_of_mule_charset): Modify for type change of
2984         `*_to_ucs'; modify for `make_charset'.
2985
2986         * char-ucs.h (struct Lisp_Charset): Change type of
2987         `decoding_table' from <Emchar*> to <Lisp_Object>.
2988         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2989
2990 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2991
2992         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2993         error with non-UTF-2000-Mule.
2994
2995 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2996
2997         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2998         in lisp again].
2999         (Vcharset_chinese_cns11643_4): Likewise.
3000         (Vcharset_chinese_cns11643_5): Likewise.
3001         (Vcharset_chinese_cns11643_6): Likewise.
3002         (Vcharset_chinese_cns11643_7): Likewise.
3003         (Qchinese_cns11643_3): Likewise.
3004         (Qchinese_cns11643_4): Likewise.
3005         (Qchinese_cns11643_5): Likewise.
3006         (Qchinese_cns11643_6): Likewise.
3007         (Qchinese_cns11643_7): Likewise.
3008         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3009         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3010         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3011         (complex_vars_of_mule_charset): Likewise.
3012
3013 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3014
3015         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3016         96-set.
3017         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3018         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3019
3020 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3021
3022         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3023         0xFF60.
3024         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3025         (breakup_char_1): Likewise.
3026
3027         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3028         one of them includes the specified character.
3029
3030 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3031
3032         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3033
3034 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3035
3036         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3037
3038 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3039
3040         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3041         definition for non-UTF-2000 Mule.
3042         (latin_iso8859_3_to_ucs): Likewise.
3043         (latin_iso8859_4_to_ucs): Likewise.
3044         (latin_iso8859_9_to_ucs): Likewise.
3045         (latin_jisx0201_to_ucs): Likewise.
3046         (MIN_CHAR_THAI): Likewise.
3047         (MAX_CHAR_THAI): Likewise.
3048         (MIN_CHAR_GREEK): Likewise.
3049         (MAX_CHAR_GREEK): Likewise.
3050         (MIN_CHAR_HEBREW): Likewise.
3051         (MAX_CHAR_HEBREW): Likewise.
3052         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3053         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3054         (MIN_CHAR_CYRILLIC): Likewise.
3055         (MAX_CHAR_CYRILLIC): Likewise.
3056
3057 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3058
3059         * char-ucs.h (breakup_char_1): Use
3060         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3061         thai-tis620 and katakana-jisx0201 area.
3062
3063 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3064
3065         * char-ucs.h (breakup_char_1): Use
3066         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3067         area.
3068
3069         * text-coding.c (reset_encoding_stream): Fixed.
3070         (char_encode_ucs4): Delete `& 255'.
3071
3072         * char-ucs.h (breakup_char_1): Use
3073         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3074
3075 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3076
3077         * file-coding.c (Fmake_coding_system): Don't set up
3078         `codesys->fixed.size'.
3079         (encode_coding_no_conversion): Don't refer
3080         `str->codesys->fixed.size'.
3081
3082 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3083
3084         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3085         (latin_a_char_to_byte1): Deleted.
3086         (latin_a_char_to_byte2): Deleted.
3087
3088 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3089
3090         * mule-charset.c (make_charset): Add new argument `ucs_min',
3091         `ucs_max' and `code_offset'.
3092         (charset_get_byte1): New implementation [delete specific charset
3093         depended implementations].
3094         (Fmake_charset): Modify for `make_charset'.
3095         (Fmake_reverse_direction_charset): Likewise.
3096         (complex_vars_of_mule_charset): Likewise.
3097
3098         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3099         `code_offset'.
3100         (CHARSET_UCS_MIN): New macro.
3101         (CHARSET_UCS_MAX): New macro.
3102         (CHARSET_CODE_OFFSET): New macro.
3103         (MAKE_CHAR): Delete charset depended definitions [except
3104         katakana-jisx0201].
3105
3106 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3107
3108         * char-ucs.h (breakup_char_1): Use
3109         `Vdefault_coded_charset_priority_list' for C0-Controls,
3110         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3111
3112 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3113
3114         * char-ucs.h (charset_get_byte1): New function.
3115         (XCHARSET_GET_BYTE1): Deleted.
3116         (charset_get_byte2): New function.
3117         (XCHARSET_GET_BYTE2): Deleted.
3118         (Vdefault_coded_charset_priority_list): New external variable.
3119         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3120         `Vdefault_preferred_coded_charset_list'.
3121
3122         * mule-charset.c (charset_get_byte1): New function.
3123         (charset_get_byte2): New function.
3124         (Vdefault_coded_charset_priority_list): New variable.
3125         (vars_of_mule_charset): Add new variable
3126         `default-coded-charset-priority-list'.
3127
3128 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3129
3130         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3131         (XCHARSET_GET_BYTE2): New inline function.
3132         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3133         `XCHARSET_GET_BYTE2'.
3134
3135 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3136
3137         * mule-charset.c (make_charset): Initialize
3138         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3139         NULL if table is not defined.
3140
3141 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3142
3143         * text-coding.c (char_encode_shift_jis): Use
3144         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3145         `ucs_to_latin_jisx0201'.
3146
3147         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3148         (ucs_to_latin_iso8859_2): Deleted.
3149         (ucs_to_latin_iso8859_3): Deleted.
3150         (ucs_to_latin_iso8859_4): Deleted.
3151         (ucs_to_latin_iso8859_9): Deleted.
3152         (ucs_to_latin_viscii_lower): Deleted.
3153         (ucs_to_latin_viscii_upper): Deleted.
3154         (ucs_to_latin_tcvn5712): Deleted.
3155         (make_charset): Add new argument `decoding_table'; set up
3156         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3157         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3158         `decoding_table' is defined in UTF-2000.
3159         (Fmake_charset): Modify for `make_charset'.
3160         (Fmake_reverse_direction_charset): Likewise.
3161         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3162         and `GENERATE_96_SET'.
3163
3164         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3165         (ucs_to_latin_jisx0201): Deleted.
3166         (latin_iso8859_2_to_ucs): Deleted.
3167         (ucs_to_latin_iso8859_2): Deleted.
3168         (latin_iso8859_3_to_ucs): Deleted.
3169         (ucs_to_latin_iso8859_3): Deleted.
3170         (latin_iso8859_4_to_ucs): Deleted.
3171         (ucs_to_latin_iso8859_4): Deleted.
3172         (latin_iso8859_9_to_ucs): Deleted.
3173         (ucs_to_latin_iso8859_9): Deleted.
3174         (latin_viscii_lower_to_ucs): Deleted.
3175         (ucs_to_latin_viscii_lower): Deleted.
3176         (latin_viscii_upper_to_ucs): Deleted.
3177         (ucs_to_latin_viscii_upper): Deleted.
3178         (struct Lisp_Charset): Renamed `encoding_table' to
3179         `to_byte1_table'; add `to_byte2_table'.
3180         (CHARSET_DECODING_TABLE): New macro.
3181         (CHARSET_TO_BYTE1_TABLE): New macro.
3182         (CHARSET_TO_BYTE2_TABLE): New macro.
3183         (XCHARSET_DECODING_TABLE): New macro.
3184         (XCHARSET_TO_BYTE1_TABLE): New macro.
3185         (XCHARSET_TO_BYTE2_TABLE): New macro.
3186         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3187         tables.
3188         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3189         don't use `ucs_to_*' tables.
3190
3191 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3192
3193         * text-coding.c (Fmake_coding_system): Don't set up
3194         `codesys->fixed.size'.
3195         (encode_coding_no_conversion): Use `if' instead of `switch'.
3196
3197         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3198
3199 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3200
3201         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3202         (Fmake_charset): Modify for `make_charset'.
3203         (Fmake_reverse_direction_charset): Likewise.
3204         (complex_vars_of_mule_charset): Likewise.
3205
3206 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3207
3208         * text-coding.c (char_encode_shift_jis): Use table
3209         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3210
3211 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3212
3213         * text-coding.c (text_encode_generic): Use `if' instead of
3214         `switch'.
3215         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3216         decode JIS-Latin.
3217
3218 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3219
3220         * text-coding.c (encode_coding_sjis): Deleted.
3221         (char_encode_shift_jis): New function.
3222         (char_finish_shift_jis): New function.
3223         (reset_encoding_stream): Set up `encode_char' and `finish' for
3224         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3225         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3226         (char_encode_utf8): Treat `eol_type'.
3227
3228 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3229
3230         * file-coding.c (decode_coding_iso2022): Use
3231         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3232
3233 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3234
3235         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3236         to 0.7 (Hirano).
3237
3238 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3239
3240         * char-lb.h (CHAR_COLUMNS): New macro.
3241
3242 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3243
3244         * text-coding.c (char_encode_ucs4): New function.
3245         (char_finish_ucs4): New function.
3246         (encode_coding_ucs4): Deleted.
3247         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3248         (text_encode_generic): Delete local variable `charset' and `half'.
3249         (ucs_to_mule_table): Deleted.
3250         (mule_to_ucs_table): Deleted.
3251         (Fset_ucs_char): Deleted.
3252         (ucs_to_char): Deleted.
3253         (Fucs_char): Deleted.
3254         (Fset_char_ucs): Deleted.
3255         (Fchar_ucs): Deleted.
3256         (decode_ucs4): Deleted.
3257         (mule_char_to_ucs4): Deleted.
3258         (encode_ucs4): Deleted.
3259         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3260         (decode_coding_utf8): Likewise.
3261         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3262         (char_encode_iso2022): Fixed.
3263         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3264         `Fset_char_ucs' and `Fchar_ucs'.
3265         (complex_vars_of_file_coding): Don't initialize
3266         `ucs_to_mule_table'.
3267
3268         * objects-tty.c (tty_initialize_font_instance): Don't use
3269         `XCHARSET_COLUMNS'.
3270
3271         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3272         UTF-2000.
3273
3274         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3275         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3276
3277         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3278         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3279         (emchar_string_displayed_columns): Likewise.
3280
3281         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3282         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3283         (string_column_at_point): Likewise.
3284         (Fmove_to_column): Likewise.
3285
3286         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3287         `encoding_table' and `decoding_table'.
3288         (CHARSET_REP_BYTES): Deleted.
3289         (XCHARSET_REP_BYTES): Deleted.
3290         (XCHARSET_COLUMNS): Deleted.
3291         (CHAR_COLUMNS): New macro.
3292         (lookup_composite_char): Deleted unconditionally.
3293         (composite_char_string): Likewise.
3294
3295 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3296
3297         * char-ucs.h (Emchar_to_byte_table): New type.
3298         (get_byte_from_character_table): New function interface.
3299         (Vcharset_latin_jisx0201): New variable.
3300         (latin_jisx0201_to_ucs): New variable.
3301         (ucs_to_latin_jisx0201): New variable.
3302         (Vcharset_latin_iso8859_2): New variable.
3303         (latin_iso8859_2_to_ucs): New variable.
3304         (ucs_to_latin_iso8859_2): New variable.
3305         (Vcharset_latin_iso8859_3): New variable.
3306         (latin_iso8859_3_to_ucs): New variable.
3307         (ucs_to_latin_iso8859_3): New variable.
3308         (Vcharset_latin_iso8859_4): New variable.
3309         (latin_iso8859_4_to_ucs): New variable.
3310         (ucs_to_latin_iso8859_4): New variable.
3311         (Vcharset_latin_iso8859_9): New variable.
3312         (latin_iso8859_9_to_ucs): New variable.
3313         (ucs_to_latin_iso8859_9): New variable.
3314         (Vcharset_latin_viscii_lower): New variable.
3315         (latin_viscii_lower_to_ucs): New variable.
3316         (ucs_to_latin_viscii_lower): New variable.
3317         (Vcharset_latin_viscii_upper): New variable.
3318         (latin_viscii_upper_to_ucs): New variable.
3319         (ucs_to_latin_viscii_upper): New variable.
3320         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3321         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3322         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3323         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3324         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3325         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3326         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3327         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3328         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3329         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3330
3331         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3332         (Vcharset_latin_viscii_upper): New variable.
3333         (make_byte_from_character_table): New function.
3334         (put_byte_from_character_table): New function.
3335         (get_byte_from_character_table): New function.
3336         (CHAR96): New macro.
3337         (ucs_to_latin_jisx0201): New variable.
3338         (latin_jisx0201_to_ucs): New variable.
3339         (ucs_to_latin_iso8859_2): New variable.
3340         (latin_iso8859_2_to_ucs): New variable.
3341         (ucs_to_latin_iso8859_3): New variable.
3342         (latin_iso8859_3_to_ucs): New variable.
3343         (ucs_to_latin_iso8859_4): New variable.
3344         (latin_iso8859_4_to_ucs): New variable.
3345         (ucs_to_latin_iso8859_9): New variable.
3346         (latin_iso8859_9_to_ucs): New variable.
3347         (ucs_to_latin_viscii_lower): New variable.
3348         (latin_viscii_lower_to_ucs): New variable.
3349         (ucs_to_latin_viscii_upper): New variable.
3350         (latin_viscii_upper_to_ucs): New variable.
3351         (ucs_to_latin_tcvn5712): New variable.
3352         (latin_tcvn5712_to_ucs): New variable.
3353         (Qlatin_viscii_lower): New variable.
3354         (Qlatin_viscii_upper): New variable.
3355         (syms_of_mule_charset): Set up new symbol
3356         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3357         (complex_vars_of_mule_charset): Set up new charset
3358         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3359         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3360         `ucs_to_<CHARSET>' tables.
3361
3362 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3363
3364         * text-coding.c: New file.
3365
3366 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3367
3368         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3369
3370         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3371         (MAKE_CHAR): Modify for `ucs-bmp'.
3372         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3373         non-MULE characters of BMP.
3374
3375 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3376
3377         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3378         to 0.6.
3379
3380 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3381
3382         * lstream.h:
3383         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3384         - Include character.h for `CHAR_ASCII_P'.
3385
3386         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3387
3388         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3389         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3390
3391         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3392         (BYTE_C0_P): Likewise.
3393         (BYTE_C1_P): Likewise.
3394         (Lstream_get_emchar_1): Likewise.
3395         (Lstream_fput_emchar): Likewise.
3396         (Lstream_funget_emchar): Likewise.
3397         (copy_internal_to_external): Likewise.
3398         (copy_external_to_internal): Likewise.
3399
3400         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3401         (BYTE_C0_P): Likewise.
3402         (BYTE_C1_P): Likewise.
3403         (Lstream_get_emchar_1): Likewise.
3404         (Lstream_fput_emchar): Likewise.
3405         (Lstream_funget_emchar): Likewise.
3406         (copy_internal_to_external): Likewise.
3407         (copy_external_to_internal): Likewise.
3408
3409         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3410         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3411
3412         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3413         (BYTE_ASCII_P): Moved to mb-1byte.h.
3414
3415 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3416
3417         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3418
3419         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3420         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3421         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3422         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3423         (VALIDATE_CHARPTR_FORWARD): Likewise.
3424         (simple_charptr_emchar): Moved to mb-multibyte.h.
3425         (simple_set_charptr_emchar): Likewise.
3426         (simple_charptr_copy_char): Likewise.
3427         (non_ascii_charptr_emchar): Likewise.
3428         (non_ascii_set_charptr_emchar): Likewise.
3429         (non_ascii_charptr_copy_char): Likewise.
3430         (charptr_emchar): Moved to mb-*byte.h.
3431         (set_charptr_emchar): Likewise.
3432         (charptr_copy_char): Likewise.
3433
3434         * mb-1byte.h, mb-multibyte.h: New files.
3435
3436 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3437
3438         * mb-utf-8.h (MULTIBYTE): New macro.
3439         (MAX_EMCHAR_LEN): Moved from buffer.h.
3440         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3441
3442         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3443
3444         * mb-lb.h, multibyte.h: New files.
3445
3446         * char-1byte.h (Charset_ID): Moved from buffer.h.
3447         (MIN_LEADING_BYTE): Likewise.
3448         (LEADING_BYTE_ASCII): Likewise.
3449         (NUM_LEADING_BYTES): Likewise.
3450         (CHARSETP): Likewise.
3451         (CHARSET_BY_LEADING_BYTE): Likewise.
3452         (XCHARSET_LEADING_BYTE): Likewise.
3453         (XCHARSET_GRAPHIC): Likewise.
3454         (XCHARSET_COLUMNS): Likewise.
3455         (XCHARSET_DIMENSION): Likewise.
3456         (CHAR_CHARSET): Likewise.
3457         (CHAR_LEADING_BYTE): Likewise.
3458         (BREAKUP_CHAR): Likewise.
3459         (Vcharset_ascii): Likewise.
3460
3461         * buffer.h: Include multibyte.h unconditionally.
3462         (VALID_CHARPTR_P): Moved to multibyte.h.
3463         (ASSERT_VALID_CHARPTR): Likewise.
3464         (REAL_INC_CHARPTR): Likewise.
3465         (REAL_INC_CHARBYTIND): Likewise.
3466         (REAL_DEC_CHARPTR): Likewise.
3467         (INC_CHARPTR): Likewise.
3468         (INC_CHARBYTIND): Likewise.
3469         (DEC_CHARPTR): Likewise.
3470         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3471         (VALIDATE_CHARPTR_FORWARD): Likewise.
3472         (charptr_n_addr): Likewise.
3473         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3474         (simple_charptr_emchar): Moved to multibyte.h.
3475         (simple_set_charptr_emchar): Likewise.
3476         (simple_charptr_copy_char): Likewise.
3477         (non_ascii_charptr_emchar): Likewise.
3478         (non_ascii_set_charptr_emchar): Likewise.
3479         (non_ascii_charptr_copy_char): Likewise.
3480         (charptr_emchar): Likewise.
3481         (set_charptr_emchar): Likewise.
3482         (charptr_copy_char): Likewise.
3483         (charptr_emchar_n): Likewise.
3484         (Charset_ID): Moved to char-1byte.h.
3485         (Vcharset_ascii): Likewise.
3486         (CHAR_CHARSET): Likewise.
3487         (CHAR_LEADING_BYTE): Likewise.
3488         (LEADING_BYTE_ASCII): Likewise.
3489         (NUM_LEADING_BYTES): Likewise.
3490         (MIN_LEADING_BYTE): Likewise.
3491         (CHARSETP): Likewise.
3492         (CHARSET_BY_LEADING_BYTE): Likewise.
3493         (XCHARSET_LEADING_BYTE): Likewise.
3494         (XCHARSET_GRAPHIC): Likewise.
3495         (XCHARSET_COLUMNS): Likewise.
3496         (XCHARSET_DIMENSION): Likewise.
3497         (BREAKUP_CHAR): Likewise.
3498
3499 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3500
3501         * character.h: Add document about interface for characters.
3502
3503         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3504         (MAKE_CHAR): Delete comment about
3505         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3506         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3507         (BREAKUP_CHAR): Modify name of arguments.
3508         (CHAR_CHARSET): Modify name of argument.
3509
3510         * buffer.h: Delete document about Emchar accessors.
3511
3512 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3513
3514         * character.h (CHAR_INTP): Moved from buffer.h
3515         (CHAR_OR_CHAR_INTP): Likewise.
3516         (XCHAR_OR_CHAR_INT): Likewise.
3517         (CHECK_CHAR_COERCE_INT): Likewise.
3518
3519         * buffer.h (CHAR_INTP): Moved to character.h
3520         (CHAR_OR_CHAR_INTP): Likewise.
3521         (XCHAR_OR_CHAR_INT): Likewise.
3522         (CHECK_CHAR_COERCE_INT): Likewise.
3523
3524 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3525
3526         * character.h:
3527         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3528         - Include char-1byte.h, char-lb.h or char-ucs.h.
3529
3530         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3531
3532         * buffer.h: Include character unconditionally.
3533         (valid_char_p): Moved to char-*.h.
3534         (non_ascii_valid_char_p): Moved to char-lb.h.
3535
3536         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3537
3538 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3539
3540         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3541         in UTF-2000 because it is not ported yet and not to use
3542         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3543         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3544         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3545
3546         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3547         (CHAR_ASCII_P): Moved from character.h.
3548
3549         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3550         (CHAR_ASCII_P): Likewise.
3551         (CHAR_FIELD1_MASK): Deleted.
3552         (CHAR_FIELD2_MASK): Deleted.
3553         (CHAR_FIELD3_MASK): Deleted.
3554         (MAX_CHAR_BASIC_LATIN): New macro.
3555         (CHAR_FIELD1): Deleted.
3556         (CHAR_FIELD2_INTERNAL): Deleted.
3557         (CHAR_FIELD3_INTERNAL): Deleted.
3558         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3559         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3560         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3561         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3562         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3563         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3564         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3565         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3566         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3567         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3568         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3569         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3570         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3571         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3572         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3573         (MIN_CHAR_COMPOSITION): Deleted.
3574         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3575         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3576
3577 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3578
3579         * buffer.h: Include mb-utf-8.h in UTF-2000.
3580
3581         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3582
3583         * mb-utf-8.h: New file.
3584
3585 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3586
3587         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3588         instead of `int'.
3589
3590         * mule-charset.h, buffer.h (Charset_ID): New type.
3591
3592 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3593
3594         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3595         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3596         instead of `MULE_CHAR_PRIVATE_OFFSET',
3597         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3598         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3599         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3600
3601         * character.h (Vcharset_japanese_jisx0212): New variable
3602         definition.
3603
3604 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3605
3606         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3607         (charset_by_attributes): Delete array about direction.
3608         (latin_a_char_to_charset): New variable in UTF-2000.
3609         (latin_a_char_to_byte1): New variable in UTF-2000.
3610         (latin_a_char_to_byte2): New variable in UTF-2000.
3611         (Qucs_bmp): New variable.
3612         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3613         `Bufbyte'.
3614         (next_allocated_2_byte_leading_byte): Likewise.
3615         (non_ascii_set_charptr_emchar): Likewise.
3616         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3617         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3618         `charset_by_attributes'.
3619         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3620         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3621         and `CHARSET_BY_LEADING_BYTE'.
3622         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3623         `utf-2000-version' to `vars_of_mule_charset'.
3624         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3625         define `leading-code-private-11' in UTF-2000; move setting of
3626         `utf-2000-version' from `syms_of_mule_charset'.
3627         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3628         UTF-2000.
3629
3630         * character.h (Charset_ID): New type.
3631         (LEADING_BYTE_UCS_BMP): New macro.
3632         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3633         (CHARSET_ID_OFFSET_94): New macro.
3634         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3635         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3636         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3637         final-byte.
3638         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3639         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3640         (CHARSET_ID_OFFSET_96): New macro.
3641         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3642         CHARSET_ID_OFFSET_96 and final-byte.
3643         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3644         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3645         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3646         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3647         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3648         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3649         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3650         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3651         (LEADING_BYTE_THAI_TIS620): Likewise.
3652         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3653         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3654         (CHARSET_ID_OFFSET_94x94): New macro.
3655         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3656         CHARSET_ID_OFFSET_94x94 and final-byte.
3657         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3658         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3659         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3660         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3661         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3662         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3663         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3664         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3665         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3666         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3667         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3668         (CHARSET_TYPE_128X128): New macro.
3669         (CHARSET_TYPE_256X256): New macro.
3670         (XCHARSET_PRIVATE_P): Delete unconditionally.
3671         (charset_by_attributes): Delete array about direction.
3672         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3673         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3674         (MIN_CHAR_94): New macro.
3675         (MAX_CHAR_94): New macro.
3676         (MIN_CHAR_96): New macro.
3677         (MAX_CHAR_96): New macro.
3678         (MIN_CHAR_94x94): New macro.
3679         (MAX_CHAR_94x94): New macro.
3680         (MIN_CHAR_96x96): New macro.
3681         (MAX_CHAR_96x96): New macro.
3682         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3683         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3684         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3685         - 32)'.
3686         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3687         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3688         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3689         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3690         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3691         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3692         `XCHARSET_LEADING_BYTE' to make code-point.
3693         (latin_a_char_to_charset): New variable.
3694         (latin_a_char_to_byte1): New variable.
3695         (latin_a_char_to_byte2): New variable.
3696         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3697         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3698         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3699
3700         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3701         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3702         (find_charsets_in_emchar_string): Likewise.
3703         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3704
3705         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3706         `int'.
3707         (decode_coding_iso2022): Likewise.
3708
3709         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3710         of `unsigned char'.
3711
3712         * redisplay.c (redisplay_text_width_emchar_string): Use
3713         `Charset_ID' instead of `unsigned char'.
3714         (redisplay_frame_text_width_string): Likewise.
3715
3716         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3717         `unsigned char'.
3718
3719         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3720         instead of `unsigned char'.
3721         (face_cachel_charset_font_metric_info): Likewise.
3722
3723         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3724         (get_non_ascii_char_table_value): Likewise.
3725         (get_char_table): Likewise.
3726         (put_char_table): Likewise.
3727         (map_over_other_charset): Likewise.
3728         (map_char_table): Likewise.
3729
3730         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3731         instead of `unsigned char'.
3732
3733 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3734
3735         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3736         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3737
3738         * mule-charset.c (leading_code_private_11): Don't define in
3739         UTF-2000.
3740
3741         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3742         in UTF-2000 because it is not ported yet and not to use
3743         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3744
3745 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3746
3747         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3748
3749 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3750
3751         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3752         in UTF-2000.
3753
3754         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3755         of unsigned char to store leading-byte.
3756
3757         * chartab.c (get_non_ascii_char_table_value): Don't use
3758         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3759
3760         * file-coding.c (encode_coding_big5): Delete bogus implementation
3761         in UTF2000.
3762
3763         * character.h (LEADING_BYTE_*): Delete definition for
3764         non-UTF-2000.
3765         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3766         (LEADING_BYTE_PREFIX_P): Deleted.
3767         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3768         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3769         (BUFBYTE_LEADING_BYTE_P): Deleted.
3770         (CHARSET_PRIVATE_P): Deleted unconditionally.
3771         (rep_bytes_by_first_byte): Deleted unconditionally.
3772         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3773         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3774         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3775         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3776         (CHAR_FIELD2): Deleted.
3777         (CHAR_FIELD3): Deleted.
3778         (MAKE_CHAR): Delete definition for non-UTF-2000.
3779         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3780         (breakup_char_1): New implementation.
3781         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3782         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3783
3784 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3785
3786         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3787         condition.
3788
3789 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3790
3791         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3792         (CHARSET_PRIVATE_P): Likewise.
3793         (XCHARSET_PRIVATE_P): Likewise.
3794         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3795
3796         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3797         UTF2000.
3798         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3799
3800 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3801
3802         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3803         (NUM_LEADING_BYTES): Changed from 128 to 256.
3804         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3805         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3806         UTF2000.
3807         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3808
3809         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3810         UTF2000.
3811         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3812         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3813         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3814         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3815         (Qchinese_cns11643_3): New variable in UTF2000.
3816         (Qchinese_cns11643_4): New variable in UTF2000.
3817         (Qchinese_cns11643_5): New variable in UTF2000.
3818         (Qchinese_cns11643_6): New variable in UTF2000.
3819         (Qchinese_cns11643_7): New variable in UTF2000.
3820         (syms_of_mule_charset): Define `chinese-cns11643-3',
3821         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3822         and `chinese-cns11643-7' in UTF2000.
3823         (vars_of_mule_charset): Initialize
3824         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3825         + 1 in UTF2000.
3826         (complex_vars_of_mule_charset): Setup charset
3827         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3828         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3829
3830 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3831
3832         * mule-charset.c: Move setting for `leading-code-private-11' from
3833         `syms_of_mule_charset' to `vars_of_mule_charset'.
3834
3835 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3836
3837         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3838         and `NUM_LEADING_BYTES' in assert.
3839
3840 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3841
3842         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3843         instead of 128.
3844         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3845         `NUM_LEADING_BYTES' instead of 128.
3846
3847 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3848
3849         * mule-charset.h (charset_by_leading_byte): Use
3850         `NUM_LEADING_BYTES' instead of 128.
3851         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3852
3853         * mule-charset.c (charset_by_leading_byte): Use
3854         `NUM_LEADING_BYTES' instead of 128.
3855         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3856
3857         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3858         128.
3859
3860 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3861
3862         * mule-charset.c (syms_of_mule_charset): Update to
3863         0.4 (Shin-Imamiya).
3864
3865 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3866
3867         * file-coding.c (encode_coding_sjis): New implementation for
3868         UTF2000.  (decode_coding_sjis): Ditto.
3869
3870 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3871
3872         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3873         Don't define in UTF2000.
3874
3875         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3876         defined.
3877
3878         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3879         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3880         MULE.
3881
3882 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3883
3884         * config.h.in (CHAR_IS_UCS4): New macro.
3885
3886         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3887         conventional MULE representation.
3888         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3889
3890         * mule-charset.h: Reverted to original.
3891
3892         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3893         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3894         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3895
3896         * character.h: New file.
3897
3898         * file-coding.c (Fmake_coding_system): Set 1 to
3899         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3900         defined.
3901         (encode_coding_no_conversion): New implementation for UTF2000.
3902
3903         * file-coding.h (struct Lisp_Coding_System): Add new member
3904         `fixed.size'.
3905
3906 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3907
3908         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3909         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3910         (encode_coding_iso2022): New implementation for UTF2000.
3911
3912 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3913
3914         * mule-canna.c (c2mu): New implementation for UTF2000.
3915         (m2c): Likewise.
3916
3917 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3918
3919         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3920
3921 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3922
3923         * file-coding.c (reset_encoding_stream): Set 0 to
3924         `str->iso2022.current_char_boundary' in UTF2000.
3925         (encode_utf8): Don't define in UTF2000.
3926         (encode_coding_utf8): New implementation for UTF-8 representation
3927         of UTF2000.
3928         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3929
3930 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3931
3932         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3933
3934         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3935         UTF2000.
3936         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3937
3938         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3939
3940         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3941         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3942         as UTF-8 in UTF2000.
3943         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3944         (non_ascii_valid_char_p): Don't define in UTF2000.
3945         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3946         (Lstream_get_emchar_1): Likewise.
3947         (utf-2000-version): New variable in UTF2000.
3948
3949         * lread.c (read_escape): Add new reader `u'.
3950
3951         * insdel.c (three_to_one_table): Don't define in UTF2000.
3952         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3953         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3954         UTF2000.
3955         (bytind_to_bufpos_func): Likewise.
3956         (buffer_mule_signal_inserted_region): Likewise.
3957         (vars_of_insdel): Don't initialize `three_to_one_table'.
3958         (init_buffer_text): Use `buf->text->mule_size' instead of
3959         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3960         UTF2000.
3961
3962         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3963         UTF-8 representation in UTF2000.
3964         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3965         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3966         (decode_coding_iso2022): Don't define local variable `lb' in
3967         UTF2000; don't use LEADING_BYTE in UTF2000; use
3968         `DECODE_ADD_UCS_CHAR' in UTF2000.
3969         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3970
3971         * config.h.in (UTF2000): New macro.
3972
3973         * buffer.h (struct buffer_text): Add new member `mule_size' and
3974         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3975         (valid_char_p): Return always 1 in UTF2000.
3976         (MAX_EMCHAR_LEN): 6 in UTF2000.
3977         (three_to_one_table): Don't define in UTF2000.
3978         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3979         UTF2000.
3980         (real_bytind_to_bufpos): Likewise.
3981
3982         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3983
3984 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3985
3986         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3987         representation change.
3988         (Vutf_2000_version): New variable.
3989         (leading_code_private_11): New variable.
3990         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3991         `leading-code-private-11'.
3992
3993         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3994         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3995         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3996         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3997         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3998         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3999         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4000         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4001         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4002         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4003         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4004         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4005         (MIN_CHAR_GREEK): New macro.
4006         (MAX_CHAR_GREEK): New macro.
4007         (MIN_CHAR_CYRILLIC): New macro.
4008         (MAX_CHAR_CYRILLIC): New macro.
4009         (MIN_CHAR_HEBREW): New macro.
4010         (MAX_CHAR_HEBREW): New macro.
4011         (MIN_CHAR_THAI): New macro.
4012         (MAX_CHAR_THAI): New macro.
4013         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4014         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4015         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4016         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4017         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4018         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4019         (CHAR_FIELD2): New inline function.
4020         (CHAR_FIELD3): New inline function.
4021         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4022         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4023         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4024         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4025         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4026         (MIN_CHAR_COMPOSITION): Likewise.
4027         (CHAR_LEADING_BYTE): Modified for character representation change.
4028         (MAKE_CHAR): Likewise.
4029
4030         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4031         (Vcharset_greek_iso8859_7): Likewise.
4032         (Vcharset_cyrillic_iso8859_5): Likewise.
4033         (Vcharset_hebrew_iso8859_8): Likewise.
4034         (Vcharset_thai_tis620): Likewise.
4035         (Vcharset_katakana_jisx0201): Likewise.
4036
4037 2001-02-08  Martin Buchholz <martin@xemacs.org>
4038
4039         * XEmacs 21.2.44 "Thalia" is released.
4040
4041 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4042
4043         Fixes crashes in kill-emacs on some systems.
4044         * process-unix.c (unix_kill_child_process):
4045         It's OK for kill() to fail with ESRCH.
4046
4047 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4048
4049         Contortions to make .gdbinit tricks work on most systems.
4050         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
4051         * alloc.c (dbg_valmask): Make non-const.
4052         * alloc.c (dbg_typemask): Make non-const.
4053         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
4054         * alloc.c (dbg_valbits): Make non-const.
4055         * alloc.c (dbg_gctypebits): Make non-const.
4056         * .gdbinit (decode_object): Make it work with AIX cc.
4057
4058 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4059
4060         * elhash.c (make_general_lisp_hash_table):
4061         Use simpler and more efficient calloc to clear entries.
4062
4063 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4064
4065         * window.c (window_scroll): Work around an AIX C compiler bug.
4066         Fixes 'scroll-up' does nothing problem with xlC.
4067
4068 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4069
4070         * .gdbinit: Remove obsolete comment.
4071
4072 2001-01-31  Mike Alexander  <mta@arbortext.com>
4073
4074         * select.c (Fown_selection_internal): Set owned_p for device
4075         method correctly.
4076
4077 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4078
4079         Port to g++ 2.97.
4080         "not" cannot be used as a macro name as it is an operator in C++
4081         * config.h.in: Stop #defining `not'.
4082         * chartab.c (check_category_char): not ==> not_p
4083         * chartab.h: Likewise.
4084         * regex.c (re_match_2_internal): Likewise.
4085
4086 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4087
4088         * lisp-disunion.h: Fix up comments.
4089
4090 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4091
4092         * keymap.c (define_key_check_and_coerce_keysym):
4093         (syms_of_keymap):
4094         Support mouse-6 and mouse-7 bindings in the obvious way.
4095
4096 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4097
4098         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4099
4100 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4101
4102         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4103         Previous patch missed DEFVAR_INT_MAGIC.
4104         Make sure future DEFVAR_foo use correct types.
4105         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4106         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4107         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4108         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4109         * (DEFVAR_INT): Likewise.
4110         * redisplay.c (vertical_clip): Should be of type Fixnum.
4111         * redisplay.c (horizontal_clip): Likewise.
4112         * lisp.h (dump_add_opaque_int): New.
4113         (dump_add_opaque_fixnum): New.
4114
4115 2001-01-29  Andy Piper  <andy@xemacs.org>
4116
4117         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4118         since they can be eval'ed
4119
4120 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4121
4122         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4123         Oops, XEmacs redefines `class'.  Use `typename' instead.
4124
4125 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4126
4127         * dumper.c: Fix C++ compile errors.
4128
4129 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4130
4131         * tparam.c: Use correct prototypes.
4132
4133 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4134
4135         * sysproc.h: #include util.h for NetBSD's openpty.
4136
4137 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4138
4139         More 64-bit correctness.
4140         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4141         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4142         Fix up comments.
4143         This finally finishes the 64-bit SGI port.
4144         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4145         * symbols.c: Fix up comments and type casts.
4146         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4147         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4148         * symeval.h (Fixnum): New type.
4149         * symeval.h (symbol_value_type): Fix up comment.
4150
4151         * commands.h:
4152         * nt.c:
4153         * emacs.c:
4154         * data.c:
4155         * redisplay.c:
4156         * abbrev.c:
4157         * dired-msw.c:
4158         * event-Xt.c:
4159         * eldap.c:
4160         * window.c:
4161         * sound.c:
4162         * event-stream.c:
4163         * eval.c:
4164         * buffer.c:
4165         * mule-canna.c: A million DEFVAR_INTs here...
4166         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4167         * extents.c:
4168         * cmdloop.c:
4169         * lisp.h:
4170         * select-x.c:
4171         * console-x.h:
4172         * event-msw.c:
4173         * mule-wnnfns.c:
4174         * hpplay.c:
4175         * ralloc.c:
4176         * alloc.c:
4177         * keymap.c:
4178         * profile.c:
4179         s/int/Fixnum/g in DEFVAR_INT declarations.
4180
4181 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4182
4183         Port pdump to SGI alignment-sensitive environment.
4184         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4185         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4186         properly aligned.
4187         Define and use aligned reading and writing macros.
4188         Use buffered stdio instead of posix i/o for faster dumping.
4189         Eliminate kludgy 256 byte space for header.
4190         Read and write from dump file using structs for alignment safety.
4191         * dumper.c (pdump_align_stream): New.
4192         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4193         * dumper.c (PDUMP_READ_ALIGNED): New.
4194         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4195         * dumper.c (pdump_static_Lisp_Object): New struct.
4196         * dumper.c (pdump_static_pointer): New struct.
4197         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4198         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4199         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4200         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4201
4202         * dumper.c (pdump_backtrace):
4203         * dumper.c (pdump_get_indirect_count):
4204         * dumper.c (pdump_register_object):
4205         * dumper.c (pdump_register_struct):
4206         * dumper.c (pdump_reloc_one):
4207         * dumper.c (pdump_scan_by_alignment):
4208         * dumper.c (pdump_dump_from_root_struct_ptrs):
4209         * dumper.c (pdump_dump_opaques):
4210         * dumper.c (pdump_dump_rtables):
4211         * dumper.c (pdump_dump_from_root_objects):
4212         * dumper.c (pdump):
4213         * dumper.c (pdump_load_finish):
4214         Use aligned reading and writing.
4215
4216         * dumper.c (pdump_free): Make static.
4217         * dumper.c (pdump_hFile): Likewise.
4218         * dumper.c (pdump_hMap): Likewise.
4219
4220 2001-01-26  Martin Buchholz <martin@xemacs.org>
4221
4222         * XEmacs 21.2.43 "Terspichore" is released.
4223
4224 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4225
4226         Type fiddling for window_config.saved_windows_count
4227         * window.c (struct window_config): 
4228         Make saved_windows_count member unsigned.
4229         * window.c (sizeof_window_config_for_n_windows): 
4230         Make parameter unsigned.
4231         * window.c (mark_window_config):
4232         * window.c (window_config_equal):
4233         * window.c (free_window_configuration):
4234         * window.c (Fset_window_configuration):
4235         * window.c (count_windows):
4236         * window.c (Fcurrent_window_configuration):
4237         * window.c (reinit_vars_of_window):
4238         Update all callers and users.
4239
4240 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4241
4242         Alignment correctness for flexible arrays.
4243         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4244         Make alignment-correct. Add interesting comments.
4245         * alloc.c (size_vector):
4246         * alloc.c (make_vector_internal):
4247         * alloc.c (make_bit_vector_internal):
4248         * alloc.c (sweep_bit_vectors_1):
4249         * fns.c (size_bit_vector):
4250         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4251         * window.c (sizeof_window_config_for_n_windows): 
4252         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4253
4254 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4255
4256         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4257
4258 2001-01-23  Andy Piper  <andy@xemacs.org>
4259
4260         * select.c (Fown_selection_internal): pass owned_p
4261
4262         * select-msw.c (mswindows_own_selection): New Signature.
4263
4264         * console.h (struct console_methods): add owned_p to
4265         _own_selection.
4266
4267         * select-x.c (x_own_selection): pass owned_p
4268         (hack_motif_clipboard_selection): use owned_p
4269         (vars_of_select_x): new variable -
4270         x_selection_strict_motif_ownership.
4271
4272 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4273
4274         * specifier.h (specifier_data_offset): Remove pointless parens.
4275         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4276
4277 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4278
4279         Make Lisp_Object sizeof methods be alignment-correct.
4280         pdump must restore objects to the same alignment as the C compiler
4281         assumes.  It really matters on SGIs.
4282         * lstream.c (aligned_sizeof_lstream): New.
4283         (sizeof_lstream): Use aligned_sizeof_lstream.
4284         (Lstream_new): Likewise.
4285         * opaque.c (aligned_sizeof_opaque): New.
4286         (sizeof_opaque): Use aligned_sizeof_opaque.
4287         (make_opaque): Likewise.
4288         * specifier.c (aligned_sizeof_specifier): New.
4289         (sizeof_specifier): Use aligned_sizeof_specifier.
4290         (make_specifier_internal): Likewise.
4291
4292 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4293
4294         * lstream.h (struct lstream): Use max_align_t for trailing data.
4295         * specifier.h (struct Lisp_Specifier): Likewise.
4296
4297 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4298
4299         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4300         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4301         (CCL_SUSPEND): Likewise.
4302         (CCL_INVALID_CMD): Likewise.
4303         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4304         (ccl_driver): Likewise.
4305         (CCL_WRITE_CHAR): Macro hygiene.
4306         (CCL_WRITE_STRING): Macro hygiene.
4307
4308 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4309
4310         Port "portable" dumper to SunOS 4 and HP-UX.
4311         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4312         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4313         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4314
4315 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4316
4317         * lisp.h (ALIGNOF): A better definition for C++.
4318
4319 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4320
4321         Macro hygiene.
4322         Fix printf warnings: int format, long int arg.
4323         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4324         (PUSH_FAILURE_POINT): Use correct printf formats.
4325         (POP_FAILURE_POINT): Use correct printf formats.  
4326         Use do {...} while (0)
4327
4328 2001-01-20  Martin Buchholz <martin@xemacs.org>
4329
4330         * XEmacs 21.2.42 "Poseidon" is released.
4331
4332 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4333
4334         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4335
4336 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4337
4338         De-kludgify FIXED_TYPE free list frobbing.
4339         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4340         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4341         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4342         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4343         * alloc.c (LRECORD_FREE_P): New.
4344         * alloc.c (MARK_LRECORD_AS_FREE): New.
4345         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4346         * alloc.c (STRUCT_FREE_P): Deleted.
4347         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4348         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4349         * alloc.c (STRING_CHARS_FREE_P): New.
4350         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4351         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4352         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4353         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4354         * alloc.c (resize_string): Use new definitions.
4355         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4356         * alloc.c (verify_string_chars_integrity): Use new definitions.
4357         * alloc.c (compact_string_chars): Use new definitions.
4358         * alloc.c: Update monster comments.
4359         * lrecord.h (lrecord_type): Add some new lrecord types for
4360         alloc.c's use.
4361
4362 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4363
4364         Improve alignment hackery.
4365         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4366         (max_align_t): Moved from opaque.h - general purpose.
4367         (ALIGN_PTR): Use size_t, not long.
4368         * opaque.h (max_align_t): Move to lisp.h.
4369
4370 2001-01-18  Norbert Koch  <nk@LF.net>
4371
4372         * gui.h: Fix and add prototypes to fix build problems.
4373
4374 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4375
4376         temacs is going away, so `dump-temacs' is now a bad name.
4377         * .dbxrc (dump-temacs): Rename to `dmp'.
4378         * .gdbinit (dump-temacs): Rename to `dmp'.
4379
4380 2001-01-17  Andy Piper  <andy@xemacs.org>
4381
4382         * glyphs.c (print_image_instance): comment to make martin happy.
4383
4384         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4385         change.
4386
4387         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4388         activation.
4389         (mswindows_tab_control_redisplay): warning suppression.
4390
4391         * glyphs-widget.c (widget_update): re-write to cope with updated
4392         items.
4393         (widget_instantiate): use new gui_item functions.
4394         (tab_control_update): deleted.
4395         (progress_gauge_update): deleted.
4396         (image_instantiator_progress_guage): take out update reference.
4397         (image_instantiator_tree_view): ditto.
4398         (image_instantiator_tab_control): ditto.
4399
4400         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4401         Right the new way.
4402         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4403         return whether anything was changed.
4404         (update_gui_item_keywords): as it sounds.
4405
4406         * gui.h: declare widget_gui_parse_item_keywords.
4407
4408         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4409         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4410
4411 2001-01-17  Martin Buchholz <martin@xemacs.org>
4412
4413         * XEmacs 21.2.41 "Polyhymnia" is released.
4414
4415 2001-01-16  Didier Verna  <didier@xemacs.org>
4416
4417         * glyphs.c (image_instantiate): don't use fallbacks when
4418         instantiating a face's background pixmap by inheritance.
4419
4420 2001-01-14  Mike Sperber <mike@xemacs.org>
4421
4422         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4423         Conditionalize accordingly.
4424
4425 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4426
4427         * dumper.c (pdump_file_get): Fix a compiler warning.
4428
4429 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4430
4431         Make Purify happy when pdumping.
4432         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4433         iniitalizing all bits of new lisp object memory.
4434         * symbols.c (Fmake_local_variable): Likewise.
4435         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4436         * symbols.c (Fdefvaralias): Likewise.
4437         * mule-charset.c (vars_of_mule_charset): Likewise.
4438
4439 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4440         Add the `-nd' flag when running pre-dump operations under the debugger.
4441         * .dbxrc (run-temacs): Add `-nd'.
4442         * .dbxrc (update-elc): Likewise.
4443         * .dbxrc (dump-temacs): Likewise.
4444         * .gdbinit (run-temacs): Likewise.
4445         * .gdbinit (check-temacs): Likewise.
4446         * .gdbinit (update-elc): Likewise.
4447         * .gdbinit (dump-temacs): Likewise.
4448
4449 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4450
4451         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4452         export OBJECT_MODE=64
4453         configure --pdump --use-union-type=no
4454         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4455         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4456
4457         * miscplay.c (sndcnv8U_2mono):
4458         Avoid two uses of `++' in the same expression.
4459         Suppresses a GCC warning.
4460
4461 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4462
4463         Make sure future compilers don't miscompile alloc.c.
4464         * alloc.c:
4465         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4466         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4467
4468 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4469
4470         * dumper.c: A little post-pdump-rename comment fixup.
4471
4472 2001-01-09  Jerry James  <james@eecs.ku.edu>
4473
4474         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4475
4476 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4477
4478         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4479         script:
4480         #!/bin/sh
4481         replace_symbol () {
4482           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4483         }
4484
4485         replace_symbol pdump_wire_lists pdump_weak_object_chains
4486         replace_symbol pdump_wire_list dump_add_weak_object_chain
4487
4488         replace_symbol pdump_wires pdump_root_objects
4489         replace_symbol pdump_wire dump_add_root_object
4490
4491         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4492         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4493
4494         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4495         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4496         replace_symbol dumpstructinfo pdump_root_struct_ptr
4497         replace_symbol dumpstruct dump_add_root_struct_ptr
4498
4499         replace_symbol dumpopaque dump_add_opaque
4500         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4501         replace_symbol dumpopaqueinfos pdump_opaques
4502         replace_symbol dumpopaqueinfo pdump_opaque
4503
4504         replace_symbol nb_structdump nb_root_struct_ptrs
4505         replace_symbol nb_opaquedump nb_opaques
4506
4507         replace_symbol align_table pdump_align_table
4508         replace_symbol dump_header pdump_header
4509
4510         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4511         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4512
4513
4514 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4515
4516         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4517         optimizing bytecount_to_charcount().
4518
4519 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4520
4521         * config.h.in:
4522         (HAVE_DLFCN_H): Removed.
4523         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4524
4525 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4526
4527         Portable dumper maintainability improvements.
4528         * alloc.c (staticpro):
4529         * alloc.c (staticpro_nodump):
4530         * alloc.c (garbage_collect_1):
4531         * alloc.c (reinit_alloc_once_early):
4532         * alloc.c (init_alloc_once_early):
4533         * alloc.c: Move dumper functions to alloc.c.
4534         * dumper.c (pdump_backtrace):
4535         * dumper.c (pdump_dump_structs):
4536         * dumper.c (pdump_dump_opaques):
4537         * dumper.c (pdump_dump_rtables):
4538         * dumper.c (pdump_dump_wired):
4539         * dumper.c (pdump):
4540         * dumper.c (pdump_load_check):
4541         * dumper.c (pdump_load_finish):
4542         * dumper.c (pdump_file_unmap):
4543         * dumper.c (pdump_file_get):
4544         * dumper.c (pdump_resource_free):
4545         * dumper.c (pdump_resource_get):
4546         * dumper.c (pdump_file_free):
4547         * dumper.c (pdump_file_try):
4548         * dumper.c (pdump_load):
4549         Remove fixed size limits on staticpro(), staticpro_nodump(),
4550         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4551         Remove custom code for dumping lrecord_implementations_table - use
4552         dumpopaque instead.
4553         Remove (most of the) custom code for dumping staticpros - dump it
4554         like any other dynarr.
4555
4556         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4557         * dumper.c: Moved functions from alloc.c.
4558         * alloc.c (dumpstruct): Moved to dumper.c.
4559         * alloc.c (dumpopaque): Likewise.
4560         * alloc.c (pdump_wire): Likewise.
4561         * alloc.c (pdump_wire_list): Likewise.
4562
4563         * lisp.h (Dynarr_sizeof): New.
4564         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4565         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4566         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4567
4568         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4569         * lisp.h (dumpopaque): ditto.
4570         * lisp.h (pdump_wire): ditto.
4571         * lisp.h (pdump_wire_list): ditto.
4572
4573 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4574
4575         * make-src-depend (PrintPatternDeps):
4576         Use `sort' to make output independent of perl version.
4577
4578 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4579
4580         Port to Netbsd 1.5.
4581         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4582         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4583
4584 2001-01-03  Didier Verna  <didier@xemacs.org>
4585
4586         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4587         that `focus_frame' is alive before thinking of calling
4588         `redisplay_redraw_cursor' on it.
4589
4590 2001-01-08  Martin Buchholz <martin@xemacs.org>
4591
4592         * XEmacs 21.2.40 is released.
4593
4594 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4595
4596         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4597
4598 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4599
4600         * alloc.c (dbg_valmask): Make const.
4601         * alloc.c (dbg_typemask): Make const.
4602         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4603         * alloc.c (dbg_valbits): Make const.
4604         * alloc.c (dbg_gctypebits): Make const.
4605
4606 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4607
4608         * redisplay-x.c (x_bevel_area):
4609         redisplay.h (struct rune):
4610         Typo fixes in comments.
4611
4612 2001-01-05  Andy Piper  <andy@xemacs.org>
4613
4614         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4615         adjustment.
4616
4617         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4618
4619 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4620
4621         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4622
4623         * mule-ccl.c (stack_idx_of_map_multiple):
4624         Non const global data must not be initialized!
4625         Found by MIYASHITA Hisashi.
4626
4627 2001-01-02  Andy Piper  <andy@xemacs.org>
4628
4629         * frame.c (change_frame_size): make sure frame size is always
4630         marked as changed.
4631
4632         * glyphs.c (image_instance_layout): minor code reuse.
4633
4634         * window.c (Fcurrent_window_configuration): revert previous
4635         change.
4636
4637 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4638
4639         * glyphs.h:
4640         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4641
4642 2000-12-31  Andy Piper  <andy@xemacs.org>
4643
4644         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4645         when widget gets unmapped.
4646
4647         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4648         function. Make sure widgets losing focus don't just drop it.
4649         (handle_focus_event_1): record the widget with focus.
4650
4651 2000-12-31  Andy Piper  <andy@xemacs.org>
4652
4653         * window.c (allocate_window): use
4654         make_image_instance_cache_hash_table.
4655         (make_dummy_parent): ditto.
4656         (Fset_window_configuration): ditto.
4657
4658         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4659
4660         * glyphs.c (process_image_string_instantiator): use
4661         INSTANTIATOR_TYPE.
4662         (get_image_instantiator_governing_domain): ditto.
4663         (normalize_image_instantiator): ditto.
4664         (instantiate_image_instantiator): ditto.
4665         (make_image_instance_1): ditto.
4666         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4667         (instantiator_eq_equal): new function for use with instance hash
4668         tables.
4669         (instantiator_eq_hash): ditto.
4670         (make_image_instance_cache_hash_table): create a suitable hash
4671         table for storing image instances.
4672
4673         * elhash.h (hash_table_weakness): new internal weakness type
4674         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4675         declare new functions.
4676
4677         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4678         another weakness type for glyphs.
4679         (make_standard_lisp_hash_table): new function split out from
4680         make_general_lisp_hash_table.
4681         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4682         (hash_table_instantiate): ditto.
4683         (Fmake_hash_table): ditto.
4684
4685 2000-12-31  Martin Buchholz <martin@xemacs.org>
4686
4687         * XEmacs 21.2.39 is released.
4688
4689 2000-12-29  Andy Piper  <andy@xemacs.org>
4690
4691         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4692
4693         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4694         the frame has changed so that we pick up geometry changes such as
4695         menubar visibility.
4696
4697 2000-12-28  Andy Piper  <andy@xemacs.org>
4698
4699         * lastfile.c (my_ebss): make a char array so we can pad the
4700         bss. Fixes cygwin unexec.
4701
4702         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4703
4704 2000-12-26  Andy Piper  <andy@xemacs.org>
4705
4706         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4707         comments and try and be more precise about a non-/SIGIO world.
4708         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4709         SIGIO.
4710
4711         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4712         we don't normalize to zero width or height.
4713
4714 2000-12-24  Andy Piper  <andy@xemacs.org>
4715
4716         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4717
4718 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4719
4720         * s/sco5.h: SCO 5 has pty support.
4721
4722 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4723
4724         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4725         input-method-xlib.c contains whole contents of input-method-xfs.c,
4726         so we can use input-method-xlib.c's code for USE_XFONTSET
4727         using #ifdefs.
4728         * input-method-xfs.c: removed.
4729
4730 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4731
4732         * file-coding.h (enum coding_category_type): reorder enumerators to
4733         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4734         (now one greater than largest real coding_category_type enumerator).
4735         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4736         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4737         Fcoding_category_list, Fset_coding_priority_list,
4738         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4739         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4740
4741 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4742
4743         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4744         * redisplay-output.c (redisplay_output_window): Clear top of window
4745         when face is changed.
4746         * redisplay-x.c (x_redraw_exposed_window): Call
4747         redisplay_clear_top_of_window.
4748         * redisplay.h: Publish redisplay_clear_top_of_window.
4749
4750 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4751
4752         * buffer.c (Fkill_buffer): Map over all devices.
4753         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4754         (list_windows): New function.
4755         (list_all_windows): Ditto.
4756         (Freplace_buffer_in_windows): Use them.
4757
4758 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4759
4760         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4761         (Fopen_database): Use `db_create' instead of `db_open'.
4762         (syms_of_database): Initialize Qqueue.
4763
4764 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4765
4766         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4767         buffer_local_face_property.
4768         * buffer.h (struct buffer): New member buffer_local_face_property.
4769         * window.c (Fset_window_buffer):  Mark window's face as changed
4770         when buffer has buffer local face.
4771         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4772         * objects.c (color_after_change): Set buffer_local_face_property
4773         when locale of face specifier is buffer.
4774         * objects.c (font_after_change): Ditto.
4775         * objects.c (face_boolean_after_change): Ditto.
4776         * glyphs.c (image_after_change): Ditto.
4777
4778 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4779
4780         * nt.c (mswindows_fstat): Report file permissions, volume serial
4781         number, etc. Code adapted from FSF Emacs 20.7.
4782
4783 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4784
4785         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4786         of stat when we don't have symbolic links, to make sure
4787         mswindows_stat is called on mswindows.
4788
4789 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4790
4791         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4792
4793 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4794
4795         * doprnt.c (emacs_doprnt_1): More printing fixes.
4796         Make printing of numbers compatible with libc and FSF Emacs.
4797         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4798         Use the system printf to do most of the hard work of formatting,
4799         instead of doprnt_1().
4800         Calculate memory to allocate for format string.
4801         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4802         (doprnt_1): Cleaner code and documentation.
4803
4804 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4805
4806         * Makefile.in.in: Use the loop variable to install headers.
4807
4808 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4809
4810         * window.c (Fsplit_window): Don't invalidate face cache.
4811
4812 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4813
4814         * minibuf.c (Fall_completions): Undo the previous change
4815         which removed checking elements start with space.
4816
4817 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4818
4819         * mule-canna.c: Didier suppression.
4820
4821 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4822
4823         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4824         (warning suppression).  Add English comment translations.
4825
4826 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4827
4828         * unexelfsgi.c (unexec): Better test for mmap failure.
4829
4830 2000-12-05  Martin Buchholz <martin@xemacs.org>
4831
4832         * XEmacs 21.2.38 is released.
4833
4834 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4835
4836         * redisplay.c (bar-cursor): Make a user variable.
4837
4838         * symsinit.h: Add init_postgresql_from_environment.
4839
4840 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4841
4842         * regex.c: Convert to clean C.
4843
4844 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4845
4846         * realpath.c:
4847         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4848         initialization.
4849         (sys_readlink): renamed to system_readlink to avoid conflict with
4850         the other sys_readlink.
4851
4852 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4853
4854         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4855
4856 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4857
4858         * postgresql.c (init_postgresql_from_environment): new function.
4859         (vars_of_postgresql): Move code initializing Lisp variables out and
4860         into init_postgresql_from_environment.
4861         emacs.c (main_1): Call init_postgresql_from_environment if and only
4862         if running a dumped XEmacs.
4863
4864 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4865
4866         * buffer.c: Make find-file-compare-truenames default to true on
4867         windows.
4868
4869         * realpath.c (win32_abs_start):
4870         (cygwin_readlink):
4871         (win32_readlink): New functions.
4872         (xrealpath): Return really real filenames on windows.
4873
4874         * fileio.c (Ffile_truename): Make file-truename work on windows.
4875
4876 2000-11-29  Didier Verna  <didier@xemacs.org>
4877
4878         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4879         * faces.c (update_face_cachel_data): use it.
4880         * faces.c (add_face_cachel): use it. Complete background pixmap
4881         frobbing in face cache if `update_face_cachel_data' has not done so.
4882
4883 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4884
4885         * search.c (string_match_1): Don't set last_thing_searched
4886         when search failed.
4887
4888 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4889
4890         * buffer.c: Include casetab.h
4891         (common_init_complex_vars_of_buffer): Use new case-table object.
4892         * buffer.h: Include casetab.h
4893         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4894         (DOWNCASE_TABLE_OF): Ditto.
4895         * bufslots.h: Remove char-tables and add case-table.
4896         * casetab.c: Include casetab.h
4897         (CASE_TABLE_P): Removed.
4898         (mark_case_table): New function.
4899         (allocate_case_table): New function.
4900         (Fcase_table_p): Use new case-table.
4901         (case_table_char): New function.
4902         (Fget_case_table): Ditto.
4903         (Fput_case_table): Ditto.
4904         (Fput_case_table_pair): Ditto.
4905         (Fcopy_case_table): Ditto.
4906         (Fcurrent_case_table): Return case-table.
4907         (Fstandard_case_table): Return case-table.
4908         (Fset_case_table): Fix doc-string.
4909         (set_case_table): Use case-table
4910         (syms_of_casetab): DEFSUBR new functions.
4911         (complex_vars_of_casetab): Set up standard case-table.
4912         * casetab.h: New file.
4913         * editfns.c: Include casetab.h
4914         (Fcompare_buffer_substrings): Use case-table.
4915         * inline.c: Include casetab.h
4916         * lisp.h: Remove bogus extern.
4917         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4918         * search.c: Include casetab.h
4919         (TRANSLATE_ASCII): Removed.
4920         (TRANSLATE): Unconditionally translate character.
4921         (looking_at_1): Use case-table.
4922         (string_match_1): Ditto.
4923         (fast_string_match): Ditto.
4924         (search_command): Ditto.
4925         (search_buffer): Separate boyer_moore.  Check whether
4926         boyer_moore is possible.
4927         (simple_search): New function.
4928         (boyer_moore): Separated from search_buffer. Translate char.
4929
4930 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4931
4932         * regex.c (RE_TR_ASCII): Removed.
4933         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4934         (PATFETCH): Call PATFETCH_RAW.
4935         (PATFETCH_RAW): Fetch Emchar.
4936         (PATUNFETCH): Decrement charptr.
4937         (GET_BUFFER_SPACE): Rename b to buf_end.
4938         (BUF_PUSH): Ditto.
4939         (BUF_PUSH_2): Ditto.
4940         (BUF_PUSH_3): Ditto.
4941         (EXTEND_BUFFER): Ditto.
4942         (SET_LIST_BIT): Ditto.
4943         (regex_compile): Ditto.  Translate non ASCII char.
4944         (compile_range): Ditto.
4945         (re_search_2): Ditto.
4946         (re_match_2_internal): Compare Emchar.
4947         (bcmp_translate): Ditto.
4948
4949 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4950
4951         * lisp.h (basic char/int typedefs):  comment improvement.
4952
4953 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4954
4955         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4956         unstomp inhibit_site_lisp.  Improve comments.
4957
4958 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4959
4960         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4961
4962 2000-11-28  Andy Piper  <andy@xemacs.org>
4963
4964         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4965         clipped display for windows in the gutter also.
4966         (redisplay_display_boxes_in_window_p): change semantics of return
4967         codes to be more intuitive.
4968
4969         * gutter.h: declare display_boxes_in_gutter_p.
4970
4971         * gutter.c (display_boxes_in_gutter_p): new function for
4972         redisplay.
4973
4974 2000-11-22  Andy Piper  <andy@xemacs.org>
4975
4976         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4977         autodetect domain.
4978
4979 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4980
4981         * callproc.c (Fold_call_process_internal):
4982         * gpm.c (Freceive_gpm_event):
4983         (tty_get_foreign_selection): Might be just warning supression.
4984         * fileio.c (Fwrite_region_internal):
4985         (Fset_visited_file_modtime):
4986         * keymap.c (event_matches_key_specifier_p):
4987         Initialize GCPROed variable.
4988
4989         * menubar-x.c (command_builder_find_menu_accelerator):
4990         Initialize before use.
4991
4992 2000-11-23  Andy Piper  <andy@xemacs.org>
4993
4994         * unexcw.c (unexec): make the resulting executable executable.
4995
4996 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4997
4998         * doc.c (get_doc_string):
4999         Use size_t, not int, for result of XSTRING_LENGTH.
5000
5001         * cmds.c (Fdelete_char):
5002         * cmds.c (Fpoint_at_eol):
5003         * cmds.c (Fself_insert_command):
5004         Use EMACS_INT, not int, for result of XINT.
5005         Someday, someone will want to insert more than 2**31 identical characters.
5006
5007         * cmds.c (Fdelete_char):
5008         * cmds.c (Fdelete_backward_char):
5009         * syntax.c (Fforward_word):
5010         * syntax.c (Fforward_comment):
5011         Make COUNT argument optional, for consistency with forward-char et al.
5012
5013 2000-11-22  Martin Buchholz  <martin@xemacs.org>
5014
5015         * lisp.h:
5016         * print.c (long_to_string):
5017         Return a useful value: the pointer at end of data written.
5018
5019         * doprnt.c:
5020         Use `static const char * const' for constant strings.
5021         (union printf_arg): Delete `i', `ui' members.
5022         (get_doprnt_args):
5023         (emacs_doprnt_1):
5024         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
5025         Do all printf-ing via the `l' specifier.
5026         Use EMACS_INT instead of int.
5027         Optimize.
5028
5029 2000-11-20  Didier Verna  <didier@xemacs.org>
5030
5031         * faces.c (update_face_cachel_data): don't frob the background
5032         pixmap when the window is being created. The face is needed but
5033         does not exist yet.
5034
5035 2000-11-20  Andy Piper  <andy@xemacs.org>
5036
5037         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
5038         messing with a debug environment.
5039
5040 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5041
5042         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
5043
5044 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5045
5046         * casetab.c (Fcase_table_p): Fix compile error and crash.
5047
5048 2000-11-18  Philip Aston  <philipa@mail.com>
5049
5050         * s/cygwin32.h: Cygwin has SVR4-like pty support.
5051
5052 2000-11-18  Martin Buchholz  <martin@xemacs.org>
5053
5054         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
5055         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
5056
5057 2000-11-17  Martin Buchholz  <martin@xemacs.org>
5058
5059         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5060         * unexelf.c: Use HAVE_ELF_H.
5061         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5062         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5063         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5064         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5065         for testing.
5066         So this is an unexelfsgi.c from a different line of development.
5067
5068 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5069
5070         * regex.c (RE_TR_ASCII): New function.
5071         (RE_TRANSLATE): Call it.
5072
5073 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5074
5075         * buffer.h (TRT_TABLE_OF): Remove assert.
5076         (IN_TRT_TABLE_DOMAIN): Removed.
5077
5078 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5079
5080         * free-hook.c (log_gcpro):
5081         (show_gcprohist): Add support for GCPRO5.
5082
5083 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5084
5085         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5086
5087 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5088
5089         * symeval.h: Declare flush_all_buffer_local_cache.
5090
5091         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5092         (flush_buffer_local_cache): Added.
5093         (flush_all_buffer_local_cache): Added.
5094
5095         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5096
5097         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5098         (pdump_dump_data): Ditto.
5099         (pdump_reloc_one): Ditto.
5100         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5101         before dumping.
5102
5103
5104 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5105
5106         * buffer.c: Remove if 0'ed entry.
5107         * buffer.h: Rewrite TRT to use char-table.
5108         * bufslots.h: Remove mirror tables.
5109         * casetab.c: Remove mirror tables.
5110         (CASE_TABLE_P): New macro.
5111         (Fcase_table_p): Element of a case table is string or char-table.
5112         (make_mirror_trt_table): Removed.
5113         (set_case_table): Setup char-table from strings for backward
5114         compatibility.
5115         * dired.c (Fdirectory_files):
5116         * dired-msw.c: (mswindows_get_files):
5117         * lisp.h: Change prototype of re_pattern_buffer.
5118         * regex.c: (RE_TRANSLATE): New macro.
5119         (TRANSLATE_P): Ditto.
5120         Change translate to type RE_TRANSLATE_TYPE.
5121         * regex.h: Define RE_TRANSLATE_TYPE
5122         * search.c (TRANSLATE): New macro.
5123         (TRANSLATE_ASCII): New macro.
5124         Translate table is changed to Lisp_Object.
5125         (signal_failure): Inhibit return.
5126
5127 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5128
5129         * device-msw.c:
5130         * eldap.c:
5131         * event-Xt.c:
5132         * event-stream.c:
5133         * print.c:
5134         Do UNGCPRO before return.
5135
5136 2000-11-14  Martin Buchholz <martin@xemacs.org>
5137
5138         * XEmacs 21.2.37 is released.
5139
5140 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5141
5142         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5143         Add comments about discarded return value.
5144
5145 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5146
5147         * callint.c:
5148         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5149
5150 2000-10-27  Andy Piper  <andy@xemacs.org>
5151
5152         * gutter.c (Fset_default_gutter_position): default left and right
5153         gutters to visible.
5154         (calculate_gutter_size): calculate resonable heuristic for left
5155         and right gutter sizes.
5156         (specifier_vars_of_gutter): change left and right gutter sizes to
5157         autodetect.
5158         (calculate_gutter_size_from_display_lines): new function.
5159         (output_gutter): check for resizing on left and right gutters.
5160         (clear_gutter): don't special case top and left gutters.
5161         (specifier_vars_of_gutter): use new signature for
5162         set_specifier_caching.
5163
5164         * glyphs-x.c (x_redisplay_widget): spelling fix.
5165         * glyphs.c (specifier_vars_of_glyphs):
5166         * menubar.c (specifier_vars_of_menubar):
5167         * redisplay.c (specifier_vars_of_redisplay):
5168         * toolbar.c (specifier_vars_of_toolbar):
5169         * window.c (specifier_vars_of_window):
5170         * scrollbar.c (specifier_vars_of_scrollbar):
5171         (complex_vars_of_scrollbar): use new signature for
5172         set_specifier_caching.
5173
5174         * specifier.c (set_specifier_caching): include recompute flag.
5175         (recompute_one_cached_specifier_in_window): always recompute if
5176         flag set.
5177         (recompute_one_cached_specifier_in_frame): ditto.
5178
5179         * specifier.h (struct specifier_caching): add recompute flag.
5180
5181 2000-10-24  Andy Piper  <andy@xemacs.org>
5182
5183         * unexcw.c (copy_executable_and_dump_data_section): add new
5184         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5185         5.0 happy.
5186
5187 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5188
5189         * console-x.h (x_device): New member modifier_release_time.
5190         * event-Xt.c (x_handle_sticky_modifiers):
5191         Bound interval modifier keys are sticky.
5192         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5193         * events.h: extern it.
5194
5195 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5196
5197         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5198
5199 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5200
5201         * event-stream.c (execute_command_event): Preserve current_events
5202         and the like when event is misc-user-event.
5203         Inhibit quit during the call to maybe_echo_keys.
5204
5205 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5206
5207         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5208         symlink when buffer is killed.
5209         (inhibit_clash_detection): New variable.
5210
5211 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5212
5213         * console.c (Fset_input_method): Trigger redisplay on tty.
5214
5215 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5216
5217         * process.c (Fprocess_status): Revert to previous behavior:
5218         (process-status "nosuchprocess") ==> nil
5219
5220 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5221
5222         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5223         Work around another GCC 2.95.2 optimizer bug.
5224
5225 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5226
5227         * process.c (Fget_process): Use LIST_LOOP_2.
5228         (kill_buffer_processes): Use LIST_LOOP_2.
5229
5230         * minibuf.c (Fall_completions):
5231         Delete old non-functional code for FSF fourth argument.
5232
5233         * frame.c (frame_matches_frame_spec):
5234         Renamed from `frame_matches_frametype'.  Update all callers.
5235         (device_matches_device_spec):
5236         Renamed from 'device_matches_console_spec'.  Update all callers.
5237
5238         * doc.c (Fsubstitute_command_keys):
5239         Remove buffer overflow crash.  Small code cleanups.
5240
5241         * casetab.c (check_case_table): Simpler code.
5242
5243         * window.c (Freplace_buffer_in_windows):
5244         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5245         (and similar implementation) as Fdelete_windows_on.
5246         Update all callers.
5247
5248         * alloc.c (Fmake_list):
5249         * alloc.c (make_vector):
5250         * alloc.c (Fmake_vector):
5251         * alloc.c (make_bit_vector):
5252         * alloc.c (Fmake_bit_vector):
5253         * alloc.c (Fbit_vector):
5254         * alloc.c (Fmake_string):
5255         * alloc.c (Fpurecopy):
5256         * alloc.c (Fmemory_limit):
5257         * buffer.c:
5258         * buffer.c (Fget_buffer):
5259         * buffer.c (Fkill_buffer):
5260         * buffer.c (complex_vars_of_buffer):
5261         * bytecode.c (Fcompiled_function_stack_depth):
5262         * callint.c (Fprefix_numeric_value):
5263         * event-stream.c:
5264         * event-stream.c (Fread_key_sequence):
5265         * casetab.c:
5266         * casetab.c (Fcase_table_p):
5267         * casetab.c (check_case_table):
5268         * casetab.c (Fset_case_table):
5269         * casetab.c (Fset_standard_case_table):
5270         * chartab.c:
5271         * chartab.c (Fchar_table_type):
5272         * chartab.c (Freset_char_table):
5273         * chartab.c (Fget_char_table):
5274         * chartab.c (Fget_range_char_table):
5275         * chartab.c (Fput_char_table):
5276         * chartab.c (Fmap_char_table):
5277         * chartab.c (Fcategory_table_p):
5278         * chartab.c (Fcheck_category_at):
5279         * chartab.c (Fchar_in_category_p):
5280         * chartab.c (Fcategory_table):
5281         * chartab.c (Fcopy_category_table):
5282         * chartab.c (Fset_category_table):
5283         * chartab.c (Fcategory_designator_p):
5284         * chartab.c (Fcategory_table_value_p):
5285         * cmds.c (Fdelete_char):
5286         * cmds.c (Fdelete_backward_char):
5287         * cmds.c (Fself_insert_command):
5288         * cmds.c (Fself_insert_internal):
5289         * console.c (Fvalid_console_type_p):
5290         * console.c (Fcdfw_console):
5291         * console.c (Fconsole_type):
5292         * console.c (Fconsole_name):
5293         * console.c (Fconsole_device_list):
5294         * console.c (Fconsole_on_window_system_p):
5295         * data.c:
5296         * data.c (Feq):
5297         * data.c (Fold_eq):
5298         * data.c (Fsubr_interactive):
5299         * data.c (Fchar_to_int):
5300         * data.c (Fint_to_char):
5301         * data.c (Fsetcar):
5302         * data.c (Fsetcdr):
5303         * data.c (Fnumber_to_string):
5304         * data.c (Fstring_to_number):
5305         * data.c (Frem):
5306         * database.c (mark_database):
5307         * database.c (finalize_database):
5308         * database.c (Fdatabase_live_p):
5309         * database.c (Fdatabasep):
5310         * device-x.c (Fx_get_resource):
5311         * device.c (Fdfw_device):
5312         * dired.c:
5313         * dired.c (Ffile_name_completion):
5314         * dired.c (Ffile_name_all_completions):
5315         * dired.c (Fuser_name_completion):
5316         * dired.c (Fuser_name_completion_1):
5317         * dired.c (Fuser_name_all_completions):
5318         * doc.c (Fdocumentation):
5319         * doc.c (Fdocumentation_property):
5320         * doc.c (Fsubstitute_command_keys):
5321         * editfns.c:
5322         * editfns.c (Fchar_to_string):
5323         * editfns.c (Fstring_to_char):
5324         * editfns.c (Ftemp_directory):
5325         * editfns.c (Finsert_char):
5326         * editfns.c (Fbuffer_substring_no_properties):
5327         * editfns.c (Fnarrow_to_region):
5328         * editfns.c (Fchar_equal):
5329         * editfns.c (Fchar_Equal):
5330         * editfns.c (Ftranspose_regions):
5331         * emacs.c (Fdump_emacs):
5332         * eval.c (Fthrow):
5333         * eval.c (Fcommand_execute):
5334         * eval.c (Fautoload):
5335         * eval.c (Fbacktrace):
5336         * eval.c (Fbacktrace_frame):
5337         * events.c:
5338         * events.c (Fcopy_event):
5339         * events.c (Fcharacter_to_event):
5340         * events.c (Fevent_button):
5341         * events.c (Fevent_process):
5342         * extents.c:
5343         * extents.c (Fnext_extent_change):
5344         * extents.c (Fextent_property):
5345         * faces.c (Ffacep):
5346         * faces.c (Fmake_face):
5347         * file-coding.c:
5348         * file-coding.c (Fencode_shift_jis_char):
5349         * file-coding.c (Fencode_big5_char):
5350         * fileio.c (Ffile_name_directory):
5351         * fileio.c (Ffile_name_nondirectory):
5352         * fileio.c (Ffile_name_as_directory):
5353         * fileio.c (Fdirectory_file_name):
5354         * fileio.c (Ffile_truename):
5355         * fileio.c (Fsubstitute_in_file_name):
5356         * fileio.c (Ffile_modes):
5357         * fileio.c (Fset_file_modes):
5358         * fileio.c (Fset_default_file_modes):
5359         * fileio.c (Fverify_visited_file_modtime):
5360         * floatfns.c (Facos):
5361         * floatfns.c (Fasin):
5362         * floatfns.c (Fatan):
5363         * floatfns.c (Fcos):
5364         * floatfns.c (Fsin):
5365         * floatfns.c (Ftan):
5366         * floatfns.c (Fbessel_j0):
5367         * floatfns.c (Fbessel_j1):
5368         * floatfns.c (Fbessel_jn):
5369         * floatfns.c (Fbessel_y0):
5370         * floatfns.c (Fbessel_y1):
5371         * floatfns.c (Fbessel_yn):
5372         * floatfns.c (Ferf):
5373         * floatfns.c (Ferfc):
5374         * floatfns.c (Flog_gamma):
5375         * floatfns.c (Fexp):
5376         * floatfns.c (Fexpt):
5377         * floatfns.c (Flog):
5378         * floatfns.c (Flog10):
5379         * floatfns.c (Fsqrt):
5380         * floatfns.c (Fcube_root):
5381         * floatfns.c (Facosh):
5382         * floatfns.c (Fasinh):
5383         * floatfns.c (Fatanh):
5384         * floatfns.c (Fcosh):
5385         * floatfns.c (Fsinh):
5386         * floatfns.c (Ftanh):
5387         * floatfns.c (Fabs):
5388         * floatfns.c (Ffloat):
5389         * floatfns.c (Flogb):
5390         * floatfns.c (Fceiling):
5391         * floatfns.c (Ffloor):
5392         * floatfns.c (Fround):
5393         * floatfns.c (Ftruncate):
5394         * floatfns.c (Ffceiling):
5395         * floatfns.c (Fffloor):
5396         * floatfns.c (Ffround):
5397         * floatfns.c (Fftruncate):
5398         * fns.c (Fstring_equal):
5399         * fns.c (Fstring_lessp):
5400         * fns.c (concat2):
5401         * fns.c (concat3):
5402         * fns.c (vconcat2):
5403         * fns.c (vconcat3):
5404         * fns.c (Fsubstring):
5405         * fns.c (Fassoc):
5406         * fns.c (Fold_assoc):
5407         * fns.c (assoc_no_quit):
5408         * fns.c (Fassq):
5409         * fns.c (Fold_assq):
5410         * fns.c (assq_no_quit):
5411         * fns.c (Frassoc):
5412         * fns.c (Fold_rassoc):
5413         * fns.c (Frassq):
5414         * fns.c (Fold_rassq):
5415         * fns.c (rassq_no_quit):
5416         * fns.c (Fremassoc):
5417         * fns.c (remassoc_no_quit):
5418         * fns.c (Fremassq):
5419         * fns.c (remassq_no_quit):
5420         * fns.c (Fremrassoc):
5421         * fns.c (Fremrassq):
5422         * fns.c (remrassq_no_quit):
5423         * fns.c (Fsort):
5424         * fns.c (Fplist_get):
5425         * fns.c (Fplist_put):
5426         * fns.c (Fplist_remprop):
5427         * fns.c (Fplist_member):
5428         * fns.c (Flax_plist_get):
5429         * fns.c (Flax_plist_put):
5430         * fns.c (Flax_plist_remprop):
5431         * fns.c (Flax_plist_member):
5432         * fns.c (Fequal):
5433         * fns.c (Fold_equal):
5434         * fns.c (Frequire):
5435         * fns.c (Fbase64_encode_region):
5436         * fns.c (Fbase64_encode_string):
5437         * fns.c (Fbase64_decode_region):
5438         * frame.c:
5439         * frame.c (frame_matches_frame_spec):
5440         * frame.c (device_matches_device_spec):
5441         * frame.c (next_frame):
5442         * frame.c (previous_frame):
5443         * frame.c (Fnext_frame):
5444         * frame.c (Fprevious_frame):
5445         * frame.c (Fframe_property):
5446         * frame.c (Fset_frame_height):
5447         * frame.c (Fset_frame_size):
5448         * frame.h:
5449         * glyphs.c:
5450         * glyphs.c (if):
5451         * glyphs.c (decode_error_behavior_flag):
5452         * glyphs.c (Fmake_image_instance):
5453         * indent.c (Findent_to):
5454         * intl.c (Fignore_defer_gettext):
5455         * keymap.c (Fkeymapp):
5456         * keymap.c (Flookup_key):
5457         * lread.c:
5458         * lread.c (Fload_internal):
5459         * lread.c (Feval_buffer):
5460         * lread.c (Feval_region):
5461         * macros.c (Fexecute_kbd_macro):
5462         * marker.c (set_marker_internal):
5463         * marker.c (Fset_marker):
5464         * marker.c (set_marker_restricted):
5465         * marker.c (Fcopy_marker):
5466         * marker.c (noseeum_copy_marker):
5467         * menubar.c:
5468         * menubar.c (Fpopup_menu):
5469         * minibuf.c:
5470         * mule-charset.c (Fcharset_name):
5471         * mule-charset.c (Fchar_charset):
5472         * mule-charset.c (Fchar_octet):
5473         * mule-charset.c (Fsplit_char):
5474         * mule-wnnfns.c (Fwnn_open):
5475         * mule-wnnfns.c (Fwnn_dict_comment):
5476         * mule-wnnfns.c (Fwnn_quit_henkan):
5477         * mule-wnnfns.c (Fwnn_word_toroku):
5478         * mule-wnnfns.c (Fwnn_word_sakujo):
5479         * mule-wnnfns.c (Fwnn_word_use):
5480         * mule-wnnfns.c (Fwnn_hindo_set):
5481         * objects.c:
5482         * objects.c (Fmake_color_instance):
5483         * objects.c (Fmake_font_instance):
5484         * print.c (Fwrite_char):
5485         * process.c:
5486         * process.c (mark_process):
5487         * process.c (print_process):
5488         * process.c (get_process_from_usid):
5489         * process.c (Fprocessp):
5490         * process.c (Fprocess_live_p):
5491         * process.c (Fget_process):
5492         * process.c (Fget_buffer_process):
5493         * process.c (get_process):
5494         * process.c (Fprocess_id):
5495         * process.c (Fprocess_name):
5496         * process.c (Fprocess_command):
5497         * process.c (init_process_io_handles):
5498         * process.c (start_process_unwind):
5499         * process.c (Fstart_process_internal):
5500         * process.c (Fopen_multicast_group_internal):
5501         * process.c (Fset_process_window_size):
5502         * process.c (read_process_output):
5503         * process.c (send_process):
5504         * process.c (Fprocess_tty_name):
5505         * process.c (Fset_process_buffer):
5506         * process.c (Fprocess_buffer):
5507         * process.c (Fprocess_mark):
5508         * process.c (set_process_filter):
5509         * process.c (Fset_process_filter):
5510         * process.c (Fprocess_filter):
5511         * process.c (Fprocess_send_region):
5512         * process.c (Fprocess_send_string):
5513         * process.c (exec_sentinel):
5514         * process.c (Fset_process_sentinel):
5515         * process.c (Fprocess_sentinel):
5516         * process.c (status_notify):
5517         * process.c (Fprocess_status):
5518         * process.c (Fprocess_exit_status):
5519         * process.c (process_send_signal):
5520         * process.c (Fprocess_send_eof):
5521         * process.c (deactivate_process):
5522         * process.c (remove_process):
5523         * process.c (Fdelete_process):
5524         * process.c (kill_buffer_processes):
5525         * process.c (Fprocess_kill_without_query):
5526         * process.c (Fprocess_kill_without_query_p):
5527         * rangetab.c:
5528         * rangetab.c (Fget_range_table):
5529         * rangetab.c (Fput_range_table):
5530         * rangetab.c (Fremove_range_table):
5531         * rangetab.c (Fclear_range_table):
5532         * search.c:
5533         * search.c (Fskip_chars_forward):
5534         * search.c (Fskip_chars_backward):
5535         * search.c (Fskip_syntax_forward):
5536         * search.c (Fskip_syntax_backward):
5537         * search.c (search_command):
5538         * search.c (Freplace_match):
5539         * search.c (Fregexp_quote):
5540         * select.c (Fown_selection_internal):
5541         * select.c (Fselection_owner_p):
5542         * select.c (Fselection_exists_p):
5543         * select.c (Fget_selection_internal):
5544         * specifier.c:
5545         * symbols.c:
5546         * symbols.c (Fintern):
5547         * symbols.c (Fintern_soft):
5548         * symbols.c (Funintern):
5549         * symbols.c (Fapropos_internal):
5550         * symbols.c (Fset_default):
5551         * syntax.c:
5552         * syntax.c (Fsyntax_table_p):
5553         * syntax.c (Fcopy_syntax_table):
5554         * syntax.c (Fset_syntax_table):
5555         * syntax.c (Fchar_syntax):
5556         * syntax.c (syntax_match):
5557         * syntax.c (Fmatching_paren):
5558         * syntax.c (Fforward_word):
5559         * syntax.c (scan_lists):
5560         * syntax.c (Fscan_lists):
5561         * syntax.c (Fscan_sexps):
5562         * syntax.c (Fparse_partial_sexp):
5563         * toolbar.c (Fcheck_toolbar_button_syntax):
5564         * tooltalk.doc:
5565         * window.c:
5566         * window.c (Fwindowp):
5567         * window.c (Fwindow_live_p):
5568         * window.c (Fwindow_point):
5569         * window.c (Fdelete_window):
5570         * window.c (Fnext_window):
5571         * window.c (Fprevious_window):
5572         * window.c (Fother_window):
5573         * window.c (window_loop):
5574         * window.c (Fget_lru_window):
5575         * window.c (Fsplit_window):
5576         * window.c (Fenlarge_window):
5577         * window.c (Fenlarge_window_pixels):
5578         * window.c (Fshrink_window):
5579         * window.c (Fshrink_window_pixels):
5580         * window.c (change_window_height):
5581         * window.c (Fwindow_configuration_p):
5582         * window.c (Fcurrent_window_configuration):
5583         * window.h:
5584         * casefiddle.c (casify_object):
5585         * casefiddle.c (Fupcase):
5586         * casefiddle.c (Fdowncase):
5587         * casefiddle.c (Fcapitalize):
5588         * casefiddle.c (Fupcase_initials):
5589         * casefiddle.c (casify_region_internal):
5590         * casefiddle.c (casify_region):
5591         * casefiddle.c (Fupcase_region):
5592         * casefiddle.c (Fdowncase_region):
5593         * casefiddle.c (Fcapitalize_region):
5594         * casefiddle.c (Fupcase_initials_region):
5595         * casefiddle.c (Fupcase_word):
5596         * casefiddle.c (Fdowncase_word):
5597         * casefiddle.c (Fcapitalize_word):
5598         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5599         Replace 0 with '\0' when working with bytes.
5600         Replace initial "(" with "\(" in docstrings.
5601
5602 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5603
5604         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5605
5606         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5607
5608 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5609
5610         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5611
5612 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5613
5614         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5615         correctly.
5616
5617 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5618
5619         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5620         (inhibit_auto_save_session): New variable.
5621         (vars_of_fileio): Declare and initialize them.
5622         * fileio.c (Fdo_auto_save): Don't create session file if
5623         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5624
5625 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5626
5627         * sgiplay.c (play_internal): C++ compilability.
5628         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5629         * callproc.c (Fold_call_process_internal):
5630         Remove unused vars `env', `first'.
5631         * scrollbar.c (update_scrollbar_instance):
5632         #### unused var `current_window'.
5633         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5634         etc. within #ifdef NOT_YET.
5635         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5636         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5637         * specifier.c (specifier_instance):
5638         #### unused var `tag'.
5639         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5640
5641 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5642
5643         * fns.c (Fbutlast):
5644         * fns.c (list_sort):
5645         * fns.c (Ffillarray):
5646         * fns.c (bytecode_nconc2):
5647         * fns.c (Fnconc):
5648         * fns.c (mapcar1):
5649         * fns.c (Fmapconcat):
5650         Be pedantically 64-bit correct.  For the time when someone will
5651         want to have a list with length > 2**32.
5652
5653         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5654         Work around MIPSpro compiler bug.
5655
5656         * process-unix.c (unix_kill_child_process): Add snarky comment.
5657         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5658
5659         * config.h.in: Oops, _getpt ==> _getpty
5660
5661 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5662
5663         * config.h.in:
5664         * regex.c:
5665         Use void*, not char*, as return type of alloca().
5666
5667         * alloc.c (free_marker): Side effect inside assert expression!
5668
5669 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5670
5671         * mule-charset.c (Fset_charset_ccl_program): To check
5672         if the given ccl program is valid, use setup_ccl_program()
5673         instead of CHECK_VECTOR().
5674         (Fmake_charset): Likewise.
5675
5676 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5677
5678         * faces.c (get_extent_fragment_face_cache_index):
5679         Fix cachel.merged_faces memory leak.
5680
5681 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5682
5683         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5684         Reset MSB of octets obtained by DECODE_SJIS
5685         because of the incompatibility with Emacs.
5686         (ccl_driver)<CCL_ENCODE_SJIS>:
5687         Set MSB of octets before passing them to
5688         ENCODE_SJIS because of the incompatibility
5689         with Emacs.
5690
5691 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5692
5693         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5694         (DECLARE_LRECORD): Undo the last change.
5695         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5696
5697 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5698
5699         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5700         the implementation to lrecord_implementations_table.
5701
5702 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5703
5704         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5705         initial value of `lrecord_type_##c_name' and
5706         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5707         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5708         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5709         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5710         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5711
5712 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5713
5714         * miscplay.c (sndcnv8S_2mono):
5715         (sndcnv2monounsigned):
5716         (sndcnvULaw_2linear):
5717         (sndcnv16swap):
5718         Remove implementation-defined behavior.
5719
5720 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5721
5722         * input-method-xlib.c: Warning suppression.
5723
5724 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5725
5726         * mule-ccl.c: Sync up with Emacs 21.0.90.
5727         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5728         Do nothing.
5729         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5730         Likewise.
5731         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5732         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5733         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5734         leading char belongs to official 2-dimensional charset.
5735         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5736         write the given character as is.  Otherwise,
5737         if it is a multibyte char, convert it by
5738         non_ascii_set_charptr_emchar, then write it.
5739         (CCL_WRITE_STRING): Likewise.
5740         (ccl_get_compiled_code): New function.
5741         (setup_ccl_program): When ccl_prog is invalid,
5742         return -1.
5743         (Fregister_code_conversion_map): New function.
5744         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5745
5746         * mule-ccl.h: Sync up with Emacs 21.0.90.
5747         (Fregister_ccl_program): export it.
5748
5749         * redisplay-msw.c (separate_textual_runs):
5750         If ccl program is not valid, don't do ccl conversion.
5751
5752         * redisplay-x.c (separate_textual_runs): Ditto.
5753
5754         * file-coding.c (Fmake_coding_system):
5755         When type is ccl and value is vector, register it
5756         with a proper symbol.  And checks whether the
5757         given ccl program is valid.
5758         (mule_decode): When calling ccl_driver, if src indicates
5759         NULL pointer, set an empty string instead.
5760         (mule_encode): Likewise.
5761
5762 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5763
5764         The following large batch of changes gets us back to a state of
5765         C++ compilability.  Extbyte is now a char, which means that
5766         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5767
5768         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5769
5770         * sound.c (Fplay_sound): Type correctness.
5771
5772         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5773         (x_get_window_property): Type correctness.
5774         (receive_incremental_selection): unsigned char ==> Extbyte
5775         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5776         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5777         (Fx_store_cutbuffer_internal): Type correctness.
5778
5779         * process-unix.c (try_to_initialize_subtty): Type correctness.
5780
5781         * objects-x.c (x_print_color_instance): Type correctness.
5782         (x_print_font_instance): Type correctness.
5783         (x_list_fonts): SExtbyte ==> Extbyte.
5784         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5785         (x_find_charset_font): SExtbyte ==> Extbyte.
5786         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5787         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5788         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5789         Use bufbyte_strcmp.
5790
5791         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5792         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5793         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5794         (BYTE_C0_P): Use bit ops for char-signedness safety.
5795         (BYTE_C1_P): Use bit ops for char-signedness safety.
5796         (CHARSET_BY_LEADING_BYTE):
5797         (CHARSET_BY_ATTRIBUTES):
5798         Always use inline function.
5799         Use type_checking_assert.
5800         Hide chlook.
5801
5802         * mule-charset.c (non_ascii_charptr_copy_char):
5803         Modify to work with both ASCII and non-ASCII characters.
5804         Improve docs and variable names.
5805         Replace over-clever fall-through switch with a simple loop.
5806         (Lstream_get_emchar_1):
5807         Replace over-clever fall-through switch with a simple loop.
5808
5809         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5810         Warning suppression.
5811
5812         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5813         the return value of Lstream_getc, which could be EOF as well.
5814
5815         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5816
5817         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5818         APIs can be used on Extbytes without casts.  Risky!
5819         (SExtbyte): Remove.
5820         (UExtbyte): Remove.
5821
5822         * input-method-xlib.c (XIM_init_device):
5823         Use Xlib.h instead of IntrinsicP.h.
5824         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5825         which will break in X11R7.
5826         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5827         to call XRegisterIMInstantiateCallback with correct types.
5828
5829         * gui-x.c (button_item_to_widget_value): Type correctness.
5830
5831         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5832
5833         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5834         (xbm_instantiate_1): Type correctness.
5835         (BUILD_GLYPH_INST):  Type correctness.
5836
5837         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5838
5839         * file-coding.c:
5840         (decode_coding_sjis):
5841         (decode_coding_big5):
5842         (decode_coding_ucs4):
5843         (decode_coding_utf8):
5844         (decode_coding_iso2022):
5845         (decode_coding_no_conversion):
5846         Make all decoding functions take an Extbyte * arg.
5847         (encode_coding_sjis):
5848         (encode_coding_big5):
5849         (encode_coding_ucs4):
5850         (encode_coding_utf8):
5851         (encode_coding_iso2022):
5852         (encode_coding_no_conversion):
5853         Make all encoding functions take a Bufbyte * arg.
5854         Use size_t instead of unsigned int for memory sizes.
5855         Only cast to unsigned char whenever dereferencing Extbyte *.
5856
5857         * doc.c (unparesseuxify_doc_string): Type correctness.
5858
5859         * console-x.c (split_up_display_spec):
5860         Rewrite without using details of internal string representation.
5861         (x_semi_canonicalize_device_connection): Type correctness.
5862
5863         * config.h.in:
5864         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5865         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5866         (HAVE_XFREE386): Removed.
5867
5868         * buffer.h (DEC_CHARPTR): `const' correctness.
5869         (bufbyte_strcmp): New.
5870         (bufbyte_memcmp): New.
5871
5872         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5873
5874         * buffer.h (XCHAR_OR_CHAR_INT):
5875         Always use inline function.
5876         Remove redundant type checking assert() - XINT will abort quite nicely.
5877
5878 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5879
5880         * search.c (Freplace_match): Set newtext to an empty string.
5881
5882 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5883
5884         * s/decosf1-3.h: Remove #include of stropts.h
5885         * s/ptx.h: Remove #include of stropts.h
5886         * s/usg5-4.h: Remove #include of stropts.h
5887         * sysproc.h:
5888         * config.h.in:
5889         Use stropts.h, not sys/stropts.h.
5890         Use strtio.h, not sys/strtio.h.
5891
5892 2000-10-04  Martin Buchholz <martin@xemacs.org>
5893
5894         * XEmacs 21.2.36 is released.
5895
5896 2000-09-21  Andy Piper  <andy@xemacs.org>
5897
5898         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5899         changes still involve copying the widget tree.
5900         (update_widget_face): make sure a change is register in the widget
5901         tree. Call update_tab_widget_face appropriately.
5902         (update_tab_widget_face): ditto.
5903         (x_tab_control_redisplay): make sure non-structural changes still
5904         involve copying the widget tree.
5905
5906 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5907
5908         * lread.c (locate_file): Check the path element is non-nil.
5909
5910 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5911
5912         * lisp.h: Warning suppression for SCO compilers.
5913
5914         * redisplay-tty.c (reset_tty_modes): Fix crash.
5915         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5916
5917 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5918
5919         Big signal/process handling overhaul.  Bugs fixed:
5920         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5921         M-x comint-kill-subjob should work for both values nil and t of
5922         process-connection-type. It was broken on most platforms.
5923         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5924         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5925         * process-unix.c: Signal/Process handling overhaul.
5926         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5927         (allocate_pty): Use all available modern methods of allocating
5928         ptys, falling back to old style BSD allocation as a last resort.
5929         Use allegedly more secure Unix98 pty allocation by default.
5930         (allocate_pty_the_old_fashioned_way): New. the last resort.
5931         (unix_create_process): Push ptem, ldterm, ttcompat where
5932         available.  Autoconfiscate.
5933         (try_to_initialize_subtty): New.
5934         (unix_kill_child_process): Proper signal handling for ptys on most
5935         platforms, using special knowledge of AIX, BSD, etc...
5936         (unix_create_process): Always disconnect_controlling_terminal() for
5937         subprocesses, whether using ptys or not.
5938         * process.h: Remove old getpt-dependent PTY code.
5939         * process.c (Fprocess_send_signal): New, obvious generic function.
5940         (decode_signal): New.
5941         (Finterrupt_process):
5942         (Fkill_process):
5943         (Fquit_process):
5944         (Fstop_process):
5945         (Fcontinue_process):
5946         (Fsignal_process): Use decode_signal.
5947         (process_send_signal):
5948         Many docstring corrections.
5949         Allow any signal to be sent to a process object.
5950         * config.h.in: Add symbols for big signal/process overhaul.
5951         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5952         * sysproc.h: Include process-related headers, where available:
5953         sys/stropts.h sys/strtio.h pty.h libutil.h
5954         * s/irix4-0.h:
5955         * s/irix5-0.h:
5956         * s/cygwin32.h:
5957         * s/gnu.h:
5958         * s/linux.h:
5959         * s/hpux.h:
5960         * s/aix3-1.h:
5961         Remove old S&M pty stuff.
5962         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5963         * systty.h: Simplify cpp hackery, improve comments.
5964         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5965
5966         * editfns.c (Fformat_time_string):
5967         Be a little more paranoid with the return value of ctime.
5968
5969         * fileio.c (check_executable):
5970         (check_writable):
5971         Use symbolic constants X_OK, W_OK.
5972
5973         * console-x.c (split_up_display_spec): Fix a warning.
5974
5975 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5976
5977         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5978         * ntproc.c (sys_spawnve): make_string ==> build_string
5979         Small clarity improvements.
5980
5981 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5982
5983         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5984
5985         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5986
5987         * config.h.in (HAVE_STRCASECMP): Remove.
5988
5989 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5990
5991         * redisplay-output.c (redisplay_output_pixmap):
5992         Cleaner and possibly more 64-bit correct code.
5993
5994 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5995
5996         * dumper.c (pdump_load_finish): move restoration of
5997         `noninteractive1' to emacs.c (main_1).
5998         * emacs.c (main_1): protect LISP-visible command-line flags
5999         from pdump_load().
6000
6001 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
6002
6003         * Makefile.in.in (versionclean):  Use EXE_TARGET and
6004         DUMP_TARGET instead of literal program names.
6005
6006 2000-09-20  Martin Buchholz  <martin@xemacs.org>
6007
6008         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
6009
6010 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6011
6012         * *: Spelling mega-patch
6013
6014 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6015
6016         * fns.c (bad_bad_turtle):
6017         Delete "Eek!" comment, since we fixed the bug to which it refers.
6018
6019 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6020
6021         * alloca.c: Replace REGISTER with register.
6022
6023 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
6024
6025         * file-coding.c (ucs_to_char): Use countof.
6026
6027 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6028
6029         * file-coding.c: (ucs_to_char):
6030         (complex_vars_of_file_coding):
6031         Use countof instead of sizeof.
6032         Use CHECK_NATNUM instead of CHECK_INT.
6033
6034         * sysdep.c (strcasecmp): Remove.
6035         * device-x.c (ascii_strcasecmp): New.
6036         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
6037         Avoid using non-standard non-portable strcasecmp.
6038
6039 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6040
6041         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
6042         * font-lock.c: remove reference to emacsfns.h.
6043         * search.c: small doc improvement.
6044         * event-Xt.c: correct file names in comments.
6045         * console-x.h Correct file names in comments.
6046         * frame.c: Correct file names in comments.
6047         * event-stream.c: remove Energize from comments.
6048
6049 2000-09-15  Martin Buchholz  <martin@xemacs.org>
6050
6051         * symeval.h (DEFERROR_STANDARD):
6052         (DEFERROR):
6053         (DEFSYMBOL):
6054         (DEFSYMBOL_NO_DUMP):
6055         (DEFSYMBOL_MULTIWORD_PREDICATE):
6056         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
6057         (DEFKEYWORD):
6058         The construct &##name is not sensible C.
6059         Fixes compilation errors with Unixware native compiler.
6060
6061 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6062
6063         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6064         (next_frame_internal): Removed.  We now just have next_frame.
6065         (next_frame):
6066         Write a simpler and cleaner one-pass algorithm.
6067         Remove called_from_delete_device arg and #ifdefed-out code.
6068         (previous_frame):
6069         Renamed from prev_frame.  Update callers.
6070         Cleaned up to have an analogous implementation to next_frame.
6071         (other_visible_frames_internal): Remove the
6072         called_from_delete_device bogus arg, and hence, remove this
6073         function.  Just use other_visible_frames().
6074
6075         * window.c (Fnext_window):
6076         Prettify docstring.
6077         Since next_frame() is guaranteed to return a frame, remove check
6078         for nil inserted in previous patch.
6079         (Fprevious_window):
6080         Prettify docstring.
6081         Make code look more like Fnext_window.
6082         (window_loop):
6083         Respect the `console' arg when iterating through windows.
6084         Fixes bug: (get-buffer-window buffer t device) not respecting
6085         the `device' arg.
6086         This function needs more work, as others have pointed out.
6087
6088         * frame.h: Rename prev_frame to previous_frame.
6089         device_matches_console_spec no longer takes a `frame' arg.
6090
6091         * s/gnu.h:
6092         * s/linux.h:
6093         * s/hpux.h:
6094         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6095         From "Golubev I. N." <gin@mo.msk.ru>.
6096
6097         * make-src-depend: Fix typo.
6098
6099 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6100
6101         * window.c (Fnext_window):
6102         next_frame() might return nil, not a frame.
6103         Fixes this crash:
6104         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6105
6106         * frame.c (next_frame_internal):
6107         We've passed a frame if we've passed its device.
6108         Fixes this crash:
6109         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6110 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6111
6112 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6113
6114         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6115         Allow option to suppress accelerators in menu/dialog items.
6116         (populate_or_checksum_helper): Pass dialog title through above.
6117
6118 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6119
6120         * event-msw.c (mswindows_key_to_emacs_keysym):
6121         Add "pause" key, fix "menu" key.
6122
6123 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6124
6125         * eval.c (reinit_vars_of_eval):
6126         Increase max_lisp_eval_depth to 1000,
6127         required for thai-xtis.el to byte-compile under some circumstances.
6128
6129 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6130
6131         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6132         From Kenichi Handa.
6133
6134 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6135
6136         * make-src-depend: Make the generated Makefiles smaller.
6137
6138         * s/hpux.h (SETUP_SLAVE_PTY):
6139         Provide a %d in the format string for the errno argument.
6140
6141         * editfns.c (Ftemp_directory):
6142         Warning fix.
6143         Avoid buffer overrun on very long file name.
6144
6145         * input-method-xlib.c (XIM_init_device):
6146         6th parameter of XRegisterIMInstantiateCallback has different
6147         pointer types on different OSes, so simply cast to (void *).
6148
6149         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6150
6151         * sysdll.c (dll_open):
6152         shl_load will hang hard if passed a NULL filename.
6153         Simply return NULL for compatibility with dlopen.
6154         * sysdll.c: Conform to XEmacs coding standards.
6155
6156         * sysdep.c (get_pty_max_bytes):
6157         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6158
6159 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6160
6161         * tooltalk.c: Add #include <syssignal.h>
6162
6163 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6164
6165         * s/hpux.h: Don't use undefined function sigunblock().
6166
6167 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6168
6169         * config.h.in: Add HAVE_BALLOON_HELP.
6170         * emacs.c: Use HAVE_BALLOON_HELP.
6171         * Makefile.in.in (x_objs):
6172         Make Balloon Help conditional on finding shape.h.
6173
6174 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6175
6176         * syntax.c (regex_emacs_buffer_p): New variable.
6177         * syntax.h (regex_emacs_buffer_p): extern.
6178         * search.c (looking_at_1):
6179         (string_match_1):
6180         (fast_string_match):
6181         (search_buffer): Set regex_emacs_buffer_p.
6182         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6183         when before_dot, at_dot, after_dot.
6184
6185 2000-08-23  Andy Piper  <andy@xemacs.org>
6186
6187         * gui-x.c (popup_selection_callback): Only set action_occurred
6188         when we really have an image instance.
6189         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6190
6191 2000-08-23  Andy Piper  <andy@xemacs.org>
6192
6193         * gui-msw.c (mswindows_handle_gui_wm_command): set
6194         action_occurred.
6195         * gui-x.c (popup_selection_callback): ditto.
6196
6197         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6198         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6199         (struct Lisp_Image_Instance): add action_occurred flag.
6200
6201         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6202         (image_instance_changed): ditto.
6203         (reset_frame_subwindow_instance_cache): only unmap windows - do
6204         not remove them from the cache also.
6205
6206         * glyphs-widget.c (tab_control_update): better debug.
6207         (progress_gauge_update): ditto.
6208         (layout_update): ditto.
6209         (layout_instantiate): ditto.
6210         (tab_control_order_only_changed): cope with null pending items.
6211
6212         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6213         debug. Force selection of an item when an action occurred. Cope
6214         with null pending_items.
6215         (mswindows_progress_gauge_redisplay): better debug.
6216         * glyphs-x.c (x_tab_control_redisplay): ditto.
6217
6218         * redisplay.c (redisplay_frame): reset the frame cache if the
6219         frame is garbaged.
6220
6221         * window.c (Fset_window_configuration): potentially re-enable
6222         frame cache reset.
6223         (window_unmap_subwindows): need to finalize instances here since
6224         it is only used in mark_window_as_deleted.
6225
6226 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6227
6228         * nas.c (SndOpenDataForReading):
6229         nas.c (WaveOpenDataForReading):
6230         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6231         Somehow escaped from the 2000-08-14 patch.
6232
6233 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6234
6235         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6236         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6237
6238 2000-08-21  Andy Piper  <andy@xemacs.org>
6239
6240         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6241         window if it is not already displayed.
6242
6243         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6244         it is not already displayed.
6245
6246         * window.c (Fset_window_configuration): don't reset the frame
6247         cache.
6248
6249         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6250         instances from the frame cache if we are actually finalizing them.
6251         (reset_frame_subwindow_instance_cache): reset frame cache only
6252         after unmapping everything.
6253         (map_subwindow): set displayed flag after mapping.
6254
6255 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6256
6257         * data.c (indirect_function):
6258         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6259
6260         * eval.c (function_argcount):
6261         Use original function when signaling errors.
6262
6263 2000-08-18  Andy Piper  <andy@xemacs.org>
6264
6265         * frame.c (delete_frame_internal): use new
6266         free_frame_subwindow_instances name.
6267
6268         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6269         (add_tab_item): make return type correct.
6270         (mswindows_tab_control_instantiate): assert index of tab.
6271         (mswindows_tab_control_redisplay): Re-code to use
6272         gui_item_equal_sans_selected and gui_item_list_find_selected.
6273
6274         * glyphs-widget.c (tab_control_update): Correct comment.
6275
6276         * window.c (window_unmap_subwindows): use new
6277         unmap_subwindow_instance_cache_mapper.
6278         (window_unmap_subwindows_cache_mapper): deleted.
6279         (Fset_window_configuration): comparisons should now be with
6280         EQ. Preserve the subwindow instance cache across configuration
6281         changes.
6282         (allocate_window): ditto.
6283         (make_dummy_parent): ditto.
6284
6285         * glyphs.c (free_frame_subwindow_instances): rename from
6286         free_frame_subwindow_instance_cache. finalize all instances rather
6287         than just those in the display cache.
6288         (finalize_all_subwindow_instances): walk windows unmapping and
6289         finalizing subwindows.
6290         (unmap_subwindow_instance_cache_mapper): moved from
6291         window.c. Allow finalization as well as unmapping.
6292
6293         * gui.c (gui_item_list_find_selected): new function.
6294
6295         * gui.h (gui_item_list_find_selected): declare.
6296
6297         * glyphs-x.c (x_tab_control_redisplay): pick tab
6298         explicitly. Re-code to use gui_item_equal_sans_selected and
6299         gui_item_list_find_selected.
6300
6301         * glyphs-x.h: add lwlib-utils.h
6302
6303         * buffer.c (Frecord_buffer): undo previous change.
6304
6305 2000-08-09  Vin Shelton  <acs@xemacs.org>
6306
6307         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6308         possible.  Create temporary files more securely.  The patch was
6309         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6310         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6311         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6312         for details.
6313
6314 2000-08-07  Ben Wing  <ben@xemacs.org>
6315
6316         * getloadavg.c: remove duplicate (and windows-breaking)
6317         includes of fcntl.h and sys/file.h.
6318
6319         * nt.c: remove duplicate getloadavg() definition.
6320
6321         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6322         encodings.
6323
6324 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6325
6326         * eval.c (function_argcount): If function needs to be autoloaded
6327         actually use the loaded definition.
6328         GCPRO function.
6329
6330 2000-08-05  Ben Wing  <ben@xemacs.org>
6331
6332         * getloadavg.c: add prototype for getloadavg().  remove
6333         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6334         of the code).  remove duplicate header includes.
6335
6336         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6337
6338         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6339         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6340         useful load average.
6341
6342         * alloc.c (reinit_alloc_once_early): removed references to
6343         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6344         the lisp vars are the only things referencing the malloc_sbrk_*
6345         vars, and they were already if 0'd out.  these vars only exist
6346         in the older malloc.c, which is basically unused, and they're
6347         only for informational purposes.
6348
6349         * m\*.h: removed useless VIRT_ADDR_VARIES.
6350
6351         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6352
6353 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6354
6355         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6356         color if the image is a mono pixmap.
6357
6358 2000-07-30  Ben Wing  <ben@xemacs.org>
6359
6360         * Makefile.in.in (release):
6361         Remove stray @.
6362
6363         * buffer.c (directory_is_current_directory):
6364         * dired-msw.c (mswindows_get_files):
6365         * dired.c:
6366         * dired.c (Fdirectory_files):
6367         * dired.c (file_name_completion_stat):
6368         * dired.c (Ffile_attributes):
6369         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6370         preprocessor tricks, to avoid problems on some machines
6371         (e.g. SCO).
6372
6373         * callproc.c (egetenv): GC docs.
6374
6375         * console-msw.h:
6376         * console-msw.h (struct mswindows_dialog_id):
6377         * lrecord.h (lrecord_type):
6378         New object for use with MSW dialogs.
6379
6380         * console.h (struct console_methods):
6381         New enable/disable frame methods, for proper modal dialogs.
6382
6383         * device-msw.c (msprinter_default_printer): Fix to follow
6384         proper Mule conventions.
6385
6386         * device-msw.c:
6387         * device-msw.c (signal_open_printer_error):
6388         * device-msw.c (msprinter_init_device):
6389         * device-msw.c (ensure_not_printing):
6390         * device-msw.c (plist_get_margin):
6391         * device-msw.c (Fmsprinter_select_settings):
6392         * device-msw.c (finalize_devmode):
6393         * device-msw.c (Fmsprinter_settings_despecialize):
6394         * device-msw.c (signal_enum_priner_error):
6395         * extents.c (decode_extent):
6396         * extents.c (decode_map_extents_flags):
6397         * extents.c (decode_extent_at_flag):
6398         * extents.c (Fextent_at):
6399         * extents.c (Fextents_at):
6400         * extents.c (symbol_to_glyph_layout):
6401         [[[[2]]]] Use structured errors.
6402
6403         * dialog-msw.c:
6404         * dialog-msw.c (mswindows_is_dialog_msg):
6405         * dialog-msw.c (mark_mswindows_dialog_id):
6406         * dialog-msw.c (dialog_proc):
6407         * dialog-msw.c (handle_question_dialog_box):
6408         * dialog-msw.c (syms_of_dialog_mswindows):
6409         Define new object to clean up marking; use it as a dialog identifier.
6410         Call new delete-dialog-box-hook.
6411
6412         * dialog-x.c (dbox_selection_callback):
6413         * dialog-x.c (dbox_descriptor_to_widget_value):
6414         * dialog-x.c (x_make_dialog_box_internal):
6415         Call new delete-dialog-box-hook.
6416         Return an id.
6417
6418         * dialog.c:
6419         * dialog.c (syms_of_dialog):
6420         * dialog.c (vars_of_dialog):
6421         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6422
6423         * eval.c:
6424         * eval.c (signal_call_debugger):
6425         when noninteractive, output stack traces on the console instead
6426         of in a (never-seen) buffer.
6427
6428         * eval.c (signal_type_error):
6429         * eval.c (invalid_argument_2):
6430         * lisp.h:
6431         new funs for use w/structured errors.
6432
6433         * event-Xt.c:
6434         * event-Xt.c (x_to_emacs_keysym):
6435         * event-Xt.c (describe_event):
6436         * event-Xt.c (emacs_Xt_event_handler):
6437         * event-Xt.c (vars_of_event_Xt):
6438         * event-msw.c:
6439         * event-msw.c (mswindows_wnd_proc):
6440         * event-msw.c (vars_of_event_mswindows):
6441         rename {x,mswindows}-debug-events to debug-{}-events for
6442         consistency with other debug-foo variables.
6443
6444         * event-stream.c:
6445         document next-event more clearly.
6446
6447         * fileio.c (Ffile_name_directory):
6448         * fileio.c (Ffile_name_nondirectory):
6449         * fileio.c (Funhandled_file_name_directory):
6450         * fileio.c (file_name_as_directory):
6451         * fileio.c (Ffile_name_as_directory):
6452         * fileio.c (directory_file_name):
6453         * fileio.c (Fdirectory_file_name):
6454         * fileio.c (Fmake_temp_name):
6455         * fileio.c (Ffile_truename):
6456         * fileio.c (Fsubstitute_in_file_name):
6457         * fileio.c (expand_and_dir_to_file):
6458         * fileio.c (barf_or_query_if_file_exists):
6459         * fileio.c (check_executable):
6460         * fileio.c (Ffile_exists_p):
6461         * fileio.c (Ffile_writable_p):
6462         * fileio.c (Ffile_directory_p):
6463         * fileio.c (Ffile_regular_p):
6464         * fileio.c (Ffile_modes):
6465         * fileio.c (Ffile_newer_than_file_p):
6466         * fileio.c (Fverify_visited_file_modtime):
6467         * fileio.c (Fset_visited_file_modtime):
6468         * fileio.c (auto_save_1):
6469         (1). (2).
6470         fix up gcpro's.
6471
6472         * frame-msw.c:
6473         * frame-msw.c (mswindows_init_frame_1):
6474         * frame-msw.c (mswindows_enable_frame):
6475         * frame-msw.c (error_frame_unsizable):
6476         * frame-msw.c (msprinter_init_frame_1):
6477         * frame-msw.c (msprinter_init_frame_3):
6478         * frame-msw.c (console_type_create_frame_mswindows):
6479         (2).
6480         implement new enable/disable frame methods.
6481
6482         * frame-x.c:
6483         * frame-x.c (x_enable_frame):
6484         * frame-x.c (console_type_create_frame_x):
6485         implement new enable/disable frame methods.
6486
6487         * frame.c:
6488         * frame.c (Fdisable_frame):
6489         * frame.c (syms_of_frame):
6490         * frame.h (struct frame):
6491         implement new enable/disable frame methods/functions.
6492
6493         * general-slots.h:
6494         add initial-focus.
6495
6496         * glyphs-msw.c (mswindows_widget_instantiate):
6497         comment that initial-focus should be implemented.
6498
6499         * glyphs-widget.c:
6500         * glyphs-widget.c (check_valid_instantiator):
6501         * glyphs-widget.c (check_valid_orientation):
6502         * glyphs-widget.c (check_valid_tab_orientation):
6503         * glyphs-widget.c (check_valid_justification):
6504         * glyphs-widget.c (check_valid_border):
6505         * glyphs-widget.c (check_valid_callback):
6506         * glyphs-widget.c (check_valid_int_or_function):
6507         * glyphs-widget.c (check_valid_string_or_vector):
6508         * glyphs-widget.c (check_valid_item_list_1):
6509         * glyphs-widget.c (widget_validate):
6510         * glyphs-widget.c (combo_box_validate):
6511         * glyphs-widget.c (widget_instantiate):
6512         * glyphs-widget.c (syms_of_glyphs_widget):
6513         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6514         * glyphs-widget.c (image_instantiator_combo_box):
6515         * glyphs-widget.c (image_instantiator_scrollbar):
6516         * glyphs-widget.c (image_instantiator_tab_control):
6517         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6518         (2).
6519         support (unimplemented) keyword initial-focus.
6520         reindent long macros.
6521
6522         * glyphs-x.c (x_redisplay_widget):
6523         * glyphs-x.c (x_button_instantiate):
6524         * glyphs-x.c (x_button_redisplay):
6525         * glyphs-x.c (x_progress_gauge_instantiate):
6526         * glyphs-x.c (x_edit_field_instantiate):
6527         * glyphs-x.c (x_combo_box_instantiate):
6528         * glyphs-x.c (x_tab_control_instantiate):
6529         * glyphs-x.c (x_label_instantiate):
6530         * gui-x.c:
6531         * gui-x.c (button_item_to_widget_value):
6532         * gui-x.c (gui_items_to_widget_values_1):
6533         * gui-x.c (gui_item_children_to_widget_values):
6534         * gui-x.c (gui_items_to_widget_values):
6535         * gui-x.h:
6536         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6537         add new flag to gui-parsing routines to indicate whether
6538         accelerator specs should be supported.
6539
6540         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6541
6542         * glyphs.h (struct Lisp_Image_Instance):
6543         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6544         add initial-focus flag.
6545
6546         * gui.c:
6547         * gui.c (syms_of_gui):
6548         * gui.c (vars_of_gui):
6549         clean up menu-no-selection-hook.
6550
6551         * gui.h:
6552         support delete-dialog-box-hook.
6553
6554         * lread.c (Fload_internal):
6555         * lread.c (locate_file_in_directory_mapper):
6556         (1).
6557
6558         * lrecord.h:
6559         * lrecord.h (struct toolbar_button):
6560         * lrecord.h (syms_of_toolbar):
6561         document how to create a new object.
6562
6563         * menubar-msw.c (mswindows_char_is_accelerator):
6564         may be called on frames w/o menus.
6565
6566         * menubar.c (vars_of_menubar):
6567         clean up :filter docs.
6568
6569         * nt.c (readdir):
6570         * ntproc.c:
6571         (1).
6572
6573         * process-nt.c:
6574         * process-nt.c (validate_signal_number):
6575         * process-nt.c (signal_cannot_launch):
6576         * process-nt.c (nt_create_process):
6577         * process-nt.c (nt_send_process):
6578         * process-nt.c (nt_kill_child_process):
6579         * process-nt.c (nt_open_network_stream):
6580         * process-nt.c (syms_of_process_nt):
6581         (2).
6582         delete quote-handling.  call new lisp code that does it better.
6583
6584         * process-unix.c (connect_to_file_descriptor):
6585         * process-unix.c (allocate_pty):
6586         * process-unix.c (unix_send_process):
6587         * process-unix.c (unix_kill_child_process):
6588         * process-unix.c (unix_open_network_stream):
6589         * process-unix.c (unix_open_multicast_group):
6590         (1). (2).
6591
6592         * process.c:
6593         * process.c (Fstart_process_internal):
6594         (2).  need to canonicalize process path even if absolute.
6595
6596         * select-msw.c (symbol_to_ms_cf):
6597         * select-msw.c (ms_cf_to_symbol):
6598         * select-msw.c (cf_is_autofreed):
6599         * select-msw.c (mswindows_destroy_selection):
6600         * select.c:
6601         * select.c (syms_of_select):
6602         * select.h:
6603         support dibv5, fix bugs. (from Mike Alexander)
6604
6605         * select.c (Fget_selection_internal):
6606         * select.c (select_convert_out):
6607
6608         * sysdep.c:
6609         * sysdep.c (xemacs_stat):
6610         renamed.
6611
6612         * sysdep.c (mkdir):
6613         * sysdep.c (rmdir):
6614         but keep original stat() here because we provide encapsulation
6615         around these funs.
6616
6617         * sysfile.h:
6618         * sysfile.h (fstat):
6619         remove stat garbage.
6620
6621         * syswindows.h:
6622         fix X/MSW conflict.
6623         don't include tchar.h.  it's inappropriate because it makes
6624         compile-time distinctions when we want runtime distinctions.
6625         (we provide our own tchar replacements)
6626
6627         * toolbar.c:
6628         use default object printer for toolbar-button.
6629
6630         * unexcw.c:
6631         make sure we don't encapsulate.
6632
6633         * window.c (vars_of_window):
6634         emphasize that temp-buffer-show-hook is obsolete.
6635
6636 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6637
6638         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6639         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6640
6641         * events.c (Fevent_timestamp_lessp):
6642         Not 64-bit clean.  Use EMACS_INT, not int.
6643
6644 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6645
6646         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6647         unsigned int and changed the last enum to
6648         lrecord_type_last_built_in_type.
6649         (lrecord_implementations_table): changed prototype to know how
6650         long the array is supposed to be.
6651         (lrecord_type_count): new unsigned int to keep track of the
6652         current number of lisp lrecord types.
6653         (DEFINE_EXTERNAL_LRECORD):
6654         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6655         dynamic-modules to declare new lisp types. They are the same
6656         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6657         int for each new type, and increment lrecord_type_count by 1.
6658
6659         * alloc.c (lrecord_implementations_table): Changed to reference
6660         lrecord_type_last_built_in_type for the size of the array.
6661         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6662
6663 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6664
6665         * glyphs.h (check_valid_item_list): Renamed from
6666         check_valid_item_list_1.
6667
6668 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6669
6670         * select.c (Qselect_coerce): New.
6671         * select.c (Vselection_coercion_alist): New.
6672         * select.c (syms_of_select): Declare.
6673         * select.c (get-selection-internal): Use it.
6674         Use the new select-coerce functionality.
6675
6676         * select.c (select_coerce): New.
6677         * select.h (select_coerce): Declare.
6678         New function to coerce one type of data into another.
6679
6680 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6681
6682         * callproc.c (Fcall_process_internal):
6683         (Fcall_process_internal):
6684         * process-unix.c (unix_create_process):
6685         Save and restore the value of errno, so that error messages are accurate.
6686
6687 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6688
6689         * elhash.c (print_hash_table):
6690         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6691         Prettify docstrings and indentation.
6692
6693 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6694
6695         * window.c (Fwindow_pixel_edges): Subtract frame border and
6696         gutter size.
6697
6698 2000-07-31  Andy Piper  <andy@xemacs.org>
6699
6700         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6701         will acknowledge the change.
6702
6703         * glyphs.h: declare tab_control_order_only_changed.
6704
6705         * glyphs-x.c (x_tab_control_redisplay): use
6706         tab_control_order_only_changed.
6707
6708         * glyphs-widget.c (tab_control_order_only_changed): new function.
6709
6710         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6711         tab_control_order_only_changed.
6712
6713         * gui.c (gui_item_equal_sans_selected): new function.
6714         (gui_item_equal): use it.
6715
6716         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6717         :properties in favor of :items..
6718
6719         * glyphs-widget.c (check_valid_item_list): rename from
6720         check_valid_item_list_1.
6721         (check_valid_item_list_1): renamed.
6722         (combo_box_validate): deprecate :properties in favor of :items.
6723         (widget_instantiate): ditto.
6724         (tab_control_update): ditto.
6725         (image_instantiator_combo_box): ditto.
6726         (image_instantiator_tree_view): ditto.
6727         (image_instantiator_tab_control): ditto.
6728         (layout_post_instantiate): remove dead code.
6729
6730         * print.c (debug_print_no_newline): only write to debugger if in
6731         WIN32_NATIVE.
6732
6733         * elhash.c (Fmake_hash_table): update doc string.
6734
6735         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6736         messages whilst in GC. This at least stops XEmacs crashing but has
6737         the potential for wierd behaviour.
6738
6739 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6740
6741         * config.h.in:
6742         Make existence of s&m files optional.
6743
6744         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6745         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6746         * s/gnu.h: Remove HAVE_GETLOADAVG.
6747         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6748         * s/sol2.h: Remove HAVE_GETLOADAVG.
6749         * lisp.h: Remove getloadavg() declaration.
6750         * fns.c:
6751         Include <sys/loadavg.h> if available.
6752         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6753         * config.h.in:  Group together getloadavg()-related macros.
6754         Use only configure-time tests to detect getloadavg().
6755
6756 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6757
6758         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6759
6760 2000-07-25  Andy Piper  <andy@xemacs.org>
6761
6762         * syswindows.h: add tchar.h for native builds.
6763
6764         * frame.c (syms_of_frame): remove set-glyph-image.
6765
6766         * general-slots.h: add Qset_glyph_image.
6767
6768         * glyphs-widget.c (layout_update): add domain arg to
6769         set-glyph-image.
6770         (syms_of_glyphs_widget): remove set-glyph-image.
6771
6772 2000-07-23  Ben Wing  <ben@xemacs.org>
6773
6774         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6775         Vpopup_frame_list.
6776
6777 2000-07-22  Andy Piper  <andy@xemacs.org>
6778
6779         * symsinit.h: add syms_of_win32().
6780
6781         * gui-msw.c (syms_of_gui_mswindows): remove
6782         Fmswindows_shell_execute.
6783         (Fmswindows_shell_execute): moved to win32.c.
6784
6785         * emacs.c (main_1): add syms_of_win32 ().
6786
6787         * win32.c (init_potentially_nonexistent_functions): rewrite in
6788         compiler-friendly terms.
6789         (Fmswindows_shell_execute): move here from gui-msw.c.
6790         (syms_of_win32): new.
6791
6792         * device-msw.c (Fmswindows_printer_list): clean up args to
6793         EnumPrinters.
6794         Don't include tchar under cygwin or mingw.
6795         (msprinter_default_printer): make cygwin-friendly.
6796
6797 2000-07-21  Andy Piper  <andy@xemacs.org>
6798
6799         * glyphs-widget.c (image_instantiator_tree_view): use tab
6800         control's update function.
6801         (layout_property): new function. Retrieve items.
6802
6803         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6804         function. Re-populate the tree view from the pending items.
6805
6806         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6807         is designated the parent if the domain is an image instance. This
6808         is needed so that dirtiness can be cascade up the hierarchy and
6809         thus for layout children to be redisplayed correctly.
6810         (allocate_image_instance): rename glyph -> parent.
6811
6812         * redisplay.h: change redisplay_output_layout signature.
6813
6814         * redisplay-msw.c (mswindows_output_display_block): use domain
6815         arg.
6816
6817         * redisplay-x.c (x_output_display_block): use domain arg.
6818
6819 2000-07-10  Andy Piper  <andy@xemacs.org>
6820
6821         * window.c (Fset_window_configuration): add comment.
6822
6823         * redisplay-output.c (compare_runes):
6824         (redisplay_output_subwindow): redisplay rather than update subwindow.
6825         (redisplay_output_layout): ditto.
6826
6827         * redisplay-msw.c (mswindows_frame_output_end):
6828         (mswindows_frame_output_end): make defer window pos optional.
6829
6830         * lisp.h: add Flast.
6831
6832         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6833         normalize method. Change update method to be for changed
6834         instantiators. Add redisplay method. Change signature of layout
6835         method.
6836         (struct Lisp_Image_Instance): add instantiator.
6837         (IMAGE_INSTANCE_INSTANTIATOR): new.
6838         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6839         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6840         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6841
6842         * glyphs.c:
6843         (find_instantiator_differences): new function.
6844         (Fset_instantiator_property): new convenience function.
6845         (check_image_instance_structure): strictly check for vector
6846         instantiators.
6847         (normalize_image_instantiator): make non-static.
6848         (instantiate_image_instantiator): pass on dest_mask and use new
6849         signatures for image_instance_layout and friends.
6850         (mark_image_instance): mark the instantiator. Mark the subwindow
6851         face not the widget face.
6852         (image_instance_equal): add instantiator.
6853         (image_instance_hash): ditto.
6854         (allocate_image_instance): ditto.
6855         (Fset_image_instance_property): removed.
6856         (Fimage_instance_file_name): ditto.
6857         (Fcolorize_image_instance): ditto.
6858         (image_instance_layout): add offsets to be set.
6859         (update_image_instance): new function. update an image instance
6860         from its changed instantiator.
6861         (inherit_normalize): add dest_mask.
6862         (xbm_normalize): ditto.
6863         (xface_normalize): ditto.
6864         (xpm_normalize): ditto.
6865         (text_update): set_property -> update.
6866         (image_instantiate): use the glyph identity as a hash key, not the
6867         instantiator.
6868         (glyph_width): use new image_instance_layout signature.
6869         (glyph_ascent): ditto.
6870         (glyph_descent): ditto.
6871         (glyph_height): ditto.
6872         (glyph_query_geometry): ressurrect.
6873         (glyph_layout): ditto.
6874         (redisplay_subwindow): update -> redisplay.
6875         (syms_of_glyphs): add Fset_instantiator_property.
6876         (image_instantiator_format_create): set_property -> update.
6877
6878         * glyphs-x.c:
6879         (autodetect_normalize): add dest_maks to signature.
6880         (x_redisplay_subwindow): update -> redisplay.
6881         (x_redisplay_widget): ditto.
6882         (x_button_redisplay): ditto.
6883         (x_progress_gauge_redisplay): ditto.
6884         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6885         stacking order.
6886         (console_type_create_glyphs_x): update -> redisplay.
6887         (image_instantiator_format_create_glyphs_x): ditto.
6888
6889         * glyphs-widget.c:
6890         (check_valid_instantiator): disallow glyphs in the instantiator,
6891         they must now be vectors.
6892         (check_valid_instantiator_list): ditto.
6893         (glyph_instantiator_to_glyph): use internal symbol rather than
6894         intern.
6895         (widget_update): renamed from widget_set_property. Call cascaded
6896         update methods.
6897         (redisplay_widget): renamed from update_widget.
6898         (widget_layout): image_instance_layout now takes position as well
6899         as size.
6900         (widget_normalize): ditto.
6901         (widget_instantiate): ditto.
6902         (tab_control_query_geometry) ditto.:
6903         (tab_control_update): renamed from tab_control_set_property.
6904         (progress_gauge_update): set_property -> update.
6905         (layout_normalize): rewrite so that child instantiators are
6906         normalized also.
6907         (layout_update): new function. Create glyphs from the normalized
6908         children and cope with any other layout keywords. We do not
6909         instantiate children here that will be take care of by
6910         redisplay_output_layout.
6911         (layout_instantiate): call layout_update and not much else.
6912         (layout_post_instantiate): not sure whether this is needed
6913         anymore.
6914         (layout_query_geometry): query glyph geometry rather than
6915         image_instance geometry.
6916         (layout_layout): set offsets from pass in parameters. Use glyph
6917         geometry and layout functions rather than image instance ones.
6918         (native_layout_layout): ditto.
6919         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6920         (image_instantiator_widget): set_property -> update.
6921         (image_instantiator_buttons): ditto.
6922         (image_instantiator_progress_guage): ditto.
6923         (image_instantiator_tab_control): ditto.
6924         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6925         (image_instantiator_layout): add update method.
6926
6927         * glyphs-msw.c (bmp_normalize):
6928         (mswindows_resource_normalize): add dest_mask so that it can be
6929         proprogated by layout_normalize.
6930         (begin_defer_window_pos): make optional because it may not be the
6931         right thing to do and it introduces differences with X.
6932         (mswindows_unmap_subwindow): ditto.
6933         (mswindows_map_subwindow): ditto.
6934         (mswindows_redisplay_subwindow): renamed from
6935         mswindows_update_subwindow.
6936         (mswindows_redisplay_widget): ditto.
6937         (mswindows_button_redisplay): renamed from
6938         mswindows_button_update. Update is now what the instantiation
6939         function does for a changed instantiator.
6940         (mswindows_progress_gauge_instantiate): set the progress value
6941         here if appropriate.
6942         (mswindows_tab_control_redisplay): cope with re-ordering of the
6943         members of the tab widget by simply selecting the new top
6944         widget. This makes things appear ok if you click on a tab.
6945         (mswindows_combo_box_instantiate): image_instance_layout now takes
6946         position as well as size.
6947         (mswindows_progress_gauge_redisplay): renamed from
6948         mswindows_progress_gauge_update.
6949         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6950         (image_instantiator_format_create_glyphs_mswindows): ditto.
6951
6952         * glyphs-eimage.c (jpeg_normalize):
6953         (gif_normalize):
6954         (png_normalize):
6955         (tiff_normalize): add dest_mask so that it can be proprogated by
6956         layout_normalize.
6957
6958         * elhash.c:
6959         (print_hash_table):
6960         (hash_table_weakness_validate):
6961         (decode_hash_table_weakness):
6962         (Fhash_table_weakness):
6963         (Fhash_table_type):
6964         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6965
6966         * console.h (struct console_methods): move update_* to
6967         redisplay_*.
6968
6969 2000-07-20  Ben Wing  <ben@xemacs.org>
6970
6971         * *.[ch] (XSETOBJ): remove unused middle argument.
6972         lisp-disunion.h: correct wrap_object() to one argument.
6973
6974 2000-07-15  Ben Wing  <ben@xemacs.org>
6975
6976         * s/cygwin32.h:
6977         * s/cygwin32.h (CYGWIN_CONV_PATH):
6978         Add missing logb prototype for v1.1.
6979         Use post-b20 names and alias to pre-b20 names when pre-b20.
6980
6981         * s/windowsnt.h: [5].
6982
6983 2000-07-15  Ben Wing  <ben@xemacs.org>
6984
6985         * Makefile.in.in (x_objs):
6986         * Makefile.in.in (sheap_objs):
6987         * Makefile.in.in (objs):
6988         added win32.o, cosmetic cleanups.
6989
6990         * alloc.c (Fmake_byte_code):
6991         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6992         etc. macros which declare their own args now.
6993
6994         * alloc.c (syms_of_alloc):
6995         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6996
6997         * buffer.c:
6998         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6999
7000         * buffer.c (Fget_file_buffer):
7001         Fixed GCPRO problem.
7002
7003         * buffer.c (get_truename_buffer):
7004         Fixed comment about GC checking.
7005
7006         * buffer.c (syms_of_buffer):
7007         Undeclared those dedicated frame funs.
7008         [2].
7009
7010         * buffer.h:
7011         Define convenience macros for internal/external conversions.
7012         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
7013         and Qenvironment_variable_encoding for cleaner code.
7014
7015         * bufslots.h:
7016         Remove dedicated-frame; in lisp.
7017
7018         * bytecode.c (funcall_compiled_function):
7019         [1].
7020
7021         * bytecode.c (syms_of_bytecode):
7022         [2].
7023
7024         * console-msw.c:
7025         * console-msw.c (mswindows_show_console): Rewrote.
7026
7027         * console-msw.c (Fmswindows_debugging_output): New.
7028         Sends to OutputDebugString (special MSWin debugger interface).
7029
7030         * console-msw.c (Fmswindows_message_box):
7031         Fixed stupid bugs so it works when called from kill-emacs.
7032
7033         * console-msw.c (syms_of_console_mswindows):
7034         Declare Fmswindows_debugging_output.
7035
7036         * console-msw.h:
7037         New MSWin prototypes.
7038
7039         * console-msw.h (struct mswindows_frame):
7040         New entry last-click-mods for improved button-modifier support.
7041
7042         * console-msw.h (FRAME_MSWINDOWS_POPUP):
7043         New struct entry `popup' with corresponding accessor.
7044
7045         * console-x.c:
7046         * console-x.c (split_up_display_spec):
7047         * console-x.c (get_display_arg_connection):
7048         * console-x.c (x_semi_canonicalize_console_connection):
7049         * console-x.c (x_canonicalize_device_connection):
7050         [[[6]]]: Change char to more specific type.
7051         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
7052
7053         * console-x.c (x_semi_canonicalize_console_connection):
7054         * console-x.c (x_canonicalize_device_connection):
7055         [[[9]]]: Fix up error signalling to use new structured error system.
7056
7057         * console-x.h:
7058         [[[4]]]: Define codesys aliases:
7059         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7060         Qx_color_name_encoding, Qx_display_name_encoding.
7061
7062         * console.h (struct console_methods):
7063         New method make_dialog_box_internal supersedes older
7064         popup_dialog_box method.
7065
7066         * data.c:
7067         Define many new errors, part of new structured errors.
7068
7069         * data.c (init_errors_once_early):
7070         * data.c (syms_of_data):
7071         [2].
7072
7073         * device-msw.c (mswindows_init_device):
7074         [[[5]]]: Cleanup to support NT 3.51.
7075
7076         * device-msw.c (decode_devmode): Cleanup.
7077
7078         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7079         * device-msw.c (mswindows_handle_print_dialog_box):
7080         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7081         * device-msw.c (syms_of_device_mswindows):
7082         Delete the dialog box primitives recently introduced by Kirill and
7083         instead interface to general dialog box interface.
7084
7085         * device-x.c:
7086         * device-x.c (compute_x_app_name):
7087         * device-x.c (x_init_device):
7088         * device-x.c (Fx_valid_keysym_name_p):
7089         * device-x.c (Fx_set_font_path):
7090         [6].
7091         [7].
7092
7093         * device.h (wrap_device): New.
7094         First of its kind; meant to replace XSETDEVICE.
7095
7096         * dialog-msw.c: Many file-dialog symbols.
7097
7098         * dialog-msw.c (mswindows_register_popup_frame): New.
7099         * dialog-msw.c (mswindows_is_dialog_msg): New.
7100         For supporting kbd traversal in dialog boxes.
7101
7102         * dialog-msw.c (dialog_proc):
7103         Support hitting ESC in dialogs.
7104
7105         * dialog-msw.c (struct):
7106         Common dialog box errors.
7107
7108         * dialog-msw.c (handle_file_dialog_box): New.
7109         Add file dialog code.
7110
7111         * dialog-msw.c (handle_question_dialog_box):
7112         Redo existing code to support new question dialog syntax.
7113
7114         * dialog-msw.c (console_type_create_dialog_mswindows):
7115         We support new dialog console method.
7116
7117         * dialog-msw.c (syms_of_dialog_mswindows):
7118         * dialog-msw.c (vars_of_dialog_mswindows):
7119         New file dialog symbols, vars.
7120
7121         * dialog-x.c:
7122         * dialog-x.c (maybe_run_dbox_text_callback):
7123         * dialog-x.c (dbox_descriptor_to_widget_value):
7124         * dialog-x.c (x_make_dialog_box_internal):
7125         * dialog-x.c (console_type_create_dialog_x):
7126         Mule-ize entire file.
7127         Redo to support question dialog syntax.
7128         [6].
7129
7130         * dialog.c:
7131         * dialog.c (Fmake_dialog_box_internal):
7132         * dialog.c (syms_of_dialog):
7133         Kill old popup-dialog-box, replace with new primitive.
7134         Just call device method or signal error.
7135
7136         * eldap.c (Fldap_open):
7137         * eldap.c (Fldap_search_basic):
7138         * eldap.c (Fldap_add):
7139         * eldap.c (Fldap_modify):
7140         [1].
7141         [7].
7142
7143         * emacs.c:
7144         * emacs.c (make_arg_list_1):
7145         * emacs.c (make_arg_list):
7146         Mule-ize call to dll_init().
7147         [6].
7148         [8].
7149
7150         * emacs.c (make_argc_argv):
7151         * emacs.c (free_argc_argv):
7152         * emacs.c (init_cmdargs):
7153         * emacs.c (main_1):
7154         * emacs.c (Fkill_emacs):
7155         * emacs.c (Fdump_emacs):
7156         Update comments about what can be used in syms_* etc.
7157         Call init_win32() when necessary.
7158         Fix up MS Win dialog box in kill-buffer to actually work right.
7159         [7].
7160
7161         * eval.c:
7162         * eval.c (For):
7163         * eval.c (Fand):
7164         * eval.c (Fprogn):
7165         * eval.c (Fprog1):
7166         * eval.c (Fprog2):
7167         * eval.c (FletX):
7168         * eval.c (Flet):
7169         * eval.c (condition_case_3):
7170         * eval.c (Feval):
7171         * eval.c (function_argcount):
7172         * eval.c (funcall_lambda):
7173         [1].
7174
7175         * eval.c (type_error): New.
7176         * eval.c (maybe_type_error): New.
7177         * eval.c (continuable_type_error): New.
7178         * eval.c (maybe_continuable_type_error): New.
7179         * eval.c (type_error_with_frob): New.
7180         * eval.c (maybe_type_error_with_frob): New.
7181         * eval.c (continuable_type_error_with_frob): New.
7182         * eval.c (maybe_continuable_type_error_with_frob): New.
7183         New functions for use with structured errors.
7184
7185         * event-Xt.c:
7186         * event-Xt.c (x_event_to_emacs_event):
7187         Buttons are now modifiers too.
7188
7189         * event-Xt.c (emacs_Xt_current_event_timestamp):
7190         Implement new event method.
7191         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7192
7193         * event-msw.c:
7194         * event-msw.c (ntpipe_shove_writer): [5].
7195         * event-msw.c (mswindows_enqueue_mouse_button_event):
7196         * event-msw.c (mswindows_drain_windows_queue):
7197         * event-msw.c (mswindows_wnd_proc): [7].
7198         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7199         * event-msw.c (mswindows_modifier_state):
7200         Throughout: support new button modifiers.
7201
7202         * event-msw.c (emacs_mswindows_current_event_timestamp):
7203         Implement new event method.
7204         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7205
7206         * event-stream.c:
7207         * event-stream.c (event_stream_current_event_timestamp): New.
7208         * event-stream.c (maybe_kbd_translate): New functionality.
7209         * event-stream.c (vars_of_event_stream):
7210         Document new kbd-translate-table functionality.
7211
7212         * event-stream.c (Fcurrent_event_timestamp): New.
7213         New primitive for use in fabricated events.
7214         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7215
7216         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7217
7218         * events.c:
7219         * events.c (Fmake_event):
7220         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7221         [1].
7222         [9].
7223
7224         * events.c (format_event_object): fix gcc warnings.
7225
7226         * events.c (Fevent_timestamp): Document new primitives.
7227
7228         * events.c (TIMESTAMP_HALFSPACE): New.
7229
7230         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7231         comparing timestamps correctly (half-space algorithm).
7232
7233         * events.c (Fevent_modifier_bits): Doc fix.
7234
7235         * events.c (Fevent_modifiers): Major doc addition.
7236         * events.c (event_x_y_pixel_internal): Typo fix.
7237         * events.c (syms_of_events): Declare new primitives.
7238
7239         * events.h:
7240         Update long comment for button modifiers, timestamps.
7241
7242         * events.h (struct event_stream):
7243         New current_event_timestamp method.
7244
7245         * extents.c:
7246         * extents.c (extent_in_region_p):
7247         * extents.c (decode_extent):
7248         * extents.c (Fset_extent_parent):
7249         * extents.c (decode_map_extents_flags):
7250         Fix gcc warnings.
7251         [9].
7252
7253         * extents.c (struct extent_at_arg):
7254         * extents.c (decode_extent_at_flag):
7255         * extents.c (extent_at_mapper):
7256         * extents.c (extent_at_bytind):
7257         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7258         * extents.c (Fextents_at): New primitive. [9].
7259         * extents.c (symbol_to_glyph_layout): [9].
7260         Support new primitive `extents-at'.
7261
7262
7263         * extents.c (get_text_property_bytind):
7264         extent_at_bytind has another arg.
7265         [9].
7266
7267         * extents.c (syms_of_extents): New primitive.
7268
7269         * file-coding.c (Fmake_coding_system): [1].
7270         * file-coding.c (subsidiary_coding_system): fix gcc warning
7271         * file-coding.c (syms_of_file_coding): [2].
7272
7273         * fileio.c (Fexpand_file_name):
7274         * fileio.c (Fsysnetunam):
7275         * fileio.c (Ffile_exists_p):
7276         * fileio.c (Ffile_executable_p):
7277         * fileio.c (Fverify_visited_file_modtime):
7278         Clean up GCPROing.
7279
7280         * fileio.c (syms_of_fileio): [2].
7281
7282         * filelock.c (lock_file_1):
7283         * filelock.c (current_lock_owner):
7284         * filelock.c (lock_if_free):
7285         * filelock.c (lock_file):
7286         * filelock.c (unlock_file):
7287         Clean up GCPROing.
7288
7289         * fns.c (concat): Fix gcc warning.
7290
7291         * fns.c (Fmember):
7292         * fns.c (Fold_member):
7293         * fns.c (Fmemq):
7294         * fns.c (Fold_memq):
7295         * fns.c (memq_no_quit):
7296         * fns.c (Fassoc):
7297         * fns.c (Fold_assoc):
7298         * fns.c (Fassq):
7299         * fns.c (Fold_assq):
7300         * fns.c (assq_no_quit):
7301         * fns.c (Frassoc):
7302         * fns.c (Fold_rassoc):
7303         * fns.c (Frassq):
7304         * fns.c (Fold_rassq):
7305         * fns.c (rassq_no_quit):
7306         * fns.c (Fdelete):
7307         * fns.c (Fold_delete):
7308         * fns.c (Fdelq):
7309         * fns.c (Fold_delq):
7310         * fns.c (delq_no_quit):
7311         * fns.c (Fremassoc):
7312         * fns.c (Fremassq):
7313         * fns.c (remassq_no_quit):
7314         * fns.c (Fremrassoc):
7315         * fns.c (Fremrassq):
7316         * fns.c (remrassq_no_quit):
7317         * fns.c (Freverse):
7318         * fns.c (mapcar1):
7319         [1].
7320
7321         * frame-msw.c (mswindows_init_frame_1):
7322         * frame-msw.c (mswindows_delete_frame):
7323         Register popups with dialog code so keyboard traversing works.
7324
7325         * frame-tty.c (tty_raise_frame_no_select): [1].
7326
7327         * frame-x.c:
7328         * frame-x.c (x_set_frame_text_value):
7329         * frame-x.c (x_set_frame_properties):
7330         * frame-x.c (x_create_widgets):
7331         [7].
7332
7333         * frame.c:
7334         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7335
7336         * frame.h (wrap_frame): New.
7337         Macro like wrap_device.
7338
7339         * general.c:
7340         * general.c (SYMBOL):
7341         * general.c (syms_of_general):
7342         Major reorg.  This is now just a wrapper and symbols themselves
7343         are listed in general-slots.h.
7344
7345         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7346         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7347
7348         * glyphs-msw.c (mswindows_native_layout_instantiate):
7349         Add DS_CONTROL so keyboard traversal will work.
7350
7351         * glyphs-widget.c:
7352         * glyphs-widget.c (syms_of_glyphs_widget):
7353         Move some symbols to general-slots.h.
7354
7355         * glyphs-x.c:
7356         * glyphs-x.c (xbm_instantiate_1):
7357         * glyphs-x.c (x_xbm_instantiate):
7358         * glyphs-x.c (x_xface_instantiate):
7359         * glyphs-x.c (autodetect_instantiate):
7360         * glyphs-x.c (cursor_font_instantiate):
7361         * glyphs-x.c (x_update_widget):
7362         * glyphs-x.c (x_widget_instantiate):
7363         * glyphs.c (bitmap_to_lisp_data):
7364         * glyphs.c (pixmap_to_lisp_data):
7365         [7].
7366
7367         * glyphs.c (syms_of_glyphs):
7368         [2].
7369
7370         * gui-x.c:
7371         * gui-x.c (print_widget_value):
7372         * gui-x.c (menu_separator_style_and_to_external):
7373         * gui-x.c (add_accel_and_to_external):
7374         * gui-x.c (button_item_to_widget_value):
7375         * gui-x.c (gui_items_to_widget_values_1):
7376         * gui-x.c (gui_items_to_widget_values):
7377         * gui-x.c (syms_of_gui_x):
7378         * gui-x.c (vars_of_gui_x):
7379         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7380         [9].
7381
7382         * gui-x.h:
7383         Muleize, prototype changes matching gui-x.c.
7384
7385         * gui.c:
7386         * gui.c (separator_string_p):
7387         * gui.c (gui_item_add_keyval_pair):
7388         * gui.c (make_gui_item_from_keywords_internal):
7389         * gui.c (signal_too_long_error):
7390         * gui.c (parse_gui_item_tree_item):
7391         * gui.c (syms_of_gui):
7392         * gui.c (vars_of_gui):
7393         * gui.h:
7394         menu-no-selection-hook moved here (used by MSWin).
7395         Move some symbols to general-slots.h.
7396         [6].
7397         [9].
7398
7399         * insdel.c (get_buffer_pos_char):
7400         * insdel.c (get_buffer_range_char):
7401         Add GC comments.
7402
7403         * keymap.c (keymap_lookup_directly):
7404         * keymap.c (keymap_store):
7405         * keymap.c (ensure_meta_prefix_char_keymapp):
7406         * keymap.c (describe_map):
7407         * keymap.h:
7408         Support new button modifiers.
7409
7410         * lisp-disunion.h (wrap_object):
7411         * lisp-disunion.h (XSETOBJ):
7412         Rename make_obj to wrap_object.
7413
7414         * lisp-union.h:
7415         * lisp-union.h (make_int):
7416         * lisp-union.h (make_char):
7417         Support wrap_object.
7418
7419         * lisp.h:
7420         * lisp.h (LIST_LOOP):
7421         * lisp.h (EXTERNAL_LIST_LOOP):
7422         * lisp.h (LIST_LOOP_2):
7423         * lisp.h (EXTERNAL_LIST_LOOP_1):
7424         * lisp.h (EXTERNAL_LIST_LOOP_2):
7425         * lisp.h (EXTERNAL_LIST_LOOP_3):
7426         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7427         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7428         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7429         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7430         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7431         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7432         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7433         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7434         * lisp.h (struct Lisp_Symbol):
7435         * lisp.h (maybe_continuable_error_with_frob):
7436         Fix up section comments.
7437         Add new types for char to indicate usage.
7438         Delete symbols auto-generated from general-slots.h.
7439         Add prototypes for structured error functions.
7440         Add long comments describing looping macros and change interface
7441         so that lvalues are automatically declared.
7442         Add NO_DECLARE macro in case callers want to declare lvalues
7443         themselves.
7444
7445         * lread.c (read_syntax_error):
7446         * lread.c (continuable_read_syntax_error):
7447         * lread.c (read_structure):
7448         * lread.c (sequence_reader):
7449         * lread.c (read_list_conser):
7450         * lread.c (read_compiled_function):
7451         Rename syntax_error and continuable_syntax_error to avoid clash
7452         with same-named structured error functions.
7453
7454         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7455         * menubar-msw.c (populate_menu_add_item):
7456         * menubar-msw.c (populate_or_checksum_helper):
7457         [5].
7458         [9].
7459
7460         * menubar-x.c:
7461         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7462         Mule-ize whole file.
7463
7464         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7465
7466         * mule-charset.c (Fmake_charset):
7467         * mule-wnnfns.c (Fwnn_set_param):
7468         [1].
7469
7470         * ntproc.c (create_child):
7471         * ntproc.c (Fwin32_set_current_locale):
7472         Add comments portending doom.
7473
7474         * objects-msw.c:
7475         * objects-msw.c (old_font_enum_callback_2):
7476         * objects-msw.c (font_enum_callback_1):
7477         * objects-msw.c (mswindows_enumerate_fonts):
7478         [5].
7479
7480         * objects-x.c:
7481         * objects-x.c (allocate_nearest_color):
7482         * objects-x.c (x_parse_nearest_color):
7483         * objects-x.c (x_initialize_color_instance):
7484         * objects-x.c (x_print_color_instance):
7485         * objects-x.c (x_finalize_color_instance):
7486         * objects-x.c (x_valid_color_name_p):
7487         * objects-x.c (x_initialize_font_instance):
7488         * objects-x.c (x_print_font_instance):
7489         * objects-x.c (valid_x_font_name_p):
7490         * objects-x.c (truename_via_FONT_prop):
7491         * objects-x.c (truename_via_random_props):
7492         * objects-x.c (truename_via_XListFonts):
7493         * objects-x.c (x_font_truename):
7494         * objects-x.c (x_font_instance_truename):
7495         * objects-x.c (x_font_instance_properties):
7496         * objects-x.c (x_list_fonts):
7497         * objects-x.c (x_find_charset_font):
7498         Mule-ize entire file.
7499         [7].
7500
7501         * objects-x.h:
7502         Mule-verify.
7503
7504         * print.c:
7505         * print.c (std_handle_out_external):
7506         * print.c (debug_print_no_newline):
7507         * print.c (syms_of_print):
7508         Output to all debugger kinds in debug-print.
7509         Fix console-output code under MSWin to actually work.
7510
7511         * process-nt.c (send_signal):
7512         * process-nt.c (nt_create_process):
7513         Use newer Unicode macros.
7514
7515         * process-unix.c (unix_create_process):
7516         * process-unix.c (unix_canonicalize_host_name):
7517         * process-unix.c (unix_open_network_stream):
7518         [7].
7519
7520         * scrollbar-x.c:
7521         Mule-verify.
7522
7523         * search.c (syms_of_search):
7524         [2].
7525
7526         * select-msw.c (mswindows_destroy_selection):
7527         Use LIST_LOOP_2.
7528
7529         * select-x.c (symbol_to_x_atom):
7530         [7].
7531
7532         * select.c (syms_of_select):
7533         [2].
7534
7535         * sound.c (Fplay_sound_file):
7536         [7].
7537
7538         * specifier.c:
7539         * specifier.c (decode_specifier_type):
7540         * specifier.c (Fvalid_specifier_locale_type_p):
7541         * specifier.c (check_valid_locale_or_locale_type):
7542         * specifier.c (decode_locale):
7543         * specifier.c (decode_locale_type):
7544         * specifier.c (decode_locale_list):
7545         * specifier.c (check_valid_domain):
7546         * specifier.c (decode_specifier_tag_set):
7547         * specifier.c (Fcanonicalize_tag_set):
7548         * specifier.c (Fdefine_specifier_tag):
7549         * specifier.c (Fspecifier_tag_predicate):
7550         * specifier.c (check_valid_inst_list):
7551         * specifier.c (check_valid_spec_list):
7552         * specifier.c (decode_how_to_add_specification):
7553         * specifier.c (check_modifiable_specifier):
7554         * specifier.c (specifier_add_spec):
7555         * specifier.c (boolean_validate):
7556         * specifier.c (display_table_validate):
7557         [9].
7558
7559         * specifier.c (syms_of_specifier):
7560         Move some symbols to general-slots.h.
7561         [2].
7562
7563         * symbols.c:
7564         * symbols.c (Fmapatoms):
7565         * symbols.c (Fapropos_internal):
7566         Add GCPROs.
7567
7568         * symbols.c (set_default_buffer_slot_variable):
7569         * symbols.c (set_default_console_slot_variable):
7570         [1].
7571
7572         * symbols.c (defsymbol_massage_name_1):
7573         * symbols.c (defkeyword_massage_name):
7574         * symbols.c (deferror_1):
7575         * symbols.c (deferror):
7576         * symbols.c (deferror_massage_name_and_message):
7577         * symeval.h:
7578         * symeval.h (DEFSYMBOL):
7579         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7580
7581         * symbols.c (syms_of_symbols):
7582         [2].
7583
7584         * symsinit.h:
7585         * symsinit.h (init_win32): New.
7586         Also new is syms_of_dialog_mswindows.
7587
7588         * syswindows.h:
7589         Add new Unicode macros, missing Cygwin wide-char functions,
7590         convenience conversion macros for Qmswindows_tstr, macros for
7591         encapsulating required MSWin <-> Cygwin filename conversions,
7592         prototype for dynamically-extracted (not in NT 3.51) functions.
7593
7594         * toolbar-x.c:
7595         Mule-verify.
7596
7597         * tooltalk.c (Fadd_tooltalk_message_arg):
7598         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7599         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7600         [7].
7601
7602         * tooltalk.c (syms_of_tooltalk):
7603         [2].
7604
7605         * unexnt.c:
7606         * unexnt.c (unexec):
7607         Fix up headers, declaration of unexec() to be more standard.
7608
7609 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7610
7611         * offix.h: Revert change to guard macros - they're used in offix.c!
7612
7613 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7614
7615         * lisp.h: Defsubred Fdelete.
7616
7617         * console-msw.h:  (msprinter_default_printer): Added.
7618
7619         * console-msw.c (msprinter_canonicalize_console_connection):
7620         (msprinter_canonicalize_device_connection): Added.
7621
7622         * device-msw.c (msprinter_default_printer):
7623         (Fmswingows_get_default_printer):
7624         (signal_enum_priner_error):
7625         (Fmswingows_printer_list): Added.
7626
7627 2000-07-19  Martin Buchholz <martin@xemacs.org>
7628
7629         * XEmacs 21.2.35 is released.
7630
7631 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7632
7633         * select-x.c (x_handle_selection_request):
7634         Text selected in xemacs and pasted into xterm failed to appear.
7635         Spelling fixes and cosmetic changes.
7636
7637 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7638
7639         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7640         XEmacs frame (fix for doubling chars in dialog boxes).
7641
7642 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7643
7644         * select.c (select_convert_in, select_convert_out):
7645         Don't call intern() every time.
7646
7647         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7648         * select.c (vars_of_select): Initialise them.
7649
7650 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7651
7652         * select.c (selection-coercible-types): New.
7653
7654         * select.c (own-selection-internal):
7655         * select.c (get-selection-internal):
7656         MULE bug fix - these should default to COMPOUND_TEXT and not
7657         STRING for MULE. I think.
7658
7659         * select.c (select_convert_out): Use selection-coercible-types
7660         to find types that we can attempt to perform coercions on.
7661
7662 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7663
7664         * mule-wnnfns.c:
7665         * mule-canna.c:
7666         Add coding: cookie to identify encoding.
7667
7668         * mule-canna.c (CANNA_mode_keys): make static.
7669         Use proper prototypes, even for functions of no arguments.
7670         Remove external prototype for Fding().
7671
7672         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7673
7674         * select.c (syms_of_select): Add missing DEFSUBR.
7675
7676 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7677
7678         * select.c (get_selection_internal, own_selection_internal):
7679         Make the type default to STRING, rather than placing a nil type
7680         into Vselection_alist.
7681
7682 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7683
7684         * gpmevent.c (tty_selection_exists_p):
7685         * gpmevent.c (tty_own_selection):
7686         Updated parameter lists.
7687
7688 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7689
7690         * select.h (selection-alist): Removed declaration.
7691
7692         * select.h (get_local_selection):
7693         * select.c (get_local_selection):
7694         Made static.
7695
7696         * select.h (convert_selection): Removed declaration.
7697         * select.c (convert_selection): Removed.
7698         This function belongs in Lisp.
7699
7700         * select.h (select_convert_in): Declare.
7701         * select.h (select_convert_out): Declare.
7702         * select.c (select_convert_in): New.
7703         * select.c (select_convert_out): New.
7704         New conversion functions for other files to call.
7705
7706         * select.h (select_notify_buffer_kill): Declare.
7707         * select.c (select_notify_buffer_kill): New.
7708         New functions that get called from kill-buffer.
7709
7710         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7711         X-specific lisp code.
7712
7713         * select.h: Declare some of the lisp-visible functions for
7714         external use.
7715
7716         * select.c (clean_local_selection_data): Removed. This was
7717         a disgusting function, and previously should have been in
7718         select-x.c in any case. The functionality is now provided
7719         in select-convert-from-integer (select.el).
7720
7721         * select.c (available-selection-types): Fixed stupidity where
7722         INTEGER and ATOM got added twice. Also add STRING when we see an
7723         extent.
7724
7725         * select.c (get-selection-internal): Removed symbol stripping. No
7726         longer causes conversion when data comes from the internal cache.
7727
7728         * select.c (syms_of_select): Added new functions.
7729
7730         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7731         error checking - previously this called abort!
7732
7733         * select-x.c (x_own_selection): Changed comment.
7734
7735         * select-x.c (x_handle_selection_request): Use select_convert_out.
7736         Don't mess with selection-alist; it's an internal variable of select.c.
7737
7738         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7739
7740         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7741         rather than messing with selection-alist.
7742
7743         * select-msw.c (mswindows_get_foreign_selection):
7744         Use TO_INTERNAL_FORMAT rather than hacking.
7745
7746 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7747
7748         * process-unix.c (unix_open_multicast_group):
7749         (unix_open_multicast_group): Remove useless casts.
7750
7751 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7752
7753         * sound.c (Fplay_sound): Fix `unused variable' warning.
7754
7755         * emacs.c (main): Use correct type for _environ on SCO5.
7756
7757 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7758
7759         * console.h (own_selection_method):
7760         * console.h (selection_exists_p_method):
7761         * console.h (available_selection_types_method): New.
7762         * console.h (register_selection_data_type_method): New.
7763         * console.h (selection_data_type_name): New.
7764
7765         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7766         function & alist to track GlobalAlloc()'d handles that need
7767         releasing when the clipboard data gets replaced or emptied.
7768
7769         * event-msw.c (mswindows_wnd_proc): Call it.
7770
7771         * lisp.h, general.c (Qappend): New symbol representing a
7772         `how-to-add' mode.
7773
7774         * select.c (own-selection-internal):
7775         * select.c (selection-exists-p):
7776         * select.c (available-selection-types): New.
7777         * select.c (register-selection-data-type): New.
7778         * select.c (selection-data-type-name): New.  New functions to deal
7779         with device-specific selection data formats.
7780         * select.c (selection-converter-out-alist): Renamed.
7781         * select.c (selection-converter-in-alist): New.
7782         * select.c (selection-appender-alist): New.  Added new alists.
7783         * select.c (syms_of_select, vars_of_select): Added new symbols &
7784         variables.
7785         * select.c (get_local_selection): Split.
7786         * select.c: Removed spurious type checking - selections may now be
7787         of any type, not just strings.
7788         * select.c (own-selection-internal):
7789
7790         * select.h, select.c (convert_selection): New. Created
7791         convert_selection() function based on get_local_selection().
7792         * select.h, select.c (QCF_*): New symbols representing mswindows
7793         clipboard formats.
7794         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7795         symbols representing `how-to-add' modes.
7796
7797         * select-msw.c (x_sym_p): New.
7798         * select-msw.c (symbol_to_ms_cf): New.
7799         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7800         symbols & clipboard formats. Can also handle string names.
7801         * select-msw.c (mswindows_own_selection):
7802         * select-msw.c (mswindows_selection_exists_p):
7803         Added `data-type' parameter. Use it.
7804         * select-msw.c (mswindows_available_selection_types): New.
7805         * select-msw.c (mswindows_register_selection_data_type): New.
7806         * select-msw.c (mswindows_selection_data_type_name): New.
7807         * select-msw.c (mswindows_own_selection):
7808         * select-msw.c (mswindows_get_foreign_selection):
7809         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7810         * select-msw.c (console_create_select_mswindows): Added new methods.
7811         * select-msw.c (mswindows_destroy_selection): New.
7812         * select-msw.c (Vhandle_alist): New list.
7813         * select-msw.c (mswindows_own_selection):
7814
7815         * select-x.c (x_own_selection):
7816         * select-x.c (x_selection_exists_p):
7817         * select-x.c: Added some comments about maybe using new
7818         functionality.
7819         * select-x.c (x_own_selection):
7820
7821         * specifier.c: Remove definition of Qappend (now in general.c)
7822         * specifier.c (syms_of_specifier): Remove Qappend.
7823
7824 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7825
7826         * config.h.in: Add socklen_t.
7827
7828         * s/decosf4-0.h: No special compiler flags needed or desired.
7829         In particular, undefine _BSD for DEC OSF 4.0.
7830
7831 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7832
7833         * redisplay-msw.c (msprinter_frame_output_end): Added.
7834         (console_type_create_redisplay_mswindows): Referred the above.
7835
7836         * frame.c (setup_frame_without_minibuffer): Do not create a
7837         default minibuffer frame on a printer device.
7838
7839         * frame-msw.c (apply_dc_geometry): Added.
7840         (msprinter_start_page):
7841         (msprinter_init_frame_3):
7842         (msprinter_eject_page): Use it.
7843
7844         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7845         and removed residual duplex and orientation properties.
7846
7847 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7848
7849         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7850
7851         * unexalpha.c: Remove system prototypes from C sources!
7852
7853 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7854
7855         * eval.c: Remove references to M-x edit-options in DEFUNs for
7856         `defvar' and `defconst'.
7857
7858 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7859
7860         * config.h.in: Remove SMART_INCLUDE hackery.
7861
7862         PostgreSQL hacking:
7863         * config.h.in: Don't use SMART_INCLUDE.
7864
7865         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7866         * inline.c: Simply #include "postgresql.h"
7867         * postgresql.c:
7868         - Don't use SMART_INCLUDE
7869         - Use simply "const".
7870         - Use standard doc string conventions.
7871         - Use correct type for result of PQstatus.
7872
7873 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7874
7875         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7876
7877         C++ compilation changes.
7878         * config.h.in (EXTERN_C): Define.
7879         * config.h.in (not): This is also a C++ keyword.
7880         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7881         * cm.c: Use EXTERN_C.
7882         * redisplay-tty.c: Use EXTERN_C.
7883         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7884
7885 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7886
7887         * general.c: Remove duplicate definition for Qfunction.
7888
7889 2000-07-08  Ben Wing  <ben@xemacs.org>
7890
7891         * device-msw.c (msprinter_init_device):
7892         * device-msw.c (sync_printer_with_devmode):
7893         * device-msw.c (handle_devmode_changes):
7894         * device-msw.c (print_dialog_worker):
7895         * device-msw.c (Fmsprinter_apply_settings):
7896         * device-msw.c (hash_devmode):
7897         * device-msw.c (Fmsprinter_settings_despecialize):
7898         use Qmswindows_tstr, not Qctext.
7899
7900         * vm-limit.c (check_memory_limits):
7901         avoid infinite loop printing warning messages.
7902
7903 2000-07-05  Craig Lanning  <lanning@scra.org>
7904
7905         * Makefile.in.in: Add support for including the Windows resources
7906         when building with the cygwin and mingw targets.
7907
7908         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7909         not set or not correct.
7910         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7911         (init_initial_directory): Don't try to use $PWD on the
7912         WIN32_NATIVE target.
7913
7914         * s\cygwin32.h:
7915         [[Add -mwindows to eliminate console window.]] not required --ben
7916         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7917         (MAIL_USE_POP): removed; now handled by configure.
7918
7919         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7920         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7921         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7922         (MAIL_USE_POP): removed; now handled by configure.
7923         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7924         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7925         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7926         constant string.
7927         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7928         up from <winsock.h> via systime.h.
7929         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7930         (getpagesize): from Dan Holmsand, added.
7931         Added #endif which was left dangling by Ben's mega patch; added
7932         comment to help prevent this in the future.
7933
7934         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7935
7936 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7937
7938         * console-msw.h (struct mswindows_device): Removed unnecessary
7939         cached device geometry values.
7940         Added update_tick and an accessor macro.
7941         (Lisp_Devmode): Added lrecord declaration.
7942         (struct msprinter_device): Contain devmode as a Lisp object.
7943         Added mswindows_get_selected_frame_hwnd();
7944
7945         * console.h (struct console_methods): Indentation nitpicking.
7946
7947         * device-msw.c (mswindows_init_device): Do not initialize geometry
7948         cache. Initialize update tick.
7949         (mswindows_device_system_metrics): Ask the device for its geometry.
7950         (global_free_2_maybe):
7951         (devmode_to_hglobal):
7952         (handle_printer_changes):
7953         (ensure_not_printing):
7954         (print_dialog_worker):
7955         (Fmsprinter_print_setup_dialog):
7956         (Fmsprinter_print_dialog):
7957         (plist_get_margin):
7958         (plist_set_margin):
7959         (Fmsprinter_page_setup_dialog): Added functions.
7960         (sync_printer_with_devmode):
7961         (handle_devmode_changes):
7962         (Fmsprinter_get_settings):
7963         (Fmsprinter_select_settings):
7964         (Fmsprinter_apply_settings):
7965         (allocate_devmode):
7966         (Fmsprinter_settings_copy):
7967         (Fmsprinter_settings_despecialize):
7968         (print_devmode):
7969         (finalize_devmode):
7970         (equal_devmode):
7971         (hash_devmode): Added functions
7972         (syms_of_device_mswindows): Init devmode lrecord class.
7973
7974         * device.h: Added an exfun for find-device.
7975
7976         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7977         geometry; although, recreate the device compatible DC.
7978
7979         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7980         (msprinter_init_frame_3):
7981         (msprinter_frame_property):
7982         (msprinter_internal_frame_property_p):
7983         (msprinter_frame_properties):
7984         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7985         print job properties (will move to device settings).
7986
7987         * lisp.h: Added symbols.
7988
7989         * general.c (syms_of_general): Declared them.
7990
7991         * hash.c (string_hash): Added.
7992
7993         * lrecord.h (lrecord_type): Added devmode lrecord type.
7994
7995 2000-07-02  Mike Sperber <mike@xemacs.org>
7996
7997         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7998         FreeBSD 4.0.
7999
8000 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
8001
8002         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
8003         integer.
8004
8005 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
8006
8007         * data.c (Fstring_to_number): Don't recognize floating point if
8008         base is not 10.
8009
8010 2000-06-22  Martin Buchholz  <martin@xemacs.org>
8011
8012         * glyphs-widget.c (tab_control_query_geometry):
8013         (widget_query_geometry):
8014         (button_query_geometry):
8015         * glyphs.c (text_query_geometry):
8016         Enforce type correctness.
8017
8018 2000-06-18  Martin Buchholz  <martin@xemacs.org>
8019
8020         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
8021         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
8022
8023 2000-06-17  Martin Buchholz  <martin@xemacs.org>
8024
8025         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
8026         conflicts with gcc's fixincluded version of FOO.h.
8027
8028         * glyphs.h (image_instance_geometry): Remove trailing `,'
8029
8030 2000-06-08  Mike Alexander  <mta@arbortext.com>
8031
8032         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
8033         (shove_thread): Don't write the same output twice
8034         (make_ntpipe_output_stream): Increase priority of shove thread
8035         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
8036         chance to run
8037         (ntpipe_shove_closer): Don't delete the pipe until we're done with
8038         it.
8039
8040 2000-06-12  Ben Wing  <ben@xemacs.org>
8041
8042         * s\mingw32.h (sigset):
8043         * s\windowsnt.h (sigset):
8044         rename msw_ to mswindows_ for consistency with general convention.
8045
8046 2000-06-12  Ben Wing  <ben@xemacs.org>
8047
8048         * console-msw.c:
8049         * console-msw.c (mswindows_get_console_hwnd):
8050         * console-msw.c (mswindows_ensure_console_allocated):
8051         * console-msw.c (mswindows_hide_console):
8052         * console-msw.c (mswindows_show_console):
8053         * console-msw.c (mswindows_ensure_console_buffered):
8054         * console-msw.c (mswindows_output_console_string):
8055         * console-msw.c (mswindows_windows9x_p):
8056         * console-msw.h:
8057         * device-msw.c (mswindows_get_workspace_coords):
8058         * device-msw.c (mswindows_device_system_metrics):
8059         * dialog-msw.c (mswindows_popup_dialog_box):
8060         * event-msw.c (mswindows_wnd_proc):
8061         * frame-msw.c (mswindows_size_frame_internal):
8062         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8063         * menubar-msw.c (displayable_menu_item):
8064         * menubar-msw.c (mswindows_char_is_accelerator):
8065         * nt.c:
8066         * nt.c (mswindows_sigset):
8067         * nt.c (mswindows_sigrelse):
8068         * nt.c (mswindows_sigpause):
8069         * nt.c (mswindows_raise):
8070         * nt.c (timer_proc):
8071         * ntproc.c:
8072         * ntproc.c (find_child_console):
8073         * ntproc.c (sys_kill):
8074         * print.c:
8075         * print.c (std_handle_out_external):
8076         * process-nt.c (find_child_console):
8077         * process-nt.c (send_signal_the_95_way):
8078         * process-nt.c (ensure_console_window_exists):
8079         * process-nt.c (nt_create_process):
8080         * syssignal.h:
8081         rename msw_ to mswindows_ for consistency with general convention.
8082
8083         * emacs.c:
8084         * dumper.c:
8085         include nt.h, not syswindows.h.
8086
8087         * nt.c (mswindows_fstat):
8088         * nt.c (mswindows_stat):
8089         prefix mswindows_ instead of attempting to directly override the
8090         library functions.  fix declarations.
8091
8092         * nt.h:
8093         include syswindows.h.  move some sysdep.h stuff here.
8094
8095         * ntheap.h:
8096         include syswindows.h, not <windows.h>.
8097
8098         * ntplay.c:
8099         clean up headers.
8100
8101         * sysdep.c:
8102         clean up headers.
8103
8104         * sysdep.c (sys_fstat):
8105         * sysdep.c (sys_stat):
8106         call mswindows versions when appropriate.
8107
8108         * sysdep.h:
8109         move mswin decls to nt.h.
8110
8111         * syswindows.h:
8112         add long comment describing appropriate use of the various windows
8113         headers.
8114
8115 2000-06-11  Ben Wing  <ben@xemacs.org>
8116
8117         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8118
8119 2000-06-10  Ben Wing  <ben@xemacs.org>
8120
8121         * Makefile.in.in (release):
8122         Correction to make sure xemacs.exe always dumped when correct.
8123
8124         * alloca.c:
8125         * balloon_help.c:
8126         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8127
8128         * buffer.c (set_buffer_internal):
8129         [[[[2]]]]: Remove HAVE_FEP code.
8130
8131         * buffer.c (init_initial_directory):
8132         [3].
8133
8134         * bytecode.c:
8135         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8136         individual files.
8137
8138         * callproc.c:
8139         * callproc.c (call_process_cleanup):
8140         * callproc.c (Fold_call_process_internal):
8141         * callproc.c (child_setup):
8142         * callproc.c (getenv_internal):
8143         * callproc.c (init_callproc):
8144         * callproc.c (vars_of_callproc):
8145         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8146         __CYGWIN32__ -> CYGWIN.
8147         DOS_NT -> WIN32_NATIVE.
8148         Remove MSDOS support/references, converting to WIN32_NATIVE
8149           where correct.
8150         __MINGW32__ -> MINGW.
8151         Fix windows.h includes.
8152         Remove bogus HAVE_NTGUI.
8153
8154         * config.h.in:
8155         [2].
8156
8157         * console-msw.c:
8158         mswindows_message_outputted added for use in allowing startup
8159         errors on the console to be seen.
8160
8161         * console-msw.c (msw_ensure_console_allocated):
8162         * console-msw.c (msw_output_console_string):
8163         * console-msw.c (DHEADER):
8164         * console-msw.c (DOPAQUE_DATA):
8165         * console-msw.c (DEVENT):
8166         * console-msw.c (DCONS):
8167         * console-msw.c (DCONSCDR):
8168         * console-msw.c (DSTRING):
8169         * console-msw.c (DVECTOR):
8170         * console-msw.c (DSYMBOL):
8171         * console-msw.c (DSYMNAME):
8172         Fix warnings.
8173
8174         * console-stream.c (stream_init_console):
8175         Fix text/binary problems.
8176
8177         * device-msw.c:
8178         * device-msw.c (mswindows_finish_init_device):
8179         * device-msw.c (mswindows_delete_device):
8180         [1].
8181
8182         * device.c (handle_asynch_device_change):
8183         [3].
8184
8185         * dgif_lib.c:
8186         * dgif_lib.c (DGifOpenFileName):
8187         * dgif_lib.c (DGifOpenFileHandle):
8188         * dgif_lib.c (DGifGetLine):
8189         * dgif_lib.c (DGifGetPixel):
8190         Added config.h/lisp.h, fix up includes.
8191         [1].
8192
8193         * dired-msw.c:
8194         [4].
8195
8196         * dired.c:
8197         * dired.c (file_name_completion):
8198         * dired.c (Ffile_attributes):
8199         * dired.c (syms_of_dired):
8200         [1].
8201
8202         * dumper.c:
8203         * dumper.c (pdump_file_unmap):
8204         * dumper.c (pdump_load):
8205         [1].
8206
8207         * editfns.c:
8208         * editfns.c (Ftemp_directory):
8209         * editfns.c (user_login_name):
8210         * editfns.c (Fuser_real_login_name):
8211         * editfns.c (get_home_directory):
8212         [1].
8213
8214         * elhash.c (finish_marking_weak_hash_tables):
8215         [[[[5]]]]: Fix GCC warnings.
8216
8217         * emacs.c:
8218         * emacs.c (mswindows_handle_hardware_exceptions):
8219         * emacs.c (make_arg_list_1):
8220         * emacs.c (main_1):
8221         * emacs.c (Fkill_emacs):
8222         * emacs.c (Fdump_emacs):
8223         [1].
8224         Fix problems with nested crashes, add long comment.
8225
8226         * event-Xt.c (init_event_Xt_late):
8227         [1].
8228
8229         * event-msw.c:
8230         * event-msw.c (mswindows_dde_callback):
8231         * event-msw.c (mswindows_handle_sticky_modifiers):
8232         * event-msw.c (mswindows_wnd_proc):
8233         [1].
8234         [5].
8235
8236         * events.c (character_to_event):
8237         [1].
8238
8239         * fileio.c:
8240         * fileio.c (Ffile_name_directory):
8241         * fileio.c (Ffile_name_nondirectory):
8242         * fileio.c (directory_file_name):
8243         * fileio.c (Fexpand_file_name):
8244         * fileio.c (Fsubstitute_in_file_name):
8245         * fileio.c (Ffile_name_absolute_p):
8246         * fileio.c (check_executable):
8247         * fileio.c (Ffile_readable_p):
8248         * fileio.c (Ffile_accessible_directory_p):
8249         * fileio.c (Ffile_modes):
8250         * fileio.c (Funix_sync):
8251         * fileio.c (vars_of_fileio):
8252         [1]. [4].
8253
8254         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8255
8256         Expand getdefdir defn.
8257         Fix bogus rename() comment.
8258
8259         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8260         to use standard XEmacs include files, e.g. sysfile.h, rather
8261         than system-specific includes.
8262
8263         * fns.c:
8264         * fns.c (Fsubseq):
8265         [5]. [6].
8266
8267         * frame.c (vars_of_frame):
8268         [1].
8269
8270         * getloadavg.c:
8271         * getloadavg.c (getloadavg):
8272         [1]. [6].
8273         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8274         (We don't use it elsewhere in the code; just add a comment.)
8275
8276         * gif_io.c:
8277         [6].
8278         Add config.h.
8279
8280         * glyphs-msw.c:
8281         * glyphs-msw.c (mswindows_resource_instantiate):
8282         [1].
8283
8284         * glyphs-x.c (x_native_layout_instantiate):
8285         [5].
8286
8287         * gui-msw.c (Fmswindows_shell_execute):
8288         [1].
8289
8290         * insdel.c:
8291         [4].
8292
8293         * lisp.h:
8294         [4]. [5].
8295
8296         * lread.c (locate_file_in_directory_mapper):
8297         [1].
8298
8299         * lstream.c:
8300         [4].
8301
8302         * mem-limits.h:
8303         * mem-limits.h (get_lim_data):
8304         [1].
8305
8306         * menubar-msw.c:
8307         [4].
8308
8309         * ndir.h:
8310         [1].
8311
8312         * nt.c:
8313         * nt.c (getwd):
8314         * nt.c (closedir):
8315         * nt.c (rva_to_section):
8316         * nt.c (mswindows_executable_type):
8317         [1]. [6].
8318         Fix closedir() defn.
8319
8320         * nt.h:
8321         [[[[8]]]]: *_OK defs moved to sysfile.h.
8322
8323         * ntproc.c:
8324         [6]. [7].
8325
8326         * objects-x.c:
8327         [4].
8328
8329         * print.c:
8330         * print.c (std_handle_out_external):
8331         [1]. [4].
8332
8333         * process-nt.c:
8334         * process-nt.c (nt_create_process):
8335         [6].
8336         try to fix process quoting somewhat.
8337
8338         * process-unix.c (unix_create_process):
8339         [1].
8340
8341         * process.c:
8342         * process.c (vars_of_process):
8343         Add Vnull_device.
8344
8345         * process.h:
8346         [1].
8347
8348         * realpath.c:
8349         * realpath.c (xrealpath):
8350         [1].
8351
8352         * redisplay-tty.c (init_tty_for_redisplay):
8353         [3].
8354
8355         * redisplay.c:
8356         [4]. [6].
8357
8358         * scrollbar-msw.c:
8359         [4].
8360
8361         * sheap.c:
8362         * sheap.c (more_static_core):
8363         * sheap.c (report_sheap_usage):
8364         [5]. [6].
8365
8366         * signal.c:
8367         * signal.c (alarm_signal):
8368         [1]. [6].
8369
8370         * sound.c:
8371         [6].
8372
8373         * strftime.c:
8374         * strftime.c (zone_name):
8375         [1]. [5].
8376
8377         * symsinit.h (init_sunpro):
8378         [1].
8379
8380         * syscommctrl.h:
8381         commctrl.h not in Cygwin b20.1.
8382
8383         * sysdep.c:
8384         * sysdep.c (endif):
8385         * sysdep.c (sys_subshell):
8386         * sysdep.c (init_baud_rate):
8387         * sysdep.c (emacs_get_tty):
8388         * sysdep.c (emacs_set_tty):
8389         * sysdep.c (tty_init_sys_modes_on_device):
8390         * sysdep.c (init_system_name):
8391         * sysdep.c (sys_open):
8392         * sysdep.c (interruptible_open):
8393         * sysdep.c (sys_fopen):
8394         * sysdep.c (sys_mkdir):
8395         * sysdep.c (sys_rename):
8396         * sysdep.c (get_process_times_1):
8397         [1]. [6].
8398
8399         * sysdep.h:
8400         [1].
8401
8402         * sysdir.h:
8403         * sysdir.h (DIRENTRY_NONEMPTY):
8404         [1]. [6].
8405
8406         * sysdll.c (dll_init):
8407         * sysdll.h:
8408         [1].
8409
8410         * sysfile.h:
8411         [1]. [6]. [8].
8412         added text/binary defs.
8413
8414         * sysfloat.h:
8415         [1].
8416
8417         * sysproc.h:
8418         * sysproc.h (EDESTADDRREQ):
8419         * sysproc.h (poll_fds_for_input):
8420         [1]. [6].
8421
8422         * syspwd.h:
8423         [6].
8424
8425         * syssignal.h:
8426         [1].
8427
8428         * systime.h:
8429         [1]. [6].
8430
8431         * systty.h:
8432         [1].
8433
8434         * syswindows.h:
8435         [1].
8436         Always define WIN32_LEAN_AND_MEAN.
8437
8438         * unexcw.c (unexec):
8439         [5].
8440
8441         * unexec.c:
8442         * unexec.c (copy_text_and_data):
8443         * unexec.c (adjust_lnnoptrs):
8444         [1].
8445
8446         * unexnt.c:
8447         * unexnt.c (_start):
8448         [1].
8449
8450 2000-06-07  Ben Wing  <ben@xemacs.org>
8451
8452         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8453         was used only as a model.  We've long since extracted any useful
8454         logic or code out of this. (I just did an exhaustive search.)
8455
8456         * s\msdos.h: Removed.
8457
8458         * s\windows95.h: Removed.
8459
8460 2000-06-10  Ben Wing  <ben@xemacs.org>
8461
8462         * s\cygwin32.h:
8463         [1]. [5].
8464         Don't use extern with fun defs.
8465
8466         * s\mingw32.h:
8467         [1]. [7].
8468         Remove nt\inc include.
8469         Remove getdisk, getdefdir. (The former is unused, the latter
8470         expanded in fileio.h.)
8471
8472         * s\windowsnt.h:
8473         * s\windowsnt.h (WIN32_NATIVE):
8474         * s\windowsnt.h (HAVE_STRCASECMP):
8475         [1]. [7].
8476         Add long comment about preprocessor changes.
8477         Remove getdisk, getdefdir. (The former is unused, the latter
8478         expanded in fileio.h.)
8479
8480 2000-06-10  Ben Wing  <ben@xemacs.org>
8481
8482         * m\arm.h:
8483         * m\delta.h:
8484         * m\intel386.h:
8485         * m\sequent.h:
8486         * m\template.h:
8487         * m\windowsnt.h:
8488         [1].
8489         Remove bogus/unused NO_SOCK_SIGIO.
8490
8491 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8492
8493         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8494         not an Emchar.
8495
8496 2000-06-04  Mike Sperber <mike@xemacs.org>
8497
8498         * casetab.c (set_case_table): For `set-standard-case-table',
8499         actually deposit the new case tables where the rest of XEmacs can
8500         see them.
8501
8502 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8503
8504         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8505
8506 2000-06-05  Ben Wing  <ben@xemacs.org>
8507
8508         * callproc.c (child_setup): Don't do close_load_descs() under
8509         MS Windows.  Put in a comment explaining why.
8510
8511 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8512
8513         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8514         Toolkit shell" which breaks `kill-compilation' on Windows NT
8515         native, retaining STDERR handling improvements.
8516
8517 2000-06-01  Andreas Jaeger  <aj@suse.de>
8518
8519         * s/s390.h: Support for S390, based on a patch by Martin
8520         Schwidefsky <schwidefsky@de.ibm.com>.
8521
8522 2000-05-30  Andy Piper  <andy@xemacs.org>
8523
8524         * window.c (allocate_window):
8525         (make_dummy_parent):
8526         (Fset_window_configuration): use new hashtable type.
8527
8528         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8529         (struct image_instantiator_methods):
8530         (struct Lisp_Image_Instance): make instance geometry signed.
8531
8532         * glyphs.c (instantiate_image_instantiator):
8533         (image_instance_query_geometry):
8534         (image_instance_layout):
8535         (image_instance_layout):
8536         (query_string_geometry):
8537         (text_query_geometry):
8538         (image_instantiate):
8539         (image_instantiate):
8540         (cache_subwindow_instance_in_frame_maybe):
8541         (subwindow_query_geometry): make instance geometry signed.
8542
8543         * glyphs-widget.c (widget_query_geometry):
8544         (widget_layout):
8545         (button_query_geometry):
8546         (tree_view_query_geometry):
8547         (tab_control_query_geometry):
8548         (layout_query_geometry):
8549         (layout_layout):
8550         (native_layout_layout): make instance geometry signed.
8551
8552 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8553
8554         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8555         constant.
8556
8557         * general.c (syms_of_general): Add Qfull_assoc symbol.
8558
8559         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8560         correctly.
8561         (decode_weak_list_type): Decode full-assoc type.
8562         (encode_weak_list_type): Encode full-assoc type.
8563         (Fmake_weak_list): Update doc string.
8564
8565 2000-05-30  Andy Piper  <andy@xemacs.org>
8566
8567         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8568
8569         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8570         (decode_hash_table_weakness): ditto.
8571         (Fhash_table_weakness): ditto.
8572         (Fhash_table_type): ditto.
8573         (finish_marking_weak_hash_tables): ditto.
8574         (hash_table_weakness_validate): ditto.
8575         (syms_of_elhash): ditto.
8576
8577 2000-05-28  Martin Buchholz <martin@xemacs.org>
8578
8579         * XEmacs 21.2.34 is released.
8580
8581 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8582
8583         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8584         start cache.
8585         (updating_line_start_cache): Gone.
8586         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8587         generic code to force a minimum of 1 line laid out in the
8588         CMOTION_DISP case.
8589
8590 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8591
8592         * glyphs.c (instantiate_image_instantiator): Check for initialized
8593         height & width no longer special cases IMAGE_NOTHING.
8594         (nothing_instantiate): Set height and width of instance.
8595
8596 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8597
8598         * unexelf.c (unexec): Search for ".data" section.
8599         Initialize new_data2_offset from old_data_index.
8600         Remove redundant check for ElfW.
8601
8602 2000-05-23  Andy Piper  <andy@xemacs.org>
8603
8604         * glyphs.c (get_image_instantiator_governing_domain): allow more
8605         specific domains as the governing domain rather than expecting an
8606         exact match. This fixes problems with layouts.
8607
8608 2000-05-22  Andy Piper  <andy@xemacs.org>
8609
8610         * redisplay-output.c (compare_runes): check for non-images
8611
8612         * glyphs.c (set_glyph_dirty_p): ditto.
8613         (update_glyph_cachel_data): ditto.
8614
8615         * glyphs-widget.c (layout_post_instantiate): ditto.
8616         (layout_post_instantiate): ditto.
8617
8618         * event-msw.c (mswindows_wnd_proc): warning removal.
8619
8620 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8621
8622         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8623
8624         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8625
8626         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8627
8628         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8629         (mswindows_executable_type): mingw32 now has enough headers for
8630         this to work.
8631
8632 2000-05-20  Andy Piper  <andy@xemacs.org>
8633
8634         * console-msw.c (mswindows_output_last_error): ; -> ,
8635
8636 2000-05-12  Andy Piper  <andy@xemacs.org>
8637
8638         * console-msw.c (FROB): compare ints with ints.
8639
8640 2000-05-11  Andy Piper  <andy@xemacs.org>
8641
8642         * glyphs-x.c (x_finalize_image_instance): make minimal build
8643         happy.
8644
8645 2000-05-20  Ben Wing  <ben@xemacs.org>
8646
8647         * event-Xt.c:
8648         * event-Xt.c (vars_of_event_Xt):
8649         move modifier-keys-are-sticky to event-stream.c.
8650
8651         * event-msw.c:
8652         * event-msw.c (mswindows_enqueue_mouse_button_event):
8653         * event-msw.c (key_needs_default_processing_p):
8654         * event-msw.c (XEMSW_LCONTROL):
8655         * event-msw.c (mswindows_handle_sticky_modifiers):
8656         * event-msw.c (FROB):
8657         * event-msw.c (clear_sticky_modifiers):
8658         * event-msw.c (output_modifier_keyboard_state):
8659         * event-msw.c (output_alt_keyboard_state):
8660         * event-msw.c (mswindows_wnd_proc):
8661         * event-msw.c (mswindows_modifier_state):
8662         * event-msw.c (emacs_mswindows_handle_magic_event):
8663         implement sticky modifiers.
8664
8665         * event-stream.c:
8666         * event-stream.c (vars_of_event_stream):
8667         move modifier-keys-are-sticky here.
8668
8669         * lisp.h:
8670         add CHECK_FUNCTION.
8671
8672         * rangetab.c:
8673         implement map-range-table.
8674
8675
8676 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8677
8678         * redisplay-tty.c (reset_tty_modes):
8679         (tty_redisplay_shutdown): Adjust argument type to
8680         tty_frame_output_end.
8681
8682 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8683
8684         * eval.c (Fbacktrace): Don't output a line with only right
8685         parenthesis.
8686
8687 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8688
8689         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8690         (Fpq_reset_poll): Ditto.
8691
8692 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8693
8694         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8695
8696 2000-05-16  Ben Wing  <ben@xemacs.org>
8697
8698         * buffer.c:
8699         * buffer.c (dfc_convert_to/from_internal_format):
8700         * buffer.c (reinit_vars_of_buffer):
8701         Fix conversion functions to allow reentrancy.
8702
8703         * console-msw.c:
8704         * console-msw.c (mswindows_output_last_error):
8705         New fun, generally useful -- output a human-readable
8706         version of GetLastError() on the console.
8707
8708         * console-msw.h:
8709         * console-msw.h (struct mswindows_frame):
8710         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8711
8712         * console-stream.c (stream_output_begin):
8713         * console-stream.c (stream_output_end):
8714         * console-stream.c (stream_output_vertical_divider):
8715         * console-stream.c (stream_clear_region):
8716         * console-stream.c (stream_flash):
8717         * console-stream.c (console_type_create_stream):
8718         Delete blank stream methods, not needed.
8719
8720         * console.h (struct console_methods):
8721         Split begin/end methods into window and frame.
8722
8723         * event-msw.c:
8724         * event-msw.c (mswindows_handle_paint):
8725         * event-msw.c (output_alt_keyboard_state):
8726         * event-msw.c (mswindows_wnd_proc):
8727         * event-msw.c (vars_of_event_mswindows):
8728         Comment about problems with ignored-expose.
8729         Define mswindows-debug-events; not really implemented.
8730
8731         * frame-msw.c (mswindows_init_frame_1):
8732         random cleanups.
8733
8734         * glyphs-msw.c:
8735         * glyphs-msw.c (begin_defer_window_pos):
8736         * glyphs-msw.c (mswindows_unmap_subwindow):
8737         * glyphs-msw.c (mswindows_map_subwindow):
8738         * glyphs-msw.c (mswindows_resize_subwindow):
8739         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8740
8741         * glyphs.c (make_image_instance_1):
8742         Fix crash.
8743
8744         * gutter.c (Fredisplay_gutter_area):
8745         Use new begin/end methods.
8746
8747         * lisp.h (Dynarr_new2):
8748         New creation fun.
8749
8750         * redisplay-msw.c:
8751         * redisplay-msw.c (mswindows_frame_output_begin):
8752         * redisplay-msw.c (mswindows_frame_output_end):
8753         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8754         New begin/end methods -- handle DeferWindowPos.
8755
8756         * redisplay-output.c (redisplay_move_cursor):
8757         * redisplay-output.c (redraw_cursor_in_window):
8758         * redisplay-output.c (redisplay_update_line):
8759         * redisplay-output.c (redisplay_output_window):
8760         New begin/end methods.
8761
8762         * redisplay-tty.c:
8763         * redisplay-tty.c (tty_frame_output_begin):
8764         * redisplay-tty.c (tty_frame_output_end):
8765         * redisplay-tty.c (console_type_create_redisplay_tty):
8766         New begin/end methods.
8767
8768         * redisplay-x.c:
8769         * redisplay-x.c (x_window_output_begin):
8770         * redisplay-x.c (x_window_output_end):
8771         * redisplay-x.c (console_type_create_redisplay_x):
8772         New begin/end methods.
8773
8774         * redisplay.c (redisplay_frame):
8775         * redisplay.c (Fredisplay_echo_area):
8776         New begin/end methods.
8777         use MAYBE_DEVMETH for clear_frame; it may not exist.
8778
8779         * window.h (WINDOW_XFRAME):
8780         WINDOW_XFOO macros -- get locale and decode struct pointer.
8781
8782
8783 2000-05-12  Ben Wing  <ben@xemacs.org>
8784
8785         * emacs.c:
8786         * emacs.c (ensure_no_quitting_from_now_on):
8787         * emacs.c (fatal_error_signal):
8788         * emacs.c (mswindows_handle_hardware_exceptions):
8789         * emacs.c (main):
8790         * emacs.c (Fkill_emacs):
8791         * emacs.c (shut_down_emacs):
8792         * emacs.c (assert_failed):
8793         various improvements in fatal error handling.
8794
8795         * eval.c:
8796         move preparing_for_armageddon to emacs.c.
8797
8798         * lisp.h:
8799         declare fatal_error_in_progress.
8800
8801         * print.c:
8802         * print.c (std_handle_out_external):
8803         * print.c (std_handle_out_va):
8804         * print.c (stderr_out):
8805         * print.c (stdout_out):
8806         use console under mswin when no standard output.
8807         don't do code conversion during fatal error.
8808
8809         * scrollbar.c (Fscrollbar_page_up):
8810         * scrollbar.c (Fscrollbar_page_down):
8811         fix missing else.  reindent.
8812
8813 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8814
8815         Emergency fix.
8816
8817         * glyphs.h (GLYPH_CACHEL_DESCENT):
8818         (GLYPH_CACHEL_DESCENT):
8819         (GLYPH_CACHEL_DESCENT):
8820         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8821         used in case these are inline functions.
8822         Use more absurd values to error check.
8823
8824         include window.h for error check functions.
8825
8826 2000-05-11  Ben Wing  <ben@xemacs.org>
8827
8828         * cmdloop.c (Freally_early_error_handler):
8829         Display message box under windows; otherwise, message will disappear
8830         before it can be viewed.
8831
8832         * console-msw.c:
8833         * console-msw.c (Fmswindows_message_box):
8834         * console-msw.c (FROB):
8835         * console-msw.c (syms_of_console_mswindows):
8836         Define new fun `mswindows-message-box'.
8837         #### I will merge this into `popup-dialog-box'; just give me
8838         a bit of time.
8839
8840         * general.c:
8841         * general.c (syms_of_general):
8842         Some new symbols used in `mswindows-message-box'.
8843
8844         * glyphs.c:
8845         * glyphs.c (Fset_image_instance_property):
8846         put warning in this fun.
8847
8848         * glyphs.h:
8849         * glyphs.h (GLYPH_CACHEL_WIDTH):
8850         * glyphs.h (GLYPH_CACHEL_ASCENT):
8851         * glyphs.h (GLYPH_CACHEL):
8852         * glyphs.h (GLYPH_CACHEL_GLYPH):
8853         define error-checking versions to try to catch a bug i've seen --
8854         redisplay gets in an infinite loop because the glyph width of the
8855         continuation glyph is 65535.
8856
8857         * lisp.h:
8858         Extern message-box stuff.
8859
8860         * window.c (allocate_window):
8861         * window.c (make_dummy_parent):
8862         * window.c (Fset_window_configuration):
8863         Use EQUAL not EQ for subwindow caches to make them work a bit
8864         better. (Something is still very broken.)
8865
8866
8867 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8868
8869         * glyphs.c (image_instantiate): Suppress gcc warnings.
8870         (Fmake_image_instance): Fix doc string.
8871         * specifier.c (Fmake_specifier): Ditto.
8872
8873 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8874
8875         * paths.h.in (PATH_LOCK): Removed.
8876         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8877         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8878
8879 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8880
8881         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8882         Document (featurep '(and xemacs 21.02)).
8883
8884 2000-05-09  Ben Wing  <ben@xemacs.org>
8885
8886         * buffer.c (complex_vars_of_buffer):
8887         update modeline-format doc.
8888
8889         * device.h:
8890         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8891
8892         * emacs.c:
8893         timeline of all released versions of Emacs, for use in creating
8894         authorship comments and in synching up.
8895
8896         * glyphs-widget.c (image_instantiator_buttons):
8897         * glyphs-widget.c (image_instantiator_edit_fields):
8898         * glyphs-widget.c (image_instantiator_combo_box):
8899         * glyphs-widget.c (image_instantiator_scrollbar):
8900         * glyphs-widget.c (image_instantiator_progress_guage):
8901         * glyphs-widget.c (image_instantiator_tree_view):
8902         * glyphs-widget.c (image_instantiator_tab_control):
8903         * glyphs-widget.c (image_instantiator_labels):
8904         * glyphs-widget.c (image_instantiator_layout):
8905         * glyphs-widget.c (image_instantiator_native_layout):
8906         rename decode_domain method to governing_domain.
8907
8908         * glyphs.c:
8909         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8910         * glyphs.c (add_entry_to_device_ii_format_list):
8911         make sure we don't put an entry more than once into the list.
8912         * glyphs.c (check_instance_cache_mapper):
8913         *************************************************************
8914         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8915         HAVE BEEN GETTING.
8916         *************************************************************
8917         * glyphs.c (get_image_instantiator_governing_domain):
8918         clean up, expand on new concept of governing domain.
8919         * glyphs.c (instantiate_image_instantiator):
8920         * glyphs.c (allocate_image_instance):
8921         use governing_domain instead of cache_domain in naming.
8922         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8923         * glyphs.c (make_image_instance_1):
8924         * glyphs.c (Fmake_image_instance):
8925         allow for any domain (not just device), and process the
8926         governing domain correctly.  very big doc fix.
8927         * glyphs.c (Fimage_instance_domain):
8928         new primitive, to retrieve the governing domain of an image instance.
8929         * glyphs.c (image_instantiate):
8930         use new governing_domain stuff.  this fixes a crash you could get
8931         by instantiating certain widget glyphs in frame locales. (should
8932         signal an error instead of crashing.)
8933         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8934         * glyphs.c (Fglyphp): clean up doc.
8935         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8936         * glyphs.c (syms_of_glyphs):
8937         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8938         * glyphs.c (image_instantiator_format_create): add some comments about
8939         bogus code.
8940         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8941         for current-display-table. (Apparently Hrjove implemented in 1998 a
8942         design I wrote up in 1996, but didn't update the doc string.)
8943
8944         * glyphs.h: clean up a doc string.
8945         * glyphs.h (governing_domain):
8946         * glyphs.h (struct image_instantiator_methods):
8947         changes for governing_domain stuff.
8948
8949         * gutter.c:
8950         * gutter.c (Fgutter_specifier_p):
8951         * gutter.c (Fgutter_size_specifier_p):
8952         * gutter.c (Fgutter_visible_specifier_p):
8953         * objects.c:
8954         * objects.c (Fcolor_specifier_p):
8955         * objects.c (Ffont_specifier_p):
8956         * objects.c (Fface_boolean_specifier_p):
8957         doc strings moved to make-*-specifier.
8958
8959         * redisplay.c (add_disp_table_entry_runes_1):
8960         * redisplay.c (generate_fstring_runes):
8961         * redisplay.c (screen):
8962         add random comments and doc strings.
8963
8964         * specifier.c:
8965         * specifier.c (Fmake_specifier):
8966         major overhaul of this doc string.
8967
8968         * specifier.c (Fvalid_specifier_domain_p):
8969         comment about the bogosity of image instances being domains.
8970         * specifier.c (decode_domain):
8971         now non-static, used in glyphs.c.
8972         * specifier.c (specifier_instance):
8973         comment about the bogosity of image instances being domains.
8974         * specifier.c (Fgeneric_specifier_p):
8975         move doc string to make-generic-specifier.
8976         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8977         rebackslashify.
8978
8979         * specifier.h:
8980         * specifier.h (DOMAIN_FRAME):
8981         * specifier.h (DOMAIN_LIVE_P):
8982         * specifier.h (DOMAIN_XDEVICE):
8983         rebackslashify.
8984         add comments about problems with these macros.
8985         prototype for decode_domain.
8986
8987         * toolbar.c:
8988         * toolbar.c (Ftoolbar_specifier_p):
8989         move doc string to `make-toolbar-specifier'.
8990
8991         * window.c (window_unmap_subwindows_cache_mapper):
8992         *************************************************************
8993         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8994         HAVE BEEN GETTING.
8995         *************************************************************
8996
8997 2000-05-09  Andy Piper  <andy@xemacs.org>
8998
8999         * glyphs.h: declare reset_frame_subwindow_instance_cache.
9000
9001         * window.c (Fset_window_configuration): reset the frame subwindow
9002         cache and re-initialize the window subwindow caches.
9003
9004         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
9005
9006 2000-05-09  Ben Wing  <ben@xemacs.org>
9007
9008         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
9009         DWORD.
9010
9011 2000-04-26  Mike Woolley  <mike@bulsara.com>
9012
9013         * ntheap.c: Changed recreate_heap to limit the amount reserved
9014         for the heap to that which is actually available. Also now
9015         displays a message box (with some dignostics) in the event that
9016         it still can't start.
9017
9018 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9019
9020         * callproc.c (Fold_call_process_internal): GCPRO path
9021
9022 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
9023
9024         Patch by Bill Perry.
9025
9026         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
9027         back data instead of #ifdef.
9028         (Fscrollbar_page_down): ditto.
9029
9030 2000-05-07  Ben Wing  <ben@xemacs.org>
9031
9032         * buffer.h:
9033         Kludge for defining Qmswindows_tstr.
9034
9035         * nt.c:
9036         * nt.c (open_input_file):
9037         * nt.c (open_output_file):
9038         * nt.c (rva_to_section):
9039         * nt.c (mswindows_executable_type):
9040         Move all memory-mapped-file routines here (some were in unexnt.c,
9041         which is bad because they are used by process-nt.c, and unexnt
9042         won't be around when portable dumping).  Synched the above routines
9043         with FSF 20.6.
9044
9045         * nt.h:
9046         Removed ifdef'd out bogus code.
9047         Fixed some prototypes.
9048
9049         * nt.h (file_data):
9050         * nt.h (OFFSET_TO_RVA):
9051         * nt.h (RVA_TO_OFFSET):
9052         * nt.h (RVA_TO_PTR):
9053         Moved the memory-mapped-file structures, macros and prototypes
9054         here, to parallel nt.c.  ntheap.h should really be removed
9055         entirely, and it's a non-portable-dumper specific file.
9056
9057         * ntheap.h (round_to_next):
9058         Moved the memory-mapped-file structures, macros and prototypes
9059         to nt.h.
9060
9061         * ntproc.c (compare_env):
9062         Moved rva_to_section and mswindows_executable_type to nt.c.
9063         Moved compare_env to process-nt.c.
9064         ntproc.c will die, one day.
9065
9066         * ntproc.c (sys_spawnve):
9067         Account for win32_ -> mswindows_.
9068
9069         * process-nt.c:
9070         * process-nt.c (struct nt_process_data):
9071         * process-nt.c (ensure_console_window_exists):
9072         * process-nt.c (compare_env):
9073         * process-nt.c (nt_create_process):
9074         * process-nt.c (nt_kill_process_by_pid):
9075         * process-nt.c (syms_of_process_nt):
9076         * process-nt.c (vars_of_process_nt):
9077         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9078         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9079         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9080         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9081         Move compare_env here from ntproc.c.
9082
9083         * process.c (Fprocess_send_region):
9084         Takes an optional fourth argument, BUFFER, which should fix some
9085         problems with call-process.
9086
9087         * syscommctrl.h:
9088         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9089
9090         * syswindows.h:
9091         Move ICC_BAR_CLASSES to syscommctrl.h.
9092         Add preliminary macros for MSWindows/Mule.  More to come.
9093
9094         * unexnt.c:
9095         * unexnt.c (unexec):
9096         open_output_file moved to nt.c.
9097
9098
9099 2000-05-05  Andy Piper  <andy@xemacs.org>
9100
9101         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9102         instance from the frame cache also since GC may catch up too late
9103         to make frame deletion sane.
9104
9105 2000-05-04  Andy Piper  <andy@xemacs.org>
9106
9107         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9108         (x_finalize_image_instance): ungcpro on deletion.
9109
9110         * glyphs.c (image_instantiator_format_create): give pointers a
9111         query geometry method so that the geometry is at least set.
9112
9113         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9114         initialize layouts if using widgets.
9115
9116 2000-05-03  Andy Piper  <andy@xemacs.org>
9117
9118         * nt.c: remove bogus reference to sysmmsystem.h
9119
9120         * gui-x.c (popup_selection_callback): fix no selection abort.
9121
9122 2000-05-02  Andy Piper  <andy@xemacs.org>
9123
9124         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9125         (mswindows_widget_instantiate): ditto.
9126
9127         * glyphs-widget.c (initialize_widget_image_instance): initialize
9128         children correctly.
9129         (widget_instantiate): cope with children and items in the same
9130         instance.
9131
9132         * glyphs.c (mark_image_instance): cope with children as a first
9133         class member.
9134         (image_instance_equal): ditto.
9135         (image_instance_hash): ditto.
9136         (image_instance_changed): ditto.
9137
9138 2000-04-30  Andy Piper  <andy@xemacs.org>
9139
9140         * glyphs.c (subwindow_query_geometry): new function. Return some
9141         defaults.
9142         (subwindow_instantiate): don't assign dimensions if none have been
9143         given.
9144         (image_instantiator_format_create): add subwindow_query_geometry.
9145         (print_image_instance): cope with layouts as widgets.
9146
9147 2000-04-29  Andy Piper  <andy@xemacs.org>
9148
9149         * frame.c (delete_frame_internal): call
9150         free_frame_subwindow_instance_cache so that all subwindows are
9151         finalized before their parent.
9152         (mark_frame): remove subwindow_cachels.
9153         (Fmake_frame): remove subwindow_cachel manipulation.
9154         (allocate_frame_core): subwindow_instance_cache is a weak list.
9155         (delete_frame_internal): set subwindow_instance_cache to nil.
9156
9157         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9158         finalization safe.
9159         (mswindows_finalize_image_instance): use the device
9160         not the domain as the domain may have died already.
9161
9162         * glyphs-x.c (x_finalize_image_instance): ditto.
9163         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9164         HEIGHT.
9165
9166         * redisplay-output.c (redisplay_unmap_subwindows): update for
9167         subwindow instance cache as a weak list.
9168         (redisplay_unmap_subwindows_maybe): ditto.
9169         (redisplay_unmap_subwindows_except_us): ditto.
9170
9171         * glyphs.c (unmap_subwindow): error checking will check the domain
9172         so don't deal with it here. Don't use cachels anymore.
9173         (map_subwindow): ditto.
9174         (update_subwindow_cachel_data): remove old accessor names.
9175         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9176         (Fresize_subwindow): don't update cachel.
9177         (mark_subwindow_cachels):
9178         (update_subwindow_cachel_data):
9179         (add_subwindow_cachel):
9180         (get_subwindow_cachel_index):
9181         (update_subwindow_cachel):
9182         (reset_subwindow_cachels):
9183         (mark_subwindow_cachels_as_not_updated): deleted.
9184         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9185         subwindow instance to the frame cache.
9186         (find_matching_subwindow): update for subwindow instance cache as
9187         a weak list.
9188         (update_widget_instances): ditto.
9189         (image_instance_type_to_mask):inlined.
9190         (free_frame_subwindow_instance_cache): new function. finalize all
9191         subwindows that are instantiated.
9192
9193         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9194         of cachel information.
9195         (IMAGE_INSTANCE_DISPLAY_X):
9196         (IMAGE_INSTANCE_DISPLAY_Y):
9197         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9198         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9199         (XIMAGE_INSTANCE_DISPLAY_X):
9200         (XIMAGE_INSTANCE_DISPLAY_Y):
9201         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9202         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9203         remove subwindow_cachel structure and function references.
9204         (image_instance_type_to_mask): inline from glyphs.c
9205
9206         * redisplay.c (redisplay_frame): remove subwindow_cachel
9207         references.
9208
9209         * frame.h (struct frame): remove subwindow_cachels.
9210         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9211
9212         * frameslots.h: add subwindow_instance_cache.
9213
9214         * window.c (replace_window): check subwindow cache of replacement.
9215         (window_unmap_subwindows_cache_mapper):
9216         (window_unmap_subwindows): new functions. Unmap all subwindows
9217         cached on this window.
9218         (mark_window_as_deleted): unmap all subwindows.
9219
9220 2000-04-27  Andy Piper  <andy@xemacs.org>
9221
9222         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9223
9224         * glyphs-widget.c (widget_layout): return something.
9225         (layout_layout): return something. Fail if not initialized.
9226         (layout_query_geometry): ditto.
9227         (image_instantiator_native_layout): new function. Initialized the
9228         native layout type.
9229         (widget_instantiate): don't do layout stuff here.
9230
9231         * glyphs.c (instantiate_image_instantiator): reorded calling or
9232         instantiate and post_instantiate with layout in between.
9233         (image_instance_layout): be more selective about deciding whether
9234         the layout has been done or not.
9235
9236         * glyphs.h (struct image_instantiator_methods): return a value
9237         from layout_method.
9238
9239 2000-04-26  Andy Piper  <andy@xemacs.org>
9240
9241         * glyphs.c (allocate_image_instance): make initial width and
9242         height unspecified. Set initialized to 0.
9243
9244         * syscommctrl.h new file. Encapsulates commctrl.h.
9245
9246         * syswindows.h new file. Encapsulates windows.h.
9247
9248         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9249         * nt.c: ditto.
9250         * console-msw.h: ditto.
9251
9252         * redisplay-tty.c (tty_output_display_block): remove layout references.
9253
9254         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9255         window handle rather than just the frame.
9256
9257         * glyphs.c (mark_image_instance): remove layout references.
9258         (print_image_instance): ditto.
9259         (image_instance_equal): ditto.
9260         (image_instance_hash): ditto.
9261         (decode_image_instance_type): ditto.
9262         (encode_image_instance_type): ditto.
9263         (image_instantiate): ditto.
9264         (allocate_glyph): ditto.
9265         (Fimage_instance_height): ditto.
9266         (Fimage_instance_width): ditto.
9267         (update_subwindow): ditto.
9268
9269         * redisplay-x.c (x_output_display_block): recode for layouts as
9270         widgets.
9271
9272         * redisplay-output.c (redisplay_output_layout): recode for layouts
9273         as widgets.
9274         (compare_runes): remove layout references.
9275
9276         * redisplay-msw.c (mswindows_output_display_block): recode for
9277         layouts as widgets.
9278
9279         * glyphs-widget.c (image_instantiator_layout): remove
9280         layout_possible_dest_types.
9281         (layout_possible_dest_types): deleted.
9282
9283         * glyphs.h (image_instance_type): remove layout references.
9284         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9285         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9286         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9287
9288 2000-04-25  Andy Piper  <andy@xemacs.org>
9289
9290         * glyphs-widget.c (image_instantiator_buttons):
9291         (image_instantiator_edit_fields):
9292         (image_instantiator_combo_box):
9293         (image_instantiator_scrollbar):
9294         (image_instantiator_progress_guage):
9295         (image_instantiator_tree_view):
9296         (image_instantiator_tab_control):
9297         (image_instantiator_labels):
9298         (image_instantiator_layout): call default post_instantiate method.
9299         (widget_post_instantiate): new function. Simply lays out the
9300         widgets.
9301
9302         * glyphs.h (struct image_instantiator_methods): add
9303         post_instantiate method.
9304
9305         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9306         method calls.
9307
9308 2000-04-23  Andy Piper  <andy@xemacs.org>
9309
9310         * glyphs.h (struct image_instantiator_methods): add
9311         decode_domain_method.
9312         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9313         derived from the domain.
9314         (IMAGE_INSTANCE_FRAME): new accessor.
9315         (XIMAGE_INSTANCE_FRAME): ditto.
9316
9317         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9318         instead of _SUBWINDOW_FRAME.
9319         (finalize_image_instance): ditto.
9320         (Fimage_instance_foreground): ditto.
9321         (Fimage_instance_background): ditto.
9322         (image_instantiate): ditto.
9323         (update_subwindow_cachel): ditto.
9324         (update_subwindow): ditto.
9325         (unmap_subwindow): ditto.
9326         (map_subwindow): ditto
9327         (subwindow_instantiate): ditto.
9328         * glyphs-msw.c (mswindows_update_widget): ditto.
9329         (mswindows_progress_gauge_instantiate): ditto.
9330         (mswindows_tab_control_update): ditto.
9331         * glyphs-x.c (x_update_widget): ditto.
9332         (x_widget_instantiate): ditto.
9333         (x_tab_control_instantiate): ditto.
9334         (x_tab_control_update): ditto.
9335         * event-msw.c (mswindows_wnd_proc): ditto
9336
9337         * glyphs-widget.c (image_instantiator_layout): use
9338         subwindow_decode_domain.
9339         (image_instantiator_buttons): ditto.
9340         (image_instantiator_edit_fields): ditto.
9341         (image_instantiator_combo_box): ditto.
9342         (image_instantiator_scrollbar): ditto.
9343         (image_instantiator_progress_guage): ditto.
9344         (image_instantiator_tree_view): ditto.
9345         (image_instantiator_tab_control): ditto.
9346         (image_instantiator_labels): ditto.
9347         (image_instantiator_layout): ditto.
9348
9349         * glyphs.c: add instance error checking to many functions.
9350         (instantiate_image_instantiator): decode device from cache_domain.
9351         (image_instantiate): partially rewrite by using
9352         decode_image_instantiator_domain to determine what domain the
9353         instance needs to be cached in.
9354         (decode_image_instantiator_domain): new function. Determine what
9355         domain the image needs to be cached in.
9356         (check_window_subwindow_cache): new error checking function.
9357         (check_instance_cache_mapper): ditto.
9358         (check_image_instance_structure): ditto.
9359         (subwindow_decode_domain): new function. Encodes a window as a
9360         subwindow's cache domain.
9361         (image_instantiator_format_create): use it for text and
9362         subwindows.
9363
9364 2000-04-21  Andy Piper  <andy@xemacs.org>
9365
9366         * glyphs.c (image_instance_device): new function.
9367         (image_instance_frame): new function.
9368         (image_instance_window): new function.
9369         (image_instance_live_p): new function.
9370
9371         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9372         cache to nil.
9373
9374         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9375         (IMAGE_INSTANCE_DOMAIN): new accessor.
9376         (XIMAGE_INSTANCE_DOMAIN): ditto.
9377
9378         * glyphs-x.c (x_finalize_image_instance): device->domain.
9379
9380         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9381         (mswindows_finalize_image_instance): ditto.
9382
9383         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9384         (gif_instantiate): ditto.
9385         (png_instantiate): ditto.
9386         (tiff_instantiate): ditto.
9387
9388         * glyphs.c (instantiate_image_instantiator): use domain rather
9389         than device.
9390         (mark_image_instance): device -> domain.
9391         (print_image_instance): ditto.
9392         (finalize_image_instance): ditto.
9393         (image_instance_equal): ditto.
9394         (allocate_image_instance): ditto.
9395         (Fcolorize_image_instance): ditto.
9396         (query_string_geometry): ditto.
9397         (image_instantiate): ditto
9398         (query_string_font): ditto.
9399         (image_instantiate): ditto.
9400         (update_subwindow): ditto.
9401         (unmap_subwindow): ditto.
9402         (map_subwindow): ditto.
9403         (subwindow_instantiate): ditto.
9404
9405         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9406         (DOMAIN_FRAME): ditto.
9407         (DOMAIN_WINDOW): ditto.
9408         (DOMAIN_LIVE_P): ditto.
9409         (XDOMAIN_DEVICE): ditto.
9410         (XDOMAIN_FRAME): ditto.
9411         (XDOMAIN_WINDOW): ditto.
9412
9413         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9414         a valid specifier domain.
9415
9416 2000-04-19  Andy Piper  <andy@xemacs.org>
9417
9418         * glyphs-widget.c (syms_of_glyphs_widget): remove
9419         widget-callback-current-channel.
9420         (vars_of_glyphs_widget): ditto.
9421         * glyphs.h: ditto
9422
9423         * gui.c (get_gui_callback): revert to previous behaviour.
9424
9425 2000-04-18  Andy Piper  <andy@xemacs.org>
9426
9427         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9428         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9429         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9430
9431         * glyphs.c (image_instance_equal): add margin_width.
9432         (image_instance_hash): ditto.
9433
9434         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9435         (layout_query_geometry): ditto.
9436         (layout_layout): ditto.
9437         (syms_of_glyphs_widget): add margin-width.
9438         (image_instantiator_layout): allow margin-width.
9439
9440         * glyphs.c (update_widget_instances): make a normal function.
9441         (syms_of_glyphs): remove Qupdate_widget_instances.
9442         * glyphs.h: ditto.
9443
9444         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9445         so that we don't corrupt ideas about the last event or
9446         command. Remove widget-callback-current-channel fiddling.
9447         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9448
9449 2000-05-01  Martin Buchholz <martin@xemacs.org>
9450
9451         * XEmacs 21.2.33 is released.
9452
9453 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9454
9455         * make-src-depend: Allow dots in header file name.
9456
9457 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9458
9459         * mule-charset.h (struct charset_lookup): Add
9460         next_allocated_1_byte_leading_byte and
9461         next_allocated_2_byte_leading_byte.
9462         * mule-charset.c: Move above two variables so that those values
9463         will be dumped.
9464
9465 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9466
9467         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9468         when string length is zero.
9469         (find_charsets_in_emchar_string): Ditto.
9470
9471 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9472
9473         * lisp.h: extern Qdialog and Qmenubar.
9474
9475         * gui-x.c: added events.h.
9476                 also fixed typo which made the file uncompilable.
9477
9478         * general.c: Added Qmenubar and Qdialog
9479
9480 2000-04-28  Ben Wing  <ben@xemacs.org>
9481
9482         * frame-msw.c (mswindows_init_frame_1):
9483         * frame-msw.c (mswindows_mark_frame):
9484         * event-msw.c (mswindows_enqueue_dispatch_event):
9485         * console-msw.h:
9486         * console-msw.h (struct mswindows_frame):
9487         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9488         there are now three hash tables for callbacks.
9489         mswindows_enqueue_dispatch_event is no longer static.
9490
9491         * dialog-x.c (maybe_run_dbox_text_callback):
9492         * dialog-x.c (dbox_descriptor_to_widget_value):
9493         switch to new cons3 form for callbacks.
9494
9495         * glyphs-msw.c (mswindows_register_gui_item):
9496         * glyphs-msw.c (mswindows_widget_instantiate):
9497         * glyphs-msw.c (add_tree_item):
9498         * glyphs-msw.c (add_tab_item):
9499         new image instance parameter, so it can be passed to callback-ex.
9500         respect :callback-ex as well as :callback.
9501
9502         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9503         add :callback-ex.
9504
9505         * glyphs.c (print_image_instance):
9506         prettify, e.g. now prints widget type.
9507
9508         * gui-x.h:
9509         certain funs have new image instance parameter.
9510
9511         * gui.c:
9512         * gui.c (get_gui_callback):
9513         * gui.c (gui_item_add_keyval_pair):
9514         * gui.c (gui_item_init):
9515         * gui.c (gui_add_item_keywords_to_plist):
9516         * gui.c (mark_gui_item):
9517         * gui.c (gui_item_hash):
9518         * gui.c (gui_item_equal):
9519         * gui.c (copy_gui_item):
9520         * gui.c (syms_of_gui):
9521         recognize callback-ex in a number of places.
9522         also, fix the annoying "can't get out of yes-no dialog" bug.
9523
9524         * gui.h:
9525         * gui.h (struct Lisp_Gui_Item):
9526         recognize callback-ex in a number of places.
9527
9528         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9529         new parameter in button_item_to_widget_value.
9530
9531         * glyphs-x.c (x_update_widget):
9532         * glyphs-x.c (x_button_instantiate):
9533         * glyphs-x.c (x_button_update):
9534         * glyphs-x.c (x_progress_gauge_instantiate):
9535         * glyphs-x.c (x_edit_field_instantiate):
9536         * glyphs-x.c (x_combo_box_instantiate):
9537         * glyphs-x.c (x_tab_control_instantiate):
9538         * glyphs-x.c (x_label_instantiate):
9539         new image instance parameter in various places.
9540
9541         * event-Xt.c:
9542         * event-Xt.c (enqueue_Xt_dispatch_event):
9543         this fun gets exported.
9544
9545         * gui-msw.c:
9546         * gui-msw.c (mswindows_handle_gui_wm_command):
9547         handle both :callback and :callback-ex, and generate our own
9548         event because it's one of the callback-ex arguments.
9549
9550         * gui-x.c:
9551         * gui-x.c (popup_selection_callback):
9552         handle both :callback and :callback-ex, and generate our own
9553         event because it's one of the callback-ex arguments.
9554         * gui-x.c (button_item_to_widget_value):
9555         * gui-x.c (gui_items_to_widget_values_1):
9556         * gui-x.c (gui_item_children_to_widget_values):
9557         * gui-x.c (gui_items_to_widget_values):
9558         new image instance parameter in various places.
9559
9560         * fns.c (Freplace_list):
9561         fix small typo in doc string.
9562
9563         * lisp.h:
9564         declare enqueue_Xt_dispatch_event.
9565
9566 2000-04-28  Ben Wing  <ben@xemacs.org>
9567
9568         * buffer.c:
9569         * buffer.c (Frecord_buffer):
9570         * buffer.c (syms_of_buffer):
9571         delete record-buffer-hook.
9572
9573         * fns.c:
9574         * fns.c (Freplace_list):
9575         * fns.c (syms_of_fns):
9576         new primitive replace-list.
9577
9578         * frameslots.h:
9579         slot for old buffer-alist.
9580
9581         * lisp.h:
9582         exfun replace-list.
9583
9584         * redisplay.c:
9585         * redisplay.c (redisplay_frame):
9586         * redisplay.c (syms_of_redisplay):
9587         * redisplay.c (vars_of_redisplay):
9588         new hook buffer-list-changed-hook.
9589         call it.
9590
9591 2000-04-27  Ben Wing  <ben@xemacs.org>
9592
9593         * extents.h: extern in_modeline_generation.
9594
9595         * redisplay.c (generate_formatted_string_db): set
9596         in_modeline_generation.
9597
9598         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9599         flags if in modeline generation.  otherwise frame-modified-tick
9600         is ticked far too often.
9601         Declare in_modeline_generation.
9602
9603 2000-04-26  Ben Wing  <ben@xemacs.org>
9604
9605         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9606         option.
9607         (vars_of_emacs): add quick-build as an error-checking option.
9608         A bit kludgy, but there doesn't seem much point in creating
9609         a real var for this.
9610
9611         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9612
9613 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9614
9615         * redisplay.h (struct display_line): Add a new variable,
9616         line_continuation.
9617
9618         * redisplay.c (create_text_block): Set dl->line_continuation if
9619         the line continues.
9620         (create_string_text_block): Ditto.
9621         (regenerate_window_incrementally): Use line_continuation instead
9622         of searching continuation glyph.
9623         (add_margin_runes): Call add_glyph_rune.
9624         (add_glyph_rune): Handle margin glyph.
9625
9626 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9627
9628         * filelock.c (fill_in_lock_file_name):
9629         ANSIfy.
9630         Check for IS_ANY_SEP instead of '/'.
9631         (lock_file_1):
9632         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9633         Never check errno without first seeing that system call failed.
9634         (unlock_file): Add GCPRO.
9635         (Flock_buffer): Fix docstring.
9636         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9637
9638 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9639
9640         * sysdep.c (get_pty_max_bytes):
9641         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9642         strings longer than 252 bytes.
9643
9644         * md5.c: Unconditionally include ANSI header <limits.h>
9645
9646         * glyphs-x.c (convert_EImage_to_XImage):
9647         * lisp-union.h (union Lisp_Object):
9648         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9649
9650 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9651
9652         * filelock.c (current_lock_owner): Remove unused variable o, p.
9653
9654 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9655
9656         * callint.c: Remove multiply defined symbol Qlet
9657         (syms_of_callint): ditto.
9658
9659 2000-04-14  Andy Piper  <andy@xemacs.org>
9660
9661         * general.c (syms_of_general): add last-command, this-command, let
9662         and funcall.
9663
9664         * lisp.h: declare various symbols.
9665
9666         * glyphs.h: declare Qwidget_callback_current_channel;
9667
9668         * glyphs-widget.c (syms_of_glyphs_widget): add
9669         Qgui_callback_current_channel.
9670         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9671
9672         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9673         widget-callback-current-channel when invoking the interactive
9674         arg. Also bind last-command and next-command when invoking the
9675         widget updates.
9676         * gui-x.c (popup_selection_callback): ditto.
9677
9678         * gui.c (get_gui_callback): massage args so that we are always
9679         calling eval. This allows us to add our own variable bindings
9680         outside.
9681
9682         * glyphs-x.c (x_button_instantiate): use
9683         gui_items_to_widget_values since this is GC safe.
9684         (x_progress_gauge_instantiate): ditto.
9685         (x_edit_field_instantiate): ditto.
9686         (x_label_instantiate): ditto.
9687
9688         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9689         (emacs_Xt_event_widget_focus_out): new function
9690         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9691         focus.
9692         (emacs_Xt_event_add_widget_actions): new function. add focus
9693         functions as actions.
9694         (init_event_Xt_late): use it.
9695
9696 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9697
9698         * event-stream.c (Fdispatch_event): Doc fix.
9699
9700 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9701
9702         * postgresql.c: Remove all references to PQsetenv*.
9703
9704         * postgresql.h: Remove references to PGsetenvHandler object.
9705         * lrecord.h (lrecord_type): Ditto.
9706
9707 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9708
9709         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9710         real_heigh and real_width members, and accessor macros for these.
9711
9712         * glyphs-msw.c (init_image_instance_geometry): New function.
9713         (init_image_instance_from_dibitmap): Use it.
9714         (mswindows_resource_instantiate): Use it.
9715         (init_image_instance_from_xbm_inline): Use it.
9716         (mswindows_initialize_image_instance_mask): Use real bitmap
9717         geometry.
9718         (mswindows_create_resized_bitmap): Ditto.
9719         (mswindows_create_resized_mask): Ditto.
9720
9721         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9722         and bitmap to their surface size.
9723
9724 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9725
9726         * process-unix.c (unix_send_process): Guard against process MIA
9727         after Faccept_process_output.
9728
9729 2000-04-11  Ben Wing  <ben@xemacs.org>
9730
9731         * eval.c (unbind_to_hairy): fix brokenness introduced by
9732         nanosecond speed improvements.
9733
9734 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9735
9736         * sunplay.c (init_device): To play sounds correctly, the device
9737         apparently needs to be initialized at least once by XEmacs.  Make
9738         it so.
9739
9740 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9741
9742         * redisplay.c (add_margin_runes): Add text image glyph
9743           handling.
9744
9745 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9746
9747         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9748         gcc is newer than 2.5.
9749
9750 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9751
9752         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9753
9754         * fns.c (size_bit_vector):
9755         * alloc.c (size_vector):
9756         (make_vector_internal):
9757         (make_bit_vector_internal):
9758         (sweep_bit_vectors_1):
9759         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9760
9761 2000-04-06  Andy Piper  <andy@xemacs.org>
9762
9763         * gmalloc.c (malloc): undo previous change.
9764         (malloc): ditto.
9765         (free): ditto.
9766         (realloc): ditto.
9767
9768 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9769
9770         * line-number.c (buffer_line_number): Revert to former version.
9771
9772 2000-04-06  Andy Piper  <andy@xemacs.org>
9773
9774         * gmalloc.c (malloc): add error checking.
9775         (malloc): ditto.
9776         (free): ditto.
9777         (realloc): ditto.
9778
9779         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9780         button_item_to_widget_value arg.
9781
9782         * glyphs-x.c (x_button_instantiate): add extra
9783         button_item_to_widget_value arg.
9784         (x_progress_gauge_instantiate): ditto.
9785         (x_edit_field_instantiate): ditto.
9786         (x_label_instantiate): ditto.
9787
9788         * gui-x.c (gui_items_to_widget_values_1): add extra
9789         button_item_to_widget_value arg.
9790         (button_item_to_widget_value): add extra menu_item_p arg.
9791
9792         * gui-x.h: change signature of button_item_to_widget_value.
9793
9794         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9795         button_item_to_widget_value arg.
9796
9797 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9798
9799         * buffer.h (struct buffer): auto_save_modified should be long.
9800
9801 2000-04-05  Andy Piper  <andy@xemacs.org>
9802
9803         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9804         type.
9805         (button_query_geometry): give a little more room so that athena
9806         buttons fit.
9807
9808 2000-04-05  Andy Piper  <andy@xemacs.org>
9809
9810         * faces.c (complex_vars_of_faces): The widget face should inherit
9811         the font of the gui-element face.
9812
9813 2000-04-04  Andy Piper  <andy@xemacs.org>
9814
9815         * glyphs-x.c (x_button_update): new function. unconditionally
9816         update a button's state when the instance is dirty.
9817         (image_instantiator_format_create_glyphs_x): add x_button_update.
9818         (x_widget_instantiate): remove old resize cruft.
9819
9820 2000-04-02  Andy Piper  <andy@xemacs.org>
9821
9822         * frame.c (change_frame_size_1): The introduction of gutters means
9823         that we need to allow 0 as a potential frame dimension.
9824
9825 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9826
9827         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9828         image glyph if allow_cursor.
9829         (add_hscroll_rune): Don't allow cursor to border glyph.
9830         (create_text_block): Ditto.
9831
9832         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9833         text not in buffer.
9834         (redisplay_output_layout): Call ensure_face_cachel_complete for
9835         text image glyph.
9836
9837
9838 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9839
9840         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9841
9842         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9843         not in buffer
9844
9845         * redisplay-tty.c (tty_output_display_block): Delete the routine
9846         for text image glyph
9847         * redisplay-x.c (x_output_display_block): ditto
9848         * redisplay-msw.c (mswindows_output_display_block): ditto
9849
9850 2000-02-02  Mike Alexander  <mta@arbortext.com>
9851
9852         Note: Some of these were committed by accident as part of other
9853         patches.
9854
9855         * regex.c (regex_compile): Avoid compiler warnings.
9856
9857         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9858
9859         * nt.h: Declare term_ntproc correctly.
9860
9861         * nt.c: Remove incorrect declaration of get_home_directory which
9862         is declared correctly in lisp.h.
9863
9864         * keymap.c (get_keyelt): Avoid compiler warnings.
9865         (raw_lookup_key_mapper): Avoid compiler warnings.
9866
9867         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9868
9869         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9870
9871         * filemode.c (mode_string): Avoid compiler warnings.
9872
9873         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9874         avoid warning.
9875
9876         * events-mod.h: Undef some things that winuser.h defines differently.
9877
9878         * data.c (Faset): Avoid compiler warnings.
9879
9880         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9881
9882 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9883
9884         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9885         Fall through to simple beep on error.
9886         Replace "extern" by real header file.
9887
9888         * linuxplay.c: Use nativesound.h
9889         (play_sound_data): Return error code. Be less verbose on error.
9890
9891         * sunplay.c: Use nativesound.h
9892         (play_sound_data): Return error code. Be less verbose on error.
9893
9894         * ntplay.c: Use nativesound.h
9895         (play_sound_data): Return fake error code
9896
9897         * sgiplay.c: Use nativesound.h
9898         (play_sound_data): Return error code
9899
9900         * hpplay.c: Use nativesound.h, partially implement
9901         new error code. Break compilation until finished.
9902         (play_sound_data): error code.
9903
9904         * nativesound.h (play_sound_file):
9905           (play_sound_data): Prototype in new header.
9906
9907 2000-03-31  Andy Piper  <andy@xemacs.org>
9908
9909         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9910         for toggle and radio buttons.
9911         (image_instantiator_buttons): use it.
9912
9913 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9914
9915         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9916         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9917         found. Scrollbar event probably belonged to some old config.
9918
9919 2000-03-31  Andy Piper  <andy@xemacs.org>
9920
9921         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9922         than 1.
9923         (initialize_widget_image_instance): default layout to
9924         LAYOUT_HORIZONTAL rather than 0.
9925         (widget_instantiate): reverse the item list at the end rather than
9926         every iteration.
9927         (layout_layout): re-code for the border text at the front of the
9928         item list rather than at the end.
9929         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9930         provided by the user.
9931         (widget_query_geometry): comment.
9932
9933 2000-03-30  Andy Piper  <andy@xemacs.org>
9934
9935         * glyphs-widget.c (image_instantiator_layout): allow standard
9936         widget keywords in layouts.
9937
9938         * gutter.c (output_gutter): cope with nil gutter contents.
9939
9940         * frame.c (Fset_frame_properties): add gutter docs.
9941
9942 2000-03-29  Andy Piper  <andy@xemacs.org>
9943
9944         * toolbar-msw.c (TBSTYLE_FLAT): add.
9945         (mswindows_output_toolbar): minor fiddling.
9946
9947 2000-03-29  Andy Piper  <andy@xemacs.org>
9948
9949         * gutter.c (output_gutter): force gutter size recalculation if
9950         what we are trying to display won't fit.
9951         (update_gutter_geometry): new function. A per-gutter version of
9952         update_frame_gutter_geometry.
9953         (update_frame_gutter_geometry): use it.
9954         (redraw_exposed_gutter): add extra debugging output.
9955
9956 2000-03-28  Mike Alexander  <mta@arbortext.com>
9957
9958         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9959         (pdump_file_unmap): Implement it on Windows
9960         (pdump_file_get): Save alocated handles for pdump_file_unmap
9961
9962 2000-03-28  Andy Piper  <andy@xemacs.org>
9963
9964         * gui.c (get_gui_callback): treat Quit specially.
9965
9966 2000-03-27  Andy Piper  <andy@xemacs.org>
9967
9968         * glyphs.c (image_instantiate): be careful to check in the same
9969         way we assigned.
9970
9971 2000-03-27  Didier Verna  <didier@xemacs.org>
9972
9973         * config.h.in: define the proper SMART_INCLUDE macro.
9974         handle renaming of `foo_h_path' to `foo_h_file'.
9975
9976         * database.c: ditto.
9977
9978         * emacs.c: ditto.
9979
9980         * linuxplay.c: ditto.
9981
9982         * terminfo.c: ditto.
9983
9984         * tooltalk.h: ditto.
9985
9986 2000-03-27  Andy Piper  <andy@xemacs.org>
9987
9988         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9989         gets updated whenever the face might have changed.
9990
9991 2000-03-26  Mike Alexander  <mta@arbortext.com>
9992
9993         * dumper.c (pdump_resource_free): Fix the comment.
9994
9995 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9996
9997         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9998
9999 2000-03-22  Mike Alexander  <mta@arbortext.com>
10000
10001         * dumper.c: Include Windows headers on Windows
10002         (pdump_resource_free): Add a body to the function
10003         (pdump_load): exe_name -> exe_path and add some comments.
10004
10005 2000-03-25  Mike Alexander  <mta@arbortext.com>
10006
10007         * gui.c (copy_gui_item_tree): Return a value in all cases
10008
10009 2000-03-21  Didier Verna  <didier@xemacs.org>
10010
10011         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
10012         lwlib/config.h.in.
10013         (SMART_INCLUDE): new macro.
10014         (POSTGRES_INCLUDE): new macro to include postgresql headers from
10015         the proper location.
10016
10017         * postgresql.c: use it.
10018
10019         * inline.c: ditto.
10020
10021 2000-03-24  Andy Piper  <andy@xemacs.org>
10022
10023         * gutter.c (redraw_exposed_gutters): must be "in display" when we
10024         do this.
10025
10026 2000-03-24  Andy Piper  <andy@xemacs.org>
10027
10028         * redisplay-output.c (compare_runes): use image_instance_changed
10029         to detect changes. Do not depend on glyphs_changed, only depend on
10030         dirtiness.
10031          (redisplay_output_layout): add debug messages.
10032         (compare_runes): ditto.
10033
10034         * glyphs.h: declare new functions.
10035         (struct Lisp_Image_Instance): remove percent and associated
10036         accessors.
10037
10038         * gui.h: declare new copying functions.
10039
10040         * gui.c (copy_gui_item_tree): new function.
10041         (copy_gui_item): new function.
10042         (gui_item_id_hash): revert to standard hash.
10043         (gui_item_hash): ditto.
10044         (gui_item_hash_internal): deleted.
10045         (mark_gui_item): mark value.
10046         (gui_item_add_keyval_pair): add value.
10047         (gui_item_init): ditto.
10048         (gui_add_item_keywords_to_plist): ditto.
10049         (gui_item_equal): ditto.
10050         (syms_of_gui): add Q_value.
10051
10052         * glyphs-x.c (x_progress_gauge_update): use pending items and
10053         value for setting the state.
10054         (x_update_widget): don't set items from pending here.
10055
10056         * glyphs-widget.c (update_widget): update items here.
10057         (progress_gauge_set_property): use items for storing value. Put
10058         new value in pending items.
10059
10060         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10061         items for new value. Convert percent -> value.
10062         (mswindows_tab_control_update): don't update items here.
10063
10064         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10065         (update_subwindow): ditto.
10066         (image_instance_changed): new function. Compare hash values and
10067         past and present widget items.
10068         (image_instantiate): We more careful about where we instantiate
10069         things.
10070         (image_instantiate): add error checking.
10071
10072         * gutter.c (syms_of_gutter): use -hook.
10073
10074 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10075
10076         * console-tty.c (Fset_console_tty_input_coding_system): Use
10077         Qkeyboard.
10078         (Fset_console_tty_output_coding_system): Use Qterminal.
10079         (tty_init_console): Use Qkeyboard and Qterminal.
10080
10081 2000-03-21  Ben Wing  <ben@xemacs.org>
10082
10083         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10084         From Mike Alexander <mta@arbortext.com>.
10085
10086 2000-03-21  Ben Wing  <ben@xemacs.org>
10087
10088         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10089         process brokenness.  Proper implementation to come.
10090         * callproc.c:
10091         Rename call-process-internal to old-call-process-internal.
10092         New impl. in process.el.
10093
10094 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10095
10096         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10097
10098 2000-03-20  Andy Piper  <andy@xemacs.org>
10099
10100         * glyphs.c (full_list_hash): make hashes of the same elements in
10101         different orders return different values.
10102
10103 2000-03-20  Martin Buchholz <martin@xemacs.org>
10104
10105         * XEmacs 21.2.32 is released.
10106
10107 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10108
10109         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10110         (DFC_MALLOC_USE_CONVERTED_DATA):
10111         Add aliasing-safe casts to allow use with char* or unsigned char*
10112         lvalues.
10113
10114         * eldap.c (Fldap_open):
10115         (Fldap_search_basic):
10116         (Fldap_add):
10117         (Fldap_modify):
10118         Make C++-compilable.
10119         Make sure GCPRO'ed variables are initialized.
10120         Use temp variables to avoid repeated calls to Flength.
10121
10122 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10123
10124         * sysfile.h:
10125         Make sure PATH_MAX is always defined.
10126         Include limits.h for PATH_MAX.
10127         Deprecate use of MAXPATHLEN.
10128
10129 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10130
10131         * emacs.c: Add reinit_vars_of_fileio.
10132         * symsinit.h: Add reinit_vars_of_fileio.
10133         * fileio.c (reinit_vars_of_fileio): New.
10134         * fileio.c (Fmake_temp_name):
10135         Initialize temp_name random number from microseconds to make
10136         collisions even less likely.  Initialize always at process startup
10137         time.  (make-temp-name) used to return the same file name twice in
10138         a row when PDUMP.
10139         Random stylistic fiddling.
10140         Comment fixes.
10141
10142 2000-03-20  Andy Piper  <andy@xemacs.org>
10143
10144         * glyphs.c (image_instantiate): allow text glyphs to be
10145         instantiated in the minibuffer window.
10146
10147 2000-03-19  Andy Piper  <andy@xemacs.org>
10148
10149         * glyphs.c (image_instance_hash): be careful about which items we
10150         hash on.
10151
10152         * glyphs-widget.c (tab_control_set_property): record into pending
10153         items rather than the actual items.
10154
10155         * glyphs-x.c (x_update_widget): use pending items to update with.
10156
10157         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10158         to update with.
10159
10160         * glyphs.c (mark_image_instance): mark pending items.
10161
10162         * window.c (Fset_window_configuration): record the buffer.
10163         (Fselect_window): totally revert previous change which breaks many
10164         things.
10165
10166 2000-03-18  Andy Piper  <andy@xemacs.org>
10167
10168         * glyphs-msw.c (mswindows_tab_control_update): force selected
10169         item.
10170
10171         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10172         window domain cache, otherwise we get inconsistencies at
10173         startup. There is something fishy at startup which can lead to the
10174         minibuffer being the selected window when the gutter content is
10175         instantiated.
10176
10177         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10178         gcpros.
10179         (parse_gui_item_tree_children): ditto.
10180         (parse_gui_item_tree_item): ditto.
10181
10182         * glyphs.c (Fupdate_widget_instances): return something.
10183
10184 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10185
10186         * window.c (Fselect_window): Undo 2000-03-17 change.
10187
10188 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10189
10190         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10191         against v7.0 libraries.  Insta-coredump city until the postgres
10192         folks fix it.
10193
10194 2000-03-17  Andy Piper  <andy@xemacs.org>
10195
10196         * faces.c (complex_vars_of_faces): don't give the widget face an
10197         inherited background pixmap.
10198
10199         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10200         selected item.
10201
10202         * event-stream.c (Fdispatch_non_command_events): return something.
10203
10204         * gutter.c (output_gutter): use widget face.
10205         (clear_gutter): ditto.
10206
10207         * NEWS: adjust again.
10208
10209         * window.c (Fselect_window): make sure this runs to completion to
10210         avoid oddities with Fset_window_configuration.
10211         (Fcurrent_window_configuration): in general do not save the
10212         minibuffer as the selected window.
10213
10214         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10215
10216 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10217
10218         * emacs.c (Frunning_temacs_p): Revert previous patch.
10219         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10220
10221 2000-03-16  Andy Piper  <andy@xemacs.org>
10222
10223         * glyphs-x.c (x_tab_control_update): if no widget values then
10224         return.
10225
10226         * NEWS: update for new features.
10227
10228         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10229         synthetic event to the native system.
10230         (reinit_vars_of_event_Xt): set force_event_pending to
10231         emacs_Xt_force_event_pending.
10232
10233         * events.h (struct event_stream): add force_event_pending.
10234
10235         * specifier.c (recompute_one_cached_specifier_in_window): add
10236         comment.
10237
10238         * redisplay.c (redisplay_frame): don't call
10239         update_frame_subwindows. Reset subwindow cachels when
10240         subwindows_changed, removing this was an optimization too far.
10241
10242         * redisplay-output.c (compare_runes): reorganize so that we catch
10243         glyph changes when we want them. Set optimize_output when this
10244         would help layouts.
10245         (redisplay_output_layout): remove frame_really_changed, use
10246         optimize_output instead.
10247
10248         * redisplay-msw.c (mswindows_output_display_block): reset
10249         optimize_output after outputting a glyph.
10250         * redisplay-x.c (x_output_display_block): ditto.
10251         * redisplay-tty.c (tty_output_display_block): ditto.
10252
10253         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10254         functions.
10255         (gutter_specs_changed): do specific gutter positions.
10256         (top_gutter_specs_changed): new function. Only update the
10257         specified gutter specs.
10258         (bottom_gutter_specs_changed): ditto.
10259         (left_gutter_specs_changed): ditto.
10260         (right_gutter_specs_changed): ditto.
10261
10262         * gui.c (gui_item_hash_internal): new function, does a real hash.
10263         (gui_item_id_hash): use it.
10264         (gui_item_hash): hash the eval'ed gui_item.
10265
10266         * gui-x.c (popup_selection_callback): send an eval event to call
10267         Fupdate_widget_instances.
10268
10269         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10270         to call Fupdate_widget_instances.
10271
10272         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10273         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10274
10275         * glyphs.c: (update_frame_subwindows): deleted.
10276         (Fupdate_widget_instances): new function for updating the dirty
10277         state of widgets that might have changed.
10278         (syms_of_glyphs): add Qupdate_widget_instances.
10279         (full_list_hash): hash a list completely.
10280         (image_instance_hash): use it for items and properties.
10281
10282         * frame-msw.c (mswindows_size_frame_internal): remove unused
10283         variable.
10284
10285         * faces.h (struct face_cachel): fix comment.
10286
10287         * event-stream.c (Fdispatch_non_command_events): new
10288         function. Process non-command events, forcing an event cycle
10289         beforehand.
10290         (syms_of_event_stream): declare.
10291         (event_stream_force_event_pending): new function. Force an event
10292         on the native event queue so that an event cycle will occur next
10293         time we check.
10294
10295         * event-msw.c:
10296         (struct ntpipe_shove_stream):
10297         (mswindows_enqueue_dispatch_event):
10298         (mswindows_dequeue_dispatch_event):
10299         (mswindows_cancel_dispatch_event):
10300         (mswindows_pump_outstanding_events):
10301         (mswindows_drain_windows_queue):
10302         (mswindows_handle_paint):
10303         (mswindows_wnd_proc):
10304         (mswindows_key_to_emacs_keysym):
10305         (get_process_input_waitable):
10306         (emacs_mswindows_delete_stream_pair): re-indent file.
10307         (mswindows_need_event): do not process further fds if the windows
10308         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10309         fixes the 100% cpu problem.
10310         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10311
10312 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10313
10314         * alloc.h: New.
10315         * dumper.h: New.
10316         * dumper.c: New.
10317
10318         * emacs.c: Moved dump file searching to dumper.c.
10319         (Frunning_temacs_p): Fixed.
10320
10321         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10322         last_lrecord_type_index_assigned.
10323
10324 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10325
10326         * symsinit.h: Added reinit parameter to init_console_stream
10327         declaration.
10328
10329         * lisp.h: Added file parameter to pdump_load declaration.
10330
10331         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10332         support.  Added dump file searching.
10333
10334         * config.h.in: Added EMACS_PROGNAME.
10335
10336         * console-stream.c (init_console_stream): Fix reinitialisation
10337         when running from temacs.
10338
10339         * alloc.c (pdump): Add id support.
10340         (pdump_load): Add file parameter and signature/id support.
10341
10342         * Makefile.in.in: Add full pdump support.
10343
10344 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10345
10346         * postgresql.c: Update documentation to reflect latest code
10347         status.
10348         (print_result): Show tuple counts in printed representation when
10349         appropriate.
10350         (Fpq_put_nbytes): MULE-ize.
10351         (Fpq_get_line_async): Ditto.
10352
10353 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10354
10355         * postgresql.c (Fpq_lo_import): Fix return value.
10356         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10357
10358 2000-03-13  Ben Wing  <ben@xemacs.org>
10359
10360         * alloc.c (pdump_load):
10361         Fix compile warning under mswin.
10362
10363 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10364
10365         * postgresql.c: Mule-ization, bug fixes.
10366         Use PG_CODING to encapsulate coding system name changes.
10367         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10368         (pg-coding-system): Create.
10369
10370         (Fpq_conn_defaults): Mule-ize.
10371         (Fpq_connectdb): Mule-ize & bug fix.
10372         (Fpq_connect_start): Mule-ize.
10373         (Fpq_set_client_encoding): Mule-ize.
10374         (Fpq_finish): Document `DEAD' connection status.
10375         (Fpq_clear): Ditto.
10376         (Fpq_pgconn): Mule-ize.
10377         (Fpq_exec): Mule-ize & bug fix.
10378         (Fpq_send_query): Ditto.
10379         (Fpq_get_result): Ditto.
10380         (Fpq_res_status): Mule-ize.
10381         (Fpq_result_error_message): Mule-ize.
10382         (Fpq_ntuples): fix comments.
10383         (Fpq_fname): Mule-ize.
10384         (Fpq_fnumber): Mule-ize.
10385         (Fpq_ftype): fix comments.
10386         (Fpq_get_value): Mule-ize.
10387         (Fpq_cmd_status): Ditto.
10388         (Fpq_cmd_tuples): Ditto.
10389         (Fpq_oid_value): Ditto.
10390         (Fpq_notifies): Ditto.
10391         (Fpq_lo_import): Ditto.
10392         (Fpq_lo_export): Ditto.
10393         (Fpq_get_line): Ditto.
10394         (Fpq_put_line): Mule-ize and bug fix.
10395         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10396
10397 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10398
10399         * postgresql.c (vars_of_postgresql): Mule-ize.
10400         (Fpq_conn_defaults): Ditto.
10401
10402 2000-03-12  Ben Wing  <ben@xemacs.org>
10403
10404         * alloc.c (Fmake_byte_code):
10405         * alloc.c (debug_string_purity_print):
10406         * alloc.c (pdump_backtrace):
10407         * alloc.c (pdump_get_indirect_count):
10408         * alloc.c (pdump_register_sub):
10409         * alloc.c (pdump_register_object):
10410         * alloc.c (pdump_register_struct):
10411         * alloc.c (pdump_dump_data):
10412         * alloc.c (pdump_reloc_one):
10413         Minor cleanups.
10414
10415         * console-msw.c:
10416         * console-msw.c (GetConsoleHwnd):
10417         * console-msw.c (msw_hide_console):
10418         * console-msw.c (msw_show_console):
10419         * console-msw.c (msw_ensure_console_buffered):
10420         * console-msw.c (msw_output_console_string):
10421         * console-msw.c (console_type_create_mswindows):
10422
10423         a) Added functions to manipulate the console window for use with
10424         shell support.
10425
10426         b) Added support for writing text to the console, which is now
10427         used under Windows when xemacs is not being run non-interactively,
10428         to write text that would otherwise be destined for stdout because
10429         under these circumstances, text written to stdout tends to
10430         disappear and not be seen.
10431
10432         * console-msw.h:
10433         * event-Xt.c:
10434         * event-Xt.c (x_event_to_emacs_event):
10435         * event-Xt.c (describe_event_window):
10436         * events-mod.h (XEMACS_MOD_CONTROL):
10437         * events.c:
10438         * events.c (Fmake_event):
10439         * events.c (character_to_event):
10440         * events.c (event_to_character):
10441         * events.c (format_event_object):
10442         * events.c (Fevent_modifiers):
10443         * events.h:
10444         * events.h (struct key_data):
10445         * events.h (struct button_data):
10446         * events.h (struct misc_user_data):
10447         * frame-x.c (Fcde_start_drag_internal):
10448         * frame-x.c (Foffix_start_drag_internal):
10449         * gpmevent.c (Freceive_gpm_event):
10450         * keymap.c:
10451         * keymap.c (bucky_sym_to_bucky_bit):
10452         * keymap.c (control_meta_superify):
10453         * keymap.c (make_key_description):
10454         * keymap.c (keymap_lookup_directly):
10455         * keymap.c (create_bucky_submap):
10456         * keymap.c (keymap_store):
10457         * keymap.c (define_key_check_and_coerce_keysym):
10458         * keymap.c (define_key_parser):
10459         * keymap.c (define_key_alternate_name):
10460         * keymap.c (Fdefine_key):
10461         * keymap.c (raw_lookup_key_mapper):
10462         * keymap.c (struct map_keymap_unsorted_closure):
10463         * keymap.c (map_keymap_unsorted_mapper):
10464         * keymap.c (map_keymap_sort_predicate):
10465         * keymap.c (map_keymap_sorted):
10466         * keymap.c (accessible_keymaps_mapper_1):
10467         * keymap.c (where_is_recursive_mapper):
10468         * keymap.c (describe_map_mapper):
10469         * keymap.c (describe_map_sort_predicate):
10470         * keymap.c (describe_map):
10471         * keymap.c (complex_vars_of_keymap):
10472         And a number of other files, the key modifier preprocessor
10473         constants that xemacs uses have names that conflict with constants
10474         defined under MS Windows for other purposes, so they were renamed
10475         to begin with the prefix XEMACS_. The variables that hold such
10476         modifiers were changed to consistently be of type int to fix
10477         various compile warnings.
10478
10479         * console.c (complex_vars_of_console):
10480         * device.c:
10481         * device-msw.c:
10482         * device-msw.c (mswindows_finish_init_device):
10483         * device-msw.c (msw_get_workspace_coords):
10484         * device-msw.c (mswindows_device_system_metrics):
10485         and various other files, added support for a new
10486         device property called offset-workspace which returns the position
10487         of the upper left corner of the workspace area and goes along with
10488         the existing size-workspace property.
10489
10490         * dialog-msw.c:
10491         * dialog-msw.c (push_bufbyte_string_as_unicode):
10492         * dialog-msw.c (mswindows_popup_dialog_box):
10493         Added support for XEmacs-style accelerator specifications in
10494         button text.  Note: I didn't add support for this under X Windows,
10495         and somebody needs to do this.
10496
10497         * dialog.c:
10498         * dialog.c (Fpopup_dialog_box):
10499         Documented the support for accelerators that was just mentioned.
10500
10501         editfns.c (get_home_directory): Changed behavior under Windows
10502         when HOME not defined; former behavior was irretrievably broken.
10503
10504         * emacs.c:
10505         * emacs.c (main_1):
10506         * emacs.c (main):
10507         * minibuf.c (clear_echo_area_internal):
10508         * minibuf.c (echo_area_append):
10509         * print.c:
10510         * print.c (std_handle_out_external):
10511         * print.c (std_handle_out_va):
10512         * print.c (fatal):
10513         * print.c (write_string_to_stdio_stream):
10514         * print.c (output_string):
10515         * print.c (debug_print):
10516         * print.c (debug_backtrace):
10517         * print.c (debug_short_backtrace):
10518         Cleaned up the code that prints text to stdout so that this can be
10519         changed to output into a console window instead under MS Windows,
10520         as described above.
10521
10522         * eval.c:
10523         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10524         * eval.c (internal_catch):
10525         * eval.c (unwind_to_catch):
10526         * eval.c (throw_or_bomb_out):
10527         * eval.c (condition_case_1):
10528         * eval.c (signal_1):
10529         * eval.c (check_error_state_sanity):
10530         * eval.c (call_with_suspended_errors_1):
10531         * eval.c (call_with_suspended_errors):
10532         * eval.c (reinit_vars_of_eval):
10533         Added code to catch throw loops and check for a pesky bug that may
10534         be gone now.
10535
10536         * event-msw.c:
10537         * event-msw.c (key_needs_default_processing_p):
10538         * event-msw.c (mswindows_wnd_proc):
10539         * event-msw.c (mswindows_modifier_state):
10540         * event-msw.c (emacs_mswindows_quit_p):
10541         * event-msw.c (vars_of_event_mswindows):
10542         a) Added support for using the alt key to select menu items as is
10543         standard under MS Windows.  This is controlled using the variable
10544         menu-accelerator-enabled, just like under X Windows.  There is an
10545         option on the options menu to turn this support on.  I really
10546         think that it should be on by default under Windows, but I'm not
10547         going to make this change yet.
10548
10549         b)  Added support for dynamic display size changes under Windows.
10550
10551         * event-stream.c:
10552         * event-stream.c (maybe_echo_keys):
10553         * event-stream.c (Fnext_event):
10554         * event-stream.c (command_builder_find_leaf):
10555         * event-stream.c (lookup_command_event):
10556         * event-stream.c (execute_command_event):
10557         * event-stream.c (pre_command_hook):
10558         * event-stream.c (post_command_hook):
10559         * event-stream.c (syms_of_event_stream):
10560         * event-stream.c (vars_of_event_stream):
10561         * event-stream.c (complex_vars_of_event_stream):
10562         * events.h (struct command_builder):
10563
10564         a) Tried to clean up a little bit the horribly written x-specific
10565         accelerator code that crept into this file.  I moved this code
10566         into menubar-x.c where it belongs. I also needed to move the
10567         command builder structure into the file events.h because it is
10568         accessed directly by this accelerator code.  What I didn't do, but
10569         which should be done at some point, is to properly abstract this
10570         code using device methods instead of the kludgy way that it
10571         currently hooks into the event code.
10572
10573         b) Added the lisp variables this-command-properties and
10574         last-command- properties, which should be used to synchronize two
10575         adjacent commands in preference to playing games with the variable
10576         this-command, which is typically what happens.
10577
10578         c) Added some slightly nasty code to hook into the lisp support
10579         for shifted- motion-key selection.  This is actually necessary for
10580         somewhat complicated reasons, which are described in
10581         simple.el. (NB: I think the proper thing would be to have the code
10582         that calls the pre and post command hooks also call out to generic
10583         lisp functions in simple.el, where all built-in stuff could be
10584         added.  I will think about this more.)
10585
10586         * event-unixoid.c (poll_fds_for_input):
10587         * lread.c (readchar):
10588         * redisplay-tty.c (tty_clear_frame):
10589         * redisplay-x.c (x_get_gc):
10590         * signal.c (interrupt_signal):
10591         And a whole bunch of other files: fixed up places that printed
10592         directly to stderr to instead call the function stderr_out so that
10593         the changes I made under Windows work correctly.
10594
10595         * filemode.c (mode_string):
10596         Warning fixes.
10597
10598         * frame-msw.c:
10599         * frame-msw.c (mswindows_size_frame_internal):
10600         Fixed the computation of frame size and position to keep the frame
10601         within the workspace area, rather than within the physical
10602         dimensions of the screen, so that the frame doesn't overlap window
10603         manager decorations, such as the start menu and toolbar, typically
10604         at the bottom of the screen.
10605
10606         * frame.c (vars_of_frame):
10607         Changed the default frame title format under MS Windows to consist
10608         of buffername-XEmacs, which is standard under MS Windows.  I think
10609         it might be a good idea to change this everywhere because I think
10610         it is superior to the current frame title format, but this is the
10611         kind of change that is likely to cause some people to get annoyed,
10612         so I'm not making it.
10613
10614         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10615
10616         * gui-msw.c (mswindows_handle_gui_wm_command):
10617         Fixed compile warnings.
10618
10619         * gui-x.c:
10620         * gui-x.c (strdup_and_add_accel):
10621         * gui-x.c (button_item_to_widget_value):
10622         * gui-x.h:
10623         Added code to automatically put an accelerator onto the beginning
10624         of menu items that don't have one as is now the standard, and is
10625         described more later.  Also fixed things so that the menu item
10626         name can be an evaluated expression, again a new standard.
10627
10628         * gui.c:
10629         * gui.c (gui_item_add_keyval_pair):
10630         * gui.c (make_gui_item_from_keywords_internal):
10631         * gui.c (gui_add_item_keywords_to_plist):
10632         * gui.c (gui_item_accelerator):
10633         * gui.c (gui_name_accelerator):
10634         * gui.c (gui_item_included_p):
10635         * gui.c (gui_item_display_flush_left):
10636         * gui.c (gui_item_display_flush_right):
10637         * gui.c (parse_gui_item_tree_item):
10638         * gui.c (parse_gui_item_tree_children):
10639         * gui.c (parse_gui_item_tree_list):
10640         Mule-ized.  Cleanup.  GCPRO addition.
10641
10642         * line-number.c (buffer_line_number):
10643         * lisp.h:
10644         * lisp.h (EMACS_INT_MAX):
10645         Added the manifest constant EMACS_INT_MIN corresponding to the
10646         existing constant EMACS_INT_MAX.  This is partially to fix compile
10647         warnings under Windows, and partly for cleanliness.
10648
10649         * menubar-msw.c:
10650         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10651         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10652         * menubar-msw.c (displayable_menu_item):
10653         * menubar-msw.c (populate_menu_add_item):
10654         * menubar-msw.c (populate_or_checksum_helper):
10655         * menubar-msw.c (populate_menu):
10656         * menubar-msw.c (update_frame_menubar_maybe):
10657         * menubar-msw.c (prune_menubar):
10658         * menubar-msw.c (msw_char_is_accelerator):
10659         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10660         * menubar-msw.c (mswindows_handle_wm_command):
10661         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10662         * menubar-msw.c (mswindows_handle_wm_initmenu):
10663         * menubar-msw.c (mswindows_update_frame_menubars):
10664         * menubar-msw.c (mswindows_free_frame_menubars):
10665         * menubar-msw.c (mswindows_popup_menu):
10666         Fixed a bug in handling accelerators where an extra character
10667         would be displayed in the menu item.  Also generalized the
10668         function displayable_menu_item because it is now used by the
10669         dialog box code as well.  And finally, added code in the functions
10670         that create the menubar to extract a list of accelerators for the
10671         top level menubar, which is used in the event code to determine
10672         whether a particular alt-key combination should be used to invoke
10673         a menu item, or should be passed through to access the standard
10674         XEmacs keymap binding for this key combination.
10675
10676         Much needed GCPROing.
10677
10678         * menubar-x.c:
10679         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10680         * menubar-x.c (menu_item_descriptor_to_widget_value):
10681         * menubar-x.c (restore_in_menu_callback):
10682         * menubar-x.c (x_popup_menu):
10683         * menubar-x.c (menu_move_up):
10684         * menubar-x.c (menu_move_down):
10685         * menubar-x.c (menu_move_left):
10686         * menubar-x.c (menu_move_right):
10687         * menubar-x.c (menu_select_item):
10688         * menubar-x.c (command_builder_operate_menu_accelerator):
10689         * menubar-x.c (menu_accelerator_junk_on_error):
10690         * menubar-x.c (command_builder_find_menu_accelerator):
10691         * menubar-x.c (Faccelerate_menu):
10692         * menubar.h:
10693         Moved a whole bunch of code here that was previously in
10694         event-stream.c as described above.  There is also code connected
10695         to the new standard of adding an accelerator to the beginning of
10696         menu items that don't have one as described above and below.
10697
10698         * menubar.c:
10699         * menubar.c (menu_parse_submenu_keywords):
10700         * menubar.c (Fmenu_find_real_submenu):
10701         * menubar.c (Fnormalize_menu_item_name):
10702         * menubar.c (syms_of_menubar):
10703         * menubar.c (vars_of_menubar):
10704         * menubar.c (complex_vars_of_menubar):
10705
10706         a) Cleaned up a bunch of documentation and improved it.
10707
10708         b) XEmacs now automatically adds an accelerator onto the beginning
10709         of any menu items that don't have one.  I did this because there
10710         will inevitably be some menu items on the main menubar that don't
10711         have accelerators on them because the package that adds that
10712         particular menu item hasn't yet been fixed up to have accelerators
10713         in them and it looked rather strange to have some items with and
10714         some items without accelerators, especially since even in items
10715         without accelerators, you can, at least under windows, still
10716         access the item through an accelerator corresponding to the first
10717         character in the item's name.  If people don't like this behavior,
10718         I can add a variable to turn it off optionally, but I'm not sure
10719         this is a good idea because we really do need to have accelerators
10720         on all of the menu items, and if a package doesn't like the
10721         accelerators being put on the first character, then it should put
10722         the accelerators where they belong.
10723
10724         c) I made a behavior change, which is that the descriptor that
10725         specifies the text of the menu item, which formerly was just a
10726         string, can now also be an evaluated expression.  This makes this
10727         descriptor parallel with all of the others, which could also be
10728         evaluated expressions.  This also obviates the need for the
10729         keyword :label, which was previously listed in the documentation
10730         as unimplemented, and which was for the same purpose.
10731
10732         d) GCPROing.
10733
10734         * ntproc.c:
10735         * ntproc.c (new_child):
10736         * ntproc.c (sys_spawnve):
10737         * ntproc.c (find_child_console):
10738         * ntproc.c (sys_kill):
10739         Fixed compile warnings.  By the way, this file should really go
10740         away entirely, and this will happen as soon as Kirill makes his
10741         final round of process cleanups, which affect the function
10742         call-process.
10743
10744         * process-nt.c:
10745         * process-nt.c (struct nt_process_data):
10746         * process-nt.c (find_process_from_pid):
10747         * process-nt.c (send_signal_the_nt_way):
10748         * process-nt.c (enable_child_signals):
10749         * process-nt.c (find_child_console):
10750         * process-nt.c (send_signal_the_95_way):
10751         * process-nt.c (nt_finalize_process_data):
10752         * process-nt.c (ensure_console_window_exists):
10753         * process-nt.c (nt_create_process):
10754         * process-nt.c (nt_kill_child_process):
10755         * process-nt.c (nt_kill_process_by_pid):
10756         * process-nt.c (nt_open_network_stream):
10757         * process-nt.c (vars_of_process_nt):
10758         Copied over code from Emacs 20.5 to correctly send signals to sub-
10759         processes under Windows 95.  Also added code to automatically
10760         create and hide console window when a sub-process is created under
10761         Windows 95, which obviates the need for the separate runemacs.exe
10762         executable, and finally implemented some variables that were
10763         implemented in Emacs 20.5, but previously not in XEmacs.  These
10764         include mswindows- start-process-share-console and
10765         mswindows-start-process-inherit-error-mode. (Both of these only
10766         apply to Windows 95.)
10767
10768         * regex.c (regex_compile): Fixed a compile warning.
10769
10770         * select-msw.c:
10771         * select-msw.c (mswindows_own_selection):
10772         * select-msw.c (mswindows_get_foreign_selection):
10773         * select-msw.c (mswindows_disown_selection):
10774         * select-msw.c (console_type_create_select_mswindows):
10775         * select-msw.c (syms_of_select_mswindows):
10776         Cleaned up the file and implemented the device method
10777         selection_exists_p, which had accidentally been left out.  Also
10778         removed four lisp functions that were remnants from before the
10779         time when the selection code was properly device abstracted.
10780         These functions are no longer needed because there are generic
10781         equivalents, and because they were added recently and don't exist
10782         in FSF Emacs, I don't think there's any problem with just deleting
10783         them.
10784
10785         * sysdep.c:
10786         * sysdep.c (sys_subshell):
10787         Fixed a compile warning, although in this case there's probably
10788         something wrong with this code, and it ought to be looked into
10789         more thoroughly by somebody who understands it.
10790
10791         * window.c:
10792         * window.c (Fwindow_text_area_height):
10793         * window.c (Fwindow_width):
10794         * window.c (Fwindow_full_width):
10795         * window.c (Fwindow_pixel_width):
10796         * window.c (debug_print_window):
10797         * window.c (syms_of_window):
10798         Added functions window-text-area-height and window-full-width,
10799         which are functions for returning various width and height
10800         characteristics of a window. (One of these functions is necessary
10801         for making the file dialog box work correctly, and the other one
10802         was added for completeness.)  Also added a table to the
10803         documentation for window-height which describes the entire scheme
10804         for accessing width and height characteristics of a window.
10805
10806 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10807
10808         * nt.c (fstat): Added a comment for another problem with
10809         non-encapsulated [f]stat(), reported by Adrian Aichner
10810         <aichner@ecf.teradyne.com>.
10811
10812 2000-03-11  Andy Piper  <andy@xemacs.org>
10813
10814         * window.c (make_dummy_parent): initialize subwindow instance
10815         cache.
10816         (Fset_window_configuration): zero extent_modiff.
10817
10818 2000-03-10  Andy Piper  <andy@xemacs.org>
10819
10820         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10821         more changes can be triggered.
10822         (Fredisplay_frame): ditto.
10823         (Fredraw_device): ditto.
10824         (Fredisplay_device): ditto.
10825         (redisplay_frame): make non-static.
10826         (redisplay_frame): call update_frame_gutter_geometry outside of
10827         display proper.
10828
10829         * gutter.h: declare update_frame_gutter_geometry.
10830
10831         * redisplay.h: declare redisplay_frame.
10832
10833         * gutter.c (update_frame_gutter_geometry): move geometry changes
10834         in update_frame_gutters here. Geometry changes can only occur
10835         outside of redisplay.
10836         (update_frame_gutters): remove geometry change code.
10837         (Fredisplay_gutter_area): make sure that we are in display when we
10838         update and that we have flushed any size changes.
10839
10840 2000-03-11  Andy Piper  <andy@xemacs.org>
10841
10842         * alloc.c (pdump_dump_data): remove i & count shadows.
10843
10844 2000-02-27  Mike Alexander  <mta@arbortext.com>
10845
10846         * sysdep.h: Declare pdump_read_file
10847
10848         * sysdep.c (pdump_read_file): New function
10849
10850         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10851         dump data
10852
10853 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10854
10855         * lrecord.h: add `lrecord_type_pgsetenv'.
10856
10857 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10858
10859         * symsinit.h: declare (vars|syms)_of* functions.
10860         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10861
10862 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10863
10864         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10865
10866         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10867         GCCs.
10868
10869         * emacs.c (main_1): Call postgres initialization code.
10870
10871         * postgresql.h: New file.  PostgreSQL RDBMS support.
10872         * postgresql.c: New file.
10873
10874 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10875
10876         * redisplay-output.c (redisplay_output_display_block): Disable
10877         redundant code.
10878
10879 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10880
10881         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10882         (Fcanna_henkan_next): Ditto.
10883         (Fcanna_bunsetu_henkou): Ditto.
10884         (Fcanna_henkan_kakutei): Ditto.
10885         (Fcanna_henkan_end): Ditto.
10886         (Fcanna_henkan_quit): Ditto.
10887         (Fcanna_henkan_next): Set retun value correctly.
10888         (c2mu): Use unsigned char instead of signed char.
10889
10890 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10891
10892         * emacs.c (main_1): Always call syms_of_gui.
10893         * inline.c: include gui.h
10894
10895 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10896
10897         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10898         converted to Lisp_Object.
10899         (Qtop_bottom): New variable.
10900         (syms_of_redisplay): Initialize it.
10901         * redisplay.h (Vvisible_bell): Ditto.
10902         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10903         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10904         only flash top and bottom.
10905
10906 2000-03-08  Andy Piper  <andy@xemacs.org>
10907
10908         * buffer.c (Frename_buffer): record new buffer name the right way.
10909
10910 2000-03-08  Andy Piper  <andy@xemacs.org>
10911
10912         * glyphs.c (update_subwindow): increase hash depth so that widget
10913         items get picked up properly.
10914
10915         * redisplay-output.c (compare_runes): increase hash depth so that
10916         widget items get picked up properly.
10917
10918 2000-03-08  Andy Piper  <andy@xemacs.org>
10919
10920         * gutter.c (output_gutter): add some debug.
10921
10922         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10923         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10924         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10925
10926         * redisplay-output.c (compare_runes): use display_hash to
10927         determine if glyphs really are not the same.
10928
10929         * glyphs.c (update_subwindow): check display_hash to see if
10930         anything really needs to be updated. If not then do
10931         nothing. Record the display_hash after updating.
10932         (image_instance_equal): compare the image_instance face also.
10933
10934 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10935
10936         * redisplay.h: Fix comment style.
10937
10938 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10939
10940         * consle-msw.h (struct mswindows_frame):
10941         Added new member paint_pending to indicate whether a WM_PAINT
10942         magic event has been queued for this frame.
10943
10944         * event-msw.c (mswindows_drain_windows_queue):
10945         Don't queue a WM_PAINT magic event if one is already queued.
10946         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10947
10948         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10949
10950 2000-03-07  Didier Verna  <didier@xemacs.org>
10951
10952         * dired.c: #include `regex.h' after `sysfile.h'.
10953
10954 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10955
10956         * sound.c (init_nas_sound): Fix compiler warning.
10957
10958         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10959         (FREE_STRUCT_P):
10960         (MARK_STRUCT_AS_FREE):
10961         (MARK_STRUCT_AS_NOT_FREE):
10962         Make `gcc -fstrict-aliasing' work properly.
10963
10964 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10965
10966         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10967         (mswindows_delete_device): Call CoUnnitialize().
10968
10969         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10970
10971 2000-02-25    <CraigL@DyCon.com>
10972
10973         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10974         <errno.h>.
10975
10976         * sysdep.c: This extern declaration for environ prevents MinGW
10977         from finding the variable in CRTDLL.DLL.
10978
10979         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10980         windows headers.
10981         (SHGFI_EXETYPE): ..
10982         (WM_MOUSEWHEEL): ..
10983         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10984         definitions.
10985         (MMRESULT): Removed, now defined in cygwin's windows headers.
10986         (TIMECAPS): ..
10987         (uid_t,gid_t,pid_t,ssize_t): ..
10988         (_timeb): Removed, MinGW defines both _timeb and timeb.
10989         (HAVE_H_ERRNO): Added.
10990         (HAVE_TZNAME): Added, configure is not detecting this.
10991
10992 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10993
10994         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10995         * syntax.c (syntax_match): Use it.
10996
10997         * cmds.c: Import auto-fill-chars from FSF Emacs.
10998         (Vauto_fill_chars): New variables.
10999         (internal_self_insert): Check Vauto_fill_chars.
11000         (vars_of_cmds):
11001         Declare auto-fill-chars as a Lisp variable and initialize it.
11002
11003 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11004
11005         * fileio.c (Fmake_symbolic_link):
11006         (Ffile_symlink_p):
11007         Run handlers even if local machine doesn't have symlinks.
11008
11009 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11010
11011         * event-msw.c (mswindows_drain_windows_queue):
11012         Don't generate paint magic events for non-XEmacs frames.
11013
11014 2000-03-05  Andy Piper  <andy@xemacs.org>
11015
11016         * redisplay.c (redisplay_frame): generate_displayable_area and
11017         friends assumes that we are not in GC, we therefore have to make
11018         sure that this doesn't happen.
11019
11020         * gutter.c (calculate_gutter_size): generate_displayable_area
11021         assumes that we are not in GC, we therefore have to make sure that
11022         this doesn't happen.
11023
11024 2000-03-05  Martin Buchholz  <martin@xemacs.org>
11025
11026         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
11027
11028 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11029
11030         * redisplay.c (regenerate_window): Make sure we set a sane value
11031         for end_pos even if we jump out of the loop.
11032         (regenerate_window): Answer Ben's question :-).
11033         (start_end_of_last_line): Add may_error argument.
11034         (start_of_last_line):
11035         (end_of_last_line): Pass may_error = 0.
11036         (end_of_last_line_may_error): New function.
11037         (pixel_to_glyph_translation): Use it, so we don't crash in
11038         event_to_glyph.
11039
11040 2000-03-04  Andy Piper  <andy@xemacs.org>
11041
11042         * window.h (struct window): add gutter_extent_modiff.
11043
11044         * window.c (allocate_window): zero out gutter_extent_modiff.
11045
11046         * redisplay.h: declare sync_display_line_structs.
11047
11048         * redisplay.c (add_glyph_rune): add a better comment.
11049
11050         * redisplay-output.c (sync_display_line_structs): made non-static.
11051         (compare_runes): remove unneccesary glyph cachel access.
11052
11053         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
11054
11055         * gutter.c (output_gutter): don't output the gutter if extent
11056         changes only involve extents in buffers. use 4 sets of display
11057         lines.
11058         (gutter_extent_signal_changed_region_maybe): new function. Mark
11059         extents in gutters as changed.
11060         (update_frame_gutters): use 4 sets of display lines.
11061         (reset_gutter_display_lines): ditto.
11062         (free_frame_gutters): ditto.
11063         (redraw_exposed_gutter): force output of gutters.
11064
11065         * frame.h (struct frame): add 4 sets of gutter display lines.
11066
11067         * extents.c: (extent_changed_for_redisplay): signal changes to
11068         extents in strings in the gutter as well as extents in buffers.
11069
11070 2000-03-02  Andy Piper  <andy@xemacs.org>
11071
11072         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11073
11074         * frame.c (Fmake_frame): make sure the gutters get initialized
11075         after the frame is visible.
11076         (set_frame_selected_window): re-arrange compilation macros a
11077         little.
11078         (change_frame_size_1): mark gutters changed.
11079
11080         * device.c (Fset_device_class): mark gutters changed.
11081
11082 2000-03-01  Andy Piper  <andy@xemacs.org>
11083
11084         * window.c (window_top_frame_gutter_height): deleted.
11085         (window_bottom_frame_gutter_height): ditto.
11086         (window_left_frame_gutter_height): ditto.
11087         (window_right_frame_gutter_height): ditto.
11088         (window_top_gutter_height): don't use them.
11089         (window_bottom_gutter_height): ditto.
11090         (window_left_gutter_width): ditto.
11091         (window_right_gutter_width): ditto.
11092         (Fsplit_window): ditto.
11093         (Fwindow_pixel_edges): don't use border dimensions here.
11094
11095         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11096         (update_scrollbar_instance): ditto.
11097
11098         * redisplay.c (generate_modeline): don't take gutters into account.
11099         (generate_modeline): ditto.
11100         (redisplay_frame): small gutter display optimization.
11101
11102         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11103
11104         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11105         gutters into account.
11106
11107         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11108         for window position and type.
11109
11110         * gutter.c (get_gutter_coords): fix for frame gutters.
11111         (update_frame_gutters): update frame geometry if the gutters have
11112         changed.
11113         (init_frame_gutters): record current gutter geometries.
11114
11115         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11116         var.
11117         (mswindows_widget_instantiate): ditto.
11118
11119         * frame.h (struct frame): add current_gutter_bounds.
11120
11121         * frame.c (change_frame_size_1): position window and minibuffer
11122         appropriately taking into account the frame gutters.
11123
11124         * frame-x.c: (x_initialize_frame_size): take into account the
11125         frame gutters.
11126
11127 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11128
11129         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11130
11131 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11132
11133         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11134
11135 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11136
11137         * file-coding.c (reset_decoding_stream): Clear previous
11138         detection state when autodetect.
11139
11140 2000-02-29  Didier Verna  <didier@xemacs.org>
11141
11142         * extents.c (set_extent_glyph_1): don't require extents to be
11143         attached.
11144
11145 2000-02-27  Andy Piper  <andy@xemacs.org>
11146
11147         * gutter.c (Fset_default_gutter_position): don't default left and
11148         right gutter visibility to t.
11149         (Fset_default_gutter_position): run
11150         default-gutter-position-changed-hook.
11151         (syms_of_gutter): add default-gutter-position-changed-hook.
11152
11153 2000-02-26  Andy Piper  <andy@xemacs.org>
11154
11155         * specifier.c (Fmake_specifier): add gutter references.
11156
11157         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11158
11159         * lisp.h: declare Fvalid_plist_p.
11160
11161         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11162         as changed.
11163         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11164         well as its visibility so that it gets reconstructed.
11165         (construct_window_gutter_spec): new function. Construct a string
11166         to be displayed in the gutter from a plist of strings. Take care
11167         to only use elements that are declared as visible.
11168         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11169         WINDOW_GUTTER.
11170         (gutter_validate): allow plists of strings in the specifier.
11171         (gutter_specs_changed): construct the real_gutter from the gutter
11172         specs using construct_window_gutter_spec.
11173         (gutter_visible_validate): gutter-visible is a new specifier type.
11174         (Fgutter_visible_specifier_p): new function for the new specifier.
11175         (syms_of_gutter): declare gutter-visible and
11176         Fgutter_visible_specifier_p.
11177         (specifier_type_create_gutter): intitalize new gutter-visible
11178         specifier.
11179         (reinit_specifier_type_create_gutter): ditto.
11180         (specifier_vars_of_gutter): use new specifier type for gutter
11181         visibility.
11182         (init_frame_gutters): construct real_gutter correctly.
11183         (Fgutter_specifier_p): beef up documentation.
11184         (Fgutter_size_specifier_p): ditto.
11185
11186         * winslots.h: add real_gutter slots.
11187
11188 2000-02-25  Andy Piper  <andy@xemacs.org>
11189
11190         * device-msw.c: Be kind to older cygwin versions. From Raymond
11191         Toy <toy@rtp.ericsson.se>.
11192
11193         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11194         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11195
11196 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11197
11198         * elhash.c (MARK_OBJ): Practice macro hygiene.
11199
11200 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11201
11202         * miscplay.c: s/__inline__/inline/g;
11203         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11204         (get_device_compdc): INLINE ==> static inline
11205         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11206         find -name '*.h' | \
11207         xargs global-replace \
11208         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11209
11210 2000-02-25  Andy Piper  <andy@xemacs.org>
11211
11212         * window.c (window_top_frame_gutter_height): new function.
11213         (window_top_window_gutter_height): ditto.
11214         (window_top_gutter_height): use them.
11215         (window_bottom_frame_gutter_height): new function.
11216         (window_bottom_window_gutter_height): ditto.
11217         (window_bottom_gutter_height): use them.
11218         (window_left_window_gutter_width): new function.
11219         (window_left_frame_gutter_width): ditto.
11220         (window_left_gutter_width): use them.
11221         (window_right_window_gutter_width): new function.
11222         (window_right_frame_gutter_width): ditto.
11223         (window_right_gutter_width): use them.
11224         (window_pixel_height): new function. calulate window pixel height
11225         with frame gutter involvement.
11226         (Fsplit_window): calculate new sizes taking frame gutters into
11227         account.
11228         (window_char_height_to_pixel_height): don't include frame gutters.
11229         (window_char_height): use window_pixel_height.
11230         (window_pixheight): rename from window_pixel_height.
11231         (change_window_height): use it.
11232         (window_pixel_height_to_char_height): don't include frame gutters.
11233         (window_char_width_to_pixel_width): ditto.
11234
11235 2000-02-25  Andy Piper  <andy@xemacs.org>
11236
11237         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11238         if it is.
11239
11240 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11241
11242         * alloc.c (staticpro):
11243         (staticpro_nodump):
11244         (dumpstruct):
11245         (dumpopaque):
11246         (pdump_wire):
11247         (pdump_wire_list):
11248         (compact_string_chars):
11249         (pdump_dump_wired):
11250         Convert:  if (foo) abort();  ==>  assert (! foo);
11251
11252         * eldap.c (Fldap_search_basic):
11253         (Fldap_add):
11254         (Fldap_modify):
11255         (Fldap_delete):
11256         Fix compiler warnings, and possible crashes if (random) return
11257         value were to be used.
11258
11259 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11260
11261         * device-msw.c: Workaround ResetDC failure.
11262
11263         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11264         applying a devmode.
11265
11266         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11267         (mswindows_text_width): Do not start printer page.
11268
11269         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11270
11271         * glyphs-msw.c: Added image methods to msprinter console and
11272         msprinter-specific image instantiation.
11273
11274 2000-02-20  Mike Alexander  <mta@arbortext.com>
11275
11276         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11277         to avoid crashes when selection-sets-clipboard is on
11278         (mswindows_own_selection): ditto
11279
11280 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11281
11282         * glyphs-msw.c:
11283         * redisplay-msw.c (get_frame_dc):
11284         (get_frame_compdc):
11285         * console-msw.h:
11286         * device-msw.c (mswindows_init_device):
11287         (mswindows_delete_device):
11288         (msprinter_init_device):
11289         (msprinter_delete_device):
11290         * frame-msw.c (mswindows_init_frame_1):
11291         (mswindows_delete_frame):
11292         (msprinter_init_frame_3):
11293         (msprinter_delete_frame): Move compatible DC to device object from
11294         frame object, for both mswindows and msprinter. Only one at a time
11295         is needed, it is a real waste to have one per frame!
11296
11297 2000-02-23  Andy Piper  <andy@xemacs.org>
11298
11299         * glyphs.c: add dynamic width and height elements.
11300         (image_instance_equal): ditto.
11301
11302         * glyphs-widget.c (widget_query_geometry): calculate width and
11303         height dynamically if required.
11304         (initialize_widget_image_instance): initialize dynamic dimensions.
11305         (widget_instantiate): pick-up dynamic dimensions.
11306
11307         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11308         dynamic determination. Add appropriate macros.
11309
11310         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11311         dimensions safe.
11312         (WINDOW_GUTTER_SIZE): ditto.
11313         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11314
11315         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11316         inline.
11317         (get_frame_dc): ditto.
11318
11319         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11320         here.
11321
11322 2000-02-23  Martin Buchholz <martin@xemacs.org>
11323
11324         * XEmacs 21.2.31 is released.
11325
11326 2000-02-22  Ben Wing <ben@xemacs.org>
11327
11328         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11329
11330 2000-02-22  Andy Piper  <andy@xemacs.org>
11331
11332         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11333
11334 2000-02-21  Mike Sperber <mike@xemacs.org>
11335
11336         * .dbxrc:
11337         * .gdbinit:
11338         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11339         variables.
11340
11341 2000-02-21  Mike Sperber <mike@xemacs.org>
11342
11343         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11344
11345 2000-02-21  Martin Buchholz <martin@xemacs.org>
11346
11347         * XEmacs 21.2.30 is released.
11348
11349 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11350
11351         Performance hacking.
11352         * *.c (syms_of_*):
11353         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11354         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11355         * emacs.c (main_1):
11356         * lisp.h (DEFUN):
11357         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11358         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11359         * symeval.h (DEFVAR_SYMVAL_FWD):
11360         * symbols.c (guts_of_unbound_marker):
11361         Make all c_readonly objects also lisp_readonly and marked for life.
11362         * lrecord.h (struct lrecord_implementation):
11363         Document flags better.
11364         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11365         * lrecord.h (DECLARE_LRECORD):
11366         * lrecord.h (XSETRECORD):
11367         * lrecord.h (RECORDP):
11368         * lrecord.h (RECORD_TYPEP):
11369         * lrecord.h (RECORD_MARKER): New.
11370         * lrecord.h (error_check_*):
11371         * lrecord.h (CONCHECK_NONRECORD):
11372         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11373         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11374         * lrecord.h (set_lheader_implementation):
11375         * lrecord.h (enum lrecord_type): New.
11376         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11377         * alloc.c (disksave_object_finalization_1):
11378         * alloc.c (mark_object):
11379         * alloc.c (lrecord_type_index):
11380         * alloc.c (tick_lcrecord_stats):
11381         * alloc.c (Fgarbage_collect):
11382         * alloc.c (init_alloc_once_early):
11383         * alloc.c (pdump_load):
11384         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11385         * alloc.c (lrecord_type_index): Delete.
11386         Make lisp object type indexes be constant.
11387           Makes (byte-compile) 5% faster.
11388         Put all marker functions into their own array.
11389           Makes (garbage-collect) 5% faster.
11390         Optimize SYMBOL_VALUE_MAGIC_P.
11391           Makes (byte-compile) 2-3% faster.
11392         * config.h.in (gc_checking_assert): New.
11393         * alloc.c: Use gc_checking_assert().
11394         * .dbxrc: Make compatible with new object type implementation.
11395         * .gdbinit: Make compatible with new object type implementation.
11396         * alloc.c: Delete all symbols defined only for debugging, such as
11397         Lisp_Type_Vector and lrecord_charset.
11398
11399 2000-02-21  Andy Piper  <andy@xemacs.org>
11400
11401         * gui-msw.c (Fmswindows_shell_execute): fix file location
11402         problems.
11403
11404         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11405         unshowing so that set_window_buffer doesn't undo
11406         kill_buffer_hook's hard work.
11407
11408         * glyphs-widget.c (tab_control_query_geometry): don't count the
11409         first item when calculating geometry.
11410
11411         * glyphs.c (map_subwindow): remove redundant code.
11412         (update_frame_subwindows): be more circumspect about when to
11413         update subwindows.
11414
11415         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11416         when items haven't changed. Update faces if faces have changed as
11417         well as just the widget face.
11418         (x_tab_control_update): Update faces if faces have changed as well
11419         as just the widget face.
11420
11421 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11422
11423         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11424         registration.
11425         (build_syscolor_string): Use mswindows_color_to_string to try to
11426         get a named color.
11427         (mswindows_device_system_metrics): Reverse the foreground and
11428         background colors so that they match the documentation.
11429
11430         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11431         they match the default Windows palette.
11432         (mswindows_color_to_string): New function.
11433
11434 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11435
11436         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11437
11438 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11439
11440         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11441         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11442
11443         * symbols.c (init_symbols_once_early): Removed obsolete
11444         DATA_SEG_BITS related kludge.
11445         (defvar_magic): Ditto.
11446
11447         * malloc.c: Removed obsolete DATA_SEG_BITS
11448         * ralloc.c: Ditto.
11449         * mem-limits.h: Ditto.
11450
11451         * Makefile.in.in: Removed obsolete HAVE_SHM
11452         * emacs.c: Ditto.
11453
11454 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11455
11456         *  device-msw.c (mswindows_delete_device): Free DDE string
11457         handles.
11458
11459 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11460
11461         * keymap.c (get_keyelt):
11462         * unexnt.c (unexec):
11463         * vm-limit.c (memory_warnings):
11464         * ntheap.c (recreate_heap):
11465         * ntheap.h (UNINIT_PTR):
11466         * select-msw.c (Fmswindows_get_clipboard):
11467         (Fmswindows_set_clipboard):
11468         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11469         * objects-msw.c:
11470         * menubar-msw.c (displayable_menu_item):
11471         * glyphs-msw.c:
11472         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11473         * sysdep.c (sys_subshell):
11474         * process-nt.c (nt_create_process):
11475         * nt.c (normalize_filename):
11476         (dostounix_filename):
11477         (unixtodos_filename):
11478         * ntproc.c (win32_executable_type):
11479         * ntplay.c (play_sound_data_1):
11480         (play_sound_file):
11481         * editfns.c (get_home_directory):
11482         * event-msw.c (struct winsock_stream):
11483         (mswindows_dde_callback):
11484         * device-msw.c (msprinter_init_device):
11485         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11486
11487         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11488         mswindows_clear_toolbar were swapped!
11489
11490         * objects-msw.c:(colormap_t):
11491         (fontmap_t):
11492         * emacs.c (struct standard_args): Fixed const jumble.
11493
11494         * glyphs-widget.c (update_widget): Fixed comparison notation.
11495
11496         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11497
11498         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11499         __declspec(noreturn) syntax.
11500
11501 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11502
11503         * eldap.c (Fldap_open):
11504         (Fldap_search_basic):
11505         (Fldap_add):
11506         (Fldap_modify):
11507         Use new coding system conversion macros.
11508
11509 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11510
11511         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11512
11513 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11514
11515         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11516         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11517
11518         * eldap.c (Qadd, Qreplace): New constant symbols
11519         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11520         interruptions by XEmacs signals
11521         Remove unnecessary calls to slow_down_interrupts and
11522         speed_up_interrupts
11523         (Fldap_search_basic): Renamed from Fldap_search_internal
11524         Added new optional parameter VERBOSE that triggers the
11525         display of progress messages
11526         Remove unnecessary calls to slow_down_interrupts and
11527         speed_up_interrupts
11528         LDAP result code analysis rewritten
11529         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11530         (syms_of_eldap): Define the new symbols and functions
11531
11532
11533 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11534
11535         * realpath.c: Determine PATH_MAX maximally portably.
11536
11537         * insdel.c (bytecount_to_charcount): Optimize.
11538         The function used to be optimized for entirely ASCII sequences.
11539         Now it is optimized for successive characters from the same
11540         charset.  This also wins big for _mostly_ ASCII sequences.
11541
11542         * fileio.c (Ffile_truename): convert return from realpath() using
11543         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11544         - Rewrite GCPROing slightly.
11545
11546         * sysdep.c (sys_open): Do filename conversion, like all other
11547         sys_* functions.  Fixes bug:
11548         (let ((file-name-coding-system 'iso-8859-2))
11549            (write-region x y latin2-name))
11550         ==> writes filename using internal encoding.
11551
11552 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11553
11554         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11555         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11556         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11557         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11558         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11559         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11560         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11561         (CONST_IF_NOT_DEBUG): Delete.
11562         * alloc.c (this_one_is_unmarkable): Delete.
11563         (mark_object): Don't check for this_one_is_unmarkable. Use the
11564         c_readonly flag instead.
11565         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11566
11567 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11568
11569         * event-msw.c (mswindows_drain_windows_queue):
11570         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11571         away redundant repaint events.
11572
11573 2000-02-17  Andy Piper  <andy@xemacs.org>
11574
11575         * redisplay.h: declare mark_redisplay_structs.
11576
11577         * redisplay.c (redisplay_window):
11578         (redisplay_frame): don't check subwindows_state_changed.
11579         (mark_redisplay): mark gutters here.
11580
11581         * glyphs.c: (instantiate_image_instantiator): always layout if we
11582         haven't done so already.
11583         (allocate_image_instance): don't mark as dirty.
11584         (update_subwindow): bind inhibit_quit.
11585
11586         * gutter.c (mark_gutters): new function.
11587
11588         * glyphs-x.c (x_update_widget): Always resize to get round a
11589         widget bug.
11590
11591         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11592         breaking absolutely everything.
11593
11594         * gutter.h: declare mark_gutters.
11595
11596 2000-02-16  Martin Buchholz <martin@xemacs.org>
11597
11598         * XEmacs 21.2.29 is released.
11599
11600 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11601
11602         * fns.c (size_bit_vector): Fix computation of the size.
11603
11604 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11605
11606         * *.[ch]: Change CONST to const globally.
11607         find -name '*.[ch]' | \
11608         xargs global-replace \
11609         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11610         - Remove vestigial references to CONST_IS_LOSING
11611
11612 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11613
11614         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11615         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11616         events instead of dispatching them directly.
11617         (mswindows_handle_paint): New function to do repainting.
11618         (mswindows_wnd_proc):
11619         (emacs_mswindows_handle_magic_event): Call above function.
11620
11621 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11622
11623         * objects-msw.c (mswindows_create_font_variant): Return the new
11624         font handle.
11625         (initialize_font_instance): Get font metrics from the underlined
11626         variant of the font to cope with the case where the underlined
11627         font has a bigger descent.
11628
11629 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11630
11631         * gui.c (gui_item_accelerator): Return the first underlined
11632         character in item name.
11633
11634 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11635
11636         * lisp.h: Added Qprinter.
11637
11638         * general.c (syms_of_general): Initialized it.
11639
11640         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11641         (get_frame_dc):
11642         (get_frame_compdc): Made inline.
11643
11644         * console.h (struct console_methods): Added eject_page method.
11645
11646         * frame.h: Added FRAME_DISPLAY_P and friends.
11647         Aligned backslahes in many macros in more readable fashion.
11648         Added page_number to struct frame, and an accessor macro
11649         for it.
11650
11651         * defice.h: Added DEVICE_DISPLAY_P and friends.
11652
11653         * device.c (Fdevice_printer_p): Used these.
11654
11655         * frame.c (allocate_frame_core): Initialize page number.
11656         (Fprint_job_page_number):
11657         (Fprint_job_eject_page): Implemented.
11658
11659         * frame-msw.c (msprinter_eject_page): Added method.
11660         (msprinter_start_page): Added.
11661
11662         * window.c (Fwindow_truncated_p): Fixed docstring.
11663         (Fwindow_last_line_visible_height): Implemented.
11664
11665 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11666
11667         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11668
11669 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11670
11671         * syntax.c (scan_words): Always advance at least one character.
11672
11673 2000-02-13  Andy Piper  <andy@xemacs.org>
11674
11675         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11676         to make sure the glyph is in the cachels.
11677
11678         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11679         global image instance flag.
11680         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11681         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11682
11683         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11684         (Fset_image_instance_property): mark layout as changed.
11685         (invalidate_glyph_geometry_maybe): mark layout as changed.
11686         (glyph_width): use new NEEDS_LAYOUT macro.
11687         (glyph_ascent): ditto.
11688         (glyph_descent): ditto.
11689         (glyph_height): ditto.
11690         (image_instance_layout): mark layout as clean after laying out.
11691         (update_subwindow): don't mark layout as clean here.
11692
11693         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11694         should no longer be needed.
11695
11696         * glyphs-x.c (x_update_widget): sanitize asserts.
11697         (x_finalize_image_instance): sanitize assignment to widgets.
11698
11699         * glyphs-widget.c (widget_instantiate): don't need to clear the
11700         layout flag here.
11701
11702 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11703
11704         * sysdep.c (getcwd): Use standard prototype.
11705         * sysdep.h (getcwd): Use standard prototype.
11706
11707         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11708         (sequence, start, end).
11709         Remove redundant type checking.
11710         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11711         view of `caller-protects') to avoid a crash where the real fix was
11712         found elsewhere.
11713
11714 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11715
11716         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11717
11718         * s/sol2.h: Remove feature macro initialization.
11719
11720         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11721         (vector_hash): New.  Code from internal_hash.
11722         * lrecord.h:
11723         Fix up allocation subsystem comments.
11724
11725         * config.h.in: Add __EXTENSIONS__ for Solaris.
11726
11727         * systime.h (EMACS_GETTIMEOFDAY): New.
11728         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11729         Remove Solaris-specific code.
11730         Use void* for the (ignored) second arg for gettimeofday().
11731
11732         * elhash.c (hash_table_hash): Implement it, finally.
11733         * elhash.c:  Use hashcode_t.
11734
11735         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11736         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11737
11738         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11739         * fns.c (size_bit_vector):
11740         * alloc.c (size_vector):
11741         (make_vector_internal):
11742         (make_bit_vector_internal):
11743         (sweep_bit_vectors_1):
11744         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11745
11746 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11747
11748         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11749         Include strings.h to avoid warnings for bzero and strcasecmp.
11750
11751 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11752
11753         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11754         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11755
11756         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11757         sequence.
11758
11759 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11760
11761         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11762         use a value field instead.
11763         (symbol_value_forward_forward): Use value field.
11764         (DEFVAR_SYMVAL_FWD): Use value field.
11765         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11766         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11767         (DEFVAR_CONST_INT): Ditto.
11768         (DEFVAR_BOOL): Ditto.
11769         (DEFVAR_CONST_BOOL): Ditto.
11770         (DEFVAR_INT_MAGIC): Ditto.
11771         (DEFVAR_BOOL_MAGIC): Ditto.
11772
11773         * symbols.c (guts_of_unbound_marker): Use value field.
11774         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11775         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11776
11777         * lisp.h: Declare dumpopaque and noninteractive1.
11778
11779         * alloc.c (dumpopaque): Added.
11780         (pdump_dump_opaquevec): Added.
11781         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11782         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11783         noninteractive.
11784
11785 2000-02-10  Andy Piper  <andy@xemacs.org>
11786
11787         * glyphs.c (image_instance_layout): if the size changes, mark it
11788         as such.
11789
11790         * redisplay-output.c (redisplay_output_layout): Update the
11791         subwindow here.
11792         (redisplay_output_subwindow): ditto.
11793
11794         * glyphs.c (update_subwindow): make sure we reset flags for
11795         layouts as well as everything else.
11796
11797         * glyphs-widget.c (layout_layout): don't need to set the instances
11798         dimensions here.
11799
11800 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11801
11802         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11803         not HAVE_DLOPEN, which is a lower-level thing.
11804
11805         * .cvsignore: Ignore gmon.out
11806
11807 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11808
11809         * .cvsignore: Ignore portable dumper xemacs.dmp file
11810
11811 2000-02-09  Andy Piper  <andy@xemacs.org>
11812
11813         * redisplay-output.c (redisplay_output_layout): be more clever
11814         about when we output based on the changed flags.
11815
11816         * glyphs.h (struct image_instantiator_methods): add update_method.
11817         (struct Lisp_Image_Instance): add changed flags. Declare new
11818         macros for manipulating them.
11819
11820         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11821         (image_instance_parent_glyph): find an image_instance's parent
11822         glyph or image_instance.
11823         (image_instance_layout): mark the size as changed.
11824         (set_image_instance_dirty_p): new function. mark an image
11825         instance, plus all of its parents, as dirty.
11826         (Fset_image_instance_property): use it.
11827         (Fglyph_animated_timeout_handler): use it.
11828         (update_subwindow): call update_widget and device methods for
11829         update_subwindow. Mark all changed flags as clean.
11830         (Fresize_subwindow): mark size as changed.
11831
11832         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11833         failures.
11834         (x_update_subwindow): only resize subwindows here.
11835         (x_update_widget): new function. Update all changed properties of
11836         a widget.
11837         (x_resize_subwindow): deleted.
11838         (x_widget_set_property): deleted.
11839         (x_progress_gauge_set_property): deleted.
11840         (x_progress_gauge_update): new function. Implement recorded
11841         changes.
11842         (x_tab_control_update): ditto.
11843         (x_tab_control_set_property): deleted.
11844         (console_type_create_glyphs_x): declare new functions.
11845         (image_instantiator_format_create_glyphs_x): ditto.
11846
11847         * glyphs-widget.c (widget_set_property): mark text changed.
11848         (update_widget): new function. Update properties of a widget.
11849         (widget_instantiate): for layouts make sure we set their
11850         children's parent correctly.
11851         (tab_control_set_property): new function. Record changes that will
11852         take place under redisplay's control.
11853         (progress_gauge_set_property): ditto.
11854         (image_instantiator_progress_guage): declare new functions.
11855         (image_instantiator_tab_control): ditto.
11856
11857         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11858         now.
11859         (mswindows_update_widget): new function. Update all properties on
11860         a widget that have changed.
11861         (mswindows_button_update): new function. Update a button's set
11862         state.
11863         (mswindows_tab_control_update): new function. Update the items in
11864         a tab.
11865         (mswindows_tab_control_set_property): deleted.
11866         (mswindows_progress_gauge_update): new function. Update the
11867         progress gauge's progress.
11868         (mswindows_widget_set_property): deleted. This is all done
11869         asynchronously now.
11870         (mswindows_progress_gauge_set_property): ditto.
11871         (console_type_create_glyphs_mswindows): declare new methods.
11872         (image_instantiator_format_create_glyphs_mswindows): ditto.
11873
11874         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11875         (msprinter_set_frame_properties): ditto.
11876
11877         * console.h (struct console_methods): Add update_widget_method.
11878
11879 2000-02-09  Andy Piper  <andy@xemacs.org>
11880
11881         * gui-msw.c (Fmswindows_shell_execute): Make
11882         mswindows-shell-execute industrial strength.
11883
11884 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11885
11886         * lrecord.h: Make macro argument `props' match member function `plist'.
11887         * fns.c (Fget):
11888         * fns.c (Fput):
11889         * fns.c (Fremprop):
11890         * fns.c (Fobject_plist):
11891         * alloc.c:
11892         * symbols.c:
11893         Object property list frobbing cleanup.
11894         - Allow any lisp object (compared with `eq'), not just symbols, as
11895           keys in object plists.
11896         - Move symbol plist frobbing into symbols.c, where it belongs.
11897         - Move string plist frobbing into alloc.c, where it belongs.
11898         - Everything's an lrecord now, so no need to test for symbolp, etc.
11899         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11900
11901         * extents.c: Reorder code to remove declarations.
11902
11903         * frame.h (store_in_alist): Remove useless declaration.
11904
11905 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11906
11907         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11908         * config.h.in: Add HAVE_XCONVERTCASE.
11909
11910 2000-02-07  Andy Piper  <andy@xemacs.org>
11911
11912         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11913         it breaks many things.
11914
11915 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11916
11917         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11918         actually can start a common comment type.
11919         * src/syntax.h (SYNTAX_END_P): ditto for end.
11920
11921 2000-02-07  Martin Buchholz <martin@xemacs.org>
11922
11923         * XEmacs 21.2.28 is released.
11924
11925 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11926
11927         * event-Xt.c (x_keysym_to_character): New.
11928         (maybe_define_x_key_as_self_inserting_character): New.
11929         (x_has_keysym): New.
11930         Auto-define all keys on the keyboard as self-insert-key.
11931
11932 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11933
11934         * menubar.c (vars_of_menubar): A small code simplification.
11935
11936         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11937
11938         * ExternalShell.c:
11939         * ExternalClient.c:
11940         * EmacsShell-sub.c:
11941         * EmacsManager.c:
11942         * EmacsFrame.c:
11943         Use consistent style for specifying X resources.
11944
11945         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11946         This makes (dontusethis-set-symbol-value-handler) actually usable.
11947
11948         * lrecord.h (lrecord_decription_type):
11949         * alloc.c (pdump_register_sub):
11950         (pdump_dump_data):
11951         (pdump_reloc_one):
11952         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11953         Comply with XEmacs coding style.
11954         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11955         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11956
11957         * keymap.c (Faccessible_keymaps):
11958         Make (accessible-keymaps map "\C-h") do the Right Thing.
11959         Make (accessible-keymaps map []) do the Right Thing.
11960         Make (accessible-keymaps map "") do the Right Thing.
11961         (check_keymap_definition_loop): New function.
11962         (keymap_store_internal): Keep luser from shooting self in foot,
11963           via (define-key ctl-x-4-map "p" global-map).
11964         Remove fullness slot from struct Lisp_Keymap, since hash tables
11965         are now reliable.
11966         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11967
11968 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11969
11970         * redisplay.c (init_redisplay): Fix small memory leak.
11971         * elhash.h:
11972         * elhash.c (pdump_reorganize_hash_table):
11973         Rename from reorganize_hash_table. Change prototype.
11974         Reuse the original memory for hentries.  Save 100k.
11975         * alloc.c (PDUMP_READ): new macro.
11976         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11977         * alloc.c: No need to #ifndef before #undef.
11978
11979         * print.c: Allow debug_print() to print readably by modifying
11980         debug_print_readably.  Use consistent variable names.
11981
11982         * .dbxrc: Try to get things to work even if stopped in a function
11983         without source available by explicitly specifying source files.
11984 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11985
11986         * unexnt.c (_start): Removed bogus code which caused loading heap
11987         from differrent executable file.
11988         Removed bogus assignment to _fmode, which caused inconsistencies.
11989
11990 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11991
11992         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11993         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11994         Do not preliminary `#define signal sigset'.
11995
11996         * systime.h: Do not prototype environ on windows nt and cygwin,
11997         this conflicts with system header.
11998
11999         * syssignal.h: Use correct define for WINDOWSNT
12000
12001         * sysdep.h: Do not prototype environ on windows nt, this conflicts
12002         with system header.
12003
12004         * sysdep.c (near start of file): Fixed commentary and rearranged
12005         ifdefs in readable order.
12006         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
12007         (start_of_text):
12008         (end_of_text):
12009         (end_of_data): Do not compile in if using PDUMP.
12010
12011         * symsinit.h: Prototyped vars_of_nt().
12012
12013         * ntproc.c (windows9x_p): Added, instead of os_subtype.
12014         (find_child_console): Use it.
12015         (sys_kill): Use it.
12016
12017         * ntheap.h: Do not extern os_subtype.
12018
12019         * ntheap.c (cache_system_info): Do not cache unneeded:
12020         nt_major_version, nt_minor_version and os_subtype.
12021         (recreate_heap): Do not compile in when PDUMPing.
12022
12023         * nt.c (geteuid and friends): Use the new varibale
12024         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
12025         (init_user_info): Removed the above mentioned hackery.
12026         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
12027         stat has been fixed in the C runtime.
12028         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
12029
12030         * file-coding.c (struct file_coding_dump): Do not define
12031         ucs_to_mule_table in the struct if not MULE.
12032         (struct struct lrecord_description fcd_description_1): Do not dump
12033         the above.
12034
12035         * emacs.c (main_1): Call vars_of_nt().
12036         (right before Fdump_emacs_data): Don't need lastfile if using both
12037         portabe dumper and system malloc.
12038
12039         * alloc.c (Fmemory_limit): Conditionalized out.
12040         (pdump): Use OPEN_BINARY for the portable dump file.
12041         (pdump_load): Ditto.
12042
12043 2000-02-02  Mike Alexander  <mta@arbortext.com>
12044
12045         * nt.c (convert_time): Set tm_isdst before calling mktime and
12046         avoid calling it at all if the compiler supports 64 bit integers.
12047         Also initialize utc_base_ft before using it.
12048
12049 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12050
12051         * frame.c (change_frame_size_1): Take f->internal_border_width
12052         into consideration when calculating the width of the frame.
12053
12054 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12055
12056         * window.c (frame_min_height):
12057         (frame_size_valid_p):
12058         (frame_pixsize_valid_p): Added.
12059         (check_frame_size): Generalized.
12060
12061         * window.h: Prototyped the above.
12062
12063         * lisp.h:
12064         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12065         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12066         Deleted Vwin32_* and Vbinary_process_* unused variables.
12067
12068         * device-msw.c (msprinter_init_device): Do not get printer font
12069         list; Added DEVMODE functions.
12070
12071         * frame-msw.c: Added lots of printer code.
12072
12073         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12074         general.c.
12075
12076         * console-msw.h: Added more msprinter device private slots.
12077
12078 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12079
12080         * event-msw.c (key_needs_default_processing_p): Added.
12081         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12082
12083 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12084
12085         * glyphs.c (image_instance_layout): Mark image instance as clean
12086         after layout.
12087         (glyph_dirty_p): Removed redundant function.
12088         (invalidate_glyph_geometry_maybe): Added.
12089         (update_glyph_cachel_data): Call it.
12090
12091         * glyphs.h: Prototyped it.
12092
12093         * redisplay.c (add_glyph_rune): Call it.
12094         (redisplay_window): Reset glyphs cachels when frame faces have
12095         changed, thus forcing recomputation of built-in border glyphs.
12096
12097 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12098
12099         * Makefile.in.in: Make portable dumper and purify play well together.
12100         Add imperfect, but better than nothing, support for pdump.
12101         Remove xemacs.dmp when temacs is re-generated.
12102         Don't ignore errors when dumping xemacs.
12103
12104         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12105
12106 2000-01-28  Andy Piper  <andy@xemacs.org>
12107
12108         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12109         (setup_normal_frame): ditto.
12110         (setup_frame_without_minibuffer): ditto.
12111         (setup_minibuffer_frame): ditto.
12112         (delete_frame_internal): ditto.
12113         (Fmake_frame_invisible): ditto.
12114         (Ficonify_frame): ditto.
12115
12116         * window.h: change Fset_window_buffer signature.
12117
12118         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12119         (Fset_window_buffer): allow recording of buffer if the window is
12120         the selected window.
12121         (window_loop): Use new Fset_window signature.
12122
12123 2000-01-23  Daniel Pittman  <daniel@danann.net>
12124
12125         * config.h.in: Added template for `HAVE_ATHENA_3D'
12126
12127 2000-01-29  Andy Piper  <andy@xemacs.org>
12128
12129         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12130
12131         * gutter.c (output_gutter): Don't output if the window isn't live.
12132
12133 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12134
12135         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12136         of 01/12/00: Moved SetFocus back here where it belongs.
12137
12138 2000-01-23  Andy Piper  <andy@xemacs.org>
12139
12140         * s/cygwin32.h: declare printer things.
12141
12142 2000-01-26  Andy Piper  <andy@xemacs.org>
12143
12144         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12145         Alexander.
12146
12147 2000-01-24  Andy Piper  <andy@xemacs.org>
12148
12149         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12150         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12151
12152         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12153
12154         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12155
12156         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12157
12158         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12159         (mswindows_output_display_block): Avoid local shadows.
12160
12161         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12162         (mswindows_enqueue_mouse_button_event): ditto.
12163         (mswindows_handle_gui_wm_command): remove declaration.
12164
12165         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12166         warnings.
12167
12168         * console-msw.h: Avoid shadows.
12169         (mswindows_get_toolbar_button_text):
12170         (emacs_mswindows_create_stream_pair):
12171         (emacs_mswindows_delete_stream_pair):
12172         (mswindows_handle_toolbar_wm_command): declare.
12173
12174         * device-msw.c (build_syscolor_string): Avoid shadows.
12175
12176 2000-01-23  Andy Piper  <andy@xemacs.org>
12177
12178         * glyphs-widget.c (widget_instantiate): reverse the items for
12179         layouts so that children are in the expected order.
12180
12181 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12182
12183         * ralloc.c: safe_bcopy ==> memmove
12184         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12185         * s/msdos.h: Remove BCOPY macros.
12186         * insdel.c (gap_right): Remove BCOPY conditional code.
12187         * insdel.c (gap_left): Remove BCOPY conditional code.
12188         XEmacs demands a working ANSI C compiler - hence memmove.
12189
12190         * regex.c (regex_compile): Remove accidental use of trigraphs.
12191
12192 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12193
12194         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12195         event timestamp.
12196
12197 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12198
12199         * event-msw.c (mswindows_drain_windows_queue): Added the
12200         parameter.
12201         (mswindows_need_event): Commented the call to
12202         mswindows_drain_windows_queue().
12203         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12204         only.
12205
12206         * console-msw.h: Moved a few function prototypes here from
12207         event-msw.c.
12208
12209         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12210         parameter from unsigned short to unsigned long.
12211         (Fmswindows_shell_execute): Added return value.
12212
12213 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12214
12215         * sysdep.c (init_system_name):
12216           process-unix.c (unix_canonicalized_host_name):
12217         Don't call freeaddrinfo() if getaddrinfo() fails.
12218
12219         * process-unix.c (unix_open_unix_network_stream):
12220         Moved the code to get a port # into address loop.
12221
12222 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12223
12224         * buffer.c (reinit_vars_of_buffer):
12225         The right place to initialize conversion_in_dynarr and
12226         conversion_out_dynarr.
12227
12228         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12229
12230         * process-unix.c (unix_canonicalize_host_name): Muleize.
12231         (unix_open_network_stream): Muleize.
12232
12233         * buffer.h: Fix up prototypes for ralloc.c functions.
12234
12235 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12236         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12237         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12238                 instead of gethostbyname()
12239         * process-unix.c: In unix_canonicalize_host_name() and
12240                 unix_open_network_stream(), add code to use getaddrinfo()
12241                 instead of gethostbyname().
12242
12243 2000-01-27  Daniel Pittman <daniel@danann.net>
12244
12245         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12246         libs when built with flat Athena.
12247
12248 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12249
12250         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12251         Use coding standards for function prototypes.
12252
12253 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12254
12255         * dialog-msw.c (push_lisp_string_as_unicode):
12256         * doc.c (unparesseuxify_doc_string):
12257         * dired.c (Fuser_name_completion_1):
12258         * dired.c (Fuser_name_all_completions):
12259         * dired.c (free_user_cache):
12260         * dired.c (user_name_completion):
12261         * console-x.c (get_display_arg_connection):
12262         * minibuf.c (clear_echo_area_internal):
12263         * minibuf.c (echo_area_append):
12264         * eldap.c (Fldap_open):
12265         * eldap.c (Fldap_search_internal):
12266         * frame-x.c (x_set_frame_text_value):
12267         * frame-x.c (x_set_frame_properties):
12268         * frame-x.c (x_create_widgets):
12269         * redisplay-tty.c (term_get_fkeys_1):
12270         * objects-x.c (x_parse_nearest_color):
12271         * objects-x.c (x_valid_color_name_p):
12272         * objects-x.c (x_initialize_font_instance):
12273         * objects-x.c (x_list_fonts):
12274         * objects-x.c (x_find_charset_font):
12275         * tooltalk.c (Fadd_tooltalk_message_arg):
12276         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12277         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12278         * process-unix.c (unix_create_process):
12279         * ntproc.c (sys_spawnve):
12280         * sound.c (Fplay_sound_file):
12281         * sound.c (Fplay_sound):
12282         * buffer.c (init_initial_directory):
12283         * buffer.c (init_buffer):
12284         * editfns.c (init_editfns):
12285         * editfns.c (Ftemp_directory):
12286         * editfns.c (Fuser_full_name):
12287         * editfns.c (uncache_home_directory):
12288         * editfns.c (get_home_directory):
12289         * editfns.c (Fuser_home_directory):
12290         * editfns.c (Fformat_time_string):
12291         * editfns.c (Fcurrent_time_string):
12292         * gui-x.c (button_item_to_widget_value):
12293         * database.c (Fopen_database):
12294         * event-Xt.c (x_to_emacs_keysym):
12295         * event-Xt.c (x_event_to_emacs_event):
12296         * event-Xt.c (describe_event_window):
12297         * event-msw.c (mswindows_wnd_proc):
12298         * glyphs-eimage.c (jpeg_instantiate):
12299         * glyphs-eimage.c (gif_instantiate):
12300         * glyphs-eimage.c (png_instantiate):
12301         * glyphs-eimage.c (tiff_instantiate):
12302         * glyphs-x.c (xbm_instantiate_1):
12303         * glyphs-x.c (x_xbm_instantiate):
12304         * glyphs-x.c (x_xface_instantiate):
12305         * glyphs-x.c (autodetect_instantiate):
12306         * glyphs-x.c (cursor_font_instantiate):
12307         * glyphs-x.c (x_widget_instantiate):
12308         * glyphs-x.c (x_widget_set_property):
12309         * glyphs-x.c (x_widget_property):
12310         * glyphs-x.c (BUILD_GLYPH_INST):
12311         * print.c (write_string_to_stdio_stream):
12312         * print.c (output_string):
12313         * print.c (Falternate_debugging_output):
12314         * print.c (Fexternal_debugging_output):
12315         * glyphs-msw.c (extract_xpm_color_names):
12316         * glyphs-msw.c (mswindows_xpm_instantiate):
12317         * glyphs-msw.c (bmp_instantiate):
12318         * glyphs-msw.c (resource_name_to_resource):
12319         * glyphs-msw.c (mswindows_resource_instantiate):
12320         * glyphs-msw.c (xbm_instantiate_1):
12321         * glyphs-msw.c (mswindows_xbm_instantiate):
12322         * glyphs-msw.c (mswindows_xface_instantiate):
12323         * glyphs-msw.c (mswindows_widget_instantiate):
12324         * glyphs-msw.c (add_tree_item):
12325         * glyphs-msw.c (add_tab_item):
12326         * glyphs-msw.c (mswindows_combo_box_instantiate):
12327         * glyphs-msw.c (mswindows_widget_property):
12328         * glyphs-msw.c (mswindows_combo_box_property):
12329         * glyphs-msw.c (mswindows_widget_set_property):
12330         * console.c (stuff_buffered_input):
12331         * objects-msw.c (mswindows_initialize_color_instance):
12332         * objects-msw.c (mswindows_valid_color_name_p):
12333         * objects-msw.c (mswindows_list_fonts):
12334         * objects-msw.c (mswindows_font_instance_truename):
12335         * bytecode.c (optimize_compiled_function):
12336         * select-x.c (symbol_to_x_atom):
12337         * select-x.c (x_atom_to_symbol):
12338         * select-x.c (hack_motif_clipboard_selection):
12339         * select-x.c (selection_data_to_lisp_data):
12340         * select-x.c (lisp_data_to_selection_data):
12341         * select-x.c (Fx_get_cutbuffer_internal):
12342         * select-x.c (Fx_store_cutbuffer_internal):
12343         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12344         * buffer.h (TO_INTERNAL_FORMAT): New function.
12345         * emacs.c (make_arg_list_1):
12346         * emacs.c (make_argc_argv):
12347         * emacs.c (main_1):
12348         * emacs.c (Fdump_emacs):
12349         * emacs.c (split_string_by_emchar_1):
12350         * file-coding.h:
12351         * lisp.h:
12352         * lstream.h:
12353         * symsinit.h:
12354         * device-x.c (x_init_device):
12355         * device-x.c (Fx_valid_keysym_name_p):
12356         * device-x.c (Fx_get_font_path):
12357         * device-x.c (Fx_set_font_path):
12358         * glyphs.c (bitmap_to_lisp_data):
12359         * glyphs.c (pixmap_to_lisp_data):
12360         * alloc.c (make_ext_string): Use coding system arguments.  Update
12361         all callers.
12362         * alloc.c (build_string):
12363         * callproc.c (child_setup):
12364         * callproc.c (init_callproc):
12365         * fileio.c (lisp_strerror):
12366         * fileio.c (directory_file_name):
12367         * fileio.c (Fexpand_file_name):
12368         * fileio.c (Ffile_truename):
12369         * fileio.c (Fsysnetunam):
12370         * fileio.c (Fdo_auto_save):
12371         * sysdep.c (sys_readdir):
12372         * tests.c: New file.  Allow adding C tests.
12373         Replace GET_* macros with a more comprehensible and flexible
12374         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12375         Modify all calls.
12376         Any coding system can be used to do format conversion.
12377         Eliminate enum external_data_format.
12378         Eliminate convert_to_external_format.
12379         Eliminate convert_to_internal_format.
12380         Make sure file-name, keyboard, terminal, and ctext are always
12381         defined as coding systems or aliases.  Make
12382         file-name-coding-system, terminal-coding-system, and
12383         keyboard-coding-system magical variables that are equivalent to
12384         defining the corresponding coding system aliases.
12385
12386         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12387         * file-coding.c (Fcoding_system_alias_p): New function.
12388         * file-coding.c (Fcoding_system_aliasee): New function.
12389         * file-coding.c (append_suffix_to_symbol): New function.
12390         * file-coding.c (dangling_coding_system_alias_p): New function.
12391         * file-coding.c (Ffind_coding_system):
12392         * file-coding.c (Fcopy_coding_system):
12393         * file-coding.c (encode_coding_no_conversion):
12394         * file-coding.c (syms_of_file_coding):
12395         * file-coding.c (vars_of_file_coding):
12396         Rewrite coding system alias code.
12397         Allow nested aliases, like symbolic links.
12398         Allow redefinition of coding system aliases.
12399         Prevent existence of dangling coding system aliases.
12400
12401         * dired.c (Fuser_name_completion_1):
12402         * dired.c (Fuser_name_all_completions):
12403         A crash would happen if user did QUIT in the middle of building
12404         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12405
12406         * lisp.h:
12407         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12408
12409         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12410         an unsigned char *.  Update all callers.
12411
12412 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12413
12414         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12415
12416 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12417
12418         * elhash.c (hentry_description): Use more portable definition.
12419         (resize_hash_table): Initialize new hentries using
12420         xnew_array_and_zero, thereby simplifying the code.
12421
12422         * mule-charset.c (make_charset): Make sure entire object is
12423         initialized, to avoid Purify warnings.
12424
12425         * alloc.c (resize_string): Fix unlikely crash with big strings.
12426
12427 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12428
12429         * realpath.c (xrealpath):
12430         Don't call getwd().
12431
12432 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12433
12434         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12435
12436 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12437
12438         * unexelfsgi.c (unexec): Change the way we decide which segment
12439         should be extended.
12440
12441         Assumption that .bss section should be outside the PT_LOADable
12442         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12443         it's present) is inside the 'data' segment. This would fail the
12444         test which was used to find a segment to grow and cover new
12445         heap. Instead of this assumption, I created another one - on IRIX
12446         the segment to grow should start below .bss and it's address
12447         should extent above the end of .bss. Once this segment is
12448         identified, it's grown to accommodate the new heap and new
12449         zero-length .bss section is added at the end of .data2.
12450
12451 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12452
12453         * eval.c (Feval): Wrong number of arguments should use original
12454         function, not the indirect_function version of it.
12455
12456 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12457
12458         * glyphs-x.c (x_button_instantiate): Don't add image if
12459         it is not a pixmap.
12460         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12461         is relative.
12462
12463 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12464
12465         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12466         declaration.
12467         (DEFVAR_INT_MAGIC): Ditto.
12468         (DEFVAR_BOOL_MAGIC): Ditto.
12469         * glyphs.h: Reindent backslash.
12470
12471 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12472
12473         * glyphs-widget.c (layout_query_geometry):
12474         (layout_layout): Use correct types for gheight, gwidth.
12475
12476 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12477
12478         * EmacsManager.c (QueryGeometry): Purified.
12479
12480 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12481
12482         * alloc.c (make_float): Make sure entire object is initialized, to
12483         avoid Purify warnings.
12484         (pdump_register_sub): Remove useless assignment.
12485         (pdump): Use xmalloc, not malloc.
12486         (pdump_load): Use xmalloc, not malloc.
12487
12488 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12489
12490         * callproc.c:
12491         * dired-msw.c:
12492         * fileio.c:
12493         * process-nt.c:
12494         * redisplay-msw.c:
12495         * sysdep.c: Removed redundant #include <windows.h>
12496
12497 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12498
12499         * frame.c (delete_frame_internal): Do not delete device when its
12500         implementation so declares.
12501         (delete_frame_internal): Set device selected frame to nil when
12502         last frame goes away.
12503
12504         * device-msw.c (msprinter_device_system_metrics): Implemented.
12505         (mswindows_device_system_metrics): Added 'device-dpi property.
12506
12507         * device.c: (Fdevice_printer_p): Added.
12508         Added 'offset-workspace device metric.
12509
12510         * console.h (device_metrics): Declared DM_offset_workspace.
12511
12512 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12513
12514         * fileio.c (Ffile_truename): Remove pointless and confusing
12515         initialization of elen.
12516
12517         * glyphs-widget.c: Compiler warning fixes.
12518
12519 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12520
12521         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12522         instead of a Lisp_Object as argument to make it consistent with
12523         the other LIVE_P macros.
12524         (CHECK_LIVE_PROCESS): New macro.
12525
12526         * process.c: Declare Qprocess_live_p.
12527         (Fprocess_live_p): New function.
12528         (create_process): Use PROCESS_LIVE_P.
12529         (read_process_output): Ditto.
12530         (set_process_filter): Ditto.
12531         (Fdelete_process): Ditto.
12532         (kill_buffer_processes): Ditto
12533         (process_send_signal): Use CHECK_LIVE_PROCESS.
12534         (Fprocess_input_coding_system): Check whether process is still
12535         alive (fix PR#1061).
12536         (Fprocess_output_coding_system): Ditto.
12537         (Fprocess_coding_system): Ditto.
12538         (Fset_process_input_coding_system): Ditto.
12539         (Fset_process_output_coding_system): Ditto.
12540
12541 2000-01-23  Andy Piper  <andy@xemacs.org>
12542
12543         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12544         layout and widget.
12545
12546         * glyphs.c (mark_image_instance): take into account changed
12547         image_instance format.
12548         (image_instance_equal): ditto.
12549         (image_instance_hash): ditto.
12550
12551         * glyphs-widget.c (widget_instantiate): Incorporate layout
12552         instantiation here. Delay layout of the layout until later.
12553         (layout_instantiate): deleted.
12554         (layout_query_geometry): new function. get the geometry of a
12555         layout.
12556         (layout_layout): layout a layout dynamically.
12557         (image_instantiator_widget): New function - splitting up
12558         image_instantiator_format_create_glyphs_widget for netwinder
12559         compilation.
12560         (image_instantiator_buttons):
12561         (image_instantiator_edit_fields):
12562         (image_instantiator_combo_box):
12563         (image_instantiator_scrollbar):
12564         (image_instantiator_progress_guage):
12565         (image_instantiator_tree_view):
12566         (image_instantiator_tab_control):
12567         (image_instantiator_labels):
12568         (image_instantiator_layout): ditto.
12569         (image_instantiator_format_create_glyphs_widget): Call preceding
12570         functions.
12571
12572 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12573
12574         * process.c (Fset_process_coding_system):
12575         * device-x.c (Fx_keysym_hash_table):
12576         Docstring fixes.
12577
12578         * lstream.c (Lstream_write): Return documented value, not 0.
12579
12580         * fileio.c (directory_file_name):
12581         (Fsubstitute_in_file_name):
12582         (Fsubstitute_insert_file_contents_internal):
12583         (Fwrite_region_internal):
12584         * emacs.c:
12585         * sysdep.c:
12586         * getloadavg.c:
12587         * systty.h:
12588         Remove vestigial APOLLO-conditional code.
12589
12590 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12591
12592         * getpagesize.h: Add guard macros.
12593         * libsst.h: Add guard macros.
12594         * libst.h: Add guard macros.
12595         * line-number.h: Add guard macros.
12596         * ndir.h: Add guard macros.
12597         * sysfloat.h: Add guard macros.
12598         * sysfile.h: Add guard macros.
12599         * sysproc.h: Add guard macros.
12600         * syswait.h: Add guard macros.
12601         * xintrinsic.h: Add guard macros.
12602         * xintrinsicp.h: Add guard macros.
12603         * xmmanager.h: Add guard macros.
12604         * xmmanagerp.h: Add guard macros.
12605         * xmprimitive.h: Add guard macros.
12606         * xmu.h: Add guard macros.
12607         * gpmevent.h: Add copyright statement. Add guard macros.
12608         * miscplay.h: Add guard macros.
12609         * *.h: Use consistent C-standards-approved guard macro names.
12610
12611         * opaque.c (make_opaque): Switch parameter order.
12612         * opaque.h (make_opaque): Switch parameter order.
12613         Update all callers.
12614         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12615
12616         * config.h.in (type_checking_assert): Added.
12617         (bufpos_checking_assert): Added.
12618
12619 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12620
12621         * alloc.c: Harmless pdump changes.
12622         - Use countof().
12623         - spell alignment correctly.
12624         * sysdep.c: Use countof()
12625
12626 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12627
12628         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12629         initially_selected_for_input() console method, default to 0.
12630         (semi_canonicalize_console_connection): Try to delegate to
12631         canonicalize_console_connection if no such console method.
12632         (canonicalize_console_connection): Vice versa.
12633         (print_console): Do not print nil connection.
12634
12635         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12636         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12637         (XDEVIMPF_FRAMELESS_OK): Added.
12638         (CONSOLE_INHERITS_METHOD): Added.
12639
12640         * console-msw.c (mswindows_canonicalize_console_connection):
12641         Added.
12642         (mswindows_canonicalize_device_connection): Added.
12643
12644         * console-msw.h (struct msprinter_device): Added this struct and
12645         accessor macros.
12646         (mswindows_device): Made fontlist a lisp object.
12647
12648         * device.c (semi_canonicalize_device_connection):  Try to delegate
12649         to canonicalize_device_connection if no such console method.
12650         (canonicalize_device_connection): Vice versa.
12651         (print_device): Do not print nil connection.
12652
12653         * device-msw.c (mswindows_init_device): Call InitCommonControls
12654         when have widgets.
12655         (mswindows_delete_device): Removed fontlist deallocation.
12656         (mswindows_mark_device): Added.
12657
12658         * events.c (event_equal): Added abort() at unreached code.
12659         (event_hash): Ditto.
12660
12661         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12662         fallback tags of Windows devices.
12663
12664         * general.c (syms_of_general): Initialized Qmsprinter.
12665
12666         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12667         of fallback tags of Windows devices.
12668
12669         * lisp.h: Declared Qmsprinter.
12670
12671         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12672         of strings.
12673         (mswindows_list_fonts): Ditto.
12674         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12675         that it can be used by both mswindows and msprinter devices.
12676         (initialize_font_instance): Added.
12677         (mswindows_initialize_font_instance): Use it.
12678         (msprinter_initialize_font_instance): Added.
12679
12680         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12681         and implementation flags check.
12682         (redisplay_without_hooks): Changed the call to the above.
12683         (Fredraw_device): Ditto.
12684         (Fredisplay_device): Ditto.
12685
12686         * redisplay-msw.c (get_frame_dc): Implemented.
12687         (get_frame_compdc): Implemented.
12688         (many functions): Use the two functions above to get device
12689         contexts, ether for a window or a printer.
12690
12691 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12692
12693         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12694         initialization here.
12695         (init_symbols_once_early): Call it.
12696         * emacs.c (main_1): Call it.
12697         * symsinit.h: Declare it.
12698
12699 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12700
12701         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12702         Lisp_Object.
12703         (pdump_backtrace): Ditto.
12704         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12705         (pdump_get_entry): Abort if trying to register a null pointer.
12706         (pdump_dump_data): Cleanup types when relocating.
12707         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12708         (pdump_dump_rtables): Remove bad casts.
12709         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12710         Lisp_Object instead of a EMACS_INT for the hashtable
12711         reorganization.
12712
12713 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12714
12715         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12716
12717         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12718
12719         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12720
12721         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12722
12723 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12724
12725         * faces.h (FACE_STRIKETHRU_P): Added.
12726
12727         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12728         of font variants.
12729
12730         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12731         (mswindows_set_dc_font): New function, aware of font variants,
12732         separated from mswindows_update_dc.
12733
12734         * objects-msw.h (struct mswindows_font_instance_data): Added
12735         definition.
12736
12737         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12738         cached fonts and the data structure.
12739         (mswindows_initialize_font_instance): Added creation of font data
12740         structure.
12741         (mswindows_print_font_instance): Print at least something.
12742         (mswindows_create_font_variant): Implemented.
12743         (mswindows_get_hfont): Implemented.
12744
12745 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12746
12747         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12748         prototyping problem with msvc.
12749
12750         * emacs.c (main_1): added syms_of_gui_mswindows() call
12751
12752         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12753         syms_of_gui_mswindows() function
12754
12755         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12756
12757 2000-01-18  Martin Buchholz <martin@xemacs.org>
12758
12759         * XEmacs 21.2.27 is released.
12760
12761 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12762
12763         * glyphs-eimage.c (struct tiff_error_struct):
12764         (tiff_error_func):
12765         (tiff_warning_func):
12766         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12767
12768         * unexmips.c:
12769         * unexhp9k3.c:
12770         * unexfreebsd.c:
12771         * unexec.c: Remove vestigial Lucid C code.
12772         * unexalpha.c:
12773         * unexaix.c:
12774         * termcap.c:
12775         * libsst.c: Ansify.
12776         Remove declarations of errno and strerror().
12777
12778         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12779
12780         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12781
12782 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12783
12784         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12785         Optimize.
12786
12787 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12788
12789         * md5.c:
12790         * file-coding.c:
12791         * file-coding.h:
12792         Change enum eol_type to eol_type_t.
12793
12794 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12795
12796         * gui.c (get_gui_callback): Check cons before accessing car.
12797
12798 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12799
12800         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12801         (XSETSPECIFIER_TYPE): Ditto.
12802
12803 2000-01-17  Didier Verna  <didier@xemacs.org>
12804
12805         * redisplay.c (generate_fstring_runes): compute string size in
12806         characters, not bytes.
12807
12808 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12809
12810         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12811
12812 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12813
12814         * print.c (print_error_message): Call print_prepare().
12815
12816 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12817
12818         * .dbxrc: Renamed from dbxrc.
12819
12820         * events.c (event_to_character):
12821         Use `assert (foo)' instead of `if (!foo) abort()'
12822
12823         * .gdbinit (xtype): Add documentation.
12824         * .gdbinit (check-temacs): New function.
12825         * .gdbinit (check-xemacs): New function.
12826         * dbxrc (check-xemacs): New function.
12827         * dbxrc (check-xemacs): New function.
12828
12829 2000-01-14  Andy Piper  <andy@xemacs.org>
12830
12831         * glyphs-widget.c (widget_query_geometry): Make sure that we
12832         calculate default dimensions correctly.
12833
12834 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12835
12836         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12837
12838         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12839         pdump_wire'd variable.
12840
12841         * emacs.c: (main_1): Conditionalized calls to
12842         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12843
12844 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12845
12846         * window.c (Fset_window_configuration):
12847         * sysdep.c (_start):
12848         * input-method-motif.c (res):
12849         * event-Xt.c (Xt_process_to_emacs_event):
12850         Simple compiler warning fixes.
12851
12852         * bytecode.c (funcall_compiled_function): Use the original
12853         function symbol on the backtrace list in preference to the
12854         compiled_function object in error messages.
12855
12856 2000-01-13  Andy Piper  <andy@xemacs.org>
12857
12858         * glyphs-x.c (update_widget_face): Make sure we update the widget
12859         background as well as foreground.
12860
12861 2000-01-13  Andy Piper  <andy@xemacs.org>
12862
12863         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12864         fields to subwindow.
12865         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12866         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12867         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12868         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12869
12870         * glyphs-widget.c (check_valid_tab_orientation): new function.
12871         (initialize_widget_image_instance): zero orientation and
12872         justification.
12873         (widget_instantiate): pick up orientation.
12874         (tab_control_query_geometry): return appropriate values for
12875         vertical tabs.
12876
12877         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12878         appropriate creation flags for left, right and bottom tabs.
12879
12880         * s/cygwin32.h: add tab definitions.
12881
12882 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12883
12884         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12885         frame upon hiding a subwindow.
12886         (mswindows_button_instantiate): Changed the push button style to
12887         BS_PUSHBUTTON.
12888         (mswindows_button_instantiate): Removed button BS_NOTIFY
12889         style.
12890         (mswindows_button_instantiate): Removed redundant check for
12891         a disabled gui item.
12892         (mswindows_button_instantiate): Made use of WS_TABSTOP
12893         consistent: "operable" controls (edit, button, tree, scroll) have
12894         this style, "display-only" ones (static, progress gauge) do
12895         not. This style is currently ignored by XEmacs though. Also,
12896         removed the WS_EX_CONTROLPARENT style - it is not for children,
12897         it is for their parents!
12898         (mswindows_edit_field_instantiate): Ditto.
12899         (mswindows_progress_gauge_instantiate): Ditto.
12900         (mswindows_tree_view_instantiate): Ditto.
12901         (mswindows_tab_control_instantiate): Ditto.
12902         (mswindows_scrollbar_instantiate): Ditto.
12903         (mswindows_combo_box_instantiate): Ditto.
12904         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12905         style to the "clip" window.
12906         (mswindows_button_instantiate): Removed compilation warning by
12907         equally typing terms of the ?: operator.
12908
12909 2000-01-12  Didier Verna  <didier@xemacs.org>
12910
12911         * redisplay.c (generate_fstring_runes): new parameter holding the
12912         last modeline-format extent.
12913         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12914         extent, fill the glyph block with it.
12915         (generate_fstring_runes): handle these parameters.
12916         (generate_formatted_string_db): ditto.
12917
12918         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12919         glyphs'extents in the modeline.
12920
12921 1999-01-11  Mike Woolley  <mike@bulsara.com>
12922
12923         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12924         256Mb, as a workaround for the non-starting problem many people
12925         have experienced.
12926
12927 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12928
12929         * console-tty.c (Fset_console_tty_output_coding_system):
12930         Force redrawing tty frame.
12931
12932 2000-01-10  Didier Verna  <didier@xemacs.org>
12933
12934         * redisplay.c (generate_fstring_runes): fix size computation bug.
12935
12936 2000-01-09  William M. Perry <wmperry@aventail.com>
12937
12938         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12939
12940 2000-01-09  Andy Piper  <andy@xemacs.org>
12941
12942         * glyphs-msw.c: index -> i to avoid shadows.
12943         (xbm_create_bitmap_from_data): make static.
12944         (check_valid_string_or_int): deleted.
12945         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12946
12947         * glyphs-x.c (x_update_subwindow): remove unused args.
12948
12949         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12950         back pointer - this is done in allocate_image_instance.
12951         (query_string_font): return Qnil to make the compiler happy.
12952         (unmap_subwindow): set to ~0 to make the compiler happy.
12953         (glyph_query_geometry): comment out until used.
12954         (glyph_layout): ditto.
12955
12956 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12957
12958         * insdel.c (signal_after_change): Remove extraneous unbind_to().