update.
[chise/xemacs-chise.git-] / src / ChangeLog
1 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
4         (vars_of_mule): Add new variable `utf-2000-version' [moved from
5         chartab.c].
6
7         * chartab.c (Vutf_2000_version): Moved to mule.c.
8         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
9
10 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
11
12         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
13         when HAVE_CHISE_CLIENT is not defined.
14
15         * mule.c (vars_of_mule): Provide feature `chise' when
16         HAVE_CHISE_CLIENT is defined.
17
18 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
19
20         * config.h.in (UTF2000): Add comment.
21         (HAVE_CHISE_CLIENT): New macro.
22
23 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
24
25         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
26         CONSP.
27         (Fput_char_attribute): Likewise.
28         (char_attribute_system_db_file): Encode file-name of attribute.
29         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
30         the initial value.
31
32 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
33
34         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
35         (Fsave_charset_mapping_table): Use
36         `char_attribute_system_db_file'.
37         (load_char_decoding_entry_maybe): Likewise.
38
39         * chartab.h (Qsystem_char_id): New external variable.
40         (char_attribute_system_db_file): New prototype.
41
42         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
43         (char_attribute_system_db_file): New function.
44         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
45         (Freset_char_attribute_table): Likewise.
46         (load_char_attribute_maybe): Likewise.
47         (Fload_char_attribute_table): Likewise.
48         (syms_of_chartab): Add new symbol `system-char-id'.
49
50 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
51
52         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
53         `XCHARSET_GRAPHIC(ccs)'.
54
55 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
56
57         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
58
59 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
60
61         * chartab.c (Q_ucs_variants): New variable.
62         (syms_of_chartab): Add new symbol `->ucs-variants'.
63         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
64         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
65         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
66
67         * mule-charset.c (load_char_decoding_entry_maybe): New function.
68
69         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
70         `HAVE_DATABASE' is defined.
71         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
72         `HAVE_DATABASE' is defined.
73
74 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
75
76         * chartab.c (Fsave_char_attribute_table): Don't clear internal
77         attribute-table.
78         (Freset_char_attribute_table): New function.
79         (syms_of_chartab): Add new builtin function
80         `reset-char-attribute-table'.
81
82 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
83
84         * chartab.c (load_char_attribute_maybe): Don't make directories.
85
86 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
87
88         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
89
90         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
91         for decoding-table.
92
93 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
94
95         * mule-charset.c (Fsave_charset_mapping_table): Use
96         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
97
98         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
99         instead of `XCHARSET_CHARS'.
100
101 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
102
103         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
104         (XCHARSET_BYTE_SIZE): Likewise.
105
106         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
107         mule-charset.c].
108         (XCHARSET_BYTE_SIZE): Likewise.
109
110 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
111
112         * chartab.c (Fput_char_attribute): Use exec-directory instead of
113         data-directory to store database.
114         (Fsave_char_attribute_table): Likewise.
115         (load_char_attribute_maybe): Likewise.
116         (Fload_char_attribute_table): Likewise.
117
118 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
119
120         * mule-charset.c (Fsave_charset_mapping_table): New function.
121         (syms_of_mule_charset): Add new builtin function
122         `save-charset-mapping-table'.
123
124 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * char-ucs.h (decoding_table_check_elements): Delete prototype.
127         (get_ccs_octet_table): New inline function.
128         (put_ccs_octet_table): Likewise.
129         (decoding_table_put_char): Use `get_ccs_octet_table' and
130         `put_ccs_octet_table'.
131         (decoding_table_remove_char): Use `decoding_table_put_char'.
132         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
133
134         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
135         into encoding_table.
136         (make_charset): Use Qunbound instead Qnil as initial value of
137         decoding_table.
138
139 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
140
141         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
142         element is Qunloaded.
143         (map_over_uint16_byte_table): Likewise.
144         (map_over_byte_table): Likewise.
145         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
146         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
147         database support, load encoding-table of the specified
148         coded-charset if it is not loaded yet.
149         (save_uint8_byte_table): New function of UTF-2000 with external
150         database support.
151         (save_uint16_byte_table): Likewise.
152         (save_byte_table): Likewise.
153         (Fput_char_attribute): Don't store value into external database
154         even if the external database feature is supported in UTF-2000;
155         set `attribute' as name of char-table if the external database
156         feature is supported.
157         (Fsave_char_attribute_table): New function in UTF-2000.
158         (syms_of_chartab): Add new builtin function
159         `save-char-attribute-table' in UTF-2000.
160
161 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
162
163         * chartab.c (char_attribute_table_to_put): New variable in
164         UTF-2000.
165         (Qput_char_table_map_function): Likewise.
166         (value_to_put): Likewise.
167         (Fput_char_table_map_function): New function in UTF-2000.
168         (put_char_table): Use `Fmap_char_attribute' for
169         CHARTAB_RANGE_CHARSET in UTF-2000.
170         (Fput_char_attribute): Store symbol instead of string in
171         `XCHAR_TABLE_NAME (table)'.
172         (load_char_attribute_maybe): Likewise.
173         (syms_of_chartab): Add new symbol/function
174         `put-char-table-map-function'.
175
176 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
177
178         * database.h: Add new EXFUN for `Fmap_database'.
179
180         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
181         (syms_of_database): Likewise.
182
183         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
184         UTF-2000.
185         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
186         (XCHAR_TABLE_UNLOADED): Likewise.
187
188         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
189         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
190         HAVE_DATABASE is defined.
191         (char_attribute_table_to_load): New variable of UTF-2000 with
192         external database support.
193         (Qload_char_attribute_table_map_function): Likewise.
194         (Fload_char_attribute_table_map_function): New function of
195         UTF-2000 with external database support.
196         (Fload_char_attribute_table): New function of UTF-2000.
197         (Fmap_char_attribute): Call Fload_char_attribute_table if
198         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
199         (syms_of_chartab): Add new symbol and function
200         `load-char-attribute-table-map-function' in UTF-2000 with external
201         database support; add new function `load-char-attribute-table' in
202         UTF-2000.
203
204 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
205
206         * chartab.h (load_char_attribute_maybe): New prototype for
207         UTF-2000 with DATABASE support.
208         (get_char_id_table): Use `load_char_attribute_maybe' if
209         HAVE_DATABASE is defined.
210
211         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
212         with DATABASE support.
213
214 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
215
216         * chartab.c (Fput_char_attribute): Use S-expression as key of
217         external database.
218
219         * chartab.h (get_char_id_table): Use S-expression as key of
220         external database.
221
222 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
223
224         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
225         if an element is not loaded, load the corresponding attributes
226         from an external database.
227         (map_over_uint16_byte_table): Likewise.
228         (map_over_byte_table): Likewise.
229         (map_char_table): Modify for `map_over_uint8_byte_table',
230         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
231         element is not loaded, load the corresponding attributes from an
232         external database.
233         (Fput_char_attribute): Change initial values to Qunloaded.
234
235         * chartab.h (get_char_id_table): If a character attribute is not
236         loaded and the attribute value is not found in an external
237         database, store Qunbound as the attribute value.
238
239 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
240
241         * chartab.c (BT_UINT8_unloaded): New macro.
242         (UINT8_VALUE_P): Accept Qunloaded.
243         (UINT8_ENCODE): Likewise.
244         (UINT8_DECODE): Likewise.
245         (BT_UINT16_unloaded): New macro.
246         (UINT16_VALUE_P): Accept Qunloaded.
247         (UINT16_ENCODE): Likewise.
248         (UINT16_DECODE): Likewise.
249         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
250         BT_UINT16_unloaded.
251         (mark_char_table): Mark `ct->name' in UTF-2000.
252         (char_table_description): Add `name' in UTF-2000.
253         (Fmake_char_table): Initialize `ct->name'.
254         (Fcopy_char_table): Copy `ct->name'.
255         (Fput_char_attribute): Store value into an external database if
256         HAVE_DATABASE is defined.
257
258         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
259         UTF-2000.
260         (CHAR_TABLE_NAME): New macro in UTF-2000.
261         (XCHAR_TABLE_NAME): New macro in UTF-2000.
262         (get_char_id_table): Try to read an external database if Qunloaded
263         is stored in a table.
264
265         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
266         Qunloaded.
267
268 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
269
270         * database.h: Add EXFUN definitions for Fopen_database,
271         Fput_database, Fget_database and Fclose_database.
272
273         * data.c (Qunloaded): New variable in UTF-2000.
274
275         * lisp.h (Qunloaded): New variable in UTF-2000.
276
277 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
278
279         * mule-charset.c (put_char_ccs_code_point): Modify for
280         `decoding_table_remove_char' and `decoding_table_put_char'.
281         (remove_char_ccs): Modify for `decoding_table_remove_char'.
282
283         * char-ucs.h (decoding_table_remove_char): Change arguments to
284         hide decoding_table vector.
285         (decoding_table_put_char): Likewise.
286
287 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * mule-charset.c (decoding_table_remove_char): Moved to
290         char-ucs.h.
291         (decoding_table_put_char): Likewise.
292
293         * char-ucs.h (decoding_table_check_elements): New prototype [moved
294         from mule-charset.c].
295         (decoding_table_remove_char): New inline function [moved from
296         mule-charset.c].
297         (decoding_table_put_char): Likewise.
298
299 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
300
301         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
302         extension.
303
304 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
305
306         * mule-charset.c (decode_builtin_char): Support mother charsets.
307
308 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
309
310         * mule-charset.c (Q94x94x60): New variable.
311         (charset_code_point): Support conversion `94x94x60'.
312         (Fmake_charset): Likewise.
313         (syms_of_mule_charset): Add new symbol `94x94x60'.
314
315         * char-ucs.h (CONVERSION_94x94x60): New macro.
316
317 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
318
319         * mule-charset.c (charset_code_point): Unify code about
320         `code-offset'.
321
322 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
323
324         * mule-charset.c (charset_code_point): Merge code about builtin
325         characters into code about mother charsets; don't use
326         `range_charset_code_point'.
327         (range_charset_code_point): Deleted.
328
329 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
330
331         * mule-charset.c (Qcode_offset): New variable.
332         (Fmake_charset): Use `XUINT' to get value of `min-code' and
333         `max-code'; accept new property `code-offset'.
334         (syms_of_mule_charset): Add new symbol `code-offset'.
335
336 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
337
338         * mule-charset.c (range_charset_code_point): Fixed.
339
340 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
341
342         * mule-charset.c (decode_builtin_char): Change semantics of
343         code-offset of coded-charset.
344         (charset_code_point): Likewise.
345         (range_charset_code_point): Likewise.
346         (complex_vars_of_mule_charset): Modify for the change.
347
348 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
349
350         * mule-charset.c (Fencode_char): Reverse arguments.
351
352         * mule-charset.c (charset_code_point): Fixed.
353
354 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
355
356         * mule-charset.c (Vcharset_mojikyo): Deleted.
357         (Vcharset_mojikyo_2022_1): Deleted.
358         (Vcharset_mojikyo_pj_{1..21}): Deleted.
359         (Qmin_code): New variable in UTF-2000.
360         (Qmax_code): Likewise.
361         (Qmother): Likewise.
362         (Qconversion): Likewise.
363         (Q94x60): Likewise.
364         (Qmojikyo): Deleted.
365         (Qmojikyo_2022_1): Deleted.
366         (Qmojikyo_pj_{1..22}): Deleted.
367         (mark_charset): Mark `cs->mother'.
368         (charset_description): Add description for `mother'.
369         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
370         new arguments `mother' and `conversion'; use
371         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
372         (charset_code_point): Moved from char-ucs.h; support `mother'
373         charset feature.
374         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
375         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
376         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
377         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
378         allow 2 as the value of `graphic' in UTF-2000; add new properties
379         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
380         require `final' in UTF-2000; modify for `make_charset'.
381         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
382         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
383         (Fcharset_property): Support `mother', `min-code' and `max-code'.
384         (Fencode_char): New function.
385         (syms_of_mule_charset): Add new builtin function `encode-char' in
386         UTF-2000; add new symbols `min-code', `max-code', `mother',
387         `conversion' and `94x60'; delete symbols `mojikyo',
388         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
389         (complex_vars_of_mule_charset): Modify for `make_charset' change;
390         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
391         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
392
393         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
394         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
395
396         * char-ucs.h (Vcharset_mojikyo): Deleted.
397         (Vcharset_mojikyo_2022_1): Deleted.
398         (LEADING_BYTE_MOJIKYO): Deleted.
399         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
400         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
401         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
402         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
403         add new member `mother'; add new member `conversion'.
404         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
405         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
406         (CHARSET_MOTHER): New macro.
407         (CHARSET_CONVERSION): New macro.
408         (CONVERSION_IDENTICAL): New macro.
409         (CONVERSION_94x60): New macro.
410         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
411         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
412         (XCHARSET_MOTHER): New macro.
413         (XCHARSET_CONVERSION): New macro.
414         (MIN_CHAR_MOJIKYO): Deleted.
415         (MAX_CHAR_MOJIKYO): Deleted.
416         (DECODE_MOJIKYO_2022): Deleted.
417         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
418         (charset_code_point): Changed to non-inline function.
419         (encode_char_1): Use `charset_code_point'.
420         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
421
422 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
423
424         * lread.c (read_compiled_function): Fix prototype.
425         (read_vector): Likewise.
426
427 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
428
429         * lrecord.h (struct lrecord_header): Delete `older'.
430         (set_lheader_implementation): Delete code for `older'.
431         (set_lheader_older_implementation): Deleted.
432         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
433         (OLDER_RECORD_P): Deleted.
434         (OLDER_RECORD_HEADER_P): Deleted.
435         (alloc_older_lcrecord): Deleted.
436         (alloc_older_lcrecord_type): Deleted.
437
438         * alloc.c (all_older_lcrecords): Deleted.
439         (alloc_older_lcrecord): Deleted.
440         (disksave_object_finalization_1): Delete code for older objects.
441         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
442         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
443
444 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
445
446         * mule-charset.c (decoding_table_put_char): Use `make_vector'
447         instead of `make_older_vector'.
448         (put_char_ccs_code_point): Likewise.
449         (mark_charset): Mark `cs->decoding_table'.
450         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
451
452         * lisp.h (make_older_vector): Deleted.
453         (make_vector_newer): Deleted.
454
455         * config.h.in (HAVE_GGC): Deleted.
456
457         * alloc.c (make_older_vector): Deleted.
458         (make_vector_newer_1): Deleted.
459         (make_vector_newer): Deleted.
460
461 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
462
463         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
464         (Qideograph_daikanwa_2): New variable.
465         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
466         (complex_vars_of_mule_charset): Add new coded-charset
467         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
468         `LEADING_BYTE_DAIKANWA'.
469
470         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
471         (LEADING_BYTE_DAIKANWA_1): New macro.
472         (LEADING_BYTE_DAIKANWA_2): New macro.
473         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
474
475 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
476
477         * mule-charset.c (complex_vars_of_mule_charset): Change
478         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
479         the second revised version.
480
481 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
482
483         * mule-charset.c (Vcharset_ucs_smp): New variable.
484         (Vcharset_ucs_sip): New variable.
485         (Qucs_smp): New variable.
486         (Qucs_sip): New variable.
487         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
488         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
489         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
490         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
491         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
492         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
493
494         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
495         (LEADING_BYTE_UCS_SIP): New macro.
496         (MIN_CHAR_SMP): New macro.
497         (MAX_CHAR_SMP): New macro.
498         (MIN_CHAR_SIP): New macro.
499         (MAX_CHAR_SIP): New macro.
500
501 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
502
503         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
504         utf-2000.
505
506 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
507
508         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
509         value; don't store value into `encoding_table' of `Lisp_Charset'.
510         (mark_charset): `encoding_table' was deleted.
511         (charset_description): Likewise.
512         (make_charset): Likewise.
513         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
514         `put_char_ccs_code_point'.
515
516         * chartab.h (Fput_char_attribute): New EXFUN.
517
518         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
519         is unified with normal symbol space.
520         (Fget_char_attribute): Likewise.
521         (Fput_char_attribute): Likewise; behavior of
522         `put_char_ccs_code_point' is changed.
523
524         * char-ucs.h: Include "elhash.h".
525         (Vchar_attribute_hash_table): New external variable.
526         (struct Lisp_Charset): Delete `encoding_table'.
527         (CHARSET_ENCODING_TABLE): New implementation; refer
528         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
529         `Lisp_Charset'.
530
531 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
532
533         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
534         (cs) == 0.
535
536 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
537
538         * text-coding.c (char_encode_big5): Prefer charset-g1 than
539         `chinese-big5'.
540
541 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
542
543         * chartab.c (uint8_byte_table_description): New constant.
544         (uint8-byte-table): Use `uint8_byte_table_description'.
545         (uint16_byte_table_description): New constant.
546         (uint16-byte-table): Use `uint16_byte_table_description'.
547
548 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
549
550         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
551         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
552
553 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
554
555         * mule-charset.c (Vcharset_ucs_ks): New variable.
556         (Qucs_ks): New variable.
557         (syms_of_mule_charset): Add new symbol `ucs-ks'.
558         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
559
560         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
561
562 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
563
564         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
565         (Fdecode_char): Likewise.
566
567         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
568         chartab.h.
569         (Fdefine_char): Modify for Fdecode_char.
570         (Ffind_char): Likewise.
571
572         * mule-charset.c (Fdecode_char): Add new optional argument
573         `defined-only'.
574         (Fdecode_builtin_char): Modify for `Fdecode_char'.
575
576 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
577
578         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
579         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
580         (allocate_coding_system): Initialize initial-charsets of
581         CODESYS_BIG5 in XEmacs UTF-2000.
582         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
583         CODESYS_BIG5 in XEmacs UTF-2000.
584         (decode_coding_big5): Use initial-charset-g0 and -g1 of
585         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
586
587         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
588         variables.
589         (Qideograph_hanziku_{1 .. 12}): Likewise.
590         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
591         .. 12}'.
592         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
593         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
594         `ideograph-hanziku-{1 .. 12}'.
595
596         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
597         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
598         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
599         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
600         (DECODE_DEFINED_CHAR): New inline function.
601         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
602
603 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
604
605         * mule-charset.c (Vcharset_china3_jef): Renamed from
606         `Vcharset_japanese_jef_china3'.
607         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
608         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
609         `{MIN|MAX}_CHAR_JEF_CHINA3'..
610         (syms_of_mule_charset): Rename `china3-jef' from
611         `japanese-jef-china3'.
612         (complex_vars_of_mule_charset): Likewise; rename
613         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
614
615         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
616         `LEADING_BYTE_JEF_CHINA3'.
617         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
618         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
619
620 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
621
622         * mule-charset.c (encode_builtin_char_1): Comment out special code
623         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
624
625         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
626         (MAX_CHAR_MOJIKYO_0): Comment out.
627         (MIN_CHAR_CBETA): Changed to 0x00E20000.
628         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
629         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
630         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
631
632 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
633
634         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
635         (Qideograph_cbeta): New variable.
636         (encode_builtin_char_1): Comment out special code for
637         coded-charset `mojikyo' and `japanese-jef-china3'.
638         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
639         (complex_vars_of_mule_charset): Add new coded-charset
640         `ideograph-cbeta'.
641
642         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
643         (MIN_CHAR_CBETA): New macro.
644         (MAX_CHAR_CBETA): New macro.
645
646 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
647
648         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
649         (LEADING_BYTE_JEF_CHINA3): New macro.
650         (MIN_CHAR_JEF_CHINA3): New macro.
651         (MAX_CHAR_JEF_CHINA3): Likewise.
652         (DECODE_CHAR): Fixed.
653
654 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
655
656         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
657         (Qjapanese_jef_china3): New variable.
658         (encode_builtin_char_1): Support `japanese-jef-china3'.
659         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
660         (complex_vars_of_mule_charset): Add new coded-charset
661         `japanese-jef-china3'.
662
663 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
664
665         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
666         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
667         94^4, 96^3, 96^4, 128^n and 256^n set.
668         (put_char_table): Use `XCHARSET_CELL_RANGE'.
669         (map_char_table): Likewise.
670
671 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
672
673         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
674         UTF-2000.
675
676 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
677
678         * chartab.h (get_char_id_table): New inline function.
679
680         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
681         function.
682
683 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
684
685         * chartab.h (decode_char_table_range): New prototype in XEmacs
686         UTF-2000.
687         (put_char_id_table): New inline function in XEmacs UTF-2000.
688
689         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
690         function.
691         (decode_char_table_range): Delete static declaration in XEmacs
692         UTF-2000.
693
694 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
695
696         * chartab.c (put_char_id_table): Use `put_char_table'.
697
698 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
699
700         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
701         (map_over_uint16_byte_table): Likewise.
702         (map_over_byte_table): Likewise.
703         (map_char_table): Modify for `map_over_uint8_byte_table',
704         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
705         UTF-2000.
706
707 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
708
709         * chartab.c (struct map_char_table_for_charset_arg): New
710         structure.
711         (map_char_table_for_charset_fun): New function.
712         (map_char_table): Use `map_char_table' for encoding_table of
713         `range->charset'.
714
715 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * chartab.c (map_char_table): Check a character is found in
718         range->charset instead of non default value is defined in
719         char-table when range is CHARTAB_RANGE_ROW.
720
721 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
722
723         * chartab.c (map_char_id_table): Deleted.
724         (Fmap_char_attribute): Use `map_char_table' instead of
725         `map_char_id_table'.
726
727 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
728
729         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
730         UTF-2000.
731         (update_syntax_table): Deleted in XEmacs UTF-2000.
732
733         * syntax.c (find_defun_start): Use `syntax_table' instead of
734         `mirror_syntax_table' in XEmacs UTF-2000.
735         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
736         UTF-2000.
737         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
738         XEmacs UTF-2000.
739         (Fmatching_paren): Likewise.
740         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
741         in XEmacs UTF-2000.
742         (find_start_of_comment): Likewise.
743         (find_end_of_comment): Likewise.
744         (Fforward_comment): Likewise.
745         (scan_lists): Likewise.
746         (char_quoted): Likewise.
747         (Fbackward_prefix_chars): Likewise.
748         (scan_sexps_forward): Likewise.
749         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
750         (update_syntax_table): Likewise.
751
752         * search.c (skip_chars): Use `syntax_table' instead of
753         `mirror_syntax_table' in XEmacs UTF-2000.
754         (wordify): Likewise.
755         (Freplace_match): Likewise.
756
757         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
758         `mirror_syntax_table' in XEmacs UTF-2000.
759         (WORDCHAR_P_UNSAFE): Likewise.
760         (re_match_2_internal): Likewise.
761
762         * font-lock.c (find_context): Use `buf->syntax_table' instead of
763         `buf->mirror_syntax_table' in XEmacs UTF-2000.
764
765         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
766         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
767
768         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
769         XEmacs UTF-2000.
770
771         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
772         UTF-2000.
773         (print_char_table): Print `default_value' in XEmacs UTF-2000.
774         (char_table_description): Delete `mirror_table' in XEmacs
775         UTF-2000.
776         (fill_char_table): Don't call `update_syntax_table' in XEmacs
777         UTF-2000.
778         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
779         (Fcopy_char_table): Likewise.
780         (put_char_table): Don't call `update_syntax_table' in XEmacs
781         UTF-2000.
782
783         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
784         `buf->mirror_syntax_table' in XEmacs UTF-2000.
785         (casify_region_internal): Likewise.
786
787         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
788
789         * buffer.c (common_init_complex_vars_of_buffer): Don't use
790         `mirror_syntax_table' in XEmacs UTF-2000.
791
792         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
793         `buf->mirror_syntax_table' in XEmacs UTF-2000.
794         (Fexpand_abbrev): Likewise.
795
796 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
797
798         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
799
800 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
801
802         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
803         (map_over_uint16_byte_table): Likewise.
804         (map_over_byte_table): Likewise.
805         (get_char_id_table): Refer `cit->default_value'.
806         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
807         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
808         of character-id ranges.
809         (mark_char_table): Mark `ct->default_value'.
810         (char_table_description): Add `default_value'.
811         (fill_char_table): Use `default_value'.
812         (decode_char_table_range): Decode `nil' as
813         `CHARTAB_RANGE_DEFAULT'.
814         (get_char_id_table): Refer `cit->default_value'.
815         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
816         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
817         temporary hack; check value of char-table is bound or not.
818         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
819
820         * chartab.h (struct Lisp_Char_Table): Add new member
821         `default_value' in XEmacs UTF-2000.
822         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
823         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
824         UTF-2000.
825
826 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
827
828         * chartab.h (Lisp_Char_ID_Table): Deleted.
829
830         * chartab.c (char_table_description): Fix typo.
831         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
832         `Lisp_Char_ID_Table'.
833
834 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
835
836         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
837         `CHAR_ID_TABLE_P'.
838
839         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
840         `CHAR_ID_TABLE_P'.
841
842         * chartab.h (XCHAR_ID_TABLE): Deleted.
843         (XSETCHAR_ID_TABLE): Deleted.
844         (CHAR_ID_TABLE_P): Deleted.
845
846         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
847         `CHAR_ID_TABLE_P'.
848         (Fget_composite_char): Likewise.
849         (put_char_table): Likewise.
850         (add_char_attribute_alist_mapper): Fixed.
851         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
852         `CHAR_ID_TABLE_P'.
853         (Fget_char_attribute): Likewise.
854         (Fget_char_attribute): Likewise.
855         (Fmap_char_attribute): Likewise.
856
857         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
858         `CHAR_ID_TABLE_P'.
859         (encode_char_1): Likewise.
860
861 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
862
863         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
864         `XCHAR_ID_TABLE'.
865
866         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
867         instead of `XCHAR_ID_TABLE'.
868         (remove_char_ccs): Likewise.
869
870         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
871         `XCHAR_ID_TABLE'.
872         (Fget_composite_char): Likewise.
873         (Fchar_variants): Likewise.
874         (put_char_table): Likewise.
875         (add_char_attribute_alist_mapper): Likewise.
876         (Fchar_attribute_alist): Likewise.
877         (Fget_char_attribute): Likewise.
878         (Fput_char_attribute): Likewise.
879         (Fmap_char_attribute): Likewise.
880         (Fmap_char_attribute): Likewise.
881
882         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
883         `XCHAR_ID_TABLE'.
884         (encode_char_1): Likewise.
885
886 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
887
888         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
889         `Lisp_Char_ID_Table'.
890         (mark_char_id_table): Deleted.
891         (print_char_id_table): Likewise.
892         (char_id_table_equal): Likewise.
893         (char_id_table_hash): Likewise.
894         (char_id_table_description): Likewise.
895         (char_id_table): Likewise.
896         (make_char_id_table): Use `Fmake_char_table' and
897         `fill_char_table'.
898         (get_char_id_table): Use `Lisp_Char_Table' instead of
899         `Lisp_Char_ID_Table'.
900         (put_char_id_table): Likewise.
901         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
902         `XCHAR_ID_TABLE'.
903         (Fremove_char_attribute): Likewise.
904         (syms_of_chartab): Don't define type `char-id-table'.
905
906         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
907         (char_id_table): Likewise.
908         (GC_CHAR_ID_TABLE_P): Likewise.
909         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
910         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
911         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
912         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
913         (get_char_id_table): Use `Lisp_Char_Table' instead of
914         `Lisp_Char_ID_Table'.
915         (put_char_id_table_0): Likewise.
916         (put_char_id_table): Likewise.
917
918 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
919
920         * chartab.h: Lisp_Byte_Table related codes are moved from
921         chartab.h.
922
923         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
924
925 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
926
927         * chartab.h: Don't include "chartab.h".
928         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
929         (Lisp_Char_ID_Table): Likewise.
930         (char_id_table): Likewise.
931         (XCHAR_ID_TABLE): Likewise.
932         (XSETCHAR_ID_TABLE): Likewise.
933         (CHAR_ID_TABLE_P): Likewise.
934         (GC_CHAR_ID_TABLE_P): Likewise.
935         (get_char_id_table): Likewise.
936
937         * char-ucs.h: Include "chartab.h".
938         (struct Lisp_Char_ID_Table): Moved to chartab.h.
939         (Lisp_Char_ID_Table): Likewise.
940         (char_id_table): Likewise.
941         (XCHAR_ID_TABLE): Likewise.
942         (XSETCHAR_ID_TABLE): Likewise.
943         (CHAR_ID_TABLE_P): Likewise.
944         (GC_CHAR_ID_TABLE_P): Likewise.
945         (get_char_id_table): Likewise.
946
947 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
948
949         * chartab.c (copy_uint8_byte_table): New function.
950         (copy_uint16_byte_table): New function.
951         (copy_byte_table): New function.
952         (map_over_uint8_byte_table): Modify to avoid huge numbers of
953         characters to call.
954         (map_over_uint16_byte_table): Likewise.
955         (map_over_byte_table): Likewise.
956         (get_byte_table): Move prototype to chartab.h.
957         (put_byte_table): Likewise.
958         (put_char_id_table_0): Moved to chartab.h.
959         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
960         (char_table_entry_equal): Likewise.
961         (char_table_entry_hash): Likewise.
962         (char_table_entry_description): Likewise.
963         (char_table_entry): Likewise.
964         (make_char_table_entry): Likewise.
965         (copy_char_table_entry): Likewise.
966         (get_non_ascii_char_table_value): Likewise.
967         (map_over_charset_ascii): Likewise.
968         (map_over_charset_control_1): Likewise.
969         (map_over_charset_row): Likewise.
970         (map_over_other_charset): Likewise.
971         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
972         (print_char_table): Likewise.
973         (char_table_equal): Likewise.
974         (char_table_hash): Likewise.
975         (char_table_description): Likewise.
976         (fill_char_table): Likewise.
977         (Fcopy_char_table): Likewise.
978         (get_char_table): Likewise.
979         (Fget_range_char_table): Likewise.
980         (put_char_table): Likewise.
981         (map_char_table): Likewise.
982         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
983         UTF-2000.
984
985 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
986
987         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
988         `Vauto_fill_chars' in XEmacs UTF-2000.
989
990         * chartab.h (get_byte_table): New prototype [moved from
991         chartab.c].
992         (put_byte_table): Likewise [moved from chartab.c].
993         (put_char_id_table_0): New inline function [moved from chartab.c].
994         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
995         (Lisp_Char_Table_Entry): Likewise.
996         (char_table_entry): Likewise.
997         (XCHAR_TABLE_ENTRY): Likewise.
998         (XSETCHAR_TABLE_ENTRY): Likewise.
999         (CHAR_TABLE_ENTRYP): Likewise.
1000         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1001         (NUM_ASCII_CHARS): Likewise.
1002         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1003         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1004
1005 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1006
1007         * chartab.c (get_char_id_table): Change interface.
1008         (put_char_id_table_0): New function.
1009         (put_char_id_table): Change interface; new implementation.
1010         (Fget_composite_char): Modify for interface change of
1011         `get_char_id_table'.
1012         (Fchar_variants): Likewise.
1013         (add_char_attribute_alist_mapper): Likewise.
1014         (Fchar_attribute_alist): Likewise.
1015         (Fget_char_attribute): Likewise.
1016         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1017         as same as character as the first argument like `put-char-table';
1018         modify for interface change of `put_char_id_table'.
1019         (Fremove_char_attribute): Modify for interface change of
1020         `put_char_id_table'.
1021
1022 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1023
1024         * text-coding.c: Sync up with XEmacs 21.2.41.
1025         (COMPOSE_ADD_CHAR): Modify for interface change of
1026         `get_char_id_table'.
1027
1028         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1029         change of `put_char_id_table'.
1030         (remove_char_ccs): Likewise.
1031
1032         * chartab.h (put_char_id_table): Change interface.
1033
1034         * char-ucs.h (get_char_id_table): Change interface.
1035         (charset_code_point): Modify for interface change of
1036         `get_char_id_table'.
1037         (encode_char_1): Likewise.
1038
1039 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1040
1041         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1042         argument `ccs'.
1043         (map_over_uint16_byte_table): Likewise.
1044         (map_over_byte_table): Likewise.
1045         (map_char_id_table): Add new argument `range' like
1046         `map_char_table'.
1047         (Fmap_char_attribute): Add new argument `range' like
1048         `Fmap_char_table'.
1049
1050 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1051
1052         * chartab.c (map_over_uint8_byte_table): Change interface of
1053         mapping function to use struct chartab_range instead of Emchar.
1054         (map_over_uint16_byte_table): Likewise.
1055         (map_over_byte_table): Likewise.
1056         (map_char_id_table): Likewise.
1057         (struct slow_map_char_id_table_arg): Deleted.
1058         (slow_map_char_id_table_fun): Deleted.
1059         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1060         function `slow_map_char_table_fun' instead of struct
1061         `slow_map_char_id_table_arg' and function
1062         `slow_map_char_id_table_fun'.
1063
1064 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1065
1066         * mule-charset.c: Move char-it-table related codes to chartab.c.
1067         (Vutf_2000_version): Moved to chartab.c.
1068         (Fdefine_char): Likewise.
1069         (Ffind_char): Likewise.
1070         (syms_of_mule_charset): Move types `uint8-byte-table',
1071         `uint16-byte-table', `byte-table' and `char-id-table' to
1072         chartab.c; move functions `char_attribute_list,
1073         `find_char_attribute_table, `char_attribute_alist,
1074         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1075         `map_char_attribute, `define_char, `find_char, `char_variants and
1076         `get_composite_char to chartab.c; move symbols `=>ucs',
1077         `->decomposition', `compat', `isolated', `initial', `medial',
1078         `final', `vertical', `noBreak', `fraction', `super', `sub',
1079         `circle', `square', `wide', `narrow', `small' and `font' to
1080         chartab.c.
1081         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1082         setting codes for `Vcharacter_composition_table' and
1083         `Vcharacter_variant_table' to chartab.c.
1084         (complex_vars_of_mule_charset): Move setting code for
1085         `Vchar_attribute_hash_table' to chartab.c.
1086
1087         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1088         (make_char_id_table): New prototype.
1089         (put_char_id_table): Likewise.
1090         (Fget_char_attribute): Likewise.
1091
1092         * chartab.c: Move char-id-table related code from mule-charset.c.
1093         (Vutf_2000_version): Moved from mule-charset.c.
1094
1095         * char-ucs.h (Qucs): New external variable.
1096         (put_char_ccs_code_point): New prototype.
1097         (remove_char_ccs): Likewise.
1098
1099 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1100
1101         * mule-charset.c (Vcharset_ucs_jis): New variable.
1102         (Qucs_jis): Likewise.
1103         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1104         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1105
1106         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1107
1108 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1109
1110         * mule-charset.c (map_over_uint8_byte_table): New function.
1111         (map_over_uint16_byte_table): Likewise.
1112         (map_over_byte_table): Likewise.
1113         (map_char_id_table): Likewise.
1114         (slow_map_char_id_table_fun): Likewise.
1115         (Fmap_char_attribute): Likewise.
1116         (syms_of_mule_charset): Add new function `map-char-attribute'.
1117
1118 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1119
1120         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1121         (syms_of_mule_charset): Add new function `find-char'.
1122
1123 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1124
1125         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1126         XEmacs UTF-2000.
1127         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1128         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1129         XEmacs UTF-2000.
1130         (complex_vars_of_mule_charset): Add new coded-charset
1131         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1132         `ideograph-gt-pj-*'.
1133
1134         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1135
1136 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1137
1138         * mule-charset.c (encode_builtin_char_1): Purge codes about
1139         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1140         {MIN|MAX}_CHAR_HEBREW.
1141         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1142         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1143
1144         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1145         (MAX_CHAR_GREEK): Purged.
1146         (MIN_CHAR_CYRILLIC): Purged.
1147         (MAX_CHAR_CYRILLIC): Purged.
1148         (MIN_CHAR_HEBREW): Commented out.
1149         (MAX_CHAR_HEBREW): Likewise.
1150
1151 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1152
1153         * mule-charset.c (Qto_ucs): New variable.
1154         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1155         (Fdefine_char): Likewise.
1156         (syms_of_mule_charset): Add new symbol `=>ucs'.
1157
1158 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1159
1160         * mule-charset.c (Fdecode_char): Fixed.
1161
1162 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1163
1164         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1165         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1166         "tcvn5712-1".
1167
1168 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1169
1170         * mule-charset.c (Vcharset_ucs_big5): New variable.
1171         (Qucs_big5): Likewise.
1172         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1173         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1174
1175         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1176
1177 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1178
1179         * mule-charset.c (decode_builtin_char): Check Big5 code range
1180         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1181
1182 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1183
1184         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1185         (Qchinese_gb12345): Likewise.
1186         (Fdecode_builtin_char): Fixed.
1187         (syms_of_mule_charset): Add `chinese-gb12345'.
1188         (complex_vars_of_mule_charset): Add coded-charset
1189         `chinese-gb12345'.
1190
1191         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1192         (LEADING_BYTE_CHINESE_GB12345): New macro.
1193
1194 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1195
1196         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1197         and `latin-viscii-upper' for `latin-viscii'.
1198
1199 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1200
1201         * mule-charset.c (Fdecode_builtin_char): Comment out
1202         regularization code for ISO-IR GR representation.
1203
1204 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1205
1206         * mule-charset.c (decode_builtin_char): New function; renamed from
1207         `make_builtin_char'; return -1 instead of signal.
1208         (Fdecode_builtin_char): Use `decode_builtin_char'.
1209
1210         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1211         `make_builtin_char'.
1212         (DECODE_CHAR): Use `decode_builtin_char' instead of
1213         `make_builtin_char'; use mapping table of `chinese-big5' for
1214         `chinese-big5-{1,2}'.
1215
1216 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1217
1218         * text-coding.c (char_encode_big5): New function.
1219         (char_finish_big5): Likewise.
1220         (reset_encoding_stream): Use `char_encode_big5' and
1221         `char_finish_big5' for CODESYS_BIG5.
1222         (mule_encode): Don't use `encode_coding_big5'.
1223         (encode_coding_big5): Deleted.
1224
1225 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1226
1227         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1228         0x81- in XEmacs UTF-2000.
1229         (detect_coding_big5): Likewise.
1230
1231 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1232
1233         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1234         generate character-id if the CCS property does not have
1235         corresponding predefined character.
1236         (make_builtin_char): Return -1 if corresponding predefined
1237         character is not found.
1238         (Fdecode_char): Return nil if corresponding character is not
1239         found.
1240         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1241         don't map to builtin ucs space.
1242
1243 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1244
1245         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1246         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1247
1248 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1249
1250         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1251         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1252         (Qideograph_gt): Likewise.
1253         (Qideograph_gt_pj_{1..11}): Likewise.
1254         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1255         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1256         `ideograph-gt-pj-11'.
1257         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1258         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1259         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1260
1261         * char-ucs.h (LEADING_BYTE_GT): New macro.
1262         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1263         (MIN_CHAR_GT): Likewise.
1264         (MAX_CHAR_GT): Likewise.
1265
1266 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1267
1268         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1269         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1270
1271         * doprnt.c (unsigned_int_converters): Add `c'.
1272         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1273
1274         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1275         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1276         `MIN_CHAR_MOJIKYO'.
1277         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1278         (MAX_CHAR_MOJIKYO_0): New macro.
1279         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1280
1281 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1282
1283         * mule-charset.c (Fdefine_char): Delete cemented out code.
1284         (encode_builtin_char_1): Modify for new allocation of builtin
1285         Mojikyo characters.
1286
1287         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1288
1289 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1290
1291         * mule-charset.c (Vcharset_ucs_cns): New variable.
1292         (Qucs_cns): New variable.
1293         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1294         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1295
1296 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1297
1298         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1299
1300 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1301
1302         * search.c (search_buffer): Make `charset_base_code' as
1303         character-id >> 6 to eliminate the corresponding last byte in
1304         UTF-8 representation [I'm not sure it is right thing].
1305         (boyer_moore): Likewise.
1306
1307 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1308
1309         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1310         representation in MULE.
1311
1312 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1313
1314         * text-coding.c (Fmake_coding_system): Use
1315         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1316         `EXTERNAL_PROPERTY_LIST_LOOP'.
1317
1318 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1319
1320         * text-coding.c (decode_output_utf8_partial_char): New function.
1321         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1322
1323 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1324
1325         * text-coding.c (decode_coding_utf8): Output original byte
1326         sequence if it is broken; change order of conditions.
1327
1328         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1329         of conditions.
1330
1331         * mb-multibyte.h (BYTE_ASCII_P):
1332         Use bit ops for char-signedness safety.
1333         (BYTE_C0_P): Use bit ops for char-signedness safety.
1334         (BYTE_C1_P): Use bit ops for char-signedness safety.
1335
1336         * character.h: (XCHAR_OR_CHAR_INT):
1337         Always use inline function.
1338         Remove redundant type checking assert() - XINT will abort quite
1339         nicely.
1340
1341 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1342
1343         * text-coding.c: (Fencode_shift_jis_char):
1344         (Fencode_big5_char):
1345         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1346         Replace 0 with '\0' when working with bytes.
1347         Replace initial "(" with "\(" in docstrings.
1348
1349         (Fmake_coding_system):
1350         When type is ccl and value is vector, register it with a proper
1351         symbol.  And checks whether the given ccl program is valid.
1352         (mule_decode): When calling ccl_driver, if src indicates
1353         NULL pointer, set an empty string instead.
1354         (mule_encode): Likewise.
1355
1356         (detect_eol_type):
1357         (detect_coding_sjis):
1358         (decode_coding_sjis):
1359         (detect_coding_big5):
1360         (decode_coding_big5):
1361         (detect_coding_ucs4):
1362         (decode_coding_ucs4):
1363         (detect_coding_utf8):
1364         (decode_coding_utf8):
1365         (detect_coding_iso2022):
1366         (decode_coding_iso2022):
1367         (decode_coding_no_conversion):
1368         (mule_decode):
1369         Make all detecting and decoding functions take an Extbyte * arg.
1370         (text_encode_generic):
1371         (encode_coding_big5):
1372         (encode_coding_no_conversion):
1373         (mule_encode):
1374         Make all encoding functions take a Bufbyte * arg.
1375         Use size_t instead of unsigned int for memory sizes.
1376         Only cast to unsigned char whenever dereferencing Extbyte *.
1377
1378         (struct lrecord_description fcd_description_1): Use countof.
1379         (complex_vars_of_file_coding):
1380         Use countof instead of sizeof.
1381         Use CHECK_NATNUM instead of CHECK_INT.
1382
1383 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1384
1385         * mule-charset.c (Fget_char_attribute): Add new optional argument
1386         `default-value'.
1387         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1388         (remove_char_ccs): Likewise.
1389
1390 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1391
1392         * text-coding.c (char_encode_shift_jis): New implementation in
1393         UTF-2000.
1394         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1395         ...)'.
1396
1397         * mule-charset.c (Vcharset_chinese_big5): New variable in
1398         UTF-2000.
1399         (Qchinese_big5): New variable in UTF-2000.
1400         (BIG5_SAME_ROW): New macro in UTF-2000.
1401         (make_builtin_char): Use builtin characters of
1402         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1403         characters of `Vcharset_chinese_big5'.
1404         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1405         (complex_vars_of_mule_charset): Add new coded-charset
1406         `chinese-big5' in UTF-2000.
1407
1408         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1409         (Vcharset_chinese_big5): New external variable declaration.
1410         (Vcharset_japanese_jisx0208_1990): Likewise.
1411
1412 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1413
1414         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1415         function.
1416         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1417
1418 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1419
1420         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1421         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1422         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1423         `mojikyo-pj-*'.
1424
1425 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1426
1427         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1428
1429 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1430
1431         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1432         to 0.17.
1433
1434 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1435
1436         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1437         for `CHARSET_BY_ATTRIBUTES'.
1438         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1439         `CHARSET_BY_ATTRIBUTES'.
1440
1441         * text-coding.c (struct decoding_stream): Rename member `CH' to
1442         `CPOS'.
1443         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1444         (decode_coding_sjis): Likewise.
1445         (decode_coding_big5): Likewise.
1446         (decode_coding_ucs4): Likewise.
1447         (decode_coding_utf8): Likewise.
1448         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1449         `CHARSET_BY_ATTRIBUTES'.
1450         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1451         `str->counter'; decode 3, 4 bytes sets.
1452         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1453         sets.
1454         (decode_coding_no_conversion): Use `str->cpos' instead of
1455         `str->ch'.
1456
1457         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1458         (Qmojikyo_2022_1): New variable.
1459         (make_charset): Don't use `CHARSET_TYPE_*'.
1460         (range_charset_code_point): Support coded-charset
1461         `mojikyo-2022-1'.
1462         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1463         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1464         `CHARSET_BY_ATTRIBUTES'.
1465         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1466         `CHARSET_BY_ATTRIBUTES'.
1467         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1468         (complex_vars_of_mule_charset): Add new coded-charset
1469         `mojikyo-2022-1'.
1470
1471         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1472         interface; changed to inline function.
1473
1474         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1475         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1476         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1477         (CHARSET_TYPE_94): Deleted.
1478         (CHARSET_TYPE_94X94): Deleted.
1479         (CHARSET_TYPE_96): Deleted.
1480         (CHARSET_TYPE_96X96): Deleted.
1481         (CHARSET_TYPE_128): Deleted.
1482         (CHARSET_TYPE_128X128): Deleted.
1483         (CHARSET_TYPE_256): Deleted.
1484         (CHARSET_TYPE_256X256): Deleted.
1485         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1486         to inline function.
1487         (DECODE_MOJIKYO_2022): New inline function.
1488         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1489         `Vcharset_mojikyo_2022_1'.
1490
1491 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1492
1493         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1494         instead of `EQ'.
1495         (put_byte_table): Likewise.
1496         (char_id_table_equal): Use `get_byte_table' [new implementation].
1497
1498 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1499
1500         * mule-charset.c: Include <limits.h> in UTF-2000.
1501         (BT_UINT8_MIN): New macro in UTF-2000.
1502         (BT_UINT8_MAX): New macro in UTF-2000.
1503         (BT_UINT8_t): New macro in UTF-2000.
1504         (BT_UINT8_nil): New macro in UTF-2000.
1505         (BT_UINT8_unbound): New macro in UTF-2000.
1506         (INT_UINT8_P): New inline function in UTF-2000.
1507         (UINT8_VALUE_P): New inline function in UTF-2000.
1508         (UINT8_ENCODE): New inline function in UTF-2000.
1509         (UINT8_DECODE): New inline function in UTF-2000.
1510         (mark_uint8_byte_table): New function in UTF-2000.
1511         (print_uint8_byte_table): New function in UTF-2000.
1512         (uint8_byte_table_equal): New function in UTF-2000.
1513         (uint8_byte_table_hash): New function in UTF-2000.
1514         (make_uint8_byte_table): New function in UTF-2000.
1515         (uint8_byte_table_same_value_p): New function in UTF-2000.
1516         (BT_UINT16_MIN): New macro in UTF-2000.
1517         (BT_UINT16_MAX): New macro in UTF-2000.
1518         (BT_UINT16_t): New macro in UTF-2000.
1519         (BT_UINT16_nil): New macro in UTF-2000.
1520         (BT_UINT16_unbound): New macro in UTF-2000.
1521         (INT_UINT16_P): New inline function in UTF-2000.
1522         (UINT16_VALUE_P): New inline function in UTF-2000.
1523         (UINT16_ENCODE): New inline function in UTF-2000.
1524         (UINT16_DECODE): New inline function in UTF-2000.
1525         (UINT8_TO_UINT16): New inline function in UTF-2000.
1526         (mark_uint16_byte_table): New function in UTF-2000.
1527         (print_uint16_byte_table): New function in UTF-2000.
1528         (uint16_byte_table_equal): New function in UTF-2000.
1529         (uint16_byte_table_hash): New function in UTF-2000.
1530         (make_uint16_byte_table): New function in UTF-2000.
1531         (uint16_byte_table_same_value_p): New function in UTF-2000.
1532         (print_byte_table): New function in UTF-2000.
1533         (byte-table): Use `print_byte_table' as printer.
1534         (make_byte_table): Delete second argument `older'.
1535         (byte_table_same_value_p): New function in UTF-2000.
1536         (copy_byte_table): Deleted.
1537         (get_byte_table): New function in UTF-2000.
1538         (put_byte_table): New function in UTF-2000.
1539         (print_char_id_table): New function in UTF-2000.
1540         (char-id-table): Use `print_char_id_table' as printer.
1541         (make_char_id_table): Delete second argument `older'.
1542         (get_char_id_table): Use `get_byte_table [new implementation].
1543         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1544         implementation].
1545         (Ffind_char_attribute_table): New function in UTF-2000.
1546         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1547         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1548         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1549         (syms_of_mule_charset): Add new function
1550         `find-char-attribute-table' in UTF-2000.
1551
1552         * lrecord.h (enum lrecord_type): Add
1553         `lrecord_type_uint16_byte_table' and
1554         `lrecord_type_uint8_byte_table'.
1555
1556         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1557         (Lisp_Uint8_Byte_Table): New type.
1558         (XUINT8_BYTE_TABLE): New macro.
1559         (XSETUINT8_BYTE_TABLE): New macro.
1560         (UINT8_BYTE_TABLE_P): New macro.
1561         (GC_UINT8_BYTE_TABLE_P): New macro.
1562         (struct Lisp_Uint16_Byte_Table): New structure.
1563         (Lisp_Uint16_Byte_Table): New type.
1564         (XUINT16_BYTE_TABLE): New macro.
1565         (XSETUINT16_BYTE_TABLE): New macro.
1566         (UINT16_BYTE_TABLE_P): New macro.
1567         (GC_UINT16_BYTE_TABLE_P): New macro.
1568
1569 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1572         (Vcharacter_ideographic_strokes_table): Deleted.
1573         (Vcharacter_total_strokes_table): Deleted.
1574         (Vcharacter_morohashi_daikanwa_table): Deleted.
1575         (Vcharacter_decomposition_table): Deleted.
1576         (Qname): Deleted because it is duplicated.
1577         (Qideographic_radical): Deleted.
1578         (Qideographic_strokes): Deleted.
1579         (Qtotal_strokes): Deleted.
1580         (Qmorohashi_daikanwa): Deleted.
1581         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1582         `ideographic-radical', `ideographic-strokes', `total-strokes',
1583         `morohashi-daikanwa' and `->decomposition'.
1584         (Fget_char_attribute): Likewise.
1585         (Fput_char_attribute): Likewise; use `make-vector' instead of
1586         `make_older_vector' for `->decomposition' value.
1587         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1588         `ideograph-daikanwa'.
1589         (syms_of_mule_charset): Delete builtin symbols `name',
1590         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1591         `morohashi-daikanwa'.
1592         (vars_of_mule_charset): Don't setup
1593         `Vcharacter_ideographic_radical_table',
1594         `Vcharacter_ideographic_strokes_table',
1595         `Vcharacter_total_strokes_table',
1596         `Vcharacter_morohashi_daikanwa_table' and
1597         `Vcharacter_decomposition_table'.
1598
1599 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1600
1601         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1602         `make_older_vector', `make_vector_newer_1' and
1603         `make_vector_newer'.
1604
1605         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1606         `make_older_vector' and `make_vector_newer'.
1607
1608         * config.h.in (HAVE_GGC): New macro.
1609
1610 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1611
1612         * mule-charset.c (struct char_attribute_list_closure): New
1613         structure in UTF-2000.
1614         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1615         (Fchar_attribute_list): Likewise.
1616         (Fset_charset_mapping_table): Use `make_vector_newer'.
1617         (Fdecode_builtin_char): New function in UTF-2000.
1618         (syms_of_mule_charset): Add new function `char-attribute-list' and
1619         `decode-builtin-char' in UTF-2000.
1620
1621         * lisp.h (make_vector_newer): New prototype.
1622
1623         * alloc.c (make_vector_newer_1): New function.
1624         (make_vector_newer): New function.
1625
1626 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1627
1628         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1629         50100)'.
1630
1631 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1632
1633         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1634         (Vcharacter_attribute_table): Deleted.
1635         (Vcharacter_name_table): Deleted.
1636         (put_char_attribute): Deleted.
1637         (remove_char_attribute): Deleted.
1638         (struct char_attribute_alist_closure): New structure.
1639         (add_char_attribute_alist_mapper): New function.
1640         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1641         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1642         (Fget_char_attribute): Likewise.
1643         (Fput_char_attribute): Likewise.
1644         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1645         of `remove_char_attribute'.
1646         (Fdefine_char): Return character.
1647         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1648         and `Vcharacter_name_table'.
1649         (complex_vars_of_mule_charset): Likewise
1650         `Vchar_attribute_hash_table'.
1651
1652 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1653
1654         * character.h (CHARC_CHARSET): New macro.
1655         (CHARC_CHARSET_ID): New macro.
1656         (CHARC_CODE_POINT): New macro.
1657         (CHARC_COLUMNS): New macro.
1658         (CHARC_TO_CHAR): New inline function.
1659         (CHARC_EQ): New inline function.
1660         (CHARC_ASCII_EQ): New inline function.
1661         (CHARC_IS_SPACE): New inline function.
1662         (ASCII_TO_CHARC): New inline function.
1663
1664         * char-ucs.h (encode_char_2): Deleted.
1665         (ENCODE_CHAR): Use `encode_char_1' again.
1666         (breakup_char_1): Likewise.
1667         (CHAR_TO_CHARC): New inline function.
1668
1669         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1670
1671 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1672
1673         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1674         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1675         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1676         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1677         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1678         `CHARC_IS_SPACE'.
1679         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1680
1681         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1682         `CHARC_CODE_POINT'.
1683         (x_output_display_block): Use `CHARC_CHARSET' and
1684         `CHARC_ASCII_EQ'.
1685
1686         * redisplay-tty.c (tty_output_display_block): Use
1687         `CHARC_ASCII_EQ'.
1688         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1689
1690         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1691
1692         * insdel.c (find_charsets_in_charc_string): Use
1693         `CHARC_CHARSET_ID'.
1694         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1695         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1696         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1697         (convert_charc_string_into_malloced_string): Likewise.
1698
1699 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1700
1701         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1702         instead of <Emchar_dynarr *> for buf; use
1703         `convert_bufbyte_string_into_charc_dynarr' instead of
1704         `convert_bufbyte_string_into_emchar_dynarr'; use
1705         `find_charsets_in_charc_string' instead of
1706         `find_charsets_in_emchar_string'.
1707
1708         * redisplay.h:
1709         - Include "character.h".
1710         (struct rune): New member `cglyph'; delete member `chr'.
1711
1712         * redisplay.c (redisplay_text_width_charc_string): New function;
1713         delete `redisplay_text_width_emchar_string'.
1714         (rtw_charc_dynarr): New variable; renamed from
1715         `rtw_emchar_dynarr'.
1716         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1717         `rtw_emchar_dynarr'; use
1718         `convert_bufbyte_string_into_charc_dynarr' instead of
1719         `convert_bufbyte_string_into_emchar_dynarr'; use
1720         `redisplay_text_width_charc_string' instead of
1721         `redisplay_text_width_emchar_string'.
1722         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1723         instead of `rtw_emchar_dynarr'; use
1724         `convert_bufbyte_string_into_charc_dynarr' instead of
1725         `convert_bufbyte_string_into_emchar_dynarr'.
1726         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1727         `redisplay_text_width_charc_string' instead of
1728         `redisplay_text_width_emchar_string'.
1729         (create_text_block): Modify for <struct rune> change.
1730         (generate_formatted_string_db): Likewise.
1731         (create_string_text_block): Likewise.
1732         (pixel_to_glyph_translation): Likewise.
1733
1734         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1735         instead of <const Emchar *>.
1736         (x_text_width): Likewise.
1737         (x_output_display_block): Use <Charc_dynarr *> instead
1738         <Emchar_dynarr *>; modify for <structure rune> change.
1739         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1740         *>.
1741
1742         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1743         <const Emchar *>; use `charc_string_displayed_columns' instead of
1744         `emchar_string_displayed_columns'.
1745         (tty_output_display_block): Use <Charc_dynarr *> instead of
1746         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1747         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1748         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1749         `tty_output_emchar_dynarr_dynarr'.
1750         (tty_output_charc_dynarr): New function; delete
1751         `tty_output_charc_dynarr'.
1752
1753         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1754         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1755         <Emchar_dynarr *> for buf; use
1756         `convert_bufbyte_string_into_charc_dynarr' instead of
1757         `convert_bufbyte_string_into_emchar_dynarr'.
1758
1759         * frame.c (title_string_charc_dynarr): New variable; renamed from
1760         `title_string_emchar_dynarr'.
1761         (generate_title_string): Use `title_string_charc_dynarr' instead
1762         of `title_string_emchar_dynarr'; use
1763         `convert_charc_string_into_malloced_string' instead of
1764         `convert_emchar_string_into_malloced_string'.
1765         (init_frame): Use `title_string_charc_dynarr' instead of
1766         `title_string_emchar_dynarr'.
1767
1768         * console.h:
1769         - Include "character.h".
1770         (struct console_methods): Use <const Charc *> instead of <const
1771         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1772         <Emchar_dynarr *> in output_string_method.
1773
1774         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1775         <Emchar_dynarr *>.
1776
1777         * console-stream.c (stream_text_width): Use <const Charc *>
1778         instead of <const Emchar *>.
1779
1780         * character.h (Charc_dynarr): New type.
1781
1782         * char-ucs.h (structure Charc): New structure; define new type
1783         `Charc'.
1784
1785         * char-lb.h (DECODE_CHAR): New inline function.
1786         (encode_char_1): New inline function.
1787         (ENCODE_CHAR): New macro.
1788         (structure Charc): New structure; define new type `Charc'.
1789
1790         * char-1byte.h (Vcharset_control_1): New macro.
1791         (Vcharset_latin_iso8859_1): New macro.
1792         (DECODE_CHAR): New inline function.
1793         (encode_char_1): New inline function.
1794         (ENCODE_CHAR): New macro.
1795         (structure Charc): New structure; define new type `Charc'.
1796
1797         * insdel.c (find_charsets_in_charc_string): New function; delete
1798         `find_charsets_in_emchar_string'.
1799         (charc_string_displayed_columns): New function; delete
1800         `emchar_string_displayed_columns'.
1801         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1802         `convert_bufbyte_string_into_emchar_dynarr'.
1803         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1804         `convert_charc_string_into_bufbyte_dynarr'.
1805         (convert_charc_string_into_malloced_string): New function; delete
1806         `convert_charc_string_into_malloced_string'.
1807
1808         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1809         `find_charsets_in_emchar_string'.
1810         (charc_string_displayed_columns): New prototype; delete
1811         `emchar_string_displayed_columns'.
1812         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1813         `convert_charc_string_into_bufbyte_dynarr'.
1814         (convert_charc_string_into_malloced_string): New prototype; delete
1815         `convert_charc_string_into_malloced_string'.
1816
1817 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1818
1819         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1820
1821 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1822
1823         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1824
1825         * char-ucs.h: Use <short> for <Charset_ID>.
1826
1827         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1828         <Charset_ID>.
1829
1830 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1831
1832         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1833         to 0.16.
1834
1835 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1836
1837         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1838         variable.
1839         (Qmorohashi_daikanwa): New variable.
1840         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1841         for `morohashi-daikanwa' attribute.
1842         (Fget_char_attribute): Likewise.
1843         (Fput_char_attribute): Likewise.
1844         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1845         has the same value of `ideograph-daikanwa'.
1846         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1847         (vars_of_mule_charset): Setup
1848         `Vcharacter_morohashi_daikanwa_table'.
1849
1850 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1851
1852         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1853         attributes.
1854         (add_charset_to_list_mapper): Add `key' instead of
1855         `XCHARSET_NAME (value)' to return aliases.
1856
1857 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1858
1859         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1860         variable.
1861         (Vcharacter_ideographic_strokes_table): New variable.
1862         (Qideographic_radical): New variable.
1863         (Qideographic_strokes): New variable.
1864         (Fchar_attribute_alist): Use
1865         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1866         attribute; use `Vcharacter_ideographic_strokes_table' for
1867         `ideographic-strokes' attribute.
1868         (Fget_char_attribute): Likewise.
1869         (Fput_char_attribute): Likewise.
1870         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1871         `ideographic-strokes'.
1872         (vars_of_mule_charset): Setup
1873         `Vcharacter_ideographic_radical_table' and
1874         `Vcharacter_ideographic_strokes_table'.
1875
1876 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1877
1878         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1879         (Qtotal_strokes): New variable.
1880         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1881         `total-strokes' attribute.
1882         (Fget_char_attribute): Likewise.
1883         (Fput_char_attribute): Likewise.
1884         (syms_of_mule_charset): Add new symbol `total-strokes'.
1885         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1886
1887 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1888
1889         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1890         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1891         are found.
1892         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1893         `->decomposition' attribute.
1894         (Fput_char_attribute): Likewise.
1895         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1896
1897 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1898
1899         * mule-charset.c (decoding_table_check_elements): New function.
1900         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1901
1902 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1903
1904         * mule-charset.c (Fset_charset_mapping_table): Use
1905         `put_char_ccs_code_point'.
1906
1907 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1908
1909         * mule-charset.c (decoding_table_put_char): New inline function.
1910         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1911
1912 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1913
1914         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1915         (XCHARSET_BYTE_SIZE): New macro.
1916         (decoding_table_remove_char): New inline function.
1917         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1918         `decoding_table_remove_char'.
1919         (remove_char_ccs): Use `decoding_table_remove_char'.
1920         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1921
1922 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1923
1924         * mule-charset.c (Vcharacter_name_table): New variable.
1925         (Qname): New variable.
1926         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1927         attribute.
1928         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1929         `Vcharacter_name_table' for `name' attribute.
1930         (Fremove_char_attribute): Use function `remove_char_ccs'.
1931         (put_char_ccs_code_point): New function.
1932         (remove_char_ccs): New function.
1933         (syms_of_mule_charset): Add new symbol `name'.
1934         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1935
1936 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1937
1938         * mule-charset.c (make_byte_table): Add new argument `older'.
1939         (make_char_id_table): Likewise.
1940         (copy_char_id_table): Comment out because it is not used.
1941         (put_char_id_table): Modify for `make_byte_table'.
1942         (Fput_char_attribute): Make encoding_table as older object;
1943         inherit older bit of `Vcharacter_composition_table'.
1944         (mark_charset): Don't mark `cs->encoding_table'.
1945         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1946         normal object; make `Vcharacter_composition_table' as an older
1947         object; delete staticpro for `Vcharacter_composition_table'; make
1948         `Vcharacter_variant_table' as a normal object.
1949
1950         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1951         (mark_object): Don't check older object in UTF-2000.
1952
1953         * lrecord.h (struct lrecord_header): Add new member `older' in
1954         UTF-2000.
1955         (set_lheader_implementation): Setup `SLI_header->older' in
1956         UTF-2000.
1957         (set_lheader_older_implementation): New macro in UTF-2000.
1958         (OLDER_RECORD_P): New macro in UTF-2000.
1959         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1960         (alloc_older_lcrecord): New prototype in UTF-2000.
1961         (alloc_older_lcrecord_type): New macro in UTF-2000.
1962
1963 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1964
1965         * mule-charset.c (byte_table_description): Use
1966         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1967         (char_id_table_description): Delete bogus `, 1'.
1968         (Fget_char_attribute): Refer encoding_table of each coded-charset
1969         to get value of coded-charset attribute of a character.
1970         (Fput_char_attribute): Use `make_older_vector' instead of
1971         `make_vector'; use encoding_table of each coded-charset to store
1972         value of coded-charset attribute of a character.
1973         (Fremove_char_attribute): Use encoding_table of each coded-charset
1974         to store value of coded-charset attribute of a character.
1975         (mark_charset): Mark `cs->encoding_table'; don't mark
1976         `cs->decoding_table'.
1977         (charset_description): Add description of new member
1978         `encoding_table'.
1979         (make_charset): Initialize `encoding_table'.
1980
1981         * char-ucs.h (struct Lisp_Charset): Add new member
1982         `encoding_table'.
1983         (CHARSET_ENCODING_TABLE): New macro.
1984         (XCHARSET_ENCODING_TABLE): New macro.
1985         (charset_code_point): New implementation.
1986         (encode_char_1): Likewise.
1987
1988         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1989         (disksave_object_finalization_1): Call finalizers of
1990         `all_older_lcrecords' in UTF-2000.
1991         (make_older_vector): New function in UTF-2000.
1992         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1993         UTF-2000.
1994
1995         * lisp.h (make_older_vector): New prototype in UTF-2000.
1996
1997 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1998
1999         * lrecord.h (enum lrecord_type): Rename
2000         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2001
2002         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2003         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2004         `get_char_code_table'.
2005
2006         * mule-charset.c (mark_char_id_table): Renamed from
2007         `mark_char_code_table'.
2008         (char_id_table_equal): Renamed from `char_code_table_equal'.
2009         (char_id_table_hash): Renamed from `char_code_table_hash'.
2010         (make_char_id_table): Renamed from `make_char_code_table'.
2011         (copy_char_id_table): Renamed from `copy_char_code_table'.
2012         (get_char_id_table): Renamed from `get_char_code_table'.
2013         (put_char_id_table): Renamed from `put_char_code_table'.
2014         (to_char_id): Renamed from `to_char_code'.
2015
2016         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2017         `Lisp_Char_Code_Table'.
2018         (char_id_table): Renamed from `char_code_table'.
2019         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2020         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2021         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2022         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2023         (get_char_id_table): Renamed from `get_char_code_table'.
2024
2025 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2026
2027         * lrecord.h (enum lrecord_type): Rename
2028         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2029
2030         * mule-charset.c (mark_byte_table): Renamed from
2031         `mark_char_byte_table'.
2032         (byte_table_equal): Renamed from `char_byte_table_equal'.
2033         (byte_table_hash): Renamed from `byte_table_hash'.
2034         (make_byte_table): Renamed from `make_byte_table'.
2035         (copy_byte_table): Renamed from `copy_char_byte_table'.
2036
2037         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2038         `Lisp_Char_Byte_Table'.
2039         (byte_table): Renamed from `char_byte_table'.
2040         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2041         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2042         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2043         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2044
2045 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2046
2047         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2048         (dfc_convert_to_internal_format): Likewise.
2049         
2050         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2051         * text-coding.c (Fcoding_system_alias_p): New function.
2052         * text-coding.c (Fcoding_system_aliasee): New function.
2053         * text-coding.c (append_suffix_to_symbol): New function.
2054         * text-coding.c (dangling_coding_system_alias_p): New function.
2055         * text-coding.c (Ffind_coding_system):
2056         * text-coding.c (Fcopy_coding_system):
2057         * text-coding.c (encode_coding_no_conversion):
2058         * text-coding.c (syms_of_file_coding):
2059         * text-coding.c (vars_of_file_coding):
2060         Rewrite coding system alias code.
2061         Allow nested aliases, like symbolic links.
2062         Allow redefinition of coding system aliases.
2063         Prevent existence of dangling coding system aliases.
2064         Eliminate convert_to_external_format.
2065         Eliminate convert_to_internal_format.
2066         
2067         * text-coding.c: Change enum eol_type to eol_type_t.
2068
2069 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2072         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2073
2074         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2075         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2076
2077 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2078
2079         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2080         `ideograph-daikanwa'.
2081
2082         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2083         (Vcharset_ucs_bmp): Likewise.
2084         (Vcharset_mojikyo): Add new extern variable definition.
2085         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2086         (Vcharset_latin_iso8859_3): Likewise.
2087         (Vcharset_latin_iso8859_4): Likewise.
2088         (Vcharset_latin_iso8859_9): Likewise.
2089         (Vcharset_latin_viscii_lower): Likewise.
2090         (Vcharset_latin_viscii_upper): Likewise.
2091         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2092         `mojikyo' code-point is used to decode.
2093         (encode_char_2): New function [to convert `mojikyo' code-point to
2094         Mojikyo font encoding].
2095         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2096         (breakup_char_1): Likewise.
2097         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2098
2099 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2100
2101         * text-coding.c (Fmake_coding_system): Add document about
2102         `disable-composition' property.
2103
2104 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2105
2106         * text-coding.c (Qdisable_composition): New variable; delete
2107         `Qcomposite'.
2108         (Fmake_coding_system): Add new property `disable-composite';
2109         delete property `composite'.
2110         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2111         instead of `!CODING_SYSTEM_COMPOSITE'.
2112         (syms_of_file_coding): Add new symbol `disable-composition';
2113         delete symbol `composite'.
2114
2115         * file-coding.h (struct Lisp_Coding_System): Add
2116         `disable_composition'; delete `enable_composition'.
2117         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2118         `CODING_SYSTEM_COMPOSITE'.
2119         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2120         `XCODING_SYSTEM_COMPOSITE'.
2121
2122 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2123
2124         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2125         to 0.15.
2126
2127 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2128
2129         * text-coding.c (Qcomposite): New variable.
2130         (Fmake_coding_system): Add new property `composite'.
2131         (struct decoding_stream): Add `combined_char_count',
2132         `combined_chars' and `combining_table' in UTF-2000.
2133         (COMPOSE_FLUSH_CHARS): New macro.
2134         (COMPOSE_ADD_CHAR): New macro.
2135         (reset_decoding_stream): Reset `str->combined_char_count' and
2136         `str->combining_table' in UTF-2000.
2137         (decode_coding_iso2022): Modify for character-decomposition.
2138         (syms_of_file_coding): Add new symbol `composite'.
2139
2140 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2141
2142         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2143         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2144         of `Vcharacter_composition_table' if `->decomposition' property
2145         has only 1 element.
2146         (Qlatin_tcvn5712): New variable.
2147         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2148         (complex_vars_of_mule_charset): Add new coded-charset
2149         `latin-tcvn5712'.
2150
2151         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2152
2153 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2154
2155         * file-coding.h (struct Lisp_Coding_System): Add
2156         `enable_composition'.
2157         (CODING_SYSTEM_COMPOSITE): New macro.
2158         (XCODING_SYSTEM_COMPOSITE): New macro.
2159
2160 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2161
2162         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2163
2164 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2165
2166         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2167         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2168
2169 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2170
2171         * mule-charset.c (Vcharset_mojikyo): New variable.
2172         (Fdefine_char): Don't use coded-charset which does not have
2173         non-builtin character range to allocate character-id.
2174         (Qmojikyo): New variable.
2175         (syms_of_mule_charset): Add new symbol `mojikyo'.
2176         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2177
2178         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2179         (LEADING_BYTE_MOJIKYO): New macro.
2180         (MIN_CHAR_MOJIKYO): New macro.
2181         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2182         (MAX_CHAR_MOJIKYO): New macro.
2183
2184 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2185
2186         * mule-charset.c (remove_char_attribute): Fixed.
2187
2188 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2189
2190         * mule-charset.c (remove_char_attribute): New function.
2191         (Fremove_char_attribute): New function.
2192         (encode_builtin_char_1): Comment out builtin-support for
2193         greek-iso8859-7 and cyrillic-iso8859-5.
2194         (Fdecode_char): Check `code' is an integer.
2195         (syms_of_mule_charset): Add `remove-char-attribute'.
2196         (MIN_CHAR_GREEK): Deleted.
2197         (MAX_CHAR_GREEK): Likewise.
2198         (MIN_CHAR_CYRILLIC): Likewise.
2199         (MAX_CHAR_CYRILLIC): Likewise.
2200         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2201         MAX_CHAR_GREEK for `greek-iso8859-7'.
2202
2203         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2204         (MAX_CHAR_GREEK): Likewise.
2205         (MIN_CHAR_CYRILLIC): Likewise.
2206         (MAX_CHAR_CYRILLIC): Likewise.
2207
2208 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2209
2210         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2211         format is used without `ucs' property.
2212         (Fdecode_char): Fix problem with GR representation.
2213         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2214         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2215
2216 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2217
2218         * mule-charset.c (make_builtin_char): New function.
2219         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2220         (Fset_charset_mapping_table): Modify for new representation of
2221         code-point.
2222         (Fdecode_char): New function.
2223         (syms_of_mule_charset): Add new builtin function `decode-char' in
2224         UTF-2000.
2225
2226         * char-ucs.h (make_builtin_char): New prototype.
2227         (DECODE_CHAR): New inline function.
2228         (MAKE_CHAR): Use `DECODE_CHAR'.
2229
2230 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2231
2232         * text-coding.c (parse_charset_conversion_specs): Use
2233         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2234         `XCHARSET_TYPE'.
2235         (iso2022_designate): Likewise.
2236
2237         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2238         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2239
2240         * mule-charset.c (Vcharset_ucs): New variable.
2241         (print_charset): Change design; use `CHARSET_CHARS' and
2242         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2243         (make_charset): Change signature to specify `chars' and
2244         `dimension' instead of `type'.
2245         (range_charset_code_point): Modify for 256^n-set.
2246         (encode_builtin_char_1): Encode as `ucs' in default.
2247         (Fmake_charset): Modify for `make_charset'.
2248         (Fmake_reverse_direction_charset): Likewise.
2249         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2250         UTF-2000.
2251         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2252         for `make_charset'.
2253
2254         * char-ucs.h (Vcharset_ucs): New variable.
2255         (LEADING_BYTE_UCS): New macro.
2256         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2257         and `chars' to `unsigned short' from `unsigned int'.
2258         (CHARSET_TYPE): Deleted.
2259         (XCHARSET_TYPE): Deleted.
2260
2261 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2262
2263         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2264
2265         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2266         (ENCODE_CHAR): New macro.
2267
2268 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2269
2270         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2271         to 0.14 (Kawachi-Katakami).
2272
2273 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2274
2275         * text-coding.c (char_encode_shift_jis): Modify for
2276         `charset_code_point'.
2277         (char_encode_iso2022): Likewise.
2278
2279         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2280         (integer) instead of list of <Lisp_Object>s (integers) as the
2281         format of code-point of a coded-charset.
2282         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2283         (encode_builtin_char_1): New function; delete
2284         `split_builtin_char'.
2285         (charset_code_point): Return <int> instead of <Lisp_Object>.
2286         (Fsplit_char): Don't use `SPLIT_CHAR'.
2287
2288         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2289         prototype for `split_builtin_char'.
2290         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2291         (charset_code_point): Likewise.
2292         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2293         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2294
2295 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2296
2297         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2298         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2299
2300 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2301
2302         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2303
2304         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2305         (MAX_CHAR_OBS_94x94): Deleted.
2306
2307 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2308
2309         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2310
2311         * char-ucs.h (MAX_CHAR_BMP): New macro.
2312
2313 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2314
2315         * text-coding.c: Sync with r21-2-24.
2316
2317 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2318
2319         * file-coding.c: Modify for UTF-2000.
2320
2321 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2322
2323         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2324         to 0.13 (Takaida).
2325
2326 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2327
2328         * mule-charset.c (split_builtin_char): Delete builtin support for
2329         `katakana-jisx0201'.
2330         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2331         BMP area in builtin representation.
2332
2333         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2334         `Vcharset_katakana_jisx0201'.
2335
2336 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2337
2338         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2339         (Qisolated): New variable.
2340         (Qinitial): New variable.
2341         (Qmedial): New variable.
2342         (Qfinal): New variable.
2343         (Qvertical): New variable.
2344         (Qsmall): New variable.
2345         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2346         `Qvertical' and `Qsmall'.
2347         (Qmojikyo_pj_[1 .. 21]): New variable.
2348         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2349         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2350         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2351         .. 21]'.
2352
2353 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2354
2355         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2356         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2357         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2358
2359 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2360
2361         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2362         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2363         BMP.
2364         (Qjapanese_jisx0208_1990): New variable.
2365         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2366         (complex_vars_of_mule_charset): Add new coded-charset
2367         `japanese-jisx0208-1990'.
2368
2369         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2370         (MIN_CHAR_JIS_X0208_1990): New macro.
2371         (MAX_CHAR_JIS_X0208_1990): New macro.
2372
2373 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2374
2375         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2376         coded-charset is not found.
2377
2378 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2379
2380         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2381         (Fdefine_char): Use `Fmake_char'.
2382
2383 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2384
2385         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2386         (Vcharset_hiragana_jisx0208): Deleted.
2387         (Vcharset_katakana_jisx0208): Deleted.
2388         (Qideograph_daikanwa): New variable.
2389         (Qhiragana_jisx0208): Deleted.
2390         (Qkatakana_jisx0208): Deleted.
2391         (split_builtin_char): Split `ideograph-daikanwa'.
2392         (Fsplit_char): New implementation for UTF-2000.
2393         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2394         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2395         (complex_vars_of_mule_charset): Add new coded-charset
2396         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2397         `katakana-jisx0208'.
2398
2399         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2400         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2401         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2402         (MIN_CHAR_DAIKANWA): New macro.
2403         (MAX_CHAR_DAIKANWA): New macro.
2404
2405 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2406
2407         * data.c (Fstring_to_number): Don't recognize floating point if
2408         base is not 10.
2409
2410 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2411
2412         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2413
2414 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2415
2416         * mule-charset.c (Qsquare): New variable.
2417         (to_char_code): Add `Qsquare'.
2418         (syms_of_mule_charset): Add new symbol `square'.
2419
2420 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2421
2422         * mule-charset.c (Qcircle): New variable.
2423         (to_char_code): Add `Qcircle'.
2424         (syms_of_mule_charset): Add new symbol `circle'.
2425
2426 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2427
2428         * mule-charset.c (Qfont): New variable.
2429         (to_char_code): Add `Qfont'.
2430         (syms_of_mule_charset): Add new symbol `font'.
2431
2432 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2433
2434         * mule-charset.c (Qsub): New variable.
2435         (to_char_code): Add `Qsub'.
2436         (syms_of_mule_charset): Add new symbol `sub'.
2437
2438 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2439
2440         * mule-charset.c (Fput_char_attribute): Convert each element of
2441         VALUE to GL position if ATTRIBUTE is a GR-set,
2442
2443 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2444
2445         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2446         coded-charset is a GR-set.
2447
2448 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2449
2450         * mule-charset.c (Fput_char_attribute): Check each element of
2451         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2452
2453 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2454
2455         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2456         UTF-2000.
2457         (Qethiopic_ucs): New variable in UTF-2000.
2458         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2459         (complex_vars_of_mule_charset): Add new coded-charset
2460         `ethiopic-ucs' in UTF-2000.
2461
2462         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2463         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2464         9)'.
2465         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2466         10)'.
2467         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2468
2469 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2470
2471         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2472         `ascii'.
2473
2474 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2475
2476         * mule-charset.c (Vcharacter_variant_table): New variable.
2477         (Q_ucs): New variable.
2478         (Fchar_variants): New function.
2479         (Fput_char_attribute): Register `->ucs' value to
2480         `Vcharacter_variant_table'.
2481         (syms_of_mule_charset): Add new function `char-variants' and new
2482         symbol `->ucs'.
2483         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2484
2485 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2486
2487         * mule-charset.c (get_char_code_table): Allow negative character
2488         code.
2489         (put_char_code_table): Likewise.
2490         (Vcharacter_composition_table): New variable.
2491         (Q_decomposition): New variable.
2492         (Qwide): New variable.
2493         (Qnarrow): New variable.
2494         (Qcompat): New variable.
2495         (QnoBreak): New variable.
2496         (Qsuper): New variable.
2497         (Qfraction): New variable.
2498         (to_char_code): New function.
2499         (Fget_composite_char): New function.
2500         (Fput_char_attribute): Register `->decomposition' value to
2501         `Vcharacter_composition_table'.
2502         (syms_of_mule_charset): Add new function `get-composite-char', new
2503         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2504         `super' and `fraction'.
2505         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2506
2507 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2508
2509         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2510         character; copy the return value.
2511
2512 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2513
2514         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2515
2516         * mule-charset.c (range_charset_code_point): Must use make_int.
2517         (split_builtin_char): New function.
2518
2519 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2520
2521         * mule-charset.c (char_byte_table): Change name from
2522         "char-code-table" to "char-byte-table".
2523         (mark_char_code_table): New function.
2524         (char_code_table_equal): New function.
2525         (char_code_table_hash): New function.
2526         (char_code_table_description): New constant.
2527         (char_code_table): New type.
2528         (make_char_code_table): New function.
2529         (copy_char_code_table): New function.
2530         (get_char_code_table): Modify for `char_code_table' type.
2531         (put_char_code_table): Likewise.
2532         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2533         (Kashiwara).
2534
2535         * char-ucs.h (char_code_table): New type.
2536         (XCHAR_CODE_TABLE): New macro.
2537         (XSETCHAR_CODE_TABLE): New macro.
2538         (CHAR_CODE_TABLE_P): New macro.
2539         (GC_CHAR_CODE_TABLE_P): New macro.
2540         (struct Lisp_Char_Code_Table): New structure.
2541
2542 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2543
2544         * mule-charset.c (Fmake_charset): Setup byte_offset for
2545         {94|96}^n-set.
2546
2547 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2548
2549         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2550         character.
2551
2552 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2553
2554         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2555         is found.
2556
2557 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2558
2559         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2560         charset, it is regarded as a charset.
2561         (put_char_attribute): New function in UTF-2000.
2562         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2563         charset, mapping-table of the charset is modified.
2564         (Fdefine_char): New function in UTF-2000.
2565         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2566         `Fput_char_attribute'.
2567         (syms_of_mule_charset): Add new function `define-char' and new
2568         symbol `ucs' in UTF-2000.
2569         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2570
2571 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2572
2573         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2574         non-UTF-2000 configuration.
2575
2576 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2577
2578         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2579         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2580
2581         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2582         deleted.
2583         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2584         (Fset_charset_mapping_table): Likewise.
2585
2586         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2587         (CHARSET_ENCODING_TABLE): Delete.
2588         (XCHARSET_ENCODING_TABLE): Delete.
2589         (charset_code_point): New interface.
2590
2591 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2592
2593         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2594         instead of `charset_get_byte1' and `charset_get_byte2'.
2595
2596         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2597         (charset_get_byte2): Deleted.
2598
2599 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2600
2601         * char-ucs.h (SPLIT_CHAR): New inline function.
2602         (breakup_char_1): Use `SPLIT_CHAR'.
2603
2604         * mule-charset.c (range_charset_code_point): New function.
2605         (charset_code_point): New function.
2606
2607         * char-ucs.h (range_charset_code_point): New interface.
2608         (breakup_char_1): Use `range_charset_code_point'.
2609
2610 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2611
2612         * mule-charset.c (Fmake_charset): Delete unused local variable
2613         `code_offset'.
2614
2615         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2616         (breakup_char_1): Find a charset and code-point in
2617         `Vcharacter_attribute_table'.
2618
2619 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2620
2621         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2622         to 0.10 (Yao).
2623
2624 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2625
2626         * mule-charset.c (Vcharacter_attribute_table): New variable.
2627         (Fchar_attribute_alist): New function.
2628         (Fget_char_attribute): New function.
2629         (Fput_char_attribute): New function.
2630         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2631         too.
2632         (syms_of_mule_charset): Add new function `char-attribute-alist',
2633         `get-char-attribute' and `put-char-attribute'.
2634         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2635
2636 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2637
2638         * mule-charset.c (Fmake_charset): Just use
2639         `get_unallocated_leading_byte'.
2640
2641         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2642         sets; don't use final-byte based number for private sets.
2643
2644 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2645
2646         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2647         integer.
2648
2649 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2650
2651         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2652         to 0.9.
2653
2654 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2655
2656         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2657         of `CHAR_LEADING_BYTE' in UTF-2000.
2658
2659         * insdel.c (find_charsets_in_bufbyte_string): Use
2660         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2661         (find_charsets_in_emchar_string): Likewise.
2662
2663         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2664         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2665
2666         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2667         (CHAR_CHARSET_ID): New macro.
2668
2669 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2670
2671         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2672         charset-id - MIN_LEADING_BYTE.
2673         (put_char_table): Likewise.
2674
2675 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2676
2677         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2678         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2679         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2680         (CHARSET_ID_OFFSET): New macro.
2681         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2682         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2683         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2684         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2685         4).
2686         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2687         5).
2688         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2689         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2690         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2691         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2692         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2693
2694 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2695
2696         * mule-charset.c (next_allocated_leading_byte): New variable in
2697         UTF-2000.
2698         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2699         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2700         (get_unallocated_leading_byte): Simply use
2701         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2702         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2703         UTF-2000.
2704
2705         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2706         (MAX_LEADING_BYTE_PRIVATE): New macro.
2707         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2708         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2709
2710 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2711
2712         * mule-charset.c (Fmake_charset): Allocate final-byte based
2713         charset-id for 94-set, 96-set and 94x94-set.
2714
2715 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2716
2717         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2718         ambiguous `else'.
2719         (Fmake_charset): Likewise.
2720         (complex_vars_of_mule_charset): Modify the font registry of
2721         `ucs-bmp' not to match `Ethiopic-Unicode'.
2722
2723 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2724
2725         * mule-charset.c (complex_vars_of_mule_charset): Add font
2726         registory of `ucs-bmp'.
2727
2728 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2729
2730         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2731         coded-charsets in `default-coded-charset-priority-list' when
2732         breaking up a character.
2733
2734         * mule-charset.c (Vcharset_latin_viscii): New variable.
2735         (Qlatin_viscii): New variable.
2736         (make_charset): Don't use `decoding_table'.
2737         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2738         byte_offset.
2739         (Fset_charset_mapping_table): New implementation.
2740         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2741         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2742         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2743         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2744         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2745         charset `latin_viscii'.
2746
2747         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2748         (CHARSET_TYPE_94X94): Change to 1 from 2.
2749         (CHARSET_TYPE_96): Change to 2 from 1.
2750         (CHARSET_TYPE_128): New macro.
2751         (CHARSET_TYPE_128X128): Change to 5 from 4.
2752         (CHARSET_TYPE_256): New macro.
2753         (CHARSET_TYPE_256X256): Change to 7 from 5.
2754         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2755
2756 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2757
2758         * text-coding.c (char_encode_shift_jis): Refer
2759         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2760         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2761
2762         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2763         (char_byte_table_equal): New function in UTF-2000.
2764         (char_byte_table_hash): New function in UTF-2000.
2765         (char_byte_table_description): New constant in UTF-2000.
2766         (char_byte_table): New type in UTF-2000.
2767         (make_char_byte_table): New function in UTF-2000.
2768         (copy_char_byte_table): New function in UTF-2000.
2769         (make_char_code_table): New macro in UTF-2000.
2770         (get_char_code_table): New function in UTF-2000.
2771         (put_char_code_table): New function in UTF-2000.
2772         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2773         (charset_description): Add setting in UTF-2000.
2774         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2775         `CHARSET_TO_BYTE1_TABLE(cs)'.
2776         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2777         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2778         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2779         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2780         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2781         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2782         `CHARSET_TO_BYTE2_TABLE(cs)'.
2783
2784         * char-ucs.h (char_byte_table): New type.
2785         (XCHAR_BYTE_TABLE): New macro.
2786         (XSETCHAR_BYTE_TABLE): New macro.
2787         (CHAR_BYTE_TABLE_P): New macro.
2788         (GC_CHAR_BYTE_TABLE_P): New macro.
2789         (struct Lisp_Char_Byte_Table): New structure.
2790         (get_char_code_table): New interface.
2791         (Emchar_to_byte_table): Deleted.
2792         (get_byte_from_character_table): Deleted.
2793         (struct Lisp_Charset): Add `encoding_table'; delete
2794         `to_byte1_table' and `to_byte2_table'.
2795         (CHARSET_ENCODING_TABLE): New macro.
2796         (CHARSET_TO_BYTE1_TABLE): Deleted.
2797         (CHARSET_TO_BYTE2_TABLE): Deleted.
2798         (XCHARSET_ENCODING_TABLE): New macro.
2799         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2800         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2801
2802 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2803
2804         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2805         `vietnamese-viscii-*'.
2806
2807 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2808
2809         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2810         (Qvietnamese_viscii_upper): New variable.
2811         (Fdefine_charset_alias): New function.
2812         (syms_of_mule_charset): Add new function `define-charset-alias'.
2813         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2814         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2815         `latin-viscii-*'.
2816
2817 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2818
2819         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2820         (MAX_CHAR_OBS_94x94): New macro.
2821         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2822         for 94x94 sets.
2823
2824         * mule-charset.c (put_byte_from_character_table): Change unit size
2825         from 128 to 256.
2826         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2827         not defined.
2828         (Fmake_reverse_direction_charset): Modify dummy argument of
2829         `make_charset' for non-UTF-2000 environment.
2830
2831 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2832
2833         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2834
2835         * mule-charset.c (destroy_byte_from_character_table): New macro.
2836         (latin_jisx0201_to_ucs): Deleted.
2837         (latin_iso8859_2_to_ucs): Deleted.
2838         (latin_iso8859_3_to_ucs): Deleted.
2839         (latin_iso8859_4_to_ucs): Deleted.
2840         (latin_iso8859_9_to_ucs): Deleted.
2841         (latin_viscii_lower_to_ucs): Deleted.
2842         (latin_viscii_upper_to_ucs): Deleted.
2843         (mark_charset): Mark `cs->decoding_table'.
2844         (Fcharset_mapping_table): Fix DOC-string.
2845         (Fset_charset_mapping_table): New function.
2846         (syms_of_mule_charset): Add nwe function
2847         `set-charset-mapping-table'.
2848         (complex_vars_of_mule_charset): Don't setup and use
2849         `latin_*_to_ucs'.
2850
2851 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2852
2853         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2854         charset.
2855
2856 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2857
2858         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2859         (Vcharset_katakana_jisx0208): New variable.
2860         (Qhiragana_jisx0208): New variable.
2861         (Qkatakana_jisx0208): New variable.
2862         (make_charset): Add new argument `byte_offset'.
2863         (charset_get_byte1): Modify for new coded-charset definition; use
2864         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2865         `XCHARSET_BYTE_OFFSET'.
2866         (Fmake_charset): Modify for `make_charset'.
2867         (Fmake_reverse_direction_charset): Likewise.
2868         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2869         `katakana-jisx0208'.
2870         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2871         `.'  in font registry of charset `katakana-jisx0201',
2872         `latin-jisx0201', `vietnamese-viscii-lower' and
2873         `vietnamese-viscii-upper'; modify DOC-string of charset
2874         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2875         registry of charset `japanese-jisx0208' not to use font for JIS
2876         X0208:1990; add new charset `hiragana-jisx0208' and
2877         `katakana-jisx0208'.
2878
2879         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2880         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2881         (struct Lisp_Charset): Add `byte_offset'.
2882         (CHARSET_BYTE_OFFSET): New macro.
2883         (XCHARSET_UCS_MIN): New macro.
2884         (XCHARSET_UCS_MAX): New macro.
2885         (XCHARSET_CODE_OFFSET): New macro.
2886         (XCHARSET_BYTE_OFFSET): New macro.
2887         (MIN_CHAR_HIRAGANA): New macro.
2888         (MAX_CHAR_HIRAGANA): New macro.
2889         (MIN_CHAR_KATAKANA): New macro.
2890         (MAX_CHAR_KATAKANA): New macro.
2891         (MAKE_CHAR): Modify for new coded-charset definition; use
2892         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2893         `XCHARSET_BYTE_OFFSET'.
2894
2895 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2896
2897         * mule-charset.c (CHAR96): Deleted.
2898         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2899         <Lisp_Object>.
2900         (latin_iso8859_2_to_ucs): Likewise.
2901         (latin_iso8859_3_to_ucs): Likewise.
2902         (latin_iso8859_4_to_ucs): Likewise.
2903         (latin_iso8859_9_to_ucs): Likewise.
2904         (latin_viscii_lower_to_ucs): Likewise.
2905         (latin_viscii_upper_to_ucs): Likewise.
2906         (latin_tcvn5712_to_ucs): Commented out.
2907         (make_charset): Change type of argument `decoding_table' from
2908         <Emchar*> to <Lisp_Object> [vector of characters].
2909         (Fmake_charset): Modify for `make_charset'.
2910         (Fmake_reverse_direction_charset): Likewise.
2911         (Fcharset_mapping_table): New function in UTF-2000.
2912         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2913         UTF-2000.
2914         (complex_vars_of_mule_charset): Modify for type change of
2915         `*_to_ucs'; modify for `make_charset'.
2916
2917         * char-ucs.h (struct Lisp_Charset): Change type of
2918         `decoding_table' from <Emchar*> to <Lisp_Object>.
2919         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2920
2921 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2922
2923         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2924         error with non-UTF-2000-Mule.
2925
2926 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2927
2928         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2929         in lisp again].
2930         (Vcharset_chinese_cns11643_4): Likewise.
2931         (Vcharset_chinese_cns11643_5): Likewise.
2932         (Vcharset_chinese_cns11643_6): Likewise.
2933         (Vcharset_chinese_cns11643_7): Likewise.
2934         (Qchinese_cns11643_3): Likewise.
2935         (Qchinese_cns11643_4): Likewise.
2936         (Qchinese_cns11643_5): Likewise.
2937         (Qchinese_cns11643_6): Likewise.
2938         (Qchinese_cns11643_7): Likewise.
2939         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2940         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2941         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2942         (complex_vars_of_mule_charset): Likewise.
2943
2944 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2945
2946         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2947         96-set.
2948         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2949         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2950
2951 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2952
2953         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2954         0xFF60.
2955         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2956         (breakup_char_1): Likewise.
2957
2958         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2959         one of them includes the specified character.
2960
2961 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2962
2963         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2964
2965 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2966
2967         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2968
2969 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2970
2971         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2972         definition for non-UTF-2000 Mule.
2973         (latin_iso8859_3_to_ucs): Likewise.
2974         (latin_iso8859_4_to_ucs): Likewise.
2975         (latin_iso8859_9_to_ucs): Likewise.
2976         (latin_jisx0201_to_ucs): Likewise.
2977         (MIN_CHAR_THAI): Likewise.
2978         (MAX_CHAR_THAI): Likewise.
2979         (MIN_CHAR_GREEK): Likewise.
2980         (MAX_CHAR_GREEK): Likewise.
2981         (MIN_CHAR_HEBREW): Likewise.
2982         (MAX_CHAR_HEBREW): Likewise.
2983         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2984         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2985         (MIN_CHAR_CYRILLIC): Likewise.
2986         (MAX_CHAR_CYRILLIC): Likewise.
2987
2988 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2989
2990         * char-ucs.h (breakup_char_1): Use
2991         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2992         thai-tis620 and katakana-jisx0201 area.
2993
2994 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2995
2996         * char-ucs.h (breakup_char_1): Use
2997         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2998         area.
2999
3000         * text-coding.c (reset_encoding_stream): Fixed.
3001         (char_encode_ucs4): Delete `& 255'.
3002
3003         * char-ucs.h (breakup_char_1): Use
3004         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3005
3006 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3007
3008         * file-coding.c (Fmake_coding_system): Don't set up
3009         `codesys->fixed.size'.
3010         (encode_coding_no_conversion): Don't refer
3011         `str->codesys->fixed.size'.
3012
3013 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3014
3015         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3016         (latin_a_char_to_byte1): Deleted.
3017         (latin_a_char_to_byte2): Deleted.
3018
3019 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3020
3021         * mule-charset.c (make_charset): Add new argument `ucs_min',
3022         `ucs_max' and `code_offset'.
3023         (charset_get_byte1): New implementation [delete specific charset
3024         depended implementations].
3025         (Fmake_charset): Modify for `make_charset'.
3026         (Fmake_reverse_direction_charset): Likewise.
3027         (complex_vars_of_mule_charset): Likewise.
3028
3029         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3030         `code_offset'.
3031         (CHARSET_UCS_MIN): New macro.
3032         (CHARSET_UCS_MAX): New macro.
3033         (CHARSET_CODE_OFFSET): New macro.
3034         (MAKE_CHAR): Delete charset depended definitions [except
3035         katakana-jisx0201].
3036
3037 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3038
3039         * char-ucs.h (breakup_char_1): Use
3040         `Vdefault_coded_charset_priority_list' for C0-Controls,
3041         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3042
3043 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3044
3045         * char-ucs.h (charset_get_byte1): New function.
3046         (XCHARSET_GET_BYTE1): Deleted.
3047         (charset_get_byte2): New function.
3048         (XCHARSET_GET_BYTE2): Deleted.
3049         (Vdefault_coded_charset_priority_list): New external variable.
3050         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3051         `Vdefault_preferred_coded_charset_list'.
3052
3053         * mule-charset.c (charset_get_byte1): New function.
3054         (charset_get_byte2): New function.
3055         (Vdefault_coded_charset_priority_list): New variable.
3056         (vars_of_mule_charset): Add new variable
3057         `default-coded-charset-priority-list'.
3058
3059 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3060
3061         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3062         (XCHARSET_GET_BYTE2): New inline function.
3063         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3064         `XCHARSET_GET_BYTE2'.
3065
3066 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3067
3068         * mule-charset.c (make_charset): Initialize
3069         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3070         NULL if table is not defined.
3071
3072 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3073
3074         * text-coding.c (char_encode_shift_jis): Use
3075         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3076         `ucs_to_latin_jisx0201'.
3077
3078         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3079         (ucs_to_latin_iso8859_2): Deleted.
3080         (ucs_to_latin_iso8859_3): Deleted.
3081         (ucs_to_latin_iso8859_4): Deleted.
3082         (ucs_to_latin_iso8859_9): Deleted.
3083         (ucs_to_latin_viscii_lower): Deleted.
3084         (ucs_to_latin_viscii_upper): Deleted.
3085         (ucs_to_latin_tcvn5712): Deleted.
3086         (make_charset): Add new argument `decoding_table'; set up
3087         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3088         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3089         `decoding_table' is defined in UTF-2000.
3090         (Fmake_charset): Modify for `make_charset'.
3091         (Fmake_reverse_direction_charset): Likewise.
3092         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3093         and `GENERATE_96_SET'.
3094
3095         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3096         (ucs_to_latin_jisx0201): Deleted.
3097         (latin_iso8859_2_to_ucs): Deleted.
3098         (ucs_to_latin_iso8859_2): Deleted.
3099         (latin_iso8859_3_to_ucs): Deleted.
3100         (ucs_to_latin_iso8859_3): Deleted.
3101         (latin_iso8859_4_to_ucs): Deleted.
3102         (ucs_to_latin_iso8859_4): Deleted.
3103         (latin_iso8859_9_to_ucs): Deleted.
3104         (ucs_to_latin_iso8859_9): Deleted.
3105         (latin_viscii_lower_to_ucs): Deleted.
3106         (ucs_to_latin_viscii_lower): Deleted.
3107         (latin_viscii_upper_to_ucs): Deleted.
3108         (ucs_to_latin_viscii_upper): Deleted.
3109         (struct Lisp_Charset): Renamed `encoding_table' to
3110         `to_byte1_table'; add `to_byte2_table'.
3111         (CHARSET_DECODING_TABLE): New macro.
3112         (CHARSET_TO_BYTE1_TABLE): New macro.
3113         (CHARSET_TO_BYTE2_TABLE): New macro.
3114         (XCHARSET_DECODING_TABLE): New macro.
3115         (XCHARSET_TO_BYTE1_TABLE): New macro.
3116         (XCHARSET_TO_BYTE2_TABLE): New macro.
3117         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3118         tables.
3119         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3120         don't use `ucs_to_*' tables.
3121
3122 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3123
3124         * text-coding.c (Fmake_coding_system): Don't set up
3125         `codesys->fixed.size'.
3126         (encode_coding_no_conversion): Use `if' instead of `switch'.
3127
3128         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3129
3130 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3131
3132         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3133         (Fmake_charset): Modify for `make_charset'.
3134         (Fmake_reverse_direction_charset): Likewise.
3135         (complex_vars_of_mule_charset): Likewise.
3136
3137 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3138
3139         * text-coding.c (char_encode_shift_jis): Use table
3140         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3141
3142 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3143
3144         * text-coding.c (text_encode_generic): Use `if' instead of
3145         `switch'.
3146         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3147         decode JIS-Latin.
3148
3149 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3150
3151         * text-coding.c (encode_coding_sjis): Deleted.
3152         (char_encode_shift_jis): New function.
3153         (char_finish_shift_jis): New function.
3154         (reset_encoding_stream): Set up `encode_char' and `finish' for
3155         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3156         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3157         (char_encode_utf8): Treat `eol_type'.
3158
3159 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3160
3161         * file-coding.c (decode_coding_iso2022): Use
3162         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3163
3164 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3165
3166         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3167         to 0.7 (Hirano).
3168
3169 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3170
3171         * char-lb.h (CHAR_COLUMNS): New macro.
3172
3173 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3174
3175         * text-coding.c (char_encode_ucs4): New function.
3176         (char_finish_ucs4): New function.
3177         (encode_coding_ucs4): Deleted.
3178         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3179         (text_encode_generic): Delete local variable `charset' and `half'.
3180         (ucs_to_mule_table): Deleted.
3181         (mule_to_ucs_table): Deleted.
3182         (Fset_ucs_char): Deleted.
3183         (ucs_to_char): Deleted.
3184         (Fucs_char): Deleted.
3185         (Fset_char_ucs): Deleted.
3186         (Fchar_ucs): Deleted.
3187         (decode_ucs4): Deleted.
3188         (mule_char_to_ucs4): Deleted.
3189         (encode_ucs4): Deleted.
3190         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3191         (decode_coding_utf8): Likewise.
3192         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3193         (char_encode_iso2022): Fixed.
3194         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3195         `Fset_char_ucs' and `Fchar_ucs'.
3196         (complex_vars_of_file_coding): Don't initialize
3197         `ucs_to_mule_table'.
3198
3199         * objects-tty.c (tty_initialize_font_instance): Don't use
3200         `XCHARSET_COLUMNS'.
3201
3202         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3203         UTF-2000.
3204
3205         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3206         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3207
3208         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3209         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3210         (emchar_string_displayed_columns): Likewise.
3211
3212         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3213         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3214         (string_column_at_point): Likewise.
3215         (Fmove_to_column): Likewise.
3216
3217         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3218         `encoding_table' and `decoding_table'.
3219         (CHARSET_REP_BYTES): Deleted.
3220         (XCHARSET_REP_BYTES): Deleted.
3221         (XCHARSET_COLUMNS): Deleted.
3222         (CHAR_COLUMNS): New macro.
3223         (lookup_composite_char): Deleted unconditionally.
3224         (composite_char_string): Likewise.
3225
3226 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3227
3228         * char-ucs.h (Emchar_to_byte_table): New type.
3229         (get_byte_from_character_table): New function interface.
3230         (Vcharset_latin_jisx0201): New variable.
3231         (latin_jisx0201_to_ucs): New variable.
3232         (ucs_to_latin_jisx0201): New variable.
3233         (Vcharset_latin_iso8859_2): New variable.
3234         (latin_iso8859_2_to_ucs): New variable.
3235         (ucs_to_latin_iso8859_2): New variable.
3236         (Vcharset_latin_iso8859_3): New variable.
3237         (latin_iso8859_3_to_ucs): New variable.
3238         (ucs_to_latin_iso8859_3): New variable.
3239         (Vcharset_latin_iso8859_4): New variable.
3240         (latin_iso8859_4_to_ucs): New variable.
3241         (ucs_to_latin_iso8859_4): New variable.
3242         (Vcharset_latin_iso8859_9): New variable.
3243         (latin_iso8859_9_to_ucs): New variable.
3244         (ucs_to_latin_iso8859_9): New variable.
3245         (Vcharset_latin_viscii_lower): New variable.
3246         (latin_viscii_lower_to_ucs): New variable.
3247         (ucs_to_latin_viscii_lower): New variable.
3248         (Vcharset_latin_viscii_upper): New variable.
3249         (latin_viscii_upper_to_ucs): New variable.
3250         (ucs_to_latin_viscii_upper): New variable.
3251         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3252         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3253         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3254         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3255         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3256         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3257         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3258         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3259         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3260         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3261
3262         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3263         (Vcharset_latin_viscii_upper): New variable.
3264         (make_byte_from_character_table): New function.
3265         (put_byte_from_character_table): New function.
3266         (get_byte_from_character_table): New function.
3267         (CHAR96): New macro.
3268         (ucs_to_latin_jisx0201): New variable.
3269         (latin_jisx0201_to_ucs): New variable.
3270         (ucs_to_latin_iso8859_2): New variable.
3271         (latin_iso8859_2_to_ucs): New variable.
3272         (ucs_to_latin_iso8859_3): New variable.
3273         (latin_iso8859_3_to_ucs): New variable.
3274         (ucs_to_latin_iso8859_4): New variable.
3275         (latin_iso8859_4_to_ucs): New variable.
3276         (ucs_to_latin_iso8859_9): New variable.
3277         (latin_iso8859_9_to_ucs): New variable.
3278         (ucs_to_latin_viscii_lower): New variable.
3279         (latin_viscii_lower_to_ucs): New variable.
3280         (ucs_to_latin_viscii_upper): New variable.
3281         (latin_viscii_upper_to_ucs): New variable.
3282         (ucs_to_latin_tcvn5712): New variable.
3283         (latin_tcvn5712_to_ucs): New variable.
3284         (Qlatin_viscii_lower): New variable.
3285         (Qlatin_viscii_upper): New variable.
3286         (syms_of_mule_charset): Set up new symbol
3287         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3288         (complex_vars_of_mule_charset): Set up new charset
3289         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3290         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3291         `ucs_to_<CHARSET>' tables.
3292
3293 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3294
3295         * text-coding.c: New file.
3296
3297 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3298
3299         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3300
3301         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3302         (MAKE_CHAR): Modify for `ucs-bmp'.
3303         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3304         non-MULE characters of BMP.
3305
3306 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3307
3308         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3309         to 0.6.
3310
3311 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3312
3313         * lstream.h:
3314         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3315         - Include character.h for `CHAR_ASCII_P'.
3316
3317         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3318
3319         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3320         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3321
3322         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3323         (BYTE_C0_P): Likewise.
3324         (BYTE_C1_P): Likewise.
3325         (Lstream_get_emchar_1): Likewise.
3326         (Lstream_fput_emchar): Likewise.
3327         (Lstream_funget_emchar): Likewise.
3328         (copy_internal_to_external): Likewise.
3329         (copy_external_to_internal): Likewise.
3330
3331         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3332         (BYTE_C0_P): Likewise.
3333         (BYTE_C1_P): Likewise.
3334         (Lstream_get_emchar_1): Likewise.
3335         (Lstream_fput_emchar): Likewise.
3336         (Lstream_funget_emchar): Likewise.
3337         (copy_internal_to_external): Likewise.
3338         (copy_external_to_internal): Likewise.
3339
3340         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3341         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3342
3343         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3344         (BYTE_ASCII_P): Moved to mb-1byte.h.
3345
3346 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3347
3348         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3349
3350         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3351         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3352         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3353         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3354         (VALIDATE_CHARPTR_FORWARD): Likewise.
3355         (simple_charptr_emchar): Moved to mb-multibyte.h.
3356         (simple_set_charptr_emchar): Likewise.
3357         (simple_charptr_copy_char): Likewise.
3358         (non_ascii_charptr_emchar): Likewise.
3359         (non_ascii_set_charptr_emchar): Likewise.
3360         (non_ascii_charptr_copy_char): Likewise.
3361         (charptr_emchar): Moved to mb-*byte.h.
3362         (set_charptr_emchar): Likewise.
3363         (charptr_copy_char): Likewise.
3364
3365         * mb-1byte.h, mb-multibyte.h: New files.
3366
3367 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3368
3369         * mb-utf-8.h (MULTIBYTE): New macro.
3370         (MAX_EMCHAR_LEN): Moved from buffer.h.
3371         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3372
3373         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3374
3375         * mb-lb.h, multibyte.h: New files.
3376
3377         * char-1byte.h (Charset_ID): Moved from buffer.h.
3378         (MIN_LEADING_BYTE): Likewise.
3379         (LEADING_BYTE_ASCII): Likewise.
3380         (NUM_LEADING_BYTES): Likewise.
3381         (CHARSETP): Likewise.
3382         (CHARSET_BY_LEADING_BYTE): Likewise.
3383         (XCHARSET_LEADING_BYTE): Likewise.
3384         (XCHARSET_GRAPHIC): Likewise.
3385         (XCHARSET_COLUMNS): Likewise.
3386         (XCHARSET_DIMENSION): Likewise.
3387         (CHAR_CHARSET): Likewise.
3388         (CHAR_LEADING_BYTE): Likewise.
3389         (BREAKUP_CHAR): Likewise.
3390         (Vcharset_ascii): Likewise.
3391
3392         * buffer.h: Include multibyte.h unconditionally.
3393         (VALID_CHARPTR_P): Moved to multibyte.h.
3394         (ASSERT_VALID_CHARPTR): Likewise.
3395         (REAL_INC_CHARPTR): Likewise.
3396         (REAL_INC_CHARBYTIND): Likewise.
3397         (REAL_DEC_CHARPTR): Likewise.
3398         (INC_CHARPTR): Likewise.
3399         (INC_CHARBYTIND): Likewise.
3400         (DEC_CHARPTR): Likewise.
3401         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3402         (VALIDATE_CHARPTR_FORWARD): Likewise.
3403         (charptr_n_addr): Likewise.
3404         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3405         (simple_charptr_emchar): Moved to multibyte.h.
3406         (simple_set_charptr_emchar): Likewise.
3407         (simple_charptr_copy_char): Likewise.
3408         (non_ascii_charptr_emchar): Likewise.
3409         (non_ascii_set_charptr_emchar): Likewise.
3410         (non_ascii_charptr_copy_char): Likewise.
3411         (charptr_emchar): Likewise.
3412         (set_charptr_emchar): Likewise.
3413         (charptr_copy_char): Likewise.
3414         (charptr_emchar_n): Likewise.
3415         (Charset_ID): Moved to char-1byte.h.
3416         (Vcharset_ascii): Likewise.
3417         (CHAR_CHARSET): Likewise.
3418         (CHAR_LEADING_BYTE): Likewise.
3419         (LEADING_BYTE_ASCII): Likewise.
3420         (NUM_LEADING_BYTES): Likewise.
3421         (MIN_LEADING_BYTE): Likewise.
3422         (CHARSETP): Likewise.
3423         (CHARSET_BY_LEADING_BYTE): Likewise.
3424         (XCHARSET_LEADING_BYTE): Likewise.
3425         (XCHARSET_GRAPHIC): Likewise.
3426         (XCHARSET_COLUMNS): Likewise.
3427         (XCHARSET_DIMENSION): Likewise.
3428         (BREAKUP_CHAR): Likewise.
3429
3430 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3431
3432         * character.h: Add document about interface for characters.
3433
3434         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3435         (MAKE_CHAR): Delete comment about
3436         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3437         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3438         (BREAKUP_CHAR): Modify name of arguments.
3439         (CHAR_CHARSET): Modify name of argument.
3440
3441         * buffer.h: Delete document about Emchar accessors.
3442
3443 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3444
3445         * character.h (CHAR_INTP): Moved from buffer.h
3446         (CHAR_OR_CHAR_INTP): Likewise.
3447         (XCHAR_OR_CHAR_INT): Likewise.
3448         (CHECK_CHAR_COERCE_INT): Likewise.
3449
3450         * buffer.h (CHAR_INTP): Moved to character.h
3451         (CHAR_OR_CHAR_INTP): Likewise.
3452         (XCHAR_OR_CHAR_INT): Likewise.
3453         (CHECK_CHAR_COERCE_INT): Likewise.
3454
3455 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3456
3457         * character.h:
3458         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3459         - Include char-1byte.h, char-lb.h or char-ucs.h.
3460
3461         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3462
3463         * buffer.h: Include character unconditionally.
3464         (valid_char_p): Moved to char-*.h.
3465         (non_ascii_valid_char_p): Moved to char-lb.h.
3466
3467         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3468
3469 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3470
3471         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3472         in UTF-2000 because it is not ported yet and not to use
3473         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3474         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3475         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3476
3477         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3478         (CHAR_ASCII_P): Moved from character.h.
3479
3480         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3481         (CHAR_ASCII_P): Likewise.
3482         (CHAR_FIELD1_MASK): Deleted.
3483         (CHAR_FIELD2_MASK): Deleted.
3484         (CHAR_FIELD3_MASK): Deleted.
3485         (MAX_CHAR_BASIC_LATIN): New macro.
3486         (CHAR_FIELD1): Deleted.
3487         (CHAR_FIELD2_INTERNAL): Deleted.
3488         (CHAR_FIELD3_INTERNAL): Deleted.
3489         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3490         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3491         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3492         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3493         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3494         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3495         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3496         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3497         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3498         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3499         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3500         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3501         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3502         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3503         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3504         (MIN_CHAR_COMPOSITION): Deleted.
3505         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3506         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3507
3508 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3509
3510         * buffer.h: Include mb-utf-8.h in UTF-2000.
3511
3512         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3513
3514         * mb-utf-8.h: New file.
3515
3516 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3517
3518         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3519         instead of `int'.
3520
3521         * mule-charset.h, buffer.h (Charset_ID): New type.
3522
3523 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3524
3525         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3526         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3527         instead of `MULE_CHAR_PRIVATE_OFFSET',
3528         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3529         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3530         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3531
3532         * character.h (Vcharset_japanese_jisx0212): New variable
3533         definition.
3534
3535 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3536
3537         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3538         (charset_by_attributes): Delete array about direction.
3539         (latin_a_char_to_charset): New variable in UTF-2000.
3540         (latin_a_char_to_byte1): New variable in UTF-2000.
3541         (latin_a_char_to_byte2): New variable in UTF-2000.
3542         (Qucs_bmp): New variable.
3543         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3544         `Bufbyte'.
3545         (next_allocated_2_byte_leading_byte): Likewise.
3546         (non_ascii_set_charptr_emchar): Likewise.
3547         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3548         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3549         `charset_by_attributes'.
3550         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3551         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3552         and `CHARSET_BY_LEADING_BYTE'.
3553         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3554         `utf-2000-version' to `vars_of_mule_charset'.
3555         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3556         define `leading-code-private-11' in UTF-2000; move setting of
3557         `utf-2000-version' from `syms_of_mule_charset'.
3558         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3559         UTF-2000.
3560
3561         * character.h (Charset_ID): New type.
3562         (LEADING_BYTE_UCS_BMP): New macro.
3563         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3564         (CHARSET_ID_OFFSET_94): New macro.
3565         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3566         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3567         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3568         final-byte.
3569         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3570         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3571         (CHARSET_ID_OFFSET_96): New macro.
3572         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3573         CHARSET_ID_OFFSET_96 and final-byte.
3574         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3575         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3576         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3577         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3578         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3579         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3580         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3581         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3582         (LEADING_BYTE_THAI_TIS620): Likewise.
3583         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3584         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3585         (CHARSET_ID_OFFSET_94x94): New macro.
3586         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3587         CHARSET_ID_OFFSET_94x94 and final-byte.
3588         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3589         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3590         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3591         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3592         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3593         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3594         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3595         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3596         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3597         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3598         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3599         (CHARSET_TYPE_128X128): New macro.
3600         (CHARSET_TYPE_256X256): New macro.
3601         (XCHARSET_PRIVATE_P): Delete unconditionally.
3602         (charset_by_attributes): Delete array about direction.
3603         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3604         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3605         (MIN_CHAR_94): New macro.
3606         (MAX_CHAR_94): New macro.
3607         (MIN_CHAR_96): New macro.
3608         (MAX_CHAR_96): New macro.
3609         (MIN_CHAR_94x94): New macro.
3610         (MAX_CHAR_94x94): New macro.
3611         (MIN_CHAR_96x96): New macro.
3612         (MAX_CHAR_96x96): New macro.
3613         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3614         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3615         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3616         - 32)'.
3617         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3618         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3619         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3620         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3621         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3622         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3623         `XCHARSET_LEADING_BYTE' to make code-point.
3624         (latin_a_char_to_charset): New variable.
3625         (latin_a_char_to_byte1): New variable.
3626         (latin_a_char_to_byte2): New variable.
3627         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3628         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3629         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3630
3631         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3632         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3633         (find_charsets_in_emchar_string): Likewise.
3634         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3635
3636         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3637         `int'.
3638         (decode_coding_iso2022): Likewise.
3639
3640         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3641         of `unsigned char'.
3642
3643         * redisplay.c (redisplay_text_width_emchar_string): Use
3644         `Charset_ID' instead of `unsigned char'.
3645         (redisplay_frame_text_width_string): Likewise.
3646
3647         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3648         `unsigned char'.
3649
3650         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3651         instead of `unsigned char'.
3652         (face_cachel_charset_font_metric_info): Likewise.
3653
3654         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3655         (get_non_ascii_char_table_value): Likewise.
3656         (get_char_table): Likewise.
3657         (put_char_table): Likewise.
3658         (map_over_other_charset): Likewise.
3659         (map_char_table): Likewise.
3660
3661         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3662         instead of `unsigned char'.
3663
3664 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3665
3666         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3667         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3668
3669         * mule-charset.c (leading_code_private_11): Don't define in
3670         UTF-2000.
3671
3672         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3673         in UTF-2000 because it is not ported yet and not to use
3674         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3675
3676 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3677
3678         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3679
3680 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3681
3682         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3683         in UTF-2000.
3684
3685         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3686         of unsigned char to store leading-byte.
3687
3688         * chartab.c (get_non_ascii_char_table_value): Don't use
3689         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3690
3691         * file-coding.c (encode_coding_big5): Delete bogus implementation
3692         in UTF2000.
3693
3694         * character.h (LEADING_BYTE_*): Delete definition for
3695         non-UTF-2000.
3696         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3697         (LEADING_BYTE_PREFIX_P): Deleted.
3698         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3699         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3700         (BUFBYTE_LEADING_BYTE_P): Deleted.
3701         (CHARSET_PRIVATE_P): Deleted unconditionally.
3702         (rep_bytes_by_first_byte): Deleted unconditionally.
3703         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3704         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3705         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3706         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3707         (CHAR_FIELD2): Deleted.
3708         (CHAR_FIELD3): Deleted.
3709         (MAKE_CHAR): Delete definition for non-UTF-2000.
3710         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3711         (breakup_char_1): New implementation.
3712         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3713         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3714
3715 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3716
3717         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3718         condition.
3719
3720 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3721
3722         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3723         (CHARSET_PRIVATE_P): Likewise.
3724         (XCHARSET_PRIVATE_P): Likewise.
3725         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3726
3727         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3728         UTF2000.
3729         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3730
3731 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3732
3733         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3734         (NUM_LEADING_BYTES): Changed from 128 to 256.
3735         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3736         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3737         UTF2000.
3738         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3739
3740         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3741         UTF2000.
3742         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3743         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3744         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3745         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3746         (Qchinese_cns11643_3): New variable in UTF2000.
3747         (Qchinese_cns11643_4): New variable in UTF2000.
3748         (Qchinese_cns11643_5): New variable in UTF2000.
3749         (Qchinese_cns11643_6): New variable in UTF2000.
3750         (Qchinese_cns11643_7): New variable in UTF2000.
3751         (syms_of_mule_charset): Define `chinese-cns11643-3',
3752         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3753         and `chinese-cns11643-7' in UTF2000.
3754         (vars_of_mule_charset): Initialize
3755         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3756         + 1 in UTF2000.
3757         (complex_vars_of_mule_charset): Setup charset
3758         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3759         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3760
3761 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3762
3763         * mule-charset.c: Move setting for `leading-code-private-11' from
3764         `syms_of_mule_charset' to `vars_of_mule_charset'.
3765
3766 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3767
3768         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3769         and `NUM_LEADING_BYTES' in assert.
3770
3771 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3772
3773         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3774         instead of 128.
3775         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3776         `NUM_LEADING_BYTES' instead of 128.
3777
3778 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3779
3780         * mule-charset.h (charset_by_leading_byte): Use
3781         `NUM_LEADING_BYTES' instead of 128.
3782         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3783
3784         * mule-charset.c (charset_by_leading_byte): Use
3785         `NUM_LEADING_BYTES' instead of 128.
3786         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3787
3788         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3789         128.
3790
3791 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3792
3793         * mule-charset.c (syms_of_mule_charset): Update to
3794         0.4 (Shin-Imamiya).
3795
3796 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3797
3798         * file-coding.c (encode_coding_sjis): New implementation for
3799         UTF2000.  (decode_coding_sjis): Ditto.
3800
3801 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3802
3803         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3804         Don't define in UTF2000.
3805
3806         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3807         defined.
3808
3809         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3810         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3811         MULE.
3812
3813 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3814
3815         * config.h.in (CHAR_IS_UCS4): New macro.
3816
3817         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3818         conventional MULE representation.
3819         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3820
3821         * mule-charset.h: Reverted to original.
3822
3823         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3824         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3825         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3826
3827         * character.h: New file.
3828
3829         * file-coding.c (Fmake_coding_system): Set 1 to
3830         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3831         defined.
3832         (encode_coding_no_conversion): New implementation for UTF2000.
3833
3834         * file-coding.h (struct Lisp_Coding_System): Add new member
3835         `fixed.size'.
3836
3837 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3838
3839         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3840         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3841         (encode_coding_iso2022): New implementation for UTF2000.
3842
3843 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3844
3845         * mule-canna.c (c2mu): New implementation for UTF2000.
3846         (m2c): Likewise.
3847
3848 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3849
3850         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3851
3852 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3853
3854         * file-coding.c (reset_encoding_stream): Set 0 to
3855         `str->iso2022.current_char_boundary' in UTF2000.
3856         (encode_utf8): Don't define in UTF2000.
3857         (encode_coding_utf8): New implementation for UTF-8 representation
3858         of UTF2000.
3859         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3860
3861 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3862
3863         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3864
3865         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3866         UTF2000.
3867         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3868
3869         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3870
3871         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3872         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3873         as UTF-8 in UTF2000.
3874         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3875         (non_ascii_valid_char_p): Don't define in UTF2000.
3876         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3877         (Lstream_get_emchar_1): Likewise.
3878         (utf-2000-version): New variable in UTF2000.
3879
3880         * lread.c (read_escape): Add new reader `u'.
3881
3882         * insdel.c (three_to_one_table): Don't define in UTF2000.
3883         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3884         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3885         UTF2000.
3886         (bytind_to_bufpos_func): Likewise.
3887         (buffer_mule_signal_inserted_region): Likewise.
3888         (vars_of_insdel): Don't initialize `three_to_one_table'.
3889         (init_buffer_text): Use `buf->text->mule_size' instead of
3890         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3891         UTF2000.
3892
3893         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3894         UTF-8 representation in UTF2000.
3895         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3896         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3897         (decode_coding_iso2022): Don't define local variable `lb' in
3898         UTF2000; don't use LEADING_BYTE in UTF2000; use
3899         `DECODE_ADD_UCS_CHAR' in UTF2000.
3900         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3901
3902         * config.h.in (UTF2000): New macro.
3903
3904         * buffer.h (struct buffer_text): Add new member `mule_size' and
3905         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3906         (valid_char_p): Return always 1 in UTF2000.
3907         (MAX_EMCHAR_LEN): 6 in UTF2000.
3908         (three_to_one_table): Don't define in UTF2000.
3909         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3910         UTF2000.
3911         (real_bytind_to_bufpos): Likewise.
3912
3913         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3914
3915 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3916
3917         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3918         representation change.
3919         (Vutf_2000_version): New variable.
3920         (leading_code_private_11): New variable.
3921         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3922         `leading-code-private-11'.
3923
3924         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3925         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3926         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3927         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3928         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3929         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3930         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3931         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3932         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3933         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3934         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3935         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3936         (MIN_CHAR_GREEK): New macro.
3937         (MAX_CHAR_GREEK): New macro.
3938         (MIN_CHAR_CYRILLIC): New macro.
3939         (MAX_CHAR_CYRILLIC): New macro.
3940         (MIN_CHAR_HEBREW): New macro.
3941         (MAX_CHAR_HEBREW): New macro.
3942         (MIN_CHAR_THAI): New macro.
3943         (MAX_CHAR_THAI): New macro.
3944         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3945         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3946         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3947         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3948         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3949         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3950         (CHAR_FIELD2): New inline function.
3951         (CHAR_FIELD3): New inline function.
3952         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3953         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3954         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3955         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3956         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3957         (MIN_CHAR_COMPOSITION): Likewise.
3958         (CHAR_LEADING_BYTE): Modified for character representation change.
3959         (MAKE_CHAR): Likewise.
3960
3961         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3962         (Vcharset_greek_iso8859_7): Likewise.
3963         (Vcharset_cyrillic_iso8859_5): Likewise.
3964         (Vcharset_hebrew_iso8859_8): Likewise.
3965         (Vcharset_thai_tis620): Likewise.
3966         (Vcharset_katakana_jisx0201): Likewise.
3967
3968 2001-02-08  Martin Buchholz <martin@xemacs.org>
3969
3970         * XEmacs 21.2.44 "Thalia" is released.
3971
3972 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3973
3974         Fixes crashes in kill-emacs on some systems.
3975         * process-unix.c (unix_kill_child_process):
3976         It's OK for kill() to fail with ESRCH.
3977
3978 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3979
3980         Contortions to make .gdbinit tricks work on most systems.
3981         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
3982         * alloc.c (dbg_valmask): Make non-const.
3983         * alloc.c (dbg_typemask): Make non-const.
3984         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
3985         * alloc.c (dbg_valbits): Make non-const.
3986         * alloc.c (dbg_gctypebits): Make non-const.
3987         * .gdbinit (decode_object): Make it work with AIX cc.
3988
3989 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3990
3991         * elhash.c (make_general_lisp_hash_table):
3992         Use simpler and more efficient calloc to clear entries.
3993
3994 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3995
3996         * window.c (window_scroll): Work around an AIX C compiler bug.
3997         Fixes 'scroll-up' does nothing problem with xlC.
3998
3999 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4000
4001         * .gdbinit: Remove obsolete comment.
4002
4003 2001-01-31  Mike Alexander  <mta@arbortext.com>
4004
4005         * select.c (Fown_selection_internal): Set owned_p for device
4006         method correctly.
4007
4008 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4009
4010         Port to g++ 2.97.
4011         "not" cannot be used as a macro name as it is an operator in C++
4012         * config.h.in: Stop #defining `not'.
4013         * chartab.c (check_category_char): not ==> not_p
4014         * chartab.h: Likewise.
4015         * regex.c (re_match_2_internal): Likewise.
4016
4017 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4018
4019         * lisp-disunion.h: Fix up comments.
4020
4021 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4022
4023         * keymap.c (define_key_check_and_coerce_keysym):
4024         (syms_of_keymap):
4025         Support mouse-6 and mouse-7 bindings in the obvious way.
4026
4027 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4028
4029         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4030
4031 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4032
4033         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4034         Previous patch missed DEFVAR_INT_MAGIC.
4035         Make sure future DEFVAR_foo use correct types.
4036         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4037         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4038         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4039         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4040         * (DEFVAR_INT): Likewise.
4041         * redisplay.c (vertical_clip): Should be of type Fixnum.
4042         * redisplay.c (horizontal_clip): Likewise.
4043         * lisp.h (dump_add_opaque_int): New.
4044         (dump_add_opaque_fixnum): New.
4045
4046 2001-01-29  Andy Piper  <andy@xemacs.org>
4047
4048         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4049         since they can be eval'ed
4050
4051 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4052
4053         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4054         Oops, XEmacs redefines `class'.  Use `typename' instead.
4055
4056 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4057
4058         * dumper.c: Fix C++ compile errors.
4059
4060 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4061
4062         * tparam.c: Use correct prototypes.
4063
4064 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4065
4066         * sysproc.h: #include util.h for NetBSD's openpty.
4067
4068 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4069
4070         More 64-bit correctness.
4071         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4072         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4073         Fix up comments.
4074         This finally finishes the 64-bit SGI port.
4075         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4076         * symbols.c: Fix up comments and type casts.
4077         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4078         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4079         * symeval.h (Fixnum): New type.
4080         * symeval.h (symbol_value_type): Fix up comment.
4081
4082         * commands.h:
4083         * nt.c:
4084         * emacs.c:
4085         * data.c:
4086         * redisplay.c:
4087         * abbrev.c:
4088         * dired-msw.c:
4089         * event-Xt.c:
4090         * eldap.c:
4091         * window.c:
4092         * sound.c:
4093         * event-stream.c:
4094         * eval.c:
4095         * buffer.c:
4096         * mule-canna.c: A million DEFVAR_INTs here...
4097         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4098         * extents.c:
4099         * cmdloop.c:
4100         * lisp.h:
4101         * select-x.c:
4102         * console-x.h:
4103         * event-msw.c:
4104         * mule-wnnfns.c:
4105         * hpplay.c:
4106         * ralloc.c:
4107         * alloc.c:
4108         * keymap.c:
4109         * profile.c:
4110         s/int/Fixnum/g in DEFVAR_INT declarations.
4111
4112 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4113
4114         Port pdump to SGI alignment-sensitive environment.
4115         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4116         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4117         properly aligned.
4118         Define and use aligned reading and writing macros.
4119         Use buffered stdio instead of posix i/o for faster dumping.
4120         Eliminate kludgy 256 byte space for header.
4121         Read and write from dump file using structs for alignment safety.
4122         * dumper.c (pdump_align_stream): New.
4123         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4124         * dumper.c (PDUMP_READ_ALIGNED): New.
4125         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4126         * dumper.c (pdump_static_Lisp_Object): New struct.
4127         * dumper.c (pdump_static_pointer): New struct.
4128         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4129         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4130         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4131         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4132
4133         * dumper.c (pdump_backtrace):
4134         * dumper.c (pdump_get_indirect_count):
4135         * dumper.c (pdump_register_object):
4136         * dumper.c (pdump_register_struct):
4137         * dumper.c (pdump_reloc_one):
4138         * dumper.c (pdump_scan_by_alignment):
4139         * dumper.c (pdump_dump_from_root_struct_ptrs):
4140         * dumper.c (pdump_dump_opaques):
4141         * dumper.c (pdump_dump_rtables):
4142         * dumper.c (pdump_dump_from_root_objects):
4143         * dumper.c (pdump):
4144         * dumper.c (pdump_load_finish):
4145         Use aligned reading and writing.
4146
4147         * dumper.c (pdump_free): Make static.
4148         * dumper.c (pdump_hFile): Likewise.
4149         * dumper.c (pdump_hMap): Likewise.
4150
4151 2001-01-26  Martin Buchholz <martin@xemacs.org>
4152
4153         * XEmacs 21.2.43 "Terspichore" is released.
4154
4155 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4156
4157         Type fiddling for window_config.saved_windows_count
4158         * window.c (struct window_config): 
4159         Make saved_windows_count member unsigned.
4160         * window.c (sizeof_window_config_for_n_windows): 
4161         Make parameter unsigned.
4162         * window.c (mark_window_config):
4163         * window.c (window_config_equal):
4164         * window.c (free_window_configuration):
4165         * window.c (Fset_window_configuration):
4166         * window.c (count_windows):
4167         * window.c (Fcurrent_window_configuration):
4168         * window.c (reinit_vars_of_window):
4169         Update all callers and users.
4170
4171 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4172
4173         Alignment correctness for flexible arrays.
4174         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4175         Make alignment-correct. Add interesting comments.
4176         * alloc.c (size_vector):
4177         * alloc.c (make_vector_internal):
4178         * alloc.c (make_bit_vector_internal):
4179         * alloc.c (sweep_bit_vectors_1):
4180         * fns.c (size_bit_vector):
4181         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4182         * window.c (sizeof_window_config_for_n_windows): 
4183         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4184
4185 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4186
4187         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4188
4189 2001-01-23  Andy Piper  <andy@xemacs.org>
4190
4191         * select.c (Fown_selection_internal): pass owned_p
4192
4193         * select-msw.c (mswindows_own_selection): New Signature.
4194
4195         * console.h (struct console_methods): add owned_p to
4196         _own_selection.
4197
4198         * select-x.c (x_own_selection): pass owned_p
4199         (hack_motif_clipboard_selection): use owned_p
4200         (vars_of_select_x): new variable -
4201         x_selection_strict_motif_ownership.
4202
4203 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4204
4205         * specifier.h (specifier_data_offset): Remove pointless parens.
4206         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4207
4208 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4209
4210         Make Lisp_Object sizeof methods be alignment-correct.
4211         pdump must restore objects to the same alignment as the C compiler
4212         assumes.  It really matters on SGIs.
4213         * lstream.c (aligned_sizeof_lstream): New.
4214         (sizeof_lstream): Use aligned_sizeof_lstream.
4215         (Lstream_new): Likewise.
4216         * opaque.c (aligned_sizeof_opaque): New.
4217         (sizeof_opaque): Use aligned_sizeof_opaque.
4218         (make_opaque): Likewise.
4219         * specifier.c (aligned_sizeof_specifier): New.
4220         (sizeof_specifier): Use aligned_sizeof_specifier.
4221         (make_specifier_internal): Likewise.
4222
4223 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4224
4225         * lstream.h (struct lstream): Use max_align_t for trailing data.
4226         * specifier.h (struct Lisp_Specifier): Likewise.
4227
4228 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4229
4230         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4231         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4232         (CCL_SUSPEND): Likewise.
4233         (CCL_INVALID_CMD): Likewise.
4234         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4235         (ccl_driver): Likewise.
4236         (CCL_WRITE_CHAR): Macro hygiene.
4237         (CCL_WRITE_STRING): Macro hygiene.
4238
4239 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4240
4241         Port "portable" dumper to SunOS 4 and HP-UX.
4242         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4243         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4244         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4245
4246 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4247
4248         * lisp.h (ALIGNOF): A better definition for C++.
4249
4250 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4251
4252         Macro hygiene.
4253         Fix printf warnings: int format, long int arg.
4254         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4255         (PUSH_FAILURE_POINT): Use correct printf formats.
4256         (POP_FAILURE_POINT): Use correct printf formats.  
4257         Use do {...} while (0)
4258
4259 2001-01-20  Martin Buchholz <martin@xemacs.org>
4260
4261         * XEmacs 21.2.42 "Poseidon" is released.
4262
4263 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4264
4265         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4266
4267 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4268
4269         De-kludgify FIXED_TYPE free list frobbing.
4270         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4271         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4272         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4273         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4274         * alloc.c (LRECORD_FREE_P): New.
4275         * alloc.c (MARK_LRECORD_AS_FREE): New.
4276         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4277         * alloc.c (STRUCT_FREE_P): Deleted.
4278         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4279         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4280         * alloc.c (STRING_CHARS_FREE_P): New.
4281         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4282         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4283         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4284         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4285         * alloc.c (resize_string): Use new definitions.
4286         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4287         * alloc.c (verify_string_chars_integrity): Use new definitions.
4288         * alloc.c (compact_string_chars): Use new definitions.
4289         * alloc.c: Update monster comments.
4290         * lrecord.h (lrecord_type): Add some new lrecord types for
4291         alloc.c's use.
4292
4293 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4294
4295         Improve alignment hackery.
4296         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4297         (max_align_t): Moved from opaque.h - general purpose.
4298         (ALIGN_PTR): Use size_t, not long.
4299         * opaque.h (max_align_t): Move to lisp.h.
4300
4301 2001-01-18  Norbert Koch  <nk@LF.net>
4302
4303         * gui.h: Fix and add prototypes to fix build problems.
4304
4305 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4306
4307         temacs is going away, so `dump-temacs' is now a bad name.
4308         * .dbxrc (dump-temacs): Rename to `dmp'.
4309         * .gdbinit (dump-temacs): Rename to `dmp'.
4310
4311 2001-01-17  Andy Piper  <andy@xemacs.org>
4312
4313         * glyphs.c (print_image_instance): comment to make martin happy.
4314
4315         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4316         change.
4317
4318         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4319         activation.
4320         (mswindows_tab_control_redisplay): warning suppression.
4321
4322         * glyphs-widget.c (widget_update): re-write to cope with updated
4323         items.
4324         (widget_instantiate): use new gui_item functions.
4325         (tab_control_update): deleted.
4326         (progress_gauge_update): deleted.
4327         (image_instantiator_progress_guage): take out update reference.
4328         (image_instantiator_tree_view): ditto.
4329         (image_instantiator_tab_control): ditto.
4330
4331         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4332         Right the new way.
4333         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4334         return whether anything was changed.
4335         (update_gui_item_keywords): as it sounds.
4336
4337         * gui.h: declare widget_gui_parse_item_keywords.
4338
4339         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4340         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4341
4342 2001-01-17  Martin Buchholz <martin@xemacs.org>
4343
4344         * XEmacs 21.2.41 "Polyhymnia" is released.
4345
4346 2001-01-16  Didier Verna  <didier@xemacs.org>
4347
4348         * glyphs.c (image_instantiate): don't use fallbacks when
4349         instantiating a face's background pixmap by inheritance.
4350
4351 2001-01-14  Mike Sperber <mike@xemacs.org>
4352
4353         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4354         Conditionalize accordingly.
4355
4356 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4357
4358         * dumper.c (pdump_file_get): Fix a compiler warning.
4359
4360 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4361
4362         Make Purify happy when pdumping.
4363         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4364         iniitalizing all bits of new lisp object memory.
4365         * symbols.c (Fmake_local_variable): Likewise.
4366         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4367         * symbols.c (Fdefvaralias): Likewise.
4368         * mule-charset.c (vars_of_mule_charset): Likewise.
4369
4370 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4371         Add the `-nd' flag when running pre-dump operations under the debugger.
4372         * .dbxrc (run-temacs): Add `-nd'.
4373         * .dbxrc (update-elc): Likewise.
4374         * .dbxrc (dump-temacs): Likewise.
4375         * .gdbinit (run-temacs): Likewise.
4376         * .gdbinit (check-temacs): Likewise.
4377         * .gdbinit (update-elc): Likewise.
4378         * .gdbinit (dump-temacs): Likewise.
4379
4380 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4381
4382         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4383         export OBJECT_MODE=64
4384         configure --pdump --use-union-type=no
4385         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4386         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4387
4388         * miscplay.c (sndcnv8U_2mono):
4389         Avoid two uses of `++' in the same expression.
4390         Suppresses a GCC warning.
4391
4392 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4393
4394         Make sure future compilers don't miscompile alloc.c.
4395         * alloc.c:
4396         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4397         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4398
4399 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4400
4401         * dumper.c: A little post-pdump-rename comment fixup.
4402
4403 2001-01-09  Jerry James  <james@eecs.ku.edu>
4404
4405         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4406
4407 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4408
4409         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4410         script:
4411         #!/bin/sh
4412         replace_symbol () {
4413           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4414         }
4415
4416         replace_symbol pdump_wire_lists pdump_weak_object_chains
4417         replace_symbol pdump_wire_list dump_add_weak_object_chain
4418
4419         replace_symbol pdump_wires pdump_root_objects
4420         replace_symbol pdump_wire dump_add_root_object
4421
4422         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4423         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4424
4425         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4426         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4427         replace_symbol dumpstructinfo pdump_root_struct_ptr
4428         replace_symbol dumpstruct dump_add_root_struct_ptr
4429
4430         replace_symbol dumpopaque dump_add_opaque
4431         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4432         replace_symbol dumpopaqueinfos pdump_opaques
4433         replace_symbol dumpopaqueinfo pdump_opaque
4434
4435         replace_symbol nb_structdump nb_root_struct_ptrs
4436         replace_symbol nb_opaquedump nb_opaques
4437
4438         replace_symbol align_table pdump_align_table
4439         replace_symbol dump_header pdump_header
4440
4441         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4442         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4443
4444
4445 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4446
4447         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4448         optimizing bytecount_to_charcount().
4449
4450 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4451
4452         * config.h.in:
4453         (HAVE_DLFCN_H): Removed.
4454         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4455
4456 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4457
4458         Portable dumper maintainability improvements.
4459         * alloc.c (staticpro):
4460         * alloc.c (staticpro_nodump):
4461         * alloc.c (garbage_collect_1):
4462         * alloc.c (reinit_alloc_once_early):
4463         * alloc.c (init_alloc_once_early):
4464         * alloc.c: Move dumper functions to alloc.c.
4465         * dumper.c (pdump_backtrace):
4466         * dumper.c (pdump_dump_structs):
4467         * dumper.c (pdump_dump_opaques):
4468         * dumper.c (pdump_dump_rtables):
4469         * dumper.c (pdump_dump_wired):
4470         * dumper.c (pdump):
4471         * dumper.c (pdump_load_check):
4472         * dumper.c (pdump_load_finish):
4473         * dumper.c (pdump_file_unmap):
4474         * dumper.c (pdump_file_get):
4475         * dumper.c (pdump_resource_free):
4476         * dumper.c (pdump_resource_get):
4477         * dumper.c (pdump_file_free):
4478         * dumper.c (pdump_file_try):
4479         * dumper.c (pdump_load):
4480         Remove fixed size limits on staticpro(), staticpro_nodump(),
4481         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4482         Remove custom code for dumping lrecord_implementations_table - use
4483         dumpopaque instead.
4484         Remove (most of the) custom code for dumping staticpros - dump it
4485         like any other dynarr.
4486
4487         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4488         * dumper.c: Moved functions from alloc.c.
4489         * alloc.c (dumpstruct): Moved to dumper.c.
4490         * alloc.c (dumpopaque): Likewise.
4491         * alloc.c (pdump_wire): Likewise.
4492         * alloc.c (pdump_wire_list): Likewise.
4493
4494         * lisp.h (Dynarr_sizeof): New.
4495         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4496         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4497         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4498
4499         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4500         * lisp.h (dumpopaque): ditto.
4501         * lisp.h (pdump_wire): ditto.
4502         * lisp.h (pdump_wire_list): ditto.
4503
4504 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4505
4506         * make-src-depend (PrintPatternDeps):
4507         Use `sort' to make output independent of perl version.
4508
4509 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4510
4511         Port to Netbsd 1.5.
4512         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4513         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4514
4515 2001-01-03  Didier Verna  <didier@xemacs.org>
4516
4517         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4518         that `focus_frame' is alive before thinking of calling
4519         `redisplay_redraw_cursor' on it.
4520
4521 2001-01-08  Martin Buchholz <martin@xemacs.org>
4522
4523         * XEmacs 21.2.40 is released.
4524
4525 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4526
4527         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4528
4529 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4530
4531         * alloc.c (dbg_valmask): Make const.
4532         * alloc.c (dbg_typemask): Make const.
4533         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4534         * alloc.c (dbg_valbits): Make const.
4535         * alloc.c (dbg_gctypebits): Make const.
4536
4537 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4538
4539         * redisplay-x.c (x_bevel_area):
4540         redisplay.h (struct rune):
4541         Typo fixes in comments.
4542
4543 2001-01-05  Andy Piper  <andy@xemacs.org>
4544
4545         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4546         adjustment.
4547
4548         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4549
4550 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4551
4552         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4553
4554         * mule-ccl.c (stack_idx_of_map_multiple):
4555         Non const global data must not be initialized!
4556         Found by MIYASHITA Hisashi.
4557
4558 2001-01-02  Andy Piper  <andy@xemacs.org>
4559
4560         * frame.c (change_frame_size): make sure frame size is always
4561         marked as changed.
4562
4563         * glyphs.c (image_instance_layout): minor code reuse.
4564
4565         * window.c (Fcurrent_window_configuration): revert previous
4566         change.
4567
4568 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4569
4570         * glyphs.h:
4571         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4572
4573 2000-12-31  Andy Piper  <andy@xemacs.org>
4574
4575         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4576         when widget gets unmapped.
4577
4578         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4579         function. Make sure widgets losing focus don't just drop it.
4580         (handle_focus_event_1): record the widget with focus.
4581
4582 2000-12-31  Andy Piper  <andy@xemacs.org>
4583
4584         * window.c (allocate_window): use
4585         make_image_instance_cache_hash_table.
4586         (make_dummy_parent): ditto.
4587         (Fset_window_configuration): ditto.
4588
4589         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4590
4591         * glyphs.c (process_image_string_instantiator): use
4592         INSTANTIATOR_TYPE.
4593         (get_image_instantiator_governing_domain): ditto.
4594         (normalize_image_instantiator): ditto.
4595         (instantiate_image_instantiator): ditto.
4596         (make_image_instance_1): ditto.
4597         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4598         (instantiator_eq_equal): new function for use with instance hash
4599         tables.
4600         (instantiator_eq_hash): ditto.
4601         (make_image_instance_cache_hash_table): create a suitable hash
4602         table for storing image instances.
4603
4604         * elhash.h (hash_table_weakness): new internal weakness type
4605         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4606         declare new functions.
4607
4608         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4609         another weakness type for glyphs.
4610         (make_standard_lisp_hash_table): new function split out from
4611         make_general_lisp_hash_table.
4612         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4613         (hash_table_instantiate): ditto.
4614         (Fmake_hash_table): ditto.
4615
4616 2000-12-31  Martin Buchholz <martin@xemacs.org>
4617
4618         * XEmacs 21.2.39 is released.
4619
4620 2000-12-29  Andy Piper  <andy@xemacs.org>
4621
4622         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4623
4624         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4625         the frame has changed so that we pick up geometry changes such as
4626         menubar visibility.
4627
4628 2000-12-28  Andy Piper  <andy@xemacs.org>
4629
4630         * lastfile.c (my_ebss): make a char array so we can pad the
4631         bss. Fixes cygwin unexec.
4632
4633         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4634
4635 2000-12-26  Andy Piper  <andy@xemacs.org>
4636
4637         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4638         comments and try and be more precise about a non-/SIGIO world.
4639         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4640         SIGIO.
4641
4642         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4643         we don't normalize to zero width or height.
4644
4645 2000-12-24  Andy Piper  <andy@xemacs.org>
4646
4647         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4648
4649 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4650
4651         * s/sco5.h: SCO 5 has pty support.
4652
4653 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4654
4655         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4656         input-method-xlib.c contains whole contents of input-method-xfs.c,
4657         so we can use input-method-xlib.c's code for USE_XFONTSET
4658         using #ifdefs.
4659         * input-method-xfs.c: removed.
4660
4661 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4662
4663         * file-coding.h (enum coding_category_type): reorder enumerators to
4664         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4665         (now one greater than largest real coding_category_type enumerator).
4666         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4667         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4668         Fcoding_category_list, Fset_coding_priority_list,
4669         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4670         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4671
4672 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4673
4674         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4675         * redisplay-output.c (redisplay_output_window): Clear top of window
4676         when face is changed.
4677         * redisplay-x.c (x_redraw_exposed_window): Call
4678         redisplay_clear_top_of_window.
4679         * redisplay.h: Publish redisplay_clear_top_of_window.
4680
4681 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4682
4683         * buffer.c (Fkill_buffer): Map over all devices.
4684         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4685         (list_windows): New function.
4686         (list_all_windows): Ditto.
4687         (Freplace_buffer_in_windows): Use them.
4688
4689 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4690
4691         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4692         (Fopen_database): Use `db_create' instead of `db_open'.
4693         (syms_of_database): Initialize Qqueue.
4694
4695 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4696
4697         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4698         buffer_local_face_property.
4699         * buffer.h (struct buffer): New member buffer_local_face_property.
4700         * window.c (Fset_window_buffer):  Mark window's face as changed
4701         when buffer has buffer local face.
4702         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4703         * objects.c (color_after_change): Set buffer_local_face_property
4704         when locale of face specifier is buffer.
4705         * objects.c (font_after_change): Ditto.
4706         * objects.c (face_boolean_after_change): Ditto.
4707         * glyphs.c (image_after_change): Ditto.
4708
4709 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4710
4711         * nt.c (mswindows_fstat): Report file permissions, volume serial
4712         number, etc. Code adapted from FSF Emacs 20.7.
4713
4714 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4715
4716         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4717         of stat when we don't have symbolic links, to make sure
4718         mswindows_stat is called on mswindows.
4719
4720 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4721
4722         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4723
4724 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4725
4726         * doprnt.c (emacs_doprnt_1): More printing fixes.
4727         Make printing of numbers compatible with libc and FSF Emacs.
4728         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4729         Use the system printf to do most of the hard work of formatting,
4730         instead of doprnt_1().
4731         Calculate memory to allocate for format string.
4732         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4733         (doprnt_1): Cleaner code and documentation.
4734
4735 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4736
4737         * Makefile.in.in: Use the loop variable to install headers.
4738
4739 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4740
4741         * window.c (Fsplit_window): Don't invalidate face cache.
4742
4743 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4744
4745         * minibuf.c (Fall_completions): Undo the previous change
4746         which removed checking elements start with space.
4747
4748 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4749
4750         * mule-canna.c: Didier suppression.
4751
4752 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4753
4754         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4755         (warning suppression).  Add English comment translations.
4756
4757 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4758
4759         * unexelfsgi.c (unexec): Better test for mmap failure.
4760
4761 2000-12-05  Martin Buchholz <martin@xemacs.org>
4762
4763         * XEmacs 21.2.38 is released.
4764
4765 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4766
4767         * redisplay.c (bar-cursor): Make a user variable.
4768
4769         * symsinit.h: Add init_postgresql_from_environment.
4770
4771 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4772
4773         * regex.c: Convert to clean C.
4774
4775 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4776
4777         * realpath.c:
4778         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4779         initialization.
4780         (sys_readlink): renamed to system_readlink to avoid conflict with
4781         the other sys_readlink.
4782
4783 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4784
4785         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4786
4787 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4788
4789         * postgresql.c (init_postgresql_from_environment): new function.
4790         (vars_of_postgresql): Move code initializing Lisp variables out and
4791         into init_postgresql_from_environment.
4792         emacs.c (main_1): Call init_postgresql_from_environment if and only
4793         if running a dumped XEmacs.
4794
4795 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4796
4797         * buffer.c: Make find-file-compare-truenames default to true on
4798         windows.
4799
4800         * realpath.c (win32_abs_start):
4801         (cygwin_readlink):
4802         (win32_readlink): New functions.
4803         (xrealpath): Return really real filenames on windows.
4804
4805         * fileio.c (Ffile_truename): Make file-truename work on windows.
4806
4807 2000-11-29  Didier Verna  <didier@xemacs.org>
4808
4809         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4810         * faces.c (update_face_cachel_data): use it.
4811         * faces.c (add_face_cachel): use it. Complete background pixmap
4812         frobbing in face cache if `update_face_cachel_data' has not done so.
4813
4814 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4815
4816         * search.c (string_match_1): Don't set last_thing_searched
4817         when search failed.
4818
4819 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4820
4821         * buffer.c: Include casetab.h
4822         (common_init_complex_vars_of_buffer): Use new case-table object.
4823         * buffer.h: Include casetab.h
4824         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4825         (DOWNCASE_TABLE_OF): Ditto.
4826         * bufslots.h: Remove char-tables and add case-table.
4827         * casetab.c: Include casetab.h
4828         (CASE_TABLE_P): Removed.
4829         (mark_case_table): New function.
4830         (allocate_case_table): New function.
4831         (Fcase_table_p): Use new case-table.
4832         (case_table_char): New function.
4833         (Fget_case_table): Ditto.
4834         (Fput_case_table): Ditto.
4835         (Fput_case_table_pair): Ditto.
4836         (Fcopy_case_table): Ditto.
4837         (Fcurrent_case_table): Return case-table.
4838         (Fstandard_case_table): Return case-table.
4839         (Fset_case_table): Fix doc-string.
4840         (set_case_table): Use case-table
4841         (syms_of_casetab): DEFSUBR new functions.
4842         (complex_vars_of_casetab): Set up standard case-table.
4843         * casetab.h: New file.
4844         * editfns.c: Include casetab.h
4845         (Fcompare_buffer_substrings): Use case-table.
4846         * inline.c: Include casetab.h
4847         * lisp.h: Remove bogus extern.
4848         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4849         * search.c: Include casetab.h
4850         (TRANSLATE_ASCII): Removed.
4851         (TRANSLATE): Unconditionally translate character.
4852         (looking_at_1): Use case-table.
4853         (string_match_1): Ditto.
4854         (fast_string_match): Ditto.
4855         (search_command): Ditto.
4856         (search_buffer): Separate boyer_moore.  Check whether
4857         boyer_moore is possible.
4858         (simple_search): New function.
4859         (boyer_moore): Separated from search_buffer. Translate char.
4860
4861 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4862
4863         * regex.c (RE_TR_ASCII): Removed.
4864         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4865         (PATFETCH): Call PATFETCH_RAW.
4866         (PATFETCH_RAW): Fetch Emchar.
4867         (PATUNFETCH): Decrement charptr.
4868         (GET_BUFFER_SPACE): Rename b to buf_end.
4869         (BUF_PUSH): Ditto.
4870         (BUF_PUSH_2): Ditto.
4871         (BUF_PUSH_3): Ditto.
4872         (EXTEND_BUFFER): Ditto.
4873         (SET_LIST_BIT): Ditto.
4874         (regex_compile): Ditto.  Translate non ASCII char.
4875         (compile_range): Ditto.
4876         (re_search_2): Ditto.
4877         (re_match_2_internal): Compare Emchar.
4878         (bcmp_translate): Ditto.
4879
4880 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4881
4882         * lisp.h (basic char/int typedefs):  comment improvement.
4883
4884 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4885
4886         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4887         unstomp inhibit_site_lisp.  Improve comments.
4888
4889 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4890
4891         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4892
4893 2000-11-28  Andy Piper  <andy@xemacs.org>
4894
4895         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4896         clipped display for windows in the gutter also.
4897         (redisplay_display_boxes_in_window_p): change semantics of return
4898         codes to be more intuitive.
4899
4900         * gutter.h: declare display_boxes_in_gutter_p.
4901
4902         * gutter.c (display_boxes_in_gutter_p): new function for
4903         redisplay.
4904
4905 2000-11-22  Andy Piper  <andy@xemacs.org>
4906
4907         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4908         autodetect domain.
4909
4910 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4911
4912         * callproc.c (Fold_call_process_internal):
4913         * gpm.c (Freceive_gpm_event):
4914         (tty_get_foreign_selection): Might be just warning supression.
4915         * fileio.c (Fwrite_region_internal):
4916         (Fset_visited_file_modtime):
4917         * keymap.c (event_matches_key_specifier_p):
4918         Initialize GCPROed variable.
4919
4920         * menubar-x.c (command_builder_find_menu_accelerator):
4921         Initialize before use.
4922
4923 2000-11-23  Andy Piper  <andy@xemacs.org>
4924
4925         * unexcw.c (unexec): make the resulting executable executable.
4926
4927 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4928
4929         * doc.c (get_doc_string):
4930         Use size_t, not int, for result of XSTRING_LENGTH.
4931
4932         * cmds.c (Fdelete_char):
4933         * cmds.c (Fpoint_at_eol):
4934         * cmds.c (Fself_insert_command):
4935         Use EMACS_INT, not int, for result of XINT.
4936         Someday, someone will want to insert more than 2**31 identical characters.
4937
4938         * cmds.c (Fdelete_char):
4939         * cmds.c (Fdelete_backward_char):
4940         * syntax.c (Fforward_word):
4941         * syntax.c (Fforward_comment):
4942         Make COUNT argument optional, for consistency with forward-char et al.
4943
4944 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4945
4946         * lisp.h:
4947         * print.c (long_to_string):
4948         Return a useful value: the pointer at end of data written.
4949
4950         * doprnt.c:
4951         Use `static const char * const' for constant strings.
4952         (union printf_arg): Delete `i', `ui' members.
4953         (get_doprnt_args):
4954         (emacs_doprnt_1):
4955         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4956         Do all printf-ing via the `l' specifier.
4957         Use EMACS_INT instead of int.
4958         Optimize.
4959
4960 2000-11-20  Didier Verna  <didier@xemacs.org>
4961
4962         * faces.c (update_face_cachel_data): don't frob the background
4963         pixmap when the window is being created. The face is needed but
4964         does not exist yet.
4965
4966 2000-11-20  Andy Piper  <andy@xemacs.org>
4967
4968         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4969         messing with a debug environment.
4970
4971 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4972
4973         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4974
4975 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4976
4977         * casetab.c (Fcase_table_p): Fix compile error and crash.
4978
4979 2000-11-18  Philip Aston  <philipa@mail.com>
4980
4981         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4982
4983 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4984
4985         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4986         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4987
4988 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4989
4990         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4991         * unexelf.c: Use HAVE_ELF_H.
4992         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4993         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4994         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4995         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4996         for testing.
4997         So this is an unexelfsgi.c from a different line of development.
4998
4999 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5000
5001         * regex.c (RE_TR_ASCII): New function.
5002         (RE_TRANSLATE): Call it.
5003
5004 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5005
5006         * buffer.h (TRT_TABLE_OF): Remove assert.
5007         (IN_TRT_TABLE_DOMAIN): Removed.
5008
5009 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5010
5011         * free-hook.c (log_gcpro):
5012         (show_gcprohist): Add support for GCPRO5.
5013
5014 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5015
5016         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5017
5018 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5019
5020         * symeval.h: Declare flush_all_buffer_local_cache.
5021
5022         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5023         (flush_buffer_local_cache): Added.
5024         (flush_all_buffer_local_cache): Added.
5025
5026         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5027
5028         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5029         (pdump_dump_data): Ditto.
5030         (pdump_reloc_one): Ditto.
5031         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5032         before dumping.
5033
5034
5035 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5036
5037         * buffer.c: Remove if 0'ed entry.
5038         * buffer.h: Rewrite TRT to use char-table.
5039         * bufslots.h: Remove mirror tables.
5040         * casetab.c: Remove mirror tables.
5041         (CASE_TABLE_P): New macro.
5042         (Fcase_table_p): Element of a case table is string or char-table.
5043         (make_mirror_trt_table): Removed.
5044         (set_case_table): Setup char-table from strings for backward
5045         compatibility.
5046         * dired.c (Fdirectory_files):
5047         * dired-msw.c: (mswindows_get_files):
5048         * lisp.h: Change prototype of re_pattern_buffer.
5049         * regex.c: (RE_TRANSLATE): New macro.
5050         (TRANSLATE_P): Ditto.
5051         Change translate to type RE_TRANSLATE_TYPE.
5052         * regex.h: Define RE_TRANSLATE_TYPE
5053         * search.c (TRANSLATE): New macro.
5054         (TRANSLATE_ASCII): New macro.
5055         Translate table is changed to Lisp_Object.
5056         (signal_failure): Inhibit return.
5057
5058 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5059
5060         * device-msw.c:
5061         * eldap.c:
5062         * event-Xt.c:
5063         * event-stream.c:
5064         * print.c:
5065         Do UNGCPRO before return.
5066
5067 2000-11-14  Martin Buchholz <martin@xemacs.org>
5068
5069         * XEmacs 21.2.37 is released.
5070
5071 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5072
5073         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5074         Add comments about discarded return value.
5075
5076 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5077
5078         * callint.c:
5079         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5080
5081 2000-10-27  Andy Piper  <andy@xemacs.org>
5082
5083         * gutter.c (Fset_default_gutter_position): default left and right
5084         gutters to visible.
5085         (calculate_gutter_size): calculate resonable heuristic for left
5086         and right gutter sizes.
5087         (specifier_vars_of_gutter): change left and right gutter sizes to
5088         autodetect.
5089         (calculate_gutter_size_from_display_lines): new function.
5090         (output_gutter): check for resizing on left and right gutters.
5091         (clear_gutter): don't special case top and left gutters.
5092         (specifier_vars_of_gutter): use new signature for
5093         set_specifier_caching.
5094
5095         * glyphs-x.c (x_redisplay_widget): spelling fix.
5096         * glyphs.c (specifier_vars_of_glyphs):
5097         * menubar.c (specifier_vars_of_menubar):
5098         * redisplay.c (specifier_vars_of_redisplay):
5099         * toolbar.c (specifier_vars_of_toolbar):
5100         * window.c (specifier_vars_of_window):
5101         * scrollbar.c (specifier_vars_of_scrollbar):
5102         (complex_vars_of_scrollbar): use new signature for
5103         set_specifier_caching.
5104
5105         * specifier.c (set_specifier_caching): include recompute flag.
5106         (recompute_one_cached_specifier_in_window): always recompute if
5107         flag set.
5108         (recompute_one_cached_specifier_in_frame): ditto.
5109
5110         * specifier.h (struct specifier_caching): add recompute flag.
5111
5112 2000-10-24  Andy Piper  <andy@xemacs.org>
5113
5114         * unexcw.c (copy_executable_and_dump_data_section): add new
5115         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5116         5.0 happy.
5117
5118 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5119
5120         * console-x.h (x_device): New member modifier_release_time.
5121         * event-Xt.c (x_handle_sticky_modifiers):
5122         Bound interval modifier keys are sticky.
5123         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5124         * events.h: extern it.
5125
5126 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5127
5128         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5129
5130 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5131
5132         * event-stream.c (execute_command_event): Preserve current_events
5133         and the like when event is misc-user-event.
5134         Inhibit quit during the call to maybe_echo_keys.
5135
5136 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5137
5138         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5139         symlink when buffer is killed.
5140         (inhibit_clash_detection): New variable.
5141
5142 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5143
5144         * console.c (Fset_input_method): Trigger redisplay on tty.
5145
5146 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5147
5148         * process.c (Fprocess_status): Revert to previous behavior:
5149         (process-status "nosuchprocess") ==> nil
5150
5151 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5152
5153         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5154         Work around another GCC 2.95.2 optimizer bug.
5155
5156 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5157
5158         * process.c (Fget_process): Use LIST_LOOP_2.
5159         (kill_buffer_processes): Use LIST_LOOP_2.
5160
5161         * minibuf.c (Fall_completions):
5162         Delete old non-functional code for FSF fourth argument.
5163
5164         * frame.c (frame_matches_frame_spec):
5165         Renamed from `frame_matches_frametype'.  Update all callers.
5166         (device_matches_device_spec):
5167         Renamed from 'device_matches_console_spec'.  Update all callers.
5168
5169         * doc.c (Fsubstitute_command_keys):
5170         Remove buffer overflow crash.  Small code cleanups.
5171
5172         * casetab.c (check_case_table): Simpler code.
5173
5174         * window.c (Freplace_buffer_in_windows):
5175         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5176         (and similar implementation) as Fdelete_windows_on.
5177         Update all callers.
5178
5179         * alloc.c (Fmake_list):
5180         * alloc.c (make_vector):
5181         * alloc.c (Fmake_vector):
5182         * alloc.c (make_bit_vector):
5183         * alloc.c (Fmake_bit_vector):
5184         * alloc.c (Fbit_vector):
5185         * alloc.c (Fmake_string):
5186         * alloc.c (Fpurecopy):
5187         * alloc.c (Fmemory_limit):
5188         * buffer.c:
5189         * buffer.c (Fget_buffer):
5190         * buffer.c (Fkill_buffer):
5191         * buffer.c (complex_vars_of_buffer):
5192         * bytecode.c (Fcompiled_function_stack_depth):
5193         * callint.c (Fprefix_numeric_value):
5194         * event-stream.c:
5195         * event-stream.c (Fread_key_sequence):
5196         * casetab.c:
5197         * casetab.c (Fcase_table_p):
5198         * casetab.c (check_case_table):
5199         * casetab.c (Fset_case_table):
5200         * casetab.c (Fset_standard_case_table):
5201         * chartab.c:
5202         * chartab.c (Fchar_table_type):
5203         * chartab.c (Freset_char_table):
5204         * chartab.c (Fget_char_table):
5205         * chartab.c (Fget_range_char_table):
5206         * chartab.c (Fput_char_table):
5207         * chartab.c (Fmap_char_table):
5208         * chartab.c (Fcategory_table_p):
5209         * chartab.c (Fcheck_category_at):
5210         * chartab.c (Fchar_in_category_p):
5211         * chartab.c (Fcategory_table):
5212         * chartab.c (Fcopy_category_table):
5213         * chartab.c (Fset_category_table):
5214         * chartab.c (Fcategory_designator_p):
5215         * chartab.c (Fcategory_table_value_p):
5216         * cmds.c (Fdelete_char):
5217         * cmds.c (Fdelete_backward_char):
5218         * cmds.c (Fself_insert_command):
5219         * cmds.c (Fself_insert_internal):
5220         * console.c (Fvalid_console_type_p):
5221         * console.c (Fcdfw_console):
5222         * console.c (Fconsole_type):
5223         * console.c (Fconsole_name):
5224         * console.c (Fconsole_device_list):
5225         * console.c (Fconsole_on_window_system_p):
5226         * data.c:
5227         * data.c (Feq):
5228         * data.c (Fold_eq):
5229         * data.c (Fsubr_interactive):
5230         * data.c (Fchar_to_int):
5231         * data.c (Fint_to_char):
5232         * data.c (Fsetcar):
5233         * data.c (Fsetcdr):
5234         * data.c (Fnumber_to_string):
5235         * data.c (Fstring_to_number):
5236         * data.c (Frem):
5237         * database.c (mark_database):
5238         * database.c (finalize_database):
5239         * database.c (Fdatabase_live_p):
5240         * database.c (Fdatabasep):
5241         * device-x.c (Fx_get_resource):
5242         * device.c (Fdfw_device):
5243         * dired.c:
5244         * dired.c (Ffile_name_completion):
5245         * dired.c (Ffile_name_all_completions):
5246         * dired.c (Fuser_name_completion):
5247         * dired.c (Fuser_name_completion_1):
5248         * dired.c (Fuser_name_all_completions):
5249         * doc.c (Fdocumentation):
5250         * doc.c (Fdocumentation_property):
5251         * doc.c (Fsubstitute_command_keys):
5252         * editfns.c:
5253         * editfns.c (Fchar_to_string):
5254         * editfns.c (Fstring_to_char):
5255         * editfns.c (Ftemp_directory):
5256         * editfns.c (Finsert_char):
5257         * editfns.c (Fbuffer_substring_no_properties):
5258         * editfns.c (Fnarrow_to_region):
5259         * editfns.c (Fchar_equal):
5260         * editfns.c (Fchar_Equal):
5261         * editfns.c (Ftranspose_regions):
5262         * emacs.c (Fdump_emacs):
5263         * eval.c (Fthrow):
5264         * eval.c (Fcommand_execute):
5265         * eval.c (Fautoload):
5266         * eval.c (Fbacktrace):
5267         * eval.c (Fbacktrace_frame):
5268         * events.c:
5269         * events.c (Fcopy_event):
5270         * events.c (Fcharacter_to_event):
5271         * events.c (Fevent_button):
5272         * events.c (Fevent_process):
5273         * extents.c:
5274         * extents.c (Fnext_extent_change):
5275         * extents.c (Fextent_property):
5276         * faces.c (Ffacep):
5277         * faces.c (Fmake_face):
5278         * file-coding.c:
5279         * file-coding.c (Fencode_shift_jis_char):
5280         * file-coding.c (Fencode_big5_char):
5281         * fileio.c (Ffile_name_directory):
5282         * fileio.c (Ffile_name_nondirectory):
5283         * fileio.c (Ffile_name_as_directory):
5284         * fileio.c (Fdirectory_file_name):
5285         * fileio.c (Ffile_truename):
5286         * fileio.c (Fsubstitute_in_file_name):
5287         * fileio.c (Ffile_modes):
5288         * fileio.c (Fset_file_modes):
5289         * fileio.c (Fset_default_file_modes):
5290         * fileio.c (Fverify_visited_file_modtime):
5291         * floatfns.c (Facos):
5292         * floatfns.c (Fasin):
5293         * floatfns.c (Fatan):
5294         * floatfns.c (Fcos):
5295         * floatfns.c (Fsin):
5296         * floatfns.c (Ftan):
5297         * floatfns.c (Fbessel_j0):
5298         * floatfns.c (Fbessel_j1):
5299         * floatfns.c (Fbessel_jn):
5300         * floatfns.c (Fbessel_y0):
5301         * floatfns.c (Fbessel_y1):
5302         * floatfns.c (Fbessel_yn):
5303         * floatfns.c (Ferf):
5304         * floatfns.c (Ferfc):
5305         * floatfns.c (Flog_gamma):
5306         * floatfns.c (Fexp):
5307         * floatfns.c (Fexpt):
5308         * floatfns.c (Flog):
5309         * floatfns.c (Flog10):
5310         * floatfns.c (Fsqrt):
5311         * floatfns.c (Fcube_root):
5312         * floatfns.c (Facosh):
5313         * floatfns.c (Fasinh):
5314         * floatfns.c (Fatanh):
5315         * floatfns.c (Fcosh):
5316         * floatfns.c (Fsinh):
5317         * floatfns.c (Ftanh):
5318         * floatfns.c (Fabs):
5319         * floatfns.c (Ffloat):
5320         * floatfns.c (Flogb):
5321         * floatfns.c (Fceiling):
5322         * floatfns.c (Ffloor):
5323         * floatfns.c (Fround):
5324         * floatfns.c (Ftruncate):
5325         * floatfns.c (Ffceiling):
5326         * floatfns.c (Fffloor):
5327         * floatfns.c (Ffround):
5328         * floatfns.c (Fftruncate):
5329         * fns.c (Fstring_equal):
5330         * fns.c (Fstring_lessp):
5331         * fns.c (concat2):
5332         * fns.c (concat3):
5333         * fns.c (vconcat2):
5334         * fns.c (vconcat3):
5335         * fns.c (Fsubstring):
5336         * fns.c (Fassoc):
5337         * fns.c (Fold_assoc):
5338         * fns.c (assoc_no_quit):
5339         * fns.c (Fassq):
5340         * fns.c (Fold_assq):
5341         * fns.c (assq_no_quit):
5342         * fns.c (Frassoc):
5343         * fns.c (Fold_rassoc):
5344         * fns.c (Frassq):
5345         * fns.c (Fold_rassq):
5346         * fns.c (rassq_no_quit):
5347         * fns.c (Fremassoc):
5348         * fns.c (remassoc_no_quit):
5349         * fns.c (Fremassq):
5350         * fns.c (remassq_no_quit):
5351         * fns.c (Fremrassoc):
5352         * fns.c (Fremrassq):
5353         * fns.c (remrassq_no_quit):
5354         * fns.c (Fsort):
5355         * fns.c (Fplist_get):
5356         * fns.c (Fplist_put):
5357         * fns.c (Fplist_remprop):
5358         * fns.c (Fplist_member):
5359         * fns.c (Flax_plist_get):
5360         * fns.c (Flax_plist_put):
5361         * fns.c (Flax_plist_remprop):
5362         * fns.c (Flax_plist_member):
5363         * fns.c (Fequal):
5364         * fns.c (Fold_equal):
5365         * fns.c (Frequire):
5366         * fns.c (Fbase64_encode_region):
5367         * fns.c (Fbase64_encode_string):
5368         * fns.c (Fbase64_decode_region):
5369         * frame.c:
5370         * frame.c (frame_matches_frame_spec):
5371         * frame.c (device_matches_device_spec):
5372         * frame.c (next_frame):
5373         * frame.c (previous_frame):
5374         * frame.c (Fnext_frame):
5375         * frame.c (Fprevious_frame):
5376         * frame.c (Fframe_property):
5377         * frame.c (Fset_frame_height):
5378         * frame.c (Fset_frame_size):
5379         * frame.h:
5380         * glyphs.c:
5381         * glyphs.c (if):
5382         * glyphs.c (decode_error_behavior_flag):
5383         * glyphs.c (Fmake_image_instance):
5384         * indent.c (Findent_to):
5385         * intl.c (Fignore_defer_gettext):
5386         * keymap.c (Fkeymapp):
5387         * keymap.c (Flookup_key):
5388         * lread.c:
5389         * lread.c (Fload_internal):
5390         * lread.c (Feval_buffer):
5391         * lread.c (Feval_region):
5392         * macros.c (Fexecute_kbd_macro):
5393         * marker.c (set_marker_internal):
5394         * marker.c (Fset_marker):
5395         * marker.c (set_marker_restricted):
5396         * marker.c (Fcopy_marker):
5397         * marker.c (noseeum_copy_marker):
5398         * menubar.c:
5399         * menubar.c (Fpopup_menu):
5400         * minibuf.c:
5401         * mule-charset.c (Fcharset_name):
5402         * mule-charset.c (Fchar_charset):
5403         * mule-charset.c (Fchar_octet):
5404         * mule-charset.c (Fsplit_char):
5405         * mule-wnnfns.c (Fwnn_open):
5406         * mule-wnnfns.c (Fwnn_dict_comment):
5407         * mule-wnnfns.c (Fwnn_quit_henkan):
5408         * mule-wnnfns.c (Fwnn_word_toroku):
5409         * mule-wnnfns.c (Fwnn_word_sakujo):
5410         * mule-wnnfns.c (Fwnn_word_use):
5411         * mule-wnnfns.c (Fwnn_hindo_set):
5412         * objects.c:
5413         * objects.c (Fmake_color_instance):
5414         * objects.c (Fmake_font_instance):
5415         * print.c (Fwrite_char):
5416         * process.c:
5417         * process.c (mark_process):
5418         * process.c (print_process):
5419         * process.c (get_process_from_usid):
5420         * process.c (Fprocessp):
5421         * process.c (Fprocess_live_p):
5422         * process.c (Fget_process):
5423         * process.c (Fget_buffer_process):
5424         * process.c (get_process):
5425         * process.c (Fprocess_id):
5426         * process.c (Fprocess_name):
5427         * process.c (Fprocess_command):
5428         * process.c (init_process_io_handles):
5429         * process.c (start_process_unwind):
5430         * process.c (Fstart_process_internal):
5431         * process.c (Fopen_multicast_group_internal):
5432         * process.c (Fset_process_window_size):
5433         * process.c (read_process_output):
5434         * process.c (send_process):
5435         * process.c (Fprocess_tty_name):
5436         * process.c (Fset_process_buffer):
5437         * process.c (Fprocess_buffer):
5438         * process.c (Fprocess_mark):
5439         * process.c (set_process_filter):
5440         * process.c (Fset_process_filter):
5441         * process.c (Fprocess_filter):
5442         * process.c (Fprocess_send_region):
5443         * process.c (Fprocess_send_string):
5444         * process.c (exec_sentinel):
5445         * process.c (Fset_process_sentinel):
5446         * process.c (Fprocess_sentinel):
5447         * process.c (status_notify):
5448         * process.c (Fprocess_status):
5449         * process.c (Fprocess_exit_status):
5450         * process.c (process_send_signal):
5451         * process.c (Fprocess_send_eof):
5452         * process.c (deactivate_process):
5453         * process.c (remove_process):
5454         * process.c (Fdelete_process):
5455         * process.c (kill_buffer_processes):
5456         * process.c (Fprocess_kill_without_query):
5457         * process.c (Fprocess_kill_without_query_p):
5458         * rangetab.c:
5459         * rangetab.c (Fget_range_table):
5460         * rangetab.c (Fput_range_table):
5461         * rangetab.c (Fremove_range_table):
5462         * rangetab.c (Fclear_range_table):
5463         * search.c:
5464         * search.c (Fskip_chars_forward):
5465         * search.c (Fskip_chars_backward):
5466         * search.c (Fskip_syntax_forward):
5467         * search.c (Fskip_syntax_backward):
5468         * search.c (search_command):
5469         * search.c (Freplace_match):
5470         * search.c (Fregexp_quote):
5471         * select.c (Fown_selection_internal):
5472         * select.c (Fselection_owner_p):
5473         * select.c (Fselection_exists_p):
5474         * select.c (Fget_selection_internal):
5475         * specifier.c:
5476         * symbols.c:
5477         * symbols.c (Fintern):
5478         * symbols.c (Fintern_soft):
5479         * symbols.c (Funintern):
5480         * symbols.c (Fapropos_internal):
5481         * symbols.c (Fset_default):
5482         * syntax.c:
5483         * syntax.c (Fsyntax_table_p):
5484         * syntax.c (Fcopy_syntax_table):
5485         * syntax.c (Fset_syntax_table):
5486         * syntax.c (Fchar_syntax):
5487         * syntax.c (syntax_match):
5488         * syntax.c (Fmatching_paren):
5489         * syntax.c (Fforward_word):
5490         * syntax.c (scan_lists):
5491         * syntax.c (Fscan_lists):
5492         * syntax.c (Fscan_sexps):
5493         * syntax.c (Fparse_partial_sexp):
5494         * toolbar.c (Fcheck_toolbar_button_syntax):
5495         * tooltalk.doc:
5496         * window.c:
5497         * window.c (Fwindowp):
5498         * window.c (Fwindow_live_p):
5499         * window.c (Fwindow_point):
5500         * window.c (Fdelete_window):
5501         * window.c (Fnext_window):
5502         * window.c (Fprevious_window):
5503         * window.c (Fother_window):
5504         * window.c (window_loop):
5505         * window.c (Fget_lru_window):
5506         * window.c (Fsplit_window):
5507         * window.c (Fenlarge_window):
5508         * window.c (Fenlarge_window_pixels):
5509         * window.c (Fshrink_window):
5510         * window.c (Fshrink_window_pixels):
5511         * window.c (change_window_height):
5512         * window.c (Fwindow_configuration_p):
5513         * window.c (Fcurrent_window_configuration):
5514         * window.h:
5515         * casefiddle.c (casify_object):
5516         * casefiddle.c (Fupcase):
5517         * casefiddle.c (Fdowncase):
5518         * casefiddle.c (Fcapitalize):
5519         * casefiddle.c (Fupcase_initials):
5520         * casefiddle.c (casify_region_internal):
5521         * casefiddle.c (casify_region):
5522         * casefiddle.c (Fupcase_region):
5523         * casefiddle.c (Fdowncase_region):
5524         * casefiddle.c (Fcapitalize_region):
5525         * casefiddle.c (Fupcase_initials_region):
5526         * casefiddle.c (Fupcase_word):
5527         * casefiddle.c (Fdowncase_word):
5528         * casefiddle.c (Fcapitalize_word):
5529         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5530         Replace 0 with '\0' when working with bytes.
5531         Replace initial "(" with "\(" in docstrings.
5532
5533 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5534
5535         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5536
5537         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5538
5539 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5540
5541         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5542
5543 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5544
5545         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5546         correctly.
5547
5548 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5549
5550         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5551         (inhibit_auto_save_session): New variable.
5552         (vars_of_fileio): Declare and initialize them.
5553         * fileio.c (Fdo_auto_save): Don't create session file if
5554         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5555
5556 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5557
5558         * sgiplay.c (play_internal): C++ compilability.
5559         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5560         * callproc.c (Fold_call_process_internal):
5561         Remove unused vars `env', `first'.
5562         * scrollbar.c (update_scrollbar_instance):
5563         #### unused var `current_window'.
5564         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5565         etc. within #ifdef NOT_YET.
5566         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5567         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5568         * specifier.c (specifier_instance):
5569         #### unused var `tag'.
5570         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5571
5572 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5573
5574         * fns.c (Fbutlast):
5575         * fns.c (list_sort):
5576         * fns.c (Ffillarray):
5577         * fns.c (bytecode_nconc2):
5578         * fns.c (Fnconc):
5579         * fns.c (mapcar1):
5580         * fns.c (Fmapconcat):
5581         Be pedantically 64-bit correct.  For the time when someone will
5582         want to have a list with length > 2**32.
5583
5584         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5585         Work around MIPSpro compiler bug.
5586
5587         * process-unix.c (unix_kill_child_process): Add snarky comment.
5588         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5589
5590         * config.h.in: Oops, _getpt ==> _getpty
5591
5592 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5593
5594         * config.h.in:
5595         * regex.c:
5596         Use void*, not char*, as return type of alloca().
5597
5598         * alloc.c (free_marker): Side effect inside assert expression!
5599
5600 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5601
5602         * mule-charset.c (Fset_charset_ccl_program): To check
5603         if the given ccl program is valid, use setup_ccl_program()
5604         instead of CHECK_VECTOR().
5605         (Fmake_charset): Likewise.
5606
5607 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5608
5609         * faces.c (get_extent_fragment_face_cache_index):
5610         Fix cachel.merged_faces memory leak.
5611
5612 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5613
5614         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5615         Reset MSB of octets obtained by DECODE_SJIS
5616         because of the incompatibility with Emacs.
5617         (ccl_driver)<CCL_ENCODE_SJIS>:
5618         Set MSB of octets before passing them to
5619         ENCODE_SJIS because of the incompatibility
5620         with Emacs.
5621
5622 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5623
5624         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5625         (DECLARE_LRECORD): Undo the last change.
5626         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5627
5628 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5629
5630         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5631         the implementation to lrecord_implementations_table.
5632
5633 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5634
5635         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5636         initial value of `lrecord_type_##c_name' and
5637         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5638         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5639         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5640         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5641         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5642
5643 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5644
5645         * miscplay.c (sndcnv8S_2mono):
5646         (sndcnv2monounsigned):
5647         (sndcnvULaw_2linear):
5648         (sndcnv16swap):
5649         Remove implementation-defined behavior.
5650
5651 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5652
5653         * input-method-xlib.c: Warning suppression.
5654
5655 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5656
5657         * mule-ccl.c: Sync up with Emacs 21.0.90.
5658         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5659         Do nothing.
5660         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5661         Likewise.
5662         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5663         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5664         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5665         leading char belongs to official 2-dimensional charset.
5666         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5667         write the given character as is.  Otherwise,
5668         if it is a multibyte char, convert it by
5669         non_ascii_set_charptr_emchar, then write it.
5670         (CCL_WRITE_STRING): Likewise.
5671         (ccl_get_compiled_code): New function.
5672         (setup_ccl_program): When ccl_prog is invalid,
5673         return -1.
5674         (Fregister_code_conversion_map): New function.
5675         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5676
5677         * mule-ccl.h: Sync up with Emacs 21.0.90.
5678         (Fregister_ccl_program): export it.
5679
5680         * redisplay-msw.c (separate_textual_runs):
5681         If ccl program is not valid, don't do ccl conversion.
5682
5683         * redisplay-x.c (separate_textual_runs): Ditto.
5684
5685         * file-coding.c (Fmake_coding_system):
5686         When type is ccl and value is vector, register it
5687         with a proper symbol.  And checks whether the
5688         given ccl program is valid.
5689         (mule_decode): When calling ccl_driver, if src indicates
5690         NULL pointer, set an empty string instead.
5691         (mule_encode): Likewise.
5692
5693 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5694
5695         The following large batch of changes gets us back to a state of
5696         C++ compilability.  Extbyte is now a char, which means that
5697         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5698
5699         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5700
5701         * sound.c (Fplay_sound): Type correctness.
5702
5703         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5704         (x_get_window_property): Type correctness.
5705         (receive_incremental_selection): unsigned char ==> Extbyte
5706         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5707         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5708         (Fx_store_cutbuffer_internal): Type correctness.
5709
5710         * process-unix.c (try_to_initialize_subtty): Type correctness.
5711
5712         * objects-x.c (x_print_color_instance): Type correctness.
5713         (x_print_font_instance): Type correctness.
5714         (x_list_fonts): SExtbyte ==> Extbyte.
5715         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5716         (x_find_charset_font): SExtbyte ==> Extbyte.
5717         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5718         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5719         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5720         Use bufbyte_strcmp.
5721
5722         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5723         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5724         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5725         (BYTE_C0_P): Use bit ops for char-signedness safety.
5726         (BYTE_C1_P): Use bit ops for char-signedness safety.
5727         (CHARSET_BY_LEADING_BYTE):
5728         (CHARSET_BY_ATTRIBUTES):
5729         Always use inline function.
5730         Use type_checking_assert.
5731         Hide chlook.
5732
5733         * mule-charset.c (non_ascii_charptr_copy_char):
5734         Modify to work with both ASCII and non-ASCII characters.
5735         Improve docs and variable names.
5736         Replace over-clever fall-through switch with a simple loop.
5737         (Lstream_get_emchar_1):
5738         Replace over-clever fall-through switch with a simple loop.
5739
5740         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5741         Warning suppression.
5742
5743         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5744         the return value of Lstream_getc, which could be EOF as well.
5745
5746         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5747
5748         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5749         APIs can be used on Extbytes without casts.  Risky!
5750         (SExtbyte): Remove.
5751         (UExtbyte): Remove.
5752
5753         * input-method-xlib.c (XIM_init_device):
5754         Use Xlib.h instead of IntrinsicP.h.
5755         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5756         which will break in X11R7.
5757         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5758         to call XRegisterIMInstantiateCallback with correct types.
5759
5760         * gui-x.c (button_item_to_widget_value): Type correctness.
5761
5762         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5763
5764         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5765         (xbm_instantiate_1): Type correctness.
5766         (BUILD_GLYPH_INST):  Type correctness.
5767
5768         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5769
5770         * file-coding.c:
5771         (decode_coding_sjis):
5772         (decode_coding_big5):
5773         (decode_coding_ucs4):
5774         (decode_coding_utf8):
5775         (decode_coding_iso2022):
5776         (decode_coding_no_conversion):
5777         Make all decoding functions take an Extbyte * arg.
5778         (encode_coding_sjis):
5779         (encode_coding_big5):
5780         (encode_coding_ucs4):
5781         (encode_coding_utf8):
5782         (encode_coding_iso2022):
5783         (encode_coding_no_conversion):
5784         Make all encoding functions take a Bufbyte * arg.
5785         Use size_t instead of unsigned int for memory sizes.
5786         Only cast to unsigned char whenever dereferencing Extbyte *.
5787
5788         * doc.c (unparesseuxify_doc_string): Type correctness.
5789
5790         * console-x.c (split_up_display_spec):
5791         Rewrite without using details of internal string representation.
5792         (x_semi_canonicalize_device_connection): Type correctness.
5793
5794         * config.h.in:
5795         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5796         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5797         (HAVE_XFREE386): Removed.
5798
5799         * buffer.h (DEC_CHARPTR): `const' correctness.
5800         (bufbyte_strcmp): New.
5801         (bufbyte_memcmp): New.
5802
5803         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5804
5805         * buffer.h (XCHAR_OR_CHAR_INT):
5806         Always use inline function.
5807         Remove redundant type checking assert() - XINT will abort quite nicely.
5808
5809 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5810
5811         * search.c (Freplace_match): Set newtext to an empty string.
5812
5813 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5814
5815         * s/decosf1-3.h: Remove #include of stropts.h
5816         * s/ptx.h: Remove #include of stropts.h
5817         * s/usg5-4.h: Remove #include of stropts.h
5818         * sysproc.h:
5819         * config.h.in:
5820         Use stropts.h, not sys/stropts.h.
5821         Use strtio.h, not sys/strtio.h.
5822
5823 2000-10-04  Martin Buchholz <martin@xemacs.org>
5824
5825         * XEmacs 21.2.36 is released.
5826
5827 2000-09-21  Andy Piper  <andy@xemacs.org>
5828
5829         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5830         changes still involve copying the widget tree.
5831         (update_widget_face): make sure a change is register in the widget
5832         tree. Call update_tab_widget_face appropriately.
5833         (update_tab_widget_face): ditto.
5834         (x_tab_control_redisplay): make sure non-structural changes still
5835         involve copying the widget tree.
5836
5837 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5838
5839         * lread.c (locate_file): Check the path element is non-nil.
5840
5841 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5842
5843         * lisp.h: Warning suppression for SCO compilers.
5844
5845         * redisplay-tty.c (reset_tty_modes): Fix crash.
5846         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5847
5848 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5849
5850         Big signal/process handling overhaul.  Bugs fixed:
5851         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5852         M-x comint-kill-subjob should work for both values nil and t of
5853         process-connection-type. It was broken on most platforms.
5854         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5855         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5856         * process-unix.c: Signal/Process handling overhaul.
5857         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5858         (allocate_pty): Use all available modern methods of allocating
5859         ptys, falling back to old style BSD allocation as a last resort.
5860         Use allegedly more secure Unix98 pty allocation by default.
5861         (allocate_pty_the_old_fashioned_way): New. the last resort.
5862         (unix_create_process): Push ptem, ldterm, ttcompat where
5863         available.  Autoconfiscate.
5864         (try_to_initialize_subtty): New.
5865         (unix_kill_child_process): Proper signal handling for ptys on most
5866         platforms, using special knowledge of AIX, BSD, etc...
5867         (unix_create_process): Always disconnect_controlling_terminal() for
5868         subprocesses, whether using ptys or not.
5869         * process.h: Remove old getpt-dependent PTY code.
5870         * process.c (Fprocess_send_signal): New, obvious generic function.
5871         (decode_signal): New.
5872         (Finterrupt_process):
5873         (Fkill_process):
5874         (Fquit_process):
5875         (Fstop_process):
5876         (Fcontinue_process):
5877         (Fsignal_process): Use decode_signal.
5878         (process_send_signal):
5879         Many docstring corrections.
5880         Allow any signal to be sent to a process object.
5881         * config.h.in: Add symbols for big signal/process overhaul.
5882         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5883         * sysproc.h: Include process-related headers, where available:
5884         sys/stropts.h sys/strtio.h pty.h libutil.h
5885         * s/irix4-0.h:
5886         * s/irix5-0.h:
5887         * s/cygwin32.h:
5888         * s/gnu.h:
5889         * s/linux.h:
5890         * s/hpux.h:
5891         * s/aix3-1.h:
5892         Remove old S&M pty stuff.
5893         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5894         * systty.h: Simplify cpp hackery, improve comments.
5895         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5896
5897         * editfns.c (Fformat_time_string):
5898         Be a little more paranoid with the return value of ctime.
5899
5900         * fileio.c (check_executable):
5901         (check_writable):
5902         Use symbolic constants X_OK, W_OK.
5903
5904         * console-x.c (split_up_display_spec): Fix a warning.
5905
5906 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5907
5908         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5909         * ntproc.c (sys_spawnve): make_string ==> build_string
5910         Small clarity improvements.
5911
5912 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5913
5914         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5915
5916         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5917
5918         * config.h.in (HAVE_STRCASECMP): Remove.
5919
5920 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5921
5922         * redisplay-output.c (redisplay_output_pixmap):
5923         Cleaner and possibly more 64-bit correct code.
5924
5925 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5926
5927         * dumper.c (pdump_load_finish): move restoration of
5928         `noninteractive1' to emacs.c (main_1).
5929         * emacs.c (main_1): protect LISP-visible command-line flags
5930         from pdump_load().
5931
5932 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5933
5934         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5935         DUMP_TARGET instead of literal program names.
5936
5937 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5938
5939         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5940
5941 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5942
5943         * *: Spelling mega-patch
5944
5945 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5946
5947         * fns.c (bad_bad_turtle):
5948         Delete "Eek!" comment, since we fixed the bug to which it refers.
5949
5950 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5951
5952         * alloca.c: Replace REGISTER with register.
5953
5954 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5955
5956         * file-coding.c (ucs_to_char): Use countof.
5957
5958 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5959
5960         * file-coding.c: (ucs_to_char):
5961         (complex_vars_of_file_coding):
5962         Use countof instead of sizeof.
5963         Use CHECK_NATNUM instead of CHECK_INT.
5964
5965         * sysdep.c (strcasecmp): Remove.
5966         * device-x.c (ascii_strcasecmp): New.
5967         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5968         Avoid using non-standard non-portable strcasecmp.
5969
5970 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5971
5972         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5973         * font-lock.c: remove reference to emacsfns.h.
5974         * search.c: small doc improvement.
5975         * event-Xt.c: correct file names in comments.
5976         * console-x.h Correct file names in comments.
5977         * frame.c: Correct file names in comments.
5978         * event-stream.c: remove Energize from comments.
5979
5980 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5981
5982         * symeval.h (DEFERROR_STANDARD):
5983         (DEFERROR):
5984         (DEFSYMBOL):
5985         (DEFSYMBOL_NO_DUMP):
5986         (DEFSYMBOL_MULTIWORD_PREDICATE):
5987         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5988         (DEFKEYWORD):
5989         The construct &##name is not sensible C.
5990         Fixes compilation errors with Unixware native compiler.
5991
5992 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5993
5994         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5995         (next_frame_internal): Removed.  We now just have next_frame.
5996         (next_frame):
5997         Write a simpler and cleaner one-pass algorithm.
5998         Remove called_from_delete_device arg and #ifdefed-out code.
5999         (previous_frame):
6000         Renamed from prev_frame.  Update callers.
6001         Cleaned up to have an analogous implementation to next_frame.
6002         (other_visible_frames_internal): Remove the
6003         called_from_delete_device bogus arg, and hence, remove this
6004         function.  Just use other_visible_frames().
6005
6006         * window.c (Fnext_window):
6007         Prettify docstring.
6008         Since next_frame() is guaranteed to return a frame, remove check
6009         for nil inserted in previous patch.
6010         (Fprevious_window):
6011         Prettify docstring.
6012         Make code look more like Fnext_window.
6013         (window_loop):
6014         Respect the `console' arg when iterating through windows.
6015         Fixes bug: (get-buffer-window buffer t device) not respecting
6016         the `device' arg.
6017         This function needs more work, as others have pointed out.
6018
6019         * frame.h: Rename prev_frame to previous_frame.
6020         device_matches_console_spec no longer takes a `frame' arg.
6021
6022         * s/gnu.h:
6023         * s/linux.h:
6024         * s/hpux.h:
6025         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6026         From "Golubev I. N." <gin@mo.msk.ru>.
6027
6028         * make-src-depend: Fix typo.
6029
6030 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6031
6032         * window.c (Fnext_window):
6033         next_frame() might return nil, not a frame.
6034         Fixes this crash:
6035         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6036
6037         * frame.c (next_frame_internal):
6038         We've passed a frame if we've passed its device.
6039         Fixes this crash:
6040         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6041 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6042
6043 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6044
6045         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6046         Allow option to suppress accelerators in menu/dialog items.
6047         (populate_or_checksum_helper): Pass dialog title through above.
6048
6049 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6050
6051         * event-msw.c (mswindows_key_to_emacs_keysym):
6052         Add "pause" key, fix "menu" key.
6053
6054 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6055
6056         * eval.c (reinit_vars_of_eval):
6057         Increase max_lisp_eval_depth to 1000,
6058         required for thai-xtis.el to byte-compile under some circumstances.
6059
6060 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6061
6062         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6063         From Kenichi Handa.
6064
6065 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6066
6067         * make-src-depend: Make the generated Makefiles smaller.
6068
6069         * s/hpux.h (SETUP_SLAVE_PTY):
6070         Provide a %d in the format string for the errno argument.
6071
6072         * editfns.c (Ftemp_directory):
6073         Warning fix.
6074         Avoid buffer overrun on very long file name.
6075
6076         * input-method-xlib.c (XIM_init_device):
6077         6th parameter of XRegisterIMInstantiateCallback has different
6078         pointer types on different OSes, so simply cast to (void *).
6079
6080         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6081
6082         * sysdll.c (dll_open):
6083         shl_load will hang hard if passed a NULL filename.
6084         Simply return NULL for compatibility with dlopen.
6085         * sysdll.c: Conform to XEmacs coding standards.
6086
6087         * sysdep.c (get_pty_max_bytes):
6088         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6089
6090 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6091
6092         * tooltalk.c: Add #include <syssignal.h>
6093
6094 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6095
6096         * s/hpux.h: Don't use undefined function sigunblock().
6097
6098 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6099
6100         * config.h.in: Add HAVE_BALLOON_HELP.
6101         * emacs.c: Use HAVE_BALLOON_HELP.
6102         * Makefile.in.in (x_objs):
6103         Make Balloon Help conditional on finding shape.h.
6104
6105 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6106
6107         * syntax.c (regex_emacs_buffer_p): New variable.
6108         * syntax.h (regex_emacs_buffer_p): extern.
6109         * search.c (looking_at_1):
6110         (string_match_1):
6111         (fast_string_match):
6112         (search_buffer): Set regex_emacs_buffer_p.
6113         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6114         when before_dot, at_dot, after_dot.
6115
6116 2000-08-23  Andy Piper  <andy@xemacs.org>
6117
6118         * gui-x.c (popup_selection_callback): Only set action_occurred
6119         when we really have an image instance.
6120         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6121
6122 2000-08-23  Andy Piper  <andy@xemacs.org>
6123
6124         * gui-msw.c (mswindows_handle_gui_wm_command): set
6125         action_occurred.
6126         * gui-x.c (popup_selection_callback): ditto.
6127
6128         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6129         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6130         (struct Lisp_Image_Instance): add action_occurred flag.
6131
6132         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6133         (image_instance_changed): ditto.
6134         (reset_frame_subwindow_instance_cache): only unmap windows - do
6135         not remove them from the cache also.
6136
6137         * glyphs-widget.c (tab_control_update): better debug.
6138         (progress_gauge_update): ditto.
6139         (layout_update): ditto.
6140         (layout_instantiate): ditto.
6141         (tab_control_order_only_changed): cope with null pending items.
6142
6143         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6144         debug. Force selection of an item when an action occurred. Cope
6145         with null pending_items.
6146         (mswindows_progress_gauge_redisplay): better debug.
6147         * glyphs-x.c (x_tab_control_redisplay): ditto.
6148
6149         * redisplay.c (redisplay_frame): reset the frame cache if the
6150         frame is garbaged.
6151
6152         * window.c (Fset_window_configuration): potentially re-enable
6153         frame cache reset.
6154         (window_unmap_subwindows): need to finalize instances here since
6155         it is only used in mark_window_as_deleted.
6156
6157 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6158
6159         * nas.c (SndOpenDataForReading):
6160         nas.c (WaveOpenDataForReading):
6161         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6162         Somehow escaped from the 2000-08-14 patch.
6163
6164 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6165
6166         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6167         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6168
6169 2000-08-21  Andy Piper  <andy@xemacs.org>
6170
6171         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6172         window if it is not already displayed.
6173
6174         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6175         it is not already displayed.
6176
6177         * window.c (Fset_window_configuration): don't reset the frame
6178         cache.
6179
6180         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6181         instances from the frame cache if we are actually finalizing them.
6182         (reset_frame_subwindow_instance_cache): reset frame cache only
6183         after unmapping everything.
6184         (map_subwindow): set displayed flag after mapping.
6185
6186 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6187
6188         * data.c (indirect_function):
6189         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6190
6191         * eval.c (function_argcount):
6192         Use original function when signaling errors.
6193
6194 2000-08-18  Andy Piper  <andy@xemacs.org>
6195
6196         * frame.c (delete_frame_internal): use new
6197         free_frame_subwindow_instances name.
6198
6199         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6200         (add_tab_item): make return type correct.
6201         (mswindows_tab_control_instantiate): assert index of tab.
6202         (mswindows_tab_control_redisplay): Re-code to use
6203         gui_item_equal_sans_selected and gui_item_list_find_selected.
6204
6205         * glyphs-widget.c (tab_control_update): Correct comment.
6206
6207         * window.c (window_unmap_subwindows): use new
6208         unmap_subwindow_instance_cache_mapper.
6209         (window_unmap_subwindows_cache_mapper): deleted.
6210         (Fset_window_configuration): comparisons should now be with
6211         EQ. Preserve the subwindow instance cache across configuration
6212         changes.
6213         (allocate_window): ditto.
6214         (make_dummy_parent): ditto.
6215
6216         * glyphs.c (free_frame_subwindow_instances): rename from
6217         free_frame_subwindow_instance_cache. finalize all instances rather
6218         than just those in the display cache.
6219         (finalize_all_subwindow_instances): walk windows unmapping and
6220         finalizing subwindows.
6221         (unmap_subwindow_instance_cache_mapper): moved from
6222         window.c. Allow finalization as well as unmapping.
6223
6224         * gui.c (gui_item_list_find_selected): new function.
6225
6226         * gui.h (gui_item_list_find_selected): declare.
6227
6228         * glyphs-x.c (x_tab_control_redisplay): pick tab
6229         explicitly. Re-code to use gui_item_equal_sans_selected and
6230         gui_item_list_find_selected.
6231
6232         * glyphs-x.h: add lwlib-utils.h
6233
6234         * buffer.c (Frecord_buffer): undo previous change.
6235
6236 2000-08-09  Vin Shelton  <acs@xemacs.org>
6237
6238         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6239         possible.  Create temporary files more securely.  The patch was
6240         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6241         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6242         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6243         for details.
6244
6245 2000-08-07  Ben Wing  <ben@xemacs.org>
6246
6247         * getloadavg.c: remove duplicate (and windows-breaking)
6248         includes of fcntl.h and sys/file.h.
6249
6250         * nt.c: remove duplicate getloadavg() definition.
6251
6252         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6253         encodings.
6254
6255 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6256
6257         * eval.c (function_argcount): If function needs to be autoloaded
6258         actually use the loaded definition.
6259         GCPRO function.
6260
6261 2000-08-05  Ben Wing  <ben@xemacs.org>
6262
6263         * getloadavg.c: add prototype for getloadavg().  remove
6264         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6265         of the code).  remove duplicate header includes.
6266
6267         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6268
6269         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6270         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6271         useful load average.
6272
6273         * alloc.c (reinit_alloc_once_early): removed references to
6274         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6275         the lisp vars are the only things referencing the malloc_sbrk_*
6276         vars, and they were already if 0'd out.  these vars only exist
6277         in the older malloc.c, which is basically unused, and they're
6278         only for informational purposes.
6279
6280         * m\*.h: removed useless VIRT_ADDR_VARIES.
6281
6282         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6283
6284 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6285
6286         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6287         color if the image is a mono pixmap.
6288
6289 2000-07-30  Ben Wing  <ben@xemacs.org>
6290
6291         * Makefile.in.in (release):
6292         Remove stray @.
6293
6294         * buffer.c (directory_is_current_directory):
6295         * dired-msw.c (mswindows_get_files):
6296         * dired.c:
6297         * dired.c (Fdirectory_files):
6298         * dired.c (file_name_completion_stat):
6299         * dired.c (Ffile_attributes):
6300         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6301         preprocessor tricks, to avoid problems on some machines
6302         (e.g. SCO).
6303
6304         * callproc.c (egetenv): GC docs.
6305
6306         * console-msw.h:
6307         * console-msw.h (struct mswindows_dialog_id):
6308         * lrecord.h (lrecord_type):
6309         New object for use with MSW dialogs.
6310
6311         * console.h (struct console_methods):
6312         New enable/disable frame methods, for proper modal dialogs.
6313
6314         * device-msw.c (msprinter_default_printer): Fix to follow
6315         proper Mule conventions.
6316
6317         * device-msw.c:
6318         * device-msw.c (signal_open_printer_error):
6319         * device-msw.c (msprinter_init_device):
6320         * device-msw.c (ensure_not_printing):
6321         * device-msw.c (plist_get_margin):
6322         * device-msw.c (Fmsprinter_select_settings):
6323         * device-msw.c (finalize_devmode):
6324         * device-msw.c (Fmsprinter_settings_despecialize):
6325         * device-msw.c (signal_enum_priner_error):
6326         * extents.c (decode_extent):
6327         * extents.c (decode_map_extents_flags):
6328         * extents.c (decode_extent_at_flag):
6329         * extents.c (Fextent_at):
6330         * extents.c (Fextents_at):
6331         * extents.c (symbol_to_glyph_layout):
6332         [[[[2]]]] Use structured errors.
6333
6334         * dialog-msw.c:
6335         * dialog-msw.c (mswindows_is_dialog_msg):
6336         * dialog-msw.c (mark_mswindows_dialog_id):
6337         * dialog-msw.c (dialog_proc):
6338         * dialog-msw.c (handle_question_dialog_box):
6339         * dialog-msw.c (syms_of_dialog_mswindows):
6340         Define new object to clean up marking; use it as a dialog identifier.
6341         Call new delete-dialog-box-hook.
6342
6343         * dialog-x.c (dbox_selection_callback):
6344         * dialog-x.c (dbox_descriptor_to_widget_value):
6345         * dialog-x.c (x_make_dialog_box_internal):
6346         Call new delete-dialog-box-hook.
6347         Return an id.
6348
6349         * dialog.c:
6350         * dialog.c (syms_of_dialog):
6351         * dialog.c (vars_of_dialog):
6352         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6353
6354         * eval.c:
6355         * eval.c (signal_call_debugger):
6356         when noninteractive, output stack traces on the console instead
6357         of in a (never-seen) buffer.
6358
6359         * eval.c (signal_type_error):
6360         * eval.c (invalid_argument_2):
6361         * lisp.h:
6362         new funs for use w/structured errors.
6363
6364         * event-Xt.c:
6365         * event-Xt.c (x_to_emacs_keysym):
6366         * event-Xt.c (describe_event):
6367         * event-Xt.c (emacs_Xt_event_handler):
6368         * event-Xt.c (vars_of_event_Xt):
6369         * event-msw.c:
6370         * event-msw.c (mswindows_wnd_proc):
6371         * event-msw.c (vars_of_event_mswindows):
6372         rename {x,mswindows}-debug-events to debug-{}-events for
6373         consistency with other debug-foo variables.
6374
6375         * event-stream.c:
6376         document next-event more clearly.
6377
6378         * fileio.c (Ffile_name_directory):
6379         * fileio.c (Ffile_name_nondirectory):
6380         * fileio.c (Funhandled_file_name_directory):
6381         * fileio.c (file_name_as_directory):
6382         * fileio.c (Ffile_name_as_directory):
6383         * fileio.c (directory_file_name):
6384         * fileio.c (Fdirectory_file_name):
6385         * fileio.c (Fmake_temp_name):
6386         * fileio.c (Ffile_truename):
6387         * fileio.c (Fsubstitute_in_file_name):
6388         * fileio.c (expand_and_dir_to_file):
6389         * fileio.c (barf_or_query_if_file_exists):
6390         * fileio.c (check_executable):
6391         * fileio.c (Ffile_exists_p):
6392         * fileio.c (Ffile_writable_p):
6393         * fileio.c (Ffile_directory_p):
6394         * fileio.c (Ffile_regular_p):
6395         * fileio.c (Ffile_modes):
6396         * fileio.c (Ffile_newer_than_file_p):
6397         * fileio.c (Fverify_visited_file_modtime):
6398         * fileio.c (Fset_visited_file_modtime):
6399         * fileio.c (auto_save_1):
6400         (1). (2).
6401         fix up gcpro's.
6402
6403         * frame-msw.c:
6404         * frame-msw.c (mswindows_init_frame_1):
6405         * frame-msw.c (mswindows_enable_frame):
6406         * frame-msw.c (error_frame_unsizable):
6407         * frame-msw.c (msprinter_init_frame_1):
6408         * frame-msw.c (msprinter_init_frame_3):
6409         * frame-msw.c (console_type_create_frame_mswindows):
6410         (2).
6411         implement new enable/disable frame methods.
6412
6413         * frame-x.c:
6414         * frame-x.c (x_enable_frame):
6415         * frame-x.c (console_type_create_frame_x):
6416         implement new enable/disable frame methods.
6417
6418         * frame.c:
6419         * frame.c (Fdisable_frame):
6420         * frame.c (syms_of_frame):
6421         * frame.h (struct frame):
6422         implement new enable/disable frame methods/functions.
6423
6424         * general-slots.h:
6425         add initial-focus.
6426
6427         * glyphs-msw.c (mswindows_widget_instantiate):
6428         comment that initial-focus should be implemented.
6429
6430         * glyphs-widget.c:
6431         * glyphs-widget.c (check_valid_instantiator):
6432         * glyphs-widget.c (check_valid_orientation):
6433         * glyphs-widget.c (check_valid_tab_orientation):
6434         * glyphs-widget.c (check_valid_justification):
6435         * glyphs-widget.c (check_valid_border):
6436         * glyphs-widget.c (check_valid_callback):
6437         * glyphs-widget.c (check_valid_int_or_function):
6438         * glyphs-widget.c (check_valid_string_or_vector):
6439         * glyphs-widget.c (check_valid_item_list_1):
6440         * glyphs-widget.c (widget_validate):
6441         * glyphs-widget.c (combo_box_validate):
6442         * glyphs-widget.c (widget_instantiate):
6443         * glyphs-widget.c (syms_of_glyphs_widget):
6444         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6445         * glyphs-widget.c (image_instantiator_combo_box):
6446         * glyphs-widget.c (image_instantiator_scrollbar):
6447         * glyphs-widget.c (image_instantiator_tab_control):
6448         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6449         (2).
6450         support (unimplemented) keyword initial-focus.
6451         reindent long macros.
6452
6453         * glyphs-x.c (x_redisplay_widget):
6454         * glyphs-x.c (x_button_instantiate):
6455         * glyphs-x.c (x_button_redisplay):
6456         * glyphs-x.c (x_progress_gauge_instantiate):
6457         * glyphs-x.c (x_edit_field_instantiate):
6458         * glyphs-x.c (x_combo_box_instantiate):
6459         * glyphs-x.c (x_tab_control_instantiate):
6460         * glyphs-x.c (x_label_instantiate):
6461         * gui-x.c:
6462         * gui-x.c (button_item_to_widget_value):
6463         * gui-x.c (gui_items_to_widget_values_1):
6464         * gui-x.c (gui_item_children_to_widget_values):
6465         * gui-x.c (gui_items_to_widget_values):
6466         * gui-x.h:
6467         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6468         add new flag to gui-parsing routines to indicate whether
6469         accelerator specs should be supported.
6470
6471         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6472
6473         * glyphs.h (struct Lisp_Image_Instance):
6474         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6475         add initial-focus flag.
6476
6477         * gui.c:
6478         * gui.c (syms_of_gui):
6479         * gui.c (vars_of_gui):
6480         clean up menu-no-selection-hook.
6481
6482         * gui.h:
6483         support delete-dialog-box-hook.
6484
6485         * lread.c (Fload_internal):
6486         * lread.c (locate_file_in_directory_mapper):
6487         (1).
6488
6489         * lrecord.h:
6490         * lrecord.h (struct toolbar_button):
6491         * lrecord.h (syms_of_toolbar):
6492         document how to create a new object.
6493
6494         * menubar-msw.c (mswindows_char_is_accelerator):
6495         may be called on frames w/o menus.
6496
6497         * menubar.c (vars_of_menubar):
6498         clean up :filter docs.
6499
6500         * nt.c (readdir):
6501         * ntproc.c:
6502         (1).
6503
6504         * process-nt.c:
6505         * process-nt.c (validate_signal_number):
6506         * process-nt.c (signal_cannot_launch):
6507         * process-nt.c (nt_create_process):
6508         * process-nt.c (nt_send_process):
6509         * process-nt.c (nt_kill_child_process):
6510         * process-nt.c (nt_open_network_stream):
6511         * process-nt.c (syms_of_process_nt):
6512         (2).
6513         delete quote-handling.  call new lisp code that does it better.
6514
6515         * process-unix.c (connect_to_file_descriptor):
6516         * process-unix.c (allocate_pty):
6517         * process-unix.c (unix_send_process):
6518         * process-unix.c (unix_kill_child_process):
6519         * process-unix.c (unix_open_network_stream):
6520         * process-unix.c (unix_open_multicast_group):
6521         (1). (2).
6522
6523         * process.c:
6524         * process.c (Fstart_process_internal):
6525         (2).  need to canonicalize process path even if absolute.
6526
6527         * select-msw.c (symbol_to_ms_cf):
6528         * select-msw.c (ms_cf_to_symbol):
6529         * select-msw.c (cf_is_autofreed):
6530         * select-msw.c (mswindows_destroy_selection):
6531         * select.c:
6532         * select.c (syms_of_select):
6533         * select.h:
6534         support dibv5, fix bugs. (from Mike Alexander)
6535
6536         * select.c (Fget_selection_internal):
6537         * select.c (select_convert_out):
6538
6539         * sysdep.c:
6540         * sysdep.c (xemacs_stat):
6541         renamed.
6542
6543         * sysdep.c (mkdir):
6544         * sysdep.c (rmdir):
6545         but keep original stat() here because we provide encapsulation
6546         around these funs.
6547
6548         * sysfile.h:
6549         * sysfile.h (fstat):
6550         remove stat garbage.
6551
6552         * syswindows.h:
6553         fix X/MSW conflict.
6554         don't include tchar.h.  it's inappropriate because it makes
6555         compile-time distinctions when we want runtime distinctions.
6556         (we provide our own tchar replacements)
6557
6558         * toolbar.c:
6559         use default object printer for toolbar-button.
6560
6561         * unexcw.c:
6562         make sure we don't encapsulate.
6563
6564         * window.c (vars_of_window):
6565         emphasize that temp-buffer-show-hook is obsolete.
6566
6567 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6568
6569         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6570         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6571
6572         * events.c (Fevent_timestamp_lessp):
6573         Not 64-bit clean.  Use EMACS_INT, not int.
6574
6575 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6576
6577         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6578         unsigned int and changed the last enum to
6579         lrecord_type_last_built_in_type.
6580         (lrecord_implementations_table): changed prototype to know how
6581         long the array is supposed to be.
6582         (lrecord_type_count): new unsigned int to keep track of the
6583         current number of lisp lrecord types.
6584         (DEFINE_EXTERNAL_LRECORD):
6585         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6586         dynamic-modules to declare new lisp types. They are the same
6587         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6588         int for each new type, and increment lrecord_type_count by 1.
6589
6590         * alloc.c (lrecord_implementations_table): Changed to reference
6591         lrecord_type_last_built_in_type for the size of the array.
6592         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6593
6594 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6595
6596         * glyphs.h (check_valid_item_list): Renamed from
6597         check_valid_item_list_1.
6598
6599 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6600
6601         * select.c (Qselect_coerce): New.
6602         * select.c (Vselection_coercion_alist): New.
6603         * select.c (syms_of_select): Declare.
6604         * select.c (get-selection-internal): Use it.
6605         Use the new select-coerce functionality.
6606
6607         * select.c (select_coerce): New.
6608         * select.h (select_coerce): Declare.
6609         New function to coerce one type of data into another.
6610
6611 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6612
6613         * callproc.c (Fcall_process_internal):
6614         (Fcall_process_internal):
6615         * process-unix.c (unix_create_process):
6616         Save and restore the value of errno, so that error messages are accurate.
6617
6618 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6619
6620         * elhash.c (print_hash_table):
6621         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6622         Prettify docstrings and indentation.
6623
6624 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6625
6626         * window.c (Fwindow_pixel_edges): Subtract frame border and
6627         gutter size.
6628
6629 2000-07-31  Andy Piper  <andy@xemacs.org>
6630
6631         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6632         will acknowledge the change.
6633
6634         * glyphs.h: declare tab_control_order_only_changed.
6635
6636         * glyphs-x.c (x_tab_control_redisplay): use
6637         tab_control_order_only_changed.
6638
6639         * glyphs-widget.c (tab_control_order_only_changed): new function.
6640
6641         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6642         tab_control_order_only_changed.
6643
6644         * gui.c (gui_item_equal_sans_selected): new function.
6645         (gui_item_equal): use it.
6646
6647         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6648         :properties in favor of :items..
6649
6650         * glyphs-widget.c (check_valid_item_list): rename from
6651         check_valid_item_list_1.
6652         (check_valid_item_list_1): renamed.
6653         (combo_box_validate): deprecate :properties in favor of :items.
6654         (widget_instantiate): ditto.
6655         (tab_control_update): ditto.
6656         (image_instantiator_combo_box): ditto.
6657         (image_instantiator_tree_view): ditto.
6658         (image_instantiator_tab_control): ditto.
6659         (layout_post_instantiate): remove dead code.
6660
6661         * print.c (debug_print_no_newline): only write to debugger if in
6662         WIN32_NATIVE.
6663
6664         * elhash.c (Fmake_hash_table): update doc string.
6665
6666         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6667         messages whilst in GC. This at least stops XEmacs crashing but has
6668         the potential for wierd behaviour.
6669
6670 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6671
6672         * config.h.in:
6673         Make existence of s&m files optional.
6674
6675         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6676         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6677         * s/gnu.h: Remove HAVE_GETLOADAVG.
6678         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6679         * s/sol2.h: Remove HAVE_GETLOADAVG.
6680         * lisp.h: Remove getloadavg() declaration.
6681         * fns.c:
6682         Include <sys/loadavg.h> if available.
6683         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6684         * config.h.in:  Group together getloadavg()-related macros.
6685         Use only configure-time tests to detect getloadavg().
6686
6687 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6688
6689         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6690
6691 2000-07-25  Andy Piper  <andy@xemacs.org>
6692
6693         * syswindows.h: add tchar.h for native builds.
6694
6695         * frame.c (syms_of_frame): remove set-glyph-image.
6696
6697         * general-slots.h: add Qset_glyph_image.
6698
6699         * glyphs-widget.c (layout_update): add domain arg to
6700         set-glyph-image.
6701         (syms_of_glyphs_widget): remove set-glyph-image.
6702
6703 2000-07-23  Ben Wing  <ben@xemacs.org>
6704
6705         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6706         Vpopup_frame_list.
6707
6708 2000-07-22  Andy Piper  <andy@xemacs.org>
6709
6710         * symsinit.h: add syms_of_win32().
6711
6712         * gui-msw.c (syms_of_gui_mswindows): remove
6713         Fmswindows_shell_execute.
6714         (Fmswindows_shell_execute): moved to win32.c.
6715
6716         * emacs.c (main_1): add syms_of_win32 ().
6717
6718         * win32.c (init_potentially_nonexistent_functions): rewrite in
6719         compiler-friendly terms.
6720         (Fmswindows_shell_execute): move here from gui-msw.c.
6721         (syms_of_win32): new.
6722
6723         * device-msw.c (Fmswindows_printer_list): clean up args to
6724         EnumPrinters.
6725         Don't include tchar under cygwin or mingw.
6726         (msprinter_default_printer): make cygwin-friendly.
6727
6728 2000-07-21  Andy Piper  <andy@xemacs.org>
6729
6730         * glyphs-widget.c (image_instantiator_tree_view): use tab
6731         control's update function.
6732         (layout_property): new function. Retrieve items.
6733
6734         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6735         function. Re-populate the tree view from the pending items.
6736
6737         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6738         is designated the parent if the domain is an image instance. This
6739         is needed so that dirtiness can be cascade up the hierarchy and
6740         thus for layout children to be redisplayed correctly.
6741         (allocate_image_instance): rename glyph -> parent.
6742
6743         * redisplay.h: change redisplay_output_layout signature.
6744
6745         * redisplay-msw.c (mswindows_output_display_block): use domain
6746         arg.
6747
6748         * redisplay-x.c (x_output_display_block): use domain arg.
6749
6750 2000-07-10  Andy Piper  <andy@xemacs.org>
6751
6752         * window.c (Fset_window_configuration): add comment.
6753
6754         * redisplay-output.c (compare_runes):
6755         (redisplay_output_subwindow): redisplay rather than update subwindow.
6756         (redisplay_output_layout): ditto.
6757
6758         * redisplay-msw.c (mswindows_frame_output_end):
6759         (mswindows_frame_output_end): make defer window pos optional.
6760
6761         * lisp.h: add Flast.
6762
6763         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6764         normalize method. Change update method to be for changed
6765         instantiators. Add redisplay method. Change signature of layout
6766         method.
6767         (struct Lisp_Image_Instance): add instantiator.
6768         (IMAGE_INSTANCE_INSTANTIATOR): new.
6769         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6770         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6771         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6772
6773         * glyphs.c:
6774         (find_instantiator_differences): new function.
6775         (Fset_instantiator_property): new convenience function.
6776         (check_image_instance_structure): strictly check for vector
6777         instantiators.
6778         (normalize_image_instantiator): make non-static.
6779         (instantiate_image_instantiator): pass on dest_mask and use new
6780         signatures for image_instance_layout and friends.
6781         (mark_image_instance): mark the instantiator. Mark the subwindow
6782         face not the widget face.
6783         (image_instance_equal): add instantiator.
6784         (image_instance_hash): ditto.
6785         (allocate_image_instance): ditto.
6786         (Fset_image_instance_property): removed.
6787         (Fimage_instance_file_name): ditto.
6788         (Fcolorize_image_instance): ditto.
6789         (image_instance_layout): add offsets to be set.
6790         (update_image_instance): new function. update an image instance
6791         from its changed instantiator.
6792         (inherit_normalize): add dest_mask.
6793         (xbm_normalize): ditto.
6794         (xface_normalize): ditto.
6795         (xpm_normalize): ditto.
6796         (text_update): set_property -> update.
6797         (image_instantiate): use the glyph identity as a hash key, not the
6798         instantiator.
6799         (glyph_width): use new image_instance_layout signature.
6800         (glyph_ascent): ditto.
6801         (glyph_descent): ditto.
6802         (glyph_height): ditto.
6803         (glyph_query_geometry): ressurrect.
6804         (glyph_layout): ditto.
6805         (redisplay_subwindow): update -> redisplay.
6806         (syms_of_glyphs): add Fset_instantiator_property.
6807         (image_instantiator_format_create): set_property -> update.
6808
6809         * glyphs-x.c:
6810         (autodetect_normalize): add dest_maks to signature.
6811         (x_redisplay_subwindow): update -> redisplay.
6812         (x_redisplay_widget): ditto.
6813         (x_button_redisplay): ditto.
6814         (x_progress_gauge_redisplay): ditto.
6815         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6816         stacking order.
6817         (console_type_create_glyphs_x): update -> redisplay.
6818         (image_instantiator_format_create_glyphs_x): ditto.
6819
6820         * glyphs-widget.c:
6821         (check_valid_instantiator): disallow glyphs in the instantiator,
6822         they must now be vectors.
6823         (check_valid_instantiator_list): ditto.
6824         (glyph_instantiator_to_glyph): use internal symbol rather than
6825         intern.
6826         (widget_update): renamed from widget_set_property. Call cascaded
6827         update methods.
6828         (redisplay_widget): renamed from update_widget.
6829         (widget_layout): image_instance_layout now takes position as well
6830         as size.
6831         (widget_normalize): ditto.
6832         (widget_instantiate): ditto.
6833         (tab_control_query_geometry) ditto.:
6834         (tab_control_update): renamed from tab_control_set_property.
6835         (progress_gauge_update): set_property -> update.
6836         (layout_normalize): rewrite so that child instantiators are
6837         normalized also.
6838         (layout_update): new function. Create glyphs from the normalized
6839         children and cope with any other layout keywords. We do not
6840         instantiate children here that will be take care of by
6841         redisplay_output_layout.
6842         (layout_instantiate): call layout_update and not much else.
6843         (layout_post_instantiate): not sure whether this is needed
6844         anymore.
6845         (layout_query_geometry): query glyph geometry rather than
6846         image_instance geometry.
6847         (layout_layout): set offsets from pass in parameters. Use glyph
6848         geometry and layout functions rather than image instance ones.
6849         (native_layout_layout): ditto.
6850         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6851         (image_instantiator_widget): set_property -> update.
6852         (image_instantiator_buttons): ditto.
6853         (image_instantiator_progress_guage): ditto.
6854         (image_instantiator_tab_control): ditto.
6855         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6856         (image_instantiator_layout): add update method.
6857
6858         * glyphs-msw.c (bmp_normalize):
6859         (mswindows_resource_normalize): add dest_mask so that it can be
6860         proprogated by layout_normalize.
6861         (begin_defer_window_pos): make optional because it may not be the
6862         right thing to do and it introduces differences with X.
6863         (mswindows_unmap_subwindow): ditto.
6864         (mswindows_map_subwindow): ditto.
6865         (mswindows_redisplay_subwindow): renamed from
6866         mswindows_update_subwindow.
6867         (mswindows_redisplay_widget): ditto.
6868         (mswindows_button_redisplay): renamed from
6869         mswindows_button_update. Update is now what the instantiation
6870         function does for a changed instantiator.
6871         (mswindows_progress_gauge_instantiate): set the progress value
6872         here if appropriate.
6873         (mswindows_tab_control_redisplay): cope with re-ordering of the
6874         members of the tab widget by simply selecting the new top
6875         widget. This makes things appear ok if you click on a tab.
6876         (mswindows_combo_box_instantiate): image_instance_layout now takes
6877         position as well as size.
6878         (mswindows_progress_gauge_redisplay): renamed from
6879         mswindows_progress_gauge_update.
6880         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6881         (image_instantiator_format_create_glyphs_mswindows): ditto.
6882
6883         * glyphs-eimage.c (jpeg_normalize):
6884         (gif_normalize):
6885         (png_normalize):
6886         (tiff_normalize): add dest_mask so that it can be proprogated by
6887         layout_normalize.
6888
6889         * elhash.c:
6890         (print_hash_table):
6891         (hash_table_weakness_validate):
6892         (decode_hash_table_weakness):
6893         (Fhash_table_weakness):
6894         (Fhash_table_type):
6895         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6896
6897         * console.h (struct console_methods): move update_* to
6898         redisplay_*.
6899
6900 2000-07-20  Ben Wing  <ben@xemacs.org>
6901
6902         * *.[ch] (XSETOBJ): remove unused middle argument.
6903         lisp-disunion.h: correct wrap_object() to one argument.
6904
6905 2000-07-15  Ben Wing  <ben@xemacs.org>
6906
6907         * s/cygwin32.h:
6908         * s/cygwin32.h (CYGWIN_CONV_PATH):
6909         Add missing logb prototype for v1.1.
6910         Use post-b20 names and alias to pre-b20 names when pre-b20.
6911
6912         * s/windowsnt.h: [5].
6913
6914 2000-07-15  Ben Wing  <ben@xemacs.org>
6915
6916         * Makefile.in.in (x_objs):
6917         * Makefile.in.in (sheap_objs):
6918         * Makefile.in.in (objs):
6919         added win32.o, cosmetic cleanups.
6920
6921         * alloc.c (Fmake_byte_code):
6922         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6923         etc. macros which declare their own args now.
6924
6925         * alloc.c (syms_of_alloc):
6926         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6927
6928         * buffer.c:
6929         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6930
6931         * buffer.c (Fget_file_buffer):
6932         Fixed GCPRO problem.
6933
6934         * buffer.c (get_truename_buffer):
6935         Fixed comment about GC checking.
6936
6937         * buffer.c (syms_of_buffer):
6938         Undeclared those dedicated frame funs.
6939         [2].
6940
6941         * buffer.h:
6942         Define convenience macros for internal/external conversions.
6943         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6944         and Qenvironment_variable_encoding for cleaner code.
6945
6946         * bufslots.h:
6947         Remove dedicated-frame; in lisp.
6948
6949         * bytecode.c (funcall_compiled_function):
6950         [1].
6951
6952         * bytecode.c (syms_of_bytecode):
6953         [2].
6954
6955         * console-msw.c:
6956         * console-msw.c (mswindows_show_console): Rewrote.
6957
6958         * console-msw.c (Fmswindows_debugging_output): New.
6959         Sends to OutputDebugString (special MSWin debugger interface).
6960
6961         * console-msw.c (Fmswindows_message_box):
6962         Fixed stupid bugs so it works when called from kill-emacs.
6963
6964         * console-msw.c (syms_of_console_mswindows):
6965         Declare Fmswindows_debugging_output.
6966
6967         * console-msw.h:
6968         New MSWin prototypes.
6969
6970         * console-msw.h (struct mswindows_frame):
6971         New entry last-click-mods for improved button-modifier support.
6972
6973         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6974         New struct entry `popup' with corresponding accessor.
6975
6976         * console-x.c:
6977         * console-x.c (split_up_display_spec):
6978         * console-x.c (get_display_arg_connection):
6979         * console-x.c (x_semi_canonicalize_console_connection):
6980         * console-x.c (x_canonicalize_device_connection):
6981         [[[6]]]: Change char to more specific type.
6982         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6983
6984         * console-x.c (x_semi_canonicalize_console_connection):
6985         * console-x.c (x_canonicalize_device_connection):
6986         [[[9]]]: Fix up error signalling to use new structured error system.
6987
6988         * console-x.h:
6989         [[[4]]]: Define codesys aliases:
6990         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6991         Qx_color_name_encoding, Qx_display_name_encoding.
6992
6993         * console.h (struct console_methods):
6994         New method make_dialog_box_internal supersedes older
6995         popup_dialog_box method.
6996
6997         * data.c:
6998         Define many new errors, part of new structured errors.
6999
7000         * data.c (init_errors_once_early):
7001         * data.c (syms_of_data):
7002         [2].
7003
7004         * device-msw.c (mswindows_init_device):
7005         [[[5]]]: Cleanup to support NT 3.51.
7006
7007         * device-msw.c (decode_devmode): Cleanup.
7008
7009         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7010         * device-msw.c (mswindows_handle_print_dialog_box):
7011         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7012         * device-msw.c (syms_of_device_mswindows):
7013         Delete the dialog box primitives recently introduced by Kirill and
7014         instead interface to general dialog box interface.
7015
7016         * device-x.c:
7017         * device-x.c (compute_x_app_name):
7018         * device-x.c (x_init_device):
7019         * device-x.c (Fx_valid_keysym_name_p):
7020         * device-x.c (Fx_set_font_path):
7021         [6].
7022         [7].
7023
7024         * device.h (wrap_device): New.
7025         First of its kind; meant to replace XSETDEVICE.
7026
7027         * dialog-msw.c: Many file-dialog symbols.
7028
7029         * dialog-msw.c (mswindows_register_popup_frame): New.
7030         * dialog-msw.c (mswindows_is_dialog_msg): New.
7031         For supporting kbd traversal in dialog boxes.
7032
7033         * dialog-msw.c (dialog_proc):
7034         Support hitting ESC in dialogs.
7035
7036         * dialog-msw.c (struct):
7037         Common dialog box errors.
7038
7039         * dialog-msw.c (handle_file_dialog_box): New.
7040         Add file dialog code.
7041
7042         * dialog-msw.c (handle_question_dialog_box):
7043         Redo existing code to support new question dialog syntax.
7044
7045         * dialog-msw.c (console_type_create_dialog_mswindows):
7046         We support new dialog console method.
7047
7048         * dialog-msw.c (syms_of_dialog_mswindows):
7049         * dialog-msw.c (vars_of_dialog_mswindows):
7050         New file dialog symbols, vars.
7051
7052         * dialog-x.c:
7053         * dialog-x.c (maybe_run_dbox_text_callback):
7054         * dialog-x.c (dbox_descriptor_to_widget_value):
7055         * dialog-x.c (x_make_dialog_box_internal):
7056         * dialog-x.c (console_type_create_dialog_x):
7057         Mule-ize entire file.
7058         Redo to support question dialog syntax.
7059         [6].
7060
7061         * dialog.c:
7062         * dialog.c (Fmake_dialog_box_internal):
7063         * dialog.c (syms_of_dialog):
7064         Kill old popup-dialog-box, replace with new primitive.
7065         Just call device method or signal error.
7066
7067         * eldap.c (Fldap_open):
7068         * eldap.c (Fldap_search_basic):
7069         * eldap.c (Fldap_add):
7070         * eldap.c (Fldap_modify):
7071         [1].
7072         [7].
7073
7074         * emacs.c:
7075         * emacs.c (make_arg_list_1):
7076         * emacs.c (make_arg_list):
7077         Mule-ize call to dll_init().
7078         [6].
7079         [8].
7080
7081         * emacs.c (make_argc_argv):
7082         * emacs.c (free_argc_argv):
7083         * emacs.c (init_cmdargs):
7084         * emacs.c (main_1):
7085         * emacs.c (Fkill_emacs):
7086         * emacs.c (Fdump_emacs):
7087         Update comments about what can be used in syms_* etc.
7088         Call init_win32() when necessary.
7089         Fix up MS Win dialog box in kill-buffer to actually work right.
7090         [7].
7091
7092         * eval.c:
7093         * eval.c (For):
7094         * eval.c (Fand):
7095         * eval.c (Fprogn):
7096         * eval.c (Fprog1):
7097         * eval.c (Fprog2):
7098         * eval.c (FletX):
7099         * eval.c (Flet):
7100         * eval.c (condition_case_3):
7101         * eval.c (Feval):
7102         * eval.c (function_argcount):
7103         * eval.c (funcall_lambda):
7104         [1].
7105
7106         * eval.c (type_error): New.
7107         * eval.c (maybe_type_error): New.
7108         * eval.c (continuable_type_error): New.
7109         * eval.c (maybe_continuable_type_error): New.
7110         * eval.c (type_error_with_frob): New.
7111         * eval.c (maybe_type_error_with_frob): New.
7112         * eval.c (continuable_type_error_with_frob): New.
7113         * eval.c (maybe_continuable_type_error_with_frob): New.
7114         New functions for use with structured errors.
7115
7116         * event-Xt.c:
7117         * event-Xt.c (x_event_to_emacs_event):
7118         Buttons are now modifiers too.
7119
7120         * event-Xt.c (emacs_Xt_current_event_timestamp):
7121         Implement new event method.
7122         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7123
7124         * event-msw.c:
7125         * event-msw.c (ntpipe_shove_writer): [5].
7126         * event-msw.c (mswindows_enqueue_mouse_button_event):
7127         * event-msw.c (mswindows_drain_windows_queue):
7128         * event-msw.c (mswindows_wnd_proc): [7].
7129         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7130         * event-msw.c (mswindows_modifier_state):
7131         Throughout: support new button modifiers.
7132
7133         * event-msw.c (emacs_mswindows_current_event_timestamp):
7134         Implement new event method.
7135         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7136
7137         * event-stream.c:
7138         * event-stream.c (event_stream_current_event_timestamp): New.
7139         * event-stream.c (maybe_kbd_translate): New functionality.
7140         * event-stream.c (vars_of_event_stream):
7141         Document new kbd-translate-table functionality.
7142
7143         * event-stream.c (Fcurrent_event_timestamp): New.
7144         New primitive for use in fabricated events.
7145         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7146
7147         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7148
7149         * events.c:
7150         * events.c (Fmake_event):
7151         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7152         [1].
7153         [9].
7154
7155         * events.c (format_event_object): fix gcc warnings.
7156
7157         * events.c (Fevent_timestamp): Document new primitives.
7158
7159         * events.c (TIMESTAMP_HALFSPACE): New.
7160
7161         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7162         comparing timestamps correctly (half-space algorithm).
7163
7164         * events.c (Fevent_modifier_bits): Doc fix.
7165
7166         * events.c (Fevent_modifiers): Major doc addition.
7167         * events.c (event_x_y_pixel_internal): Typo fix.
7168         * events.c (syms_of_events): Declare new primitives.
7169
7170         * events.h:
7171         Update long comment for button modifiers, timestamps.
7172
7173         * events.h (struct event_stream):
7174         New current_event_timestamp method.
7175
7176         * extents.c:
7177         * extents.c (extent_in_region_p):
7178         * extents.c (decode_extent):
7179         * extents.c (Fset_extent_parent):
7180         * extents.c (decode_map_extents_flags):
7181         Fix gcc warnings.
7182         [9].
7183
7184         * extents.c (struct extent_at_arg):
7185         * extents.c (decode_extent_at_flag):
7186         * extents.c (extent_at_mapper):
7187         * extents.c (extent_at_bytind):
7188         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7189         * extents.c (Fextents_at): New primitive. [9].
7190         * extents.c (symbol_to_glyph_layout): [9].
7191         Support new primitive `extents-at'.
7192
7193
7194         * extents.c (get_text_property_bytind):
7195         extent_at_bytind has another arg.
7196         [9].
7197
7198         * extents.c (syms_of_extents): New primitive.
7199
7200         * file-coding.c (Fmake_coding_system): [1].
7201         * file-coding.c (subsidiary_coding_system): fix gcc warning
7202         * file-coding.c (syms_of_file_coding): [2].
7203
7204         * fileio.c (Fexpand_file_name):
7205         * fileio.c (Fsysnetunam):
7206         * fileio.c (Ffile_exists_p):
7207         * fileio.c (Ffile_executable_p):
7208         * fileio.c (Fverify_visited_file_modtime):
7209         Clean up GCPROing.
7210
7211         * fileio.c (syms_of_fileio): [2].
7212
7213         * filelock.c (lock_file_1):
7214         * filelock.c (current_lock_owner):
7215         * filelock.c (lock_if_free):
7216         * filelock.c (lock_file):
7217         * filelock.c (unlock_file):
7218         Clean up GCPROing.
7219
7220         * fns.c (concat): Fix gcc warning.
7221
7222         * fns.c (Fmember):
7223         * fns.c (Fold_member):
7224         * fns.c (Fmemq):
7225         * fns.c (Fold_memq):
7226         * fns.c (memq_no_quit):
7227         * fns.c (Fassoc):
7228         * fns.c (Fold_assoc):
7229         * fns.c (Fassq):
7230         * fns.c (Fold_assq):
7231         * fns.c (assq_no_quit):
7232         * fns.c (Frassoc):
7233         * fns.c (Fold_rassoc):
7234         * fns.c (Frassq):
7235         * fns.c (Fold_rassq):
7236         * fns.c (rassq_no_quit):
7237         * fns.c (Fdelete):
7238         * fns.c (Fold_delete):
7239         * fns.c (Fdelq):
7240         * fns.c (Fold_delq):
7241         * fns.c (delq_no_quit):
7242         * fns.c (Fremassoc):
7243         * fns.c (Fremassq):
7244         * fns.c (remassq_no_quit):
7245         * fns.c (Fremrassoc):
7246         * fns.c (Fremrassq):
7247         * fns.c (remrassq_no_quit):
7248         * fns.c (Freverse):
7249         * fns.c (mapcar1):
7250         [1].
7251
7252         * frame-msw.c (mswindows_init_frame_1):
7253         * frame-msw.c (mswindows_delete_frame):
7254         Register popups with dialog code so keyboard traversing works.
7255
7256         * frame-tty.c (tty_raise_frame_no_select): [1].
7257
7258         * frame-x.c:
7259         * frame-x.c (x_set_frame_text_value):
7260         * frame-x.c (x_set_frame_properties):
7261         * frame-x.c (x_create_widgets):
7262         [7].
7263
7264         * frame.c:
7265         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7266
7267         * frame.h (wrap_frame): New.
7268         Macro like wrap_device.
7269
7270         * general.c:
7271         * general.c (SYMBOL):
7272         * general.c (syms_of_general):
7273         Major reorg.  This is now just a wrapper and symbols themselves
7274         are listed in general-slots.h.
7275
7276         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7277         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7278
7279         * glyphs-msw.c (mswindows_native_layout_instantiate):
7280         Add DS_CONTROL so keyboard traversal will work.
7281
7282         * glyphs-widget.c:
7283         * glyphs-widget.c (syms_of_glyphs_widget):
7284         Move some symbols to general-slots.h.
7285
7286         * glyphs-x.c:
7287         * glyphs-x.c (xbm_instantiate_1):
7288         * glyphs-x.c (x_xbm_instantiate):
7289         * glyphs-x.c (x_xface_instantiate):
7290         * glyphs-x.c (autodetect_instantiate):
7291         * glyphs-x.c (cursor_font_instantiate):
7292         * glyphs-x.c (x_update_widget):
7293         * glyphs-x.c (x_widget_instantiate):
7294         * glyphs.c (bitmap_to_lisp_data):
7295         * glyphs.c (pixmap_to_lisp_data):
7296         [7].
7297
7298         * glyphs.c (syms_of_glyphs):
7299         [2].
7300
7301         * gui-x.c:
7302         * gui-x.c (print_widget_value):
7303         * gui-x.c (menu_separator_style_and_to_external):
7304         * gui-x.c (add_accel_and_to_external):
7305         * gui-x.c (button_item_to_widget_value):
7306         * gui-x.c (gui_items_to_widget_values_1):
7307         * gui-x.c (gui_items_to_widget_values):
7308         * gui-x.c (syms_of_gui_x):
7309         * gui-x.c (vars_of_gui_x):
7310         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7311         [9].
7312
7313         * gui-x.h:
7314         Muleize, prototype changes matching gui-x.c.
7315
7316         * gui.c:
7317         * gui.c (separator_string_p):
7318         * gui.c (gui_item_add_keyval_pair):
7319         * gui.c (make_gui_item_from_keywords_internal):
7320         * gui.c (signal_too_long_error):
7321         * gui.c (parse_gui_item_tree_item):
7322         * gui.c (syms_of_gui):
7323         * gui.c (vars_of_gui):
7324         * gui.h:
7325         menu-no-selection-hook moved here (used by MSWin).
7326         Move some symbols to general-slots.h.
7327         [6].
7328         [9].
7329
7330         * insdel.c (get_buffer_pos_char):
7331         * insdel.c (get_buffer_range_char):
7332         Add GC comments.
7333
7334         * keymap.c (keymap_lookup_directly):
7335         * keymap.c (keymap_store):
7336         * keymap.c (ensure_meta_prefix_char_keymapp):
7337         * keymap.c (describe_map):
7338         * keymap.h:
7339         Support new button modifiers.
7340
7341         * lisp-disunion.h (wrap_object):
7342         * lisp-disunion.h (XSETOBJ):
7343         Rename make_obj to wrap_object.
7344
7345         * lisp-union.h:
7346         * lisp-union.h (make_int):
7347         * lisp-union.h (make_char):
7348         Support wrap_object.
7349
7350         * lisp.h:
7351         * lisp.h (LIST_LOOP):
7352         * lisp.h (EXTERNAL_LIST_LOOP):
7353         * lisp.h (LIST_LOOP_2):
7354         * lisp.h (EXTERNAL_LIST_LOOP_1):
7355         * lisp.h (EXTERNAL_LIST_LOOP_2):
7356         * lisp.h (EXTERNAL_LIST_LOOP_3):
7357         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7358         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7359         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7360         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7361         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7362         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7363         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7364         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7365         * lisp.h (struct Lisp_Symbol):
7366         * lisp.h (maybe_continuable_error_with_frob):
7367         Fix up section comments.
7368         Add new types for char to indicate usage.
7369         Delete symbols auto-generated from general-slots.h.
7370         Add prototypes for structured error functions.
7371         Add long comments describing looping macros and change interface
7372         so that lvalues are automatically declared.
7373         Add NO_DECLARE macro in case callers want to declare lvalues
7374         themselves.
7375
7376         * lread.c (read_syntax_error):
7377         * lread.c (continuable_read_syntax_error):
7378         * lread.c (read_structure):
7379         * lread.c (sequence_reader):
7380         * lread.c (read_list_conser):
7381         * lread.c (read_compiled_function):
7382         Rename syntax_error and continuable_syntax_error to avoid clash
7383         with same-named structured error functions.
7384
7385         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7386         * menubar-msw.c (populate_menu_add_item):
7387         * menubar-msw.c (populate_or_checksum_helper):
7388         [5].
7389         [9].
7390
7391         * menubar-x.c:
7392         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7393         Mule-ize whole file.
7394
7395         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7396
7397         * mule-charset.c (Fmake_charset):
7398         * mule-wnnfns.c (Fwnn_set_param):
7399         [1].
7400
7401         * ntproc.c (create_child):
7402         * ntproc.c (Fwin32_set_current_locale):
7403         Add comments portending doom.
7404
7405         * objects-msw.c:
7406         * objects-msw.c (old_font_enum_callback_2):
7407         * objects-msw.c (font_enum_callback_1):
7408         * objects-msw.c (mswindows_enumerate_fonts):
7409         [5].
7410
7411         * objects-x.c:
7412         * objects-x.c (allocate_nearest_color):
7413         * objects-x.c (x_parse_nearest_color):
7414         * objects-x.c (x_initialize_color_instance):
7415         * objects-x.c (x_print_color_instance):
7416         * objects-x.c (x_finalize_color_instance):
7417         * objects-x.c (x_valid_color_name_p):
7418         * objects-x.c (x_initialize_font_instance):
7419         * objects-x.c (x_print_font_instance):
7420         * objects-x.c (valid_x_font_name_p):
7421         * objects-x.c (truename_via_FONT_prop):
7422         * objects-x.c (truename_via_random_props):
7423         * objects-x.c (truename_via_XListFonts):
7424         * objects-x.c (x_font_truename):
7425         * objects-x.c (x_font_instance_truename):
7426         * objects-x.c (x_font_instance_properties):
7427         * objects-x.c (x_list_fonts):
7428         * objects-x.c (x_find_charset_font):
7429         Mule-ize entire file.
7430         [7].
7431
7432         * objects-x.h:
7433         Mule-verify.
7434
7435         * print.c:
7436         * print.c (std_handle_out_external):
7437         * print.c (debug_print_no_newline):
7438         * print.c (syms_of_print):
7439         Output to all debugger kinds in debug-print.
7440         Fix console-output code under MSWin to actually work.
7441
7442         * process-nt.c (send_signal):
7443         * process-nt.c (nt_create_process):
7444         Use newer Unicode macros.
7445
7446         * process-unix.c (unix_create_process):
7447         * process-unix.c (unix_canonicalize_host_name):
7448         * process-unix.c (unix_open_network_stream):
7449         [7].
7450
7451         * scrollbar-x.c:
7452         Mule-verify.
7453
7454         * search.c (syms_of_search):
7455         [2].
7456
7457         * select-msw.c (mswindows_destroy_selection):
7458         Use LIST_LOOP_2.
7459
7460         * select-x.c (symbol_to_x_atom):
7461         [7].
7462
7463         * select.c (syms_of_select):
7464         [2].
7465
7466         * sound.c (Fplay_sound_file):
7467         [7].
7468
7469         * specifier.c:
7470         * specifier.c (decode_specifier_type):
7471         * specifier.c (Fvalid_specifier_locale_type_p):
7472         * specifier.c (check_valid_locale_or_locale_type):
7473         * specifier.c (decode_locale):
7474         * specifier.c (decode_locale_type):
7475         * specifier.c (decode_locale_list):
7476         * specifier.c (check_valid_domain):
7477         * specifier.c (decode_specifier_tag_set):
7478         * specifier.c (Fcanonicalize_tag_set):
7479         * specifier.c (Fdefine_specifier_tag):
7480         * specifier.c (Fspecifier_tag_predicate):
7481         * specifier.c (check_valid_inst_list):
7482         * specifier.c (check_valid_spec_list):
7483         * specifier.c (decode_how_to_add_specification):
7484         * specifier.c (check_modifiable_specifier):
7485         * specifier.c (specifier_add_spec):
7486         * specifier.c (boolean_validate):
7487         * specifier.c (display_table_validate):
7488         [9].
7489
7490         * specifier.c (syms_of_specifier):
7491         Move some symbols to general-slots.h.
7492         [2].
7493
7494         * symbols.c:
7495         * symbols.c (Fmapatoms):
7496         * symbols.c (Fapropos_internal):
7497         Add GCPROs.
7498
7499         * symbols.c (set_default_buffer_slot_variable):
7500         * symbols.c (set_default_console_slot_variable):
7501         [1].
7502
7503         * symbols.c (defsymbol_massage_name_1):
7504         * symbols.c (defkeyword_massage_name):
7505         * symbols.c (deferror_1):
7506         * symbols.c (deferror):
7507         * symbols.c (deferror_massage_name_and_message):
7508         * symeval.h:
7509         * symeval.h (DEFSYMBOL):
7510         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7511
7512         * symbols.c (syms_of_symbols):
7513         [2].
7514
7515         * symsinit.h:
7516         * symsinit.h (init_win32): New.
7517         Also new is syms_of_dialog_mswindows.
7518
7519         * syswindows.h:
7520         Add new Unicode macros, missing Cygwin wide-char functions,
7521         convenience conversion macros for Qmswindows_tstr, macros for
7522         encapsulating required MSWin <-> Cygwin filename conversions,
7523         prototype for dynamically-extracted (not in NT 3.51) functions.
7524
7525         * toolbar-x.c:
7526         Mule-verify.
7527
7528         * tooltalk.c (Fadd_tooltalk_message_arg):
7529         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7530         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7531         [7].
7532
7533         * tooltalk.c (syms_of_tooltalk):
7534         [2].
7535
7536         * unexnt.c:
7537         * unexnt.c (unexec):
7538         Fix up headers, declaration of unexec() to be more standard.
7539
7540 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7541
7542         * offix.h: Revert change to guard macros - they're used in offix.c!
7543
7544 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7545
7546         * lisp.h: Defsubred Fdelete.
7547
7548         * console-msw.h:  (msprinter_default_printer): Added.
7549
7550         * console-msw.c (msprinter_canonicalize_console_connection):
7551         (msprinter_canonicalize_device_connection): Added.
7552
7553         * device-msw.c (msprinter_default_printer):
7554         (Fmswingows_get_default_printer):
7555         (signal_enum_priner_error):
7556         (Fmswingows_printer_list): Added.
7557
7558 2000-07-19  Martin Buchholz <martin@xemacs.org>
7559
7560         * XEmacs 21.2.35 is released.
7561
7562 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7563
7564         * select-x.c (x_handle_selection_request):
7565         Text selected in xemacs and pasted into xterm failed to appear.
7566         Spelling fixes and cosmetic changes.
7567
7568 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7569
7570         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7571         XEmacs frame (fix for doubling chars in dialog boxes).
7572
7573 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7574
7575         * select.c (select_convert_in, select_convert_out):
7576         Don't call intern() every time.
7577
7578         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7579         * select.c (vars_of_select): Initialise them.
7580
7581 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7582
7583         * select.c (selection-coercible-types): New.
7584
7585         * select.c (own-selection-internal):
7586         * select.c (get-selection-internal):
7587         MULE bug fix - these should default to COMPOUND_TEXT and not
7588         STRING for MULE. I think.
7589
7590         * select.c (select_convert_out): Use selection-coercible-types
7591         to find types that we can attempt to perform coercions on.
7592
7593 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7594
7595         * mule-wnnfns.c:
7596         * mule-canna.c:
7597         Add coding: cookie to identify encoding.
7598
7599         * mule-canna.c (CANNA_mode_keys): make static.
7600         Use proper prototypes, even for functions of no arguments.
7601         Remove external prototype for Fding().
7602
7603         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7604
7605         * select.c (syms_of_select): Add missing DEFSUBR.
7606
7607 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7608
7609         * select.c (get_selection_internal, own_selection_internal):
7610         Make the type default to STRING, rather than placing a nil type
7611         into Vselection_alist.
7612
7613 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7614
7615         * gpmevent.c (tty_selection_exists_p):
7616         * gpmevent.c (tty_own_selection):
7617         Updated parameter lists.
7618
7619 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7620
7621         * select.h (selection-alist): Removed declaration.
7622
7623         * select.h (get_local_selection):
7624         * select.c (get_local_selection):
7625         Made static.
7626
7627         * select.h (convert_selection): Removed declaration.
7628         * select.c (convert_selection): Removed.
7629         This function belongs in Lisp.
7630
7631         * select.h (select_convert_in): Declare.
7632         * select.h (select_convert_out): Declare.
7633         * select.c (select_convert_in): New.
7634         * select.c (select_convert_out): New.
7635         New conversion functions for other files to call.
7636
7637         * select.h (select_notify_buffer_kill): Declare.
7638         * select.c (select_notify_buffer_kill): New.
7639         New functions that get called from kill-buffer.
7640
7641         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7642         X-specific lisp code.
7643
7644         * select.h: Declare some of the lisp-visible functions for
7645         external use.
7646
7647         * select.c (clean_local_selection_data): Removed. This was
7648         a disgusting function, and previously should have been in
7649         select-x.c in any case. The functionality is now provided
7650         in select-convert-from-integer (select.el).
7651
7652         * select.c (available-selection-types): Fixed stupidity where
7653         INTEGER and ATOM got added twice. Also add STRING when we see an
7654         extent.
7655
7656         * select.c (get-selection-internal): Removed symbol stripping. No
7657         longer causes conversion when data comes from the internal cache.
7658
7659         * select.c (syms_of_select): Added new functions.
7660
7661         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7662         error checking - previously this called abort!
7663
7664         * select-x.c (x_own_selection): Changed comment.
7665
7666         * select-x.c (x_handle_selection_request): Use select_convert_out.
7667         Don't mess with selection-alist; it's an internal variable of select.c.
7668
7669         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7670
7671         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7672         rather than messing with selection-alist.
7673
7674         * select-msw.c (mswindows_get_foreign_selection):
7675         Use TO_INTERNAL_FORMAT rather than hacking.
7676
7677 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7678
7679         * process-unix.c (unix_open_multicast_group):
7680         (unix_open_multicast_group): Remove useless casts.
7681
7682 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7683
7684         * sound.c (Fplay_sound): Fix `unused variable' warning.
7685
7686         * emacs.c (main): Use correct type for _environ on SCO5.
7687
7688 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7689
7690         * console.h (own_selection_method):
7691         * console.h (selection_exists_p_method):
7692         * console.h (available_selection_types_method): New.
7693         * console.h (register_selection_data_type_method): New.
7694         * console.h (selection_data_type_name): New.
7695
7696         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7697         function & alist to track GlobalAlloc()'d handles that need
7698         releasing when the clipboard data gets replaced or emptied.
7699
7700         * event-msw.c (mswindows_wnd_proc): Call it.
7701
7702         * lisp.h, general.c (Qappend): New symbol representing a
7703         `how-to-add' mode.
7704
7705         * select.c (own-selection-internal):
7706         * select.c (selection-exists-p):
7707         * select.c (available-selection-types): New.
7708         * select.c (register-selection-data-type): New.
7709         * select.c (selection-data-type-name): New.  New functions to deal
7710         with device-specific selection data formats.
7711         * select.c (selection-converter-out-alist): Renamed.
7712         * select.c (selection-converter-in-alist): New.
7713         * select.c (selection-appender-alist): New.  Added new alists.
7714         * select.c (syms_of_select, vars_of_select): Added new symbols &
7715         variables.
7716         * select.c (get_local_selection): Split.
7717         * select.c: Removed spurious type checking - selections may now be
7718         of any type, not just strings.
7719         * select.c (own-selection-internal):
7720
7721         * select.h, select.c (convert_selection): New. Created
7722         convert_selection() function based on get_local_selection().
7723         * select.h, select.c (QCF_*): New symbols representing mswindows
7724         clipboard formats.
7725         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7726         symbols representing `how-to-add' modes.
7727
7728         * select-msw.c (x_sym_p): New.
7729         * select-msw.c (symbol_to_ms_cf): New.
7730         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7731         symbols & clipboard formats. Can also handle string names.
7732         * select-msw.c (mswindows_own_selection):
7733         * select-msw.c (mswindows_selection_exists_p):
7734         Added `data-type' parameter. Use it.
7735         * select-msw.c (mswindows_available_selection_types): New.
7736         * select-msw.c (mswindows_register_selection_data_type): New.
7737         * select-msw.c (mswindows_selection_data_type_name): New.
7738         * select-msw.c (mswindows_own_selection):
7739         * select-msw.c (mswindows_get_foreign_selection):
7740         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7741         * select-msw.c (console_create_select_mswindows): Added new methods.
7742         * select-msw.c (mswindows_destroy_selection): New.
7743         * select-msw.c (Vhandle_alist): New list.
7744         * select-msw.c (mswindows_own_selection):
7745
7746         * select-x.c (x_own_selection):
7747         * select-x.c (x_selection_exists_p):
7748         * select-x.c: Added some comments about maybe using new
7749         functionality.
7750         * select-x.c (x_own_selection):
7751
7752         * specifier.c: Remove definition of Qappend (now in general.c)
7753         * specifier.c (syms_of_specifier): Remove Qappend.
7754
7755 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7756
7757         * config.h.in: Add socklen_t.
7758
7759         * s/decosf4-0.h: No special compiler flags needed or desired.
7760         In particular, undefine _BSD for DEC OSF 4.0.
7761
7762 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7763
7764         * redisplay-msw.c (msprinter_frame_output_end): Added.
7765         (console_type_create_redisplay_mswindows): Referred the above.
7766
7767         * frame.c (setup_frame_without_minibuffer): Do not create a
7768         default minibuffer frame on a printer device.
7769
7770         * frame-msw.c (apply_dc_geometry): Added.
7771         (msprinter_start_page):
7772         (msprinter_init_frame_3):
7773         (msprinter_eject_page): Use it.
7774
7775         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7776         and removed residual duplex and orientation properties.
7777
7778 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7779
7780         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7781
7782         * unexalpha.c: Remove system prototypes from C sources!
7783
7784 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7785
7786         * eval.c: Remove references to M-x edit-options in DEFUNs for
7787         `defvar' and `defconst'.
7788
7789 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7790
7791         * config.h.in: Remove SMART_INCLUDE hackery.
7792
7793         PostgreSQL hacking:
7794         * config.h.in: Don't use SMART_INCLUDE.
7795
7796         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7797         * inline.c: Simply #include "postgresql.h"
7798         * postgresql.c:
7799         - Don't use SMART_INCLUDE
7800         - Use simply "const".
7801         - Use standard doc string conventions.
7802         - Use correct type for result of PQstatus.
7803
7804 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7805
7806         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7807
7808         C++ compilation changes.
7809         * config.h.in (EXTERN_C): Define.
7810         * config.h.in (not): This is also a C++ keyword.
7811         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7812         * cm.c: Use EXTERN_C.
7813         * redisplay-tty.c: Use EXTERN_C.
7814         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7815
7816 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7817
7818         * general.c: Remove duplicate definition for Qfunction.
7819
7820 2000-07-08  Ben Wing  <ben@xemacs.org>
7821
7822         * device-msw.c (msprinter_init_device):
7823         * device-msw.c (sync_printer_with_devmode):
7824         * device-msw.c (handle_devmode_changes):
7825         * device-msw.c (print_dialog_worker):
7826         * device-msw.c (Fmsprinter_apply_settings):
7827         * device-msw.c (hash_devmode):
7828         * device-msw.c (Fmsprinter_settings_despecialize):
7829         use Qmswindows_tstr, not Qctext.
7830
7831         * vm-limit.c (check_memory_limits):
7832         avoid infinite loop printing warning messages.
7833
7834 2000-07-05  Craig Lanning  <lanning@scra.org>
7835
7836         * Makefile.in.in: Add support for including the Windows resources
7837         when building with the cygwin and mingw targets.
7838
7839         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7840         not set or not correct.
7841         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7842         (init_initial_directory): Don't try to use $PWD on the
7843         WIN32_NATIVE target.
7844
7845         * s\cygwin32.h:
7846         [[Add -mwindows to eliminate console window.]] not required --ben
7847         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7848         (MAIL_USE_POP): removed; now handled by configure.
7849
7850         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7851         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7852         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7853         (MAIL_USE_POP): removed; now handled by configure.
7854         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7855         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7856         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7857         constant string.
7858         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7859         up from <winsock.h> via systime.h.
7860         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7861         (getpagesize): from Dan Holmsand, added.
7862         Added #endif which was left dangling by Ben's mega patch; added
7863         comment to help prevent this in the future.
7864
7865         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7866
7867 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7868
7869         * console-msw.h (struct mswindows_device): Removed unnecessary
7870         cached device geometry values.
7871         Added update_tick and an accessor macro.
7872         (Lisp_Devmode): Added lrecord declaration.
7873         (struct msprinter_device): Contain devmode as a Lisp object.
7874         Added mswindows_get_selected_frame_hwnd();
7875
7876         * console.h (struct console_methods): Indentation nitpicking.
7877
7878         * device-msw.c (mswindows_init_device): Do not initialize geometry
7879         cache. Initialize update tick.
7880         (mswindows_device_system_metrics): Ask the device for its geometry.
7881         (global_free_2_maybe):
7882         (devmode_to_hglobal):
7883         (handle_printer_changes):
7884         (ensure_not_printing):
7885         (print_dialog_worker):
7886         (Fmsprinter_print_setup_dialog):
7887         (Fmsprinter_print_dialog):
7888         (plist_get_margin):
7889         (plist_set_margin):
7890         (Fmsprinter_page_setup_dialog): Added functions.
7891         (sync_printer_with_devmode):
7892         (handle_devmode_changes):
7893         (Fmsprinter_get_settings):
7894         (Fmsprinter_select_settings):
7895         (Fmsprinter_apply_settings):
7896         (allocate_devmode):
7897         (Fmsprinter_settings_copy):
7898         (Fmsprinter_settings_despecialize):
7899         (print_devmode):
7900         (finalize_devmode):
7901         (equal_devmode):
7902         (hash_devmode): Added functions
7903         (syms_of_device_mswindows): Init devmode lrecord class.
7904
7905         * device.h: Added an exfun for find-device.
7906
7907         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7908         geometry; although, recreate the device compatible DC.
7909
7910         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7911         (msprinter_init_frame_3):
7912         (msprinter_frame_property):
7913         (msprinter_internal_frame_property_p):
7914         (msprinter_frame_properties):
7915         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7916         print job properties (will move to device settings).
7917
7918         * lisp.h: Added symbols.
7919
7920         * general.c (syms_of_general): Declared them.
7921
7922         * hash.c (string_hash): Added.
7923
7924         * lrecord.h (lrecord_type): Added devmode lrecord type.
7925
7926 2000-07-02  Mike Sperber <mike@xemacs.org>
7927
7928         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7929         FreeBSD 4.0.
7930
7931 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7932
7933         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7934         integer.
7935
7936 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7937
7938         * data.c (Fstring_to_number): Don't recognize floating point if
7939         base is not 10.
7940
7941 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7942
7943         * glyphs-widget.c (tab_control_query_geometry):
7944         (widget_query_geometry):
7945         (button_query_geometry):
7946         * glyphs.c (text_query_geometry):
7947         Enforce type correctness.
7948
7949 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7950
7951         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7952         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7953
7954 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7955
7956         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7957         conflicts with gcc's fixincluded version of FOO.h.
7958
7959         * glyphs.h (image_instance_geometry): Remove trailing `,'
7960
7961 2000-06-08  Mike Alexander  <mta@arbortext.com>
7962
7963         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7964         (shove_thread): Don't write the same output twice
7965         (make_ntpipe_output_stream): Increase priority of shove thread
7966         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7967         chance to run
7968         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7969         it.
7970
7971 2000-06-12  Ben Wing  <ben@xemacs.org>
7972
7973         * s\mingw32.h (sigset):
7974         * s\windowsnt.h (sigset):
7975         rename msw_ to mswindows_ for consistency with general convention.
7976
7977 2000-06-12  Ben Wing  <ben@xemacs.org>
7978
7979         * console-msw.c:
7980         * console-msw.c (mswindows_get_console_hwnd):
7981         * console-msw.c (mswindows_ensure_console_allocated):
7982         * console-msw.c (mswindows_hide_console):
7983         * console-msw.c (mswindows_show_console):
7984         * console-msw.c (mswindows_ensure_console_buffered):
7985         * console-msw.c (mswindows_output_console_string):
7986         * console-msw.c (mswindows_windows9x_p):
7987         * console-msw.h:
7988         * device-msw.c (mswindows_get_workspace_coords):
7989         * device-msw.c (mswindows_device_system_metrics):
7990         * dialog-msw.c (mswindows_popup_dialog_box):
7991         * event-msw.c (mswindows_wnd_proc):
7992         * frame-msw.c (mswindows_size_frame_internal):
7993         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7994         * menubar-msw.c (displayable_menu_item):
7995         * menubar-msw.c (mswindows_char_is_accelerator):
7996         * nt.c:
7997         * nt.c (mswindows_sigset):
7998         * nt.c (mswindows_sigrelse):
7999         * nt.c (mswindows_sigpause):
8000         * nt.c (mswindows_raise):
8001         * nt.c (timer_proc):
8002         * ntproc.c:
8003         * ntproc.c (find_child_console):
8004         * ntproc.c (sys_kill):
8005         * print.c:
8006         * print.c (std_handle_out_external):
8007         * process-nt.c (find_child_console):
8008         * process-nt.c (send_signal_the_95_way):
8009         * process-nt.c (ensure_console_window_exists):
8010         * process-nt.c (nt_create_process):
8011         * syssignal.h:
8012         rename msw_ to mswindows_ for consistency with general convention.
8013
8014         * emacs.c:
8015         * dumper.c:
8016         include nt.h, not syswindows.h.
8017
8018         * nt.c (mswindows_fstat):
8019         * nt.c (mswindows_stat):
8020         prefix mswindows_ instead of attempting to directly override the
8021         library functions.  fix declarations.
8022
8023         * nt.h:
8024         include syswindows.h.  move some sysdep.h stuff here.
8025
8026         * ntheap.h:
8027         include syswindows.h, not <windows.h>.
8028
8029         * ntplay.c:
8030         clean up headers.
8031
8032         * sysdep.c:
8033         clean up headers.
8034
8035         * sysdep.c (sys_fstat):
8036         * sysdep.c (sys_stat):
8037         call mswindows versions when appropriate.
8038
8039         * sysdep.h:
8040         move mswin decls to nt.h.
8041
8042         * syswindows.h:
8043         add long comment describing appropriate use of the various windows
8044         headers.
8045
8046 2000-06-11  Ben Wing  <ben@xemacs.org>
8047
8048         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8049
8050 2000-06-10  Ben Wing  <ben@xemacs.org>
8051
8052         * Makefile.in.in (release):
8053         Correction to make sure xemacs.exe always dumped when correct.
8054
8055         * alloca.c:
8056         * balloon_help.c:
8057         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8058
8059         * buffer.c (set_buffer_internal):
8060         [[[[2]]]]: Remove HAVE_FEP code.
8061
8062         * buffer.c (init_initial_directory):
8063         [3].
8064
8065         * bytecode.c:
8066         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8067         individual files.
8068
8069         * callproc.c:
8070         * callproc.c (call_process_cleanup):
8071         * callproc.c (Fold_call_process_internal):
8072         * callproc.c (child_setup):
8073         * callproc.c (getenv_internal):
8074         * callproc.c (init_callproc):
8075         * callproc.c (vars_of_callproc):
8076         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8077         __CYGWIN32__ -> CYGWIN.
8078         DOS_NT -> WIN32_NATIVE.
8079         Remove MSDOS support/references, converting to WIN32_NATIVE
8080           where correct.
8081         __MINGW32__ -> MINGW.
8082         Fix windows.h includes.
8083         Remove bogus HAVE_NTGUI.
8084
8085         * config.h.in:
8086         [2].
8087
8088         * console-msw.c:
8089         mswindows_message_outputted added for use in allowing startup
8090         errors on the console to be seen.
8091
8092         * console-msw.c (msw_ensure_console_allocated):
8093         * console-msw.c (msw_output_console_string):
8094         * console-msw.c (DHEADER):
8095         * console-msw.c (DOPAQUE_DATA):
8096         * console-msw.c (DEVENT):
8097         * console-msw.c (DCONS):
8098         * console-msw.c (DCONSCDR):
8099         * console-msw.c (DSTRING):
8100         * console-msw.c (DVECTOR):
8101         * console-msw.c (DSYMBOL):
8102         * console-msw.c (DSYMNAME):
8103         Fix warnings.
8104
8105         * console-stream.c (stream_init_console):
8106         Fix text/binary problems.
8107
8108         * device-msw.c:
8109         * device-msw.c (mswindows_finish_init_device):
8110         * device-msw.c (mswindows_delete_device):
8111         [1].
8112
8113         * device.c (handle_asynch_device_change):
8114         [3].
8115
8116         * dgif_lib.c:
8117         * dgif_lib.c (DGifOpenFileName):
8118         * dgif_lib.c (DGifOpenFileHandle):
8119         * dgif_lib.c (DGifGetLine):
8120         * dgif_lib.c (DGifGetPixel):
8121         Added config.h/lisp.h, fix up includes.
8122         [1].
8123
8124         * dired-msw.c:
8125         [4].
8126
8127         * dired.c:
8128         * dired.c (file_name_completion):
8129         * dired.c (Ffile_attributes):
8130         * dired.c (syms_of_dired):
8131         [1].
8132
8133         * dumper.c:
8134         * dumper.c (pdump_file_unmap):
8135         * dumper.c (pdump_load):
8136         [1].
8137
8138         * editfns.c:
8139         * editfns.c (Ftemp_directory):
8140         * editfns.c (user_login_name):
8141         * editfns.c (Fuser_real_login_name):
8142         * editfns.c (get_home_directory):
8143         [1].
8144
8145         * elhash.c (finish_marking_weak_hash_tables):
8146         [[[[5]]]]: Fix GCC warnings.
8147
8148         * emacs.c:
8149         * emacs.c (mswindows_handle_hardware_exceptions):
8150         * emacs.c (make_arg_list_1):
8151         * emacs.c (main_1):
8152         * emacs.c (Fkill_emacs):
8153         * emacs.c (Fdump_emacs):
8154         [1].
8155         Fix problems with nested crashes, add long comment.
8156
8157         * event-Xt.c (init_event_Xt_late):
8158         [1].
8159
8160         * event-msw.c:
8161         * event-msw.c (mswindows_dde_callback):
8162         * event-msw.c (mswindows_handle_sticky_modifiers):
8163         * event-msw.c (mswindows_wnd_proc):
8164         [1].
8165         [5].
8166
8167         * events.c (character_to_event):
8168         [1].
8169
8170         * fileio.c:
8171         * fileio.c (Ffile_name_directory):
8172         * fileio.c (Ffile_name_nondirectory):
8173         * fileio.c (directory_file_name):
8174         * fileio.c (Fexpand_file_name):
8175         * fileio.c (Fsubstitute_in_file_name):
8176         * fileio.c (Ffile_name_absolute_p):
8177         * fileio.c (check_executable):
8178         * fileio.c (Ffile_readable_p):
8179         * fileio.c (Ffile_accessible_directory_p):
8180         * fileio.c (Ffile_modes):
8181         * fileio.c (Funix_sync):
8182         * fileio.c (vars_of_fileio):
8183         [1]. [4].
8184
8185         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8186
8187         Expand getdefdir defn.
8188         Fix bogus rename() comment.
8189
8190         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8191         to use standard XEmacs include files, e.g. sysfile.h, rather
8192         than system-specific includes.
8193
8194         * fns.c:
8195         * fns.c (Fsubseq):
8196         [5]. [6].
8197
8198         * frame.c (vars_of_frame):
8199         [1].
8200
8201         * getloadavg.c:
8202         * getloadavg.c (getloadavg):
8203         [1]. [6].
8204         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8205         (We don't use it elsewhere in the code; just add a comment.)
8206
8207         * gif_io.c:
8208         [6].
8209         Add config.h.
8210
8211         * glyphs-msw.c:
8212         * glyphs-msw.c (mswindows_resource_instantiate):
8213         [1].
8214
8215         * glyphs-x.c (x_native_layout_instantiate):
8216         [5].
8217
8218         * gui-msw.c (Fmswindows_shell_execute):
8219         [1].
8220
8221         * insdel.c:
8222         [4].
8223
8224         * lisp.h:
8225         [4]. [5].
8226
8227         * lread.c (locate_file_in_directory_mapper):
8228         [1].
8229
8230         * lstream.c:
8231         [4].
8232
8233         * mem-limits.h:
8234         * mem-limits.h (get_lim_data):
8235         [1].
8236
8237         * menubar-msw.c:
8238         [4].
8239
8240         * ndir.h:
8241         [1].
8242
8243         * nt.c:
8244         * nt.c (getwd):
8245         * nt.c (closedir):
8246         * nt.c (rva_to_section):
8247         * nt.c (mswindows_executable_type):
8248         [1]. [6].
8249         Fix closedir() defn.
8250
8251         * nt.h:
8252         [[[[8]]]]: *_OK defs moved to sysfile.h.
8253
8254         * ntproc.c:
8255         [6]. [7].
8256
8257         * objects-x.c:
8258         [4].
8259
8260         * print.c:
8261         * print.c (std_handle_out_external):
8262         [1]. [4].
8263
8264         * process-nt.c:
8265         * process-nt.c (nt_create_process):
8266         [6].
8267         try to fix process quoting somewhat.
8268
8269         * process-unix.c (unix_create_process):
8270         [1].
8271
8272         * process.c:
8273         * process.c (vars_of_process):
8274         Add Vnull_device.
8275
8276         * process.h:
8277         [1].
8278
8279         * realpath.c:
8280         * realpath.c (xrealpath):
8281         [1].
8282
8283         * redisplay-tty.c (init_tty_for_redisplay):
8284         [3].
8285
8286         * redisplay.c:
8287         [4]. [6].
8288
8289         * scrollbar-msw.c:
8290         [4].
8291
8292         * sheap.c:
8293         * sheap.c (more_static_core):
8294         * sheap.c (report_sheap_usage):
8295         [5]. [6].
8296
8297         * signal.c:
8298         * signal.c (alarm_signal):
8299         [1]. [6].
8300
8301         * sound.c:
8302         [6].
8303
8304         * strftime.c:
8305         * strftime.c (zone_name):
8306         [1]. [5].
8307
8308         * symsinit.h (init_sunpro):
8309         [1].
8310
8311         * syscommctrl.h:
8312         commctrl.h not in Cygwin b20.1.
8313
8314         * sysdep.c:
8315         * sysdep.c (endif):
8316         * sysdep.c (sys_subshell):
8317         * sysdep.c (init_baud_rate):
8318         * sysdep.c (emacs_get_tty):
8319         * sysdep.c (emacs_set_tty):
8320         * sysdep.c (tty_init_sys_modes_on_device):
8321         * sysdep.c (init_system_name):
8322         * sysdep.c (sys_open):
8323         * sysdep.c (interruptible_open):
8324         * sysdep.c (sys_fopen):
8325         * sysdep.c (sys_mkdir):
8326         * sysdep.c (sys_rename):
8327         * sysdep.c (get_process_times_1):
8328         [1]. [6].
8329
8330         * sysdep.h:
8331         [1].
8332
8333         * sysdir.h:
8334         * sysdir.h (DIRENTRY_NONEMPTY):
8335         [1]. [6].
8336
8337         * sysdll.c (dll_init):
8338         * sysdll.h:
8339         [1].
8340
8341         * sysfile.h:
8342         [1]. [6]. [8].
8343         added text/binary defs.
8344
8345         * sysfloat.h:
8346         [1].
8347
8348         * sysproc.h:
8349         * sysproc.h (EDESTADDRREQ):
8350         * sysproc.h (poll_fds_for_input):
8351         [1]. [6].
8352
8353         * syspwd.h:
8354         [6].
8355
8356         * syssignal.h:
8357         [1].
8358
8359         * systime.h:
8360         [1]. [6].
8361
8362         * systty.h:
8363         [1].
8364
8365         * syswindows.h:
8366         [1].
8367         Always define WIN32_LEAN_AND_MEAN.
8368
8369         * unexcw.c (unexec):
8370         [5].
8371
8372         * unexec.c:
8373         * unexec.c (copy_text_and_data):
8374         * unexec.c (adjust_lnnoptrs):
8375         [1].
8376
8377         * unexnt.c:
8378         * unexnt.c (_start):
8379         [1].
8380
8381 2000-06-07  Ben Wing  <ben@xemacs.org>
8382
8383         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8384         was used only as a model.  We've long since extracted any useful
8385         logic or code out of this. (I just did an exhaustive search.)
8386
8387         * s\msdos.h: Removed.
8388
8389         * s\windows95.h: Removed.
8390
8391 2000-06-10  Ben Wing  <ben@xemacs.org>
8392
8393         * s\cygwin32.h:
8394         [1]. [5].
8395         Don't use extern with fun defs.
8396
8397         * s\mingw32.h:
8398         [1]. [7].
8399         Remove nt\inc include.
8400         Remove getdisk, getdefdir. (The former is unused, the latter
8401         expanded in fileio.h.)
8402
8403         * s\windowsnt.h:
8404         * s\windowsnt.h (WIN32_NATIVE):
8405         * s\windowsnt.h (HAVE_STRCASECMP):
8406         [1]. [7].
8407         Add long comment about preprocessor changes.
8408         Remove getdisk, getdefdir. (The former is unused, the latter
8409         expanded in fileio.h.)
8410
8411 2000-06-10  Ben Wing  <ben@xemacs.org>
8412
8413         * m\arm.h:
8414         * m\delta.h:
8415         * m\intel386.h:
8416         * m\sequent.h:
8417         * m\template.h:
8418         * m\windowsnt.h:
8419         [1].
8420         Remove bogus/unused NO_SOCK_SIGIO.
8421
8422 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8423
8424         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8425         not an Emchar.
8426
8427 2000-06-04  Mike Sperber <mike@xemacs.org>
8428
8429         * casetab.c (set_case_table): For `set-standard-case-table',
8430         actually deposit the new case tables where the rest of XEmacs can
8431         see them.
8432
8433 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8434
8435         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8436
8437 2000-06-05  Ben Wing  <ben@xemacs.org>
8438
8439         * callproc.c (child_setup): Don't do close_load_descs() under
8440         MS Windows.  Put in a comment explaining why.
8441
8442 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8443
8444         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8445         Toolkit shell" which breaks `kill-compilation' on Windows NT
8446         native, retaining STDERR handling improvements.
8447
8448 2000-06-01  Andreas Jaeger  <aj@suse.de>
8449
8450         * s/s390.h: Support for S390, based on a patch by Martin
8451         Schwidefsky <schwidefsky@de.ibm.com>.
8452
8453 2000-05-30  Andy Piper  <andy@xemacs.org>
8454
8455         * window.c (allocate_window):
8456         (make_dummy_parent):
8457         (Fset_window_configuration): use new hashtable type.
8458
8459         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8460         (struct image_instantiator_methods):
8461         (struct Lisp_Image_Instance): make instance geometry signed.
8462
8463         * glyphs.c (instantiate_image_instantiator):
8464         (image_instance_query_geometry):
8465         (image_instance_layout):
8466         (image_instance_layout):
8467         (query_string_geometry):
8468         (text_query_geometry):
8469         (image_instantiate):
8470         (image_instantiate):
8471         (cache_subwindow_instance_in_frame_maybe):
8472         (subwindow_query_geometry): make instance geometry signed.
8473
8474         * glyphs-widget.c (widget_query_geometry):
8475         (widget_layout):
8476         (button_query_geometry):
8477         (tree_view_query_geometry):
8478         (tab_control_query_geometry):
8479         (layout_query_geometry):
8480         (layout_layout):
8481         (native_layout_layout): make instance geometry signed.
8482
8483 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8484
8485         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8486         constant.
8487
8488         * general.c (syms_of_general): Add Qfull_assoc symbol.
8489
8490         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8491         correctly.
8492         (decode_weak_list_type): Decode full-assoc type.
8493         (encode_weak_list_type): Encode full-assoc type.
8494         (Fmake_weak_list): Update doc string.
8495
8496 2000-05-30  Andy Piper  <andy@xemacs.org>
8497
8498         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8499
8500         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8501         (decode_hash_table_weakness): ditto.
8502         (Fhash_table_weakness): ditto.
8503         (Fhash_table_type): ditto.
8504         (finish_marking_weak_hash_tables): ditto.
8505         (hash_table_weakness_validate): ditto.
8506         (syms_of_elhash): ditto.
8507
8508 2000-05-28  Martin Buchholz <martin@xemacs.org>
8509
8510         * XEmacs 21.2.34 is released.
8511
8512 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8513
8514         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8515         start cache.
8516         (updating_line_start_cache): Gone.
8517         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8518         generic code to force a minimum of 1 line laid out in the
8519         CMOTION_DISP case.
8520
8521 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8522
8523         * glyphs.c (instantiate_image_instantiator): Check for initialized
8524         height & width no longer special cases IMAGE_NOTHING.
8525         (nothing_instantiate): Set height and width of instance.
8526
8527 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8528
8529         * unexelf.c (unexec): Search for ".data" section.
8530         Initialize new_data2_offset from old_data_index.
8531         Remove redundant check for ElfW.
8532
8533 2000-05-23  Andy Piper  <andy@xemacs.org>
8534
8535         * glyphs.c (get_image_instantiator_governing_domain): allow more
8536         specific domains as the governing domain rather than expecting an
8537         exact match. This fixes problems with layouts.
8538
8539 2000-05-22  Andy Piper  <andy@xemacs.org>
8540
8541         * redisplay-output.c (compare_runes): check for non-images
8542
8543         * glyphs.c (set_glyph_dirty_p): ditto.
8544         (update_glyph_cachel_data): ditto.
8545
8546         * glyphs-widget.c (layout_post_instantiate): ditto.
8547         (layout_post_instantiate): ditto.
8548
8549         * event-msw.c (mswindows_wnd_proc): warning removal.
8550
8551 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8552
8553         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8554
8555         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8556
8557         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8558
8559         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8560         (mswindows_executable_type): mingw32 now has enough headers for
8561         this to work.
8562
8563 2000-05-20  Andy Piper  <andy@xemacs.org>
8564
8565         * console-msw.c (mswindows_output_last_error): ; -> ,
8566
8567 2000-05-12  Andy Piper  <andy@xemacs.org>
8568
8569         * console-msw.c (FROB): compare ints with ints.
8570
8571 2000-05-11  Andy Piper  <andy@xemacs.org>
8572
8573         * glyphs-x.c (x_finalize_image_instance): make minimal build
8574         happy.
8575
8576 2000-05-20  Ben Wing  <ben@xemacs.org>
8577
8578         * event-Xt.c:
8579         * event-Xt.c (vars_of_event_Xt):
8580         move modifier-keys-are-sticky to event-stream.c.
8581
8582         * event-msw.c:
8583         * event-msw.c (mswindows_enqueue_mouse_button_event):
8584         * event-msw.c (key_needs_default_processing_p):
8585         * event-msw.c (XEMSW_LCONTROL):
8586         * event-msw.c (mswindows_handle_sticky_modifiers):
8587         * event-msw.c (FROB):
8588         * event-msw.c (clear_sticky_modifiers):
8589         * event-msw.c (output_modifier_keyboard_state):
8590         * event-msw.c (output_alt_keyboard_state):
8591         * event-msw.c (mswindows_wnd_proc):
8592         * event-msw.c (mswindows_modifier_state):
8593         * event-msw.c (emacs_mswindows_handle_magic_event):
8594         implement sticky modifiers.
8595
8596         * event-stream.c:
8597         * event-stream.c (vars_of_event_stream):
8598         move modifier-keys-are-sticky here.
8599
8600         * lisp.h:
8601         add CHECK_FUNCTION.
8602
8603         * rangetab.c:
8604         implement map-range-table.
8605
8606
8607 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8608
8609         * redisplay-tty.c (reset_tty_modes):
8610         (tty_redisplay_shutdown): Adjust argument type to
8611         tty_frame_output_end.
8612
8613 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8614
8615         * eval.c (Fbacktrace): Don't output a line with only right
8616         parenthesis.
8617
8618 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8619
8620         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8621         (Fpq_reset_poll): Ditto.
8622
8623 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8624
8625         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8626
8627 2000-05-16  Ben Wing  <ben@xemacs.org>
8628
8629         * buffer.c:
8630         * buffer.c (dfc_convert_to/from_internal_format):
8631         * buffer.c (reinit_vars_of_buffer):
8632         Fix conversion functions to allow reentrancy.
8633
8634         * console-msw.c:
8635         * console-msw.c (mswindows_output_last_error):
8636         New fun, generally useful -- output a human-readable
8637         version of GetLastError() on the console.
8638
8639         * console-msw.h:
8640         * console-msw.h (struct mswindows_frame):
8641         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8642
8643         * console-stream.c (stream_output_begin):
8644         * console-stream.c (stream_output_end):
8645         * console-stream.c (stream_output_vertical_divider):
8646         * console-stream.c (stream_clear_region):
8647         * console-stream.c (stream_flash):
8648         * console-stream.c (console_type_create_stream):
8649         Delete blank stream methods, not needed.
8650
8651         * console.h (struct console_methods):
8652         Split begin/end methods into window and frame.
8653
8654         * event-msw.c:
8655         * event-msw.c (mswindows_handle_paint):
8656         * event-msw.c (output_alt_keyboard_state):
8657         * event-msw.c (mswindows_wnd_proc):
8658         * event-msw.c (vars_of_event_mswindows):
8659         Comment about problems with ignored-expose.
8660         Define mswindows-debug-events; not really implemented.
8661
8662         * frame-msw.c (mswindows_init_frame_1):
8663         random cleanups.
8664
8665         * glyphs-msw.c:
8666         * glyphs-msw.c (begin_defer_window_pos):
8667         * glyphs-msw.c (mswindows_unmap_subwindow):
8668         * glyphs-msw.c (mswindows_map_subwindow):
8669         * glyphs-msw.c (mswindows_resize_subwindow):
8670         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8671
8672         * glyphs.c (make_image_instance_1):
8673         Fix crash.
8674
8675         * gutter.c (Fredisplay_gutter_area):
8676         Use new begin/end methods.
8677
8678         * lisp.h (Dynarr_new2):
8679         New creation fun.
8680
8681         * redisplay-msw.c:
8682         * redisplay-msw.c (mswindows_frame_output_begin):
8683         * redisplay-msw.c (mswindows_frame_output_end):
8684         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8685         New begin/end methods -- handle DeferWindowPos.
8686
8687         * redisplay-output.c (redisplay_move_cursor):
8688         * redisplay-output.c (redraw_cursor_in_window):
8689         * redisplay-output.c (redisplay_update_line):
8690         * redisplay-output.c (redisplay_output_window):
8691         New begin/end methods.
8692
8693         * redisplay-tty.c:
8694         * redisplay-tty.c (tty_frame_output_begin):
8695         * redisplay-tty.c (tty_frame_output_end):
8696         * redisplay-tty.c (console_type_create_redisplay_tty):
8697         New begin/end methods.
8698
8699         * redisplay-x.c:
8700         * redisplay-x.c (x_window_output_begin):
8701         * redisplay-x.c (x_window_output_end):
8702         * redisplay-x.c (console_type_create_redisplay_x):
8703         New begin/end methods.
8704
8705         * redisplay.c (redisplay_frame):
8706         * redisplay.c (Fredisplay_echo_area):
8707         New begin/end methods.
8708         use MAYBE_DEVMETH for clear_frame; it may not exist.
8709
8710         * window.h (WINDOW_XFRAME):
8711         WINDOW_XFOO macros -- get locale and decode struct pointer.
8712
8713
8714 2000-05-12  Ben Wing  <ben@xemacs.org>
8715
8716         * emacs.c:
8717         * emacs.c (ensure_no_quitting_from_now_on):
8718         * emacs.c (fatal_error_signal):
8719         * emacs.c (mswindows_handle_hardware_exceptions):
8720         * emacs.c (main):
8721         * emacs.c (Fkill_emacs):
8722         * emacs.c (shut_down_emacs):
8723         * emacs.c (assert_failed):
8724         various improvements in fatal error handling.
8725
8726         * eval.c:
8727         move preparing_for_armageddon to emacs.c.
8728
8729         * lisp.h:
8730         declare fatal_error_in_progress.
8731
8732         * print.c:
8733         * print.c (std_handle_out_external):
8734         * print.c (std_handle_out_va):
8735         * print.c (stderr_out):
8736         * print.c (stdout_out):
8737         use console under mswin when no standard output.
8738         don't do code conversion during fatal error.
8739
8740         * scrollbar.c (Fscrollbar_page_up):
8741         * scrollbar.c (Fscrollbar_page_down):
8742         fix missing else.  reindent.
8743
8744 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8745
8746         Emergency fix.
8747
8748         * glyphs.h (GLYPH_CACHEL_DESCENT):
8749         (GLYPH_CACHEL_DESCENT):
8750         (GLYPH_CACHEL_DESCENT):
8751         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8752         used in case these are inline functions.
8753         Use more absurd values to error check.
8754
8755         include window.h for error check functions.
8756
8757 2000-05-11  Ben Wing  <ben@xemacs.org>
8758
8759         * cmdloop.c (Freally_early_error_handler):
8760         Display message box under windows; otherwise, message will disappear
8761         before it can be viewed.
8762
8763         * console-msw.c:
8764         * console-msw.c (Fmswindows_message_box):
8765         * console-msw.c (FROB):
8766         * console-msw.c (syms_of_console_mswindows):
8767         Define new fun `mswindows-message-box'.
8768         #### I will merge this into `popup-dialog-box'; just give me
8769         a bit of time.
8770
8771         * general.c:
8772         * general.c (syms_of_general):
8773         Some new symbols used in `mswindows-message-box'.
8774
8775         * glyphs.c:
8776         * glyphs.c (Fset_image_instance_property):
8777         put warning in this fun.
8778
8779         * glyphs.h:
8780         * glyphs.h (GLYPH_CACHEL_WIDTH):
8781         * glyphs.h (GLYPH_CACHEL_ASCENT):
8782         * glyphs.h (GLYPH_CACHEL):
8783         * glyphs.h (GLYPH_CACHEL_GLYPH):
8784         define error-checking versions to try to catch a bug i've seen --
8785         redisplay gets in an infinite loop because the glyph width of the
8786         continuation glyph is 65535.
8787
8788         * lisp.h:
8789         Extern message-box stuff.
8790
8791         * window.c (allocate_window):
8792         * window.c (make_dummy_parent):
8793         * window.c (Fset_window_configuration):
8794         Use EQUAL not EQ for subwindow caches to make them work a bit
8795         better. (Something is still very broken.)
8796
8797
8798 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8799
8800         * glyphs.c (image_instantiate): Suppress gcc warnings.
8801         (Fmake_image_instance): Fix doc string.
8802         * specifier.c (Fmake_specifier): Ditto.
8803
8804 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8805
8806         * paths.h.in (PATH_LOCK): Removed.
8807         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8808         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8809
8810 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8811
8812         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8813         Document (featurep '(and xemacs 21.02)).
8814
8815 2000-05-09  Ben Wing  <ben@xemacs.org>
8816
8817         * buffer.c (complex_vars_of_buffer):
8818         update modeline-format doc.
8819
8820         * device.h:
8821         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8822
8823         * emacs.c:
8824         timeline of all released versions of Emacs, for use in creating
8825         authorship comments and in synching up.
8826
8827         * glyphs-widget.c (image_instantiator_buttons):
8828         * glyphs-widget.c (image_instantiator_edit_fields):
8829         * glyphs-widget.c (image_instantiator_combo_box):
8830         * glyphs-widget.c (image_instantiator_scrollbar):
8831         * glyphs-widget.c (image_instantiator_progress_guage):
8832         * glyphs-widget.c (image_instantiator_tree_view):
8833         * glyphs-widget.c (image_instantiator_tab_control):
8834         * glyphs-widget.c (image_instantiator_labels):
8835         * glyphs-widget.c (image_instantiator_layout):
8836         * glyphs-widget.c (image_instantiator_native_layout):
8837         rename decode_domain method to governing_domain.
8838
8839         * glyphs.c:
8840         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8841         * glyphs.c (add_entry_to_device_ii_format_list):
8842         make sure we don't put an entry more than once into the list.
8843         * glyphs.c (check_instance_cache_mapper):
8844         *************************************************************
8845         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8846         HAVE BEEN GETTING.
8847         *************************************************************
8848         * glyphs.c (get_image_instantiator_governing_domain):
8849         clean up, expand on new concept of governing domain.
8850         * glyphs.c (instantiate_image_instantiator):
8851         * glyphs.c (allocate_image_instance):
8852         use governing_domain instead of cache_domain in naming.
8853         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8854         * glyphs.c (make_image_instance_1):
8855         * glyphs.c (Fmake_image_instance):
8856         allow for any domain (not just device), and process the
8857         governing domain correctly.  very big doc fix.
8858         * glyphs.c (Fimage_instance_domain):
8859         new primitive, to retrieve the governing domain of an image instance.
8860         * glyphs.c (image_instantiate):
8861         use new governing_domain stuff.  this fixes a crash you could get
8862         by instantiating certain widget glyphs in frame locales. (should
8863         signal an error instead of crashing.)
8864         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8865         * glyphs.c (Fglyphp): clean up doc.
8866         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8867         * glyphs.c (syms_of_glyphs):
8868         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8869         * glyphs.c (image_instantiator_format_create): add some comments about
8870         bogus code.
8871         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8872         for current-display-table. (Apparently Hrjove implemented in 1998 a
8873         design I wrote up in 1996, but didn't update the doc string.)
8874
8875         * glyphs.h: clean up a doc string.
8876         * glyphs.h (governing_domain):
8877         * glyphs.h (struct image_instantiator_methods):
8878         changes for governing_domain stuff.
8879
8880         * gutter.c:
8881         * gutter.c (Fgutter_specifier_p):
8882         * gutter.c (Fgutter_size_specifier_p):
8883         * gutter.c (Fgutter_visible_specifier_p):
8884         * objects.c:
8885         * objects.c (Fcolor_specifier_p):
8886         * objects.c (Ffont_specifier_p):
8887         * objects.c (Fface_boolean_specifier_p):
8888         doc strings moved to make-*-specifier.
8889
8890         * redisplay.c (add_disp_table_entry_runes_1):
8891         * redisplay.c (generate_fstring_runes):
8892         * redisplay.c (screen):
8893         add random comments and doc strings.
8894
8895         * specifier.c:
8896         * specifier.c (Fmake_specifier):
8897         major overhaul of this doc string.
8898
8899         * specifier.c (Fvalid_specifier_domain_p):
8900         comment about the bogosity of image instances being domains.
8901         * specifier.c (decode_domain):
8902         now non-static, used in glyphs.c.
8903         * specifier.c (specifier_instance):
8904         comment about the bogosity of image instances being domains.
8905         * specifier.c (Fgeneric_specifier_p):
8906         move doc string to make-generic-specifier.
8907         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8908         rebackslashify.
8909
8910         * specifier.h:
8911         * specifier.h (DOMAIN_FRAME):
8912         * specifier.h (DOMAIN_LIVE_P):
8913         * specifier.h (DOMAIN_XDEVICE):
8914         rebackslashify.
8915         add comments about problems with these macros.
8916         prototype for decode_domain.
8917
8918         * toolbar.c:
8919         * toolbar.c (Ftoolbar_specifier_p):
8920         move doc string to `make-toolbar-specifier'.
8921
8922         * window.c (window_unmap_subwindows_cache_mapper):
8923         *************************************************************
8924         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8925         HAVE BEEN GETTING.
8926         *************************************************************
8927
8928 2000-05-09  Andy Piper  <andy@xemacs.org>
8929
8930         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8931
8932         * window.c (Fset_window_configuration): reset the frame subwindow
8933         cache and re-initialize the window subwindow caches.
8934
8935         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8936
8937 2000-05-09  Ben Wing  <ben@xemacs.org>
8938
8939         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8940         DWORD.
8941
8942 2000-04-26  Mike Woolley  <mike@bulsara.com>
8943
8944         * ntheap.c: Changed recreate_heap to limit the amount reserved
8945         for the heap to that which is actually available. Also now
8946         displays a message box (with some dignostics) in the event that
8947         it still can't start.
8948
8949 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8950
8951         * callproc.c (Fold_call_process_internal): GCPRO path
8952
8953 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8954
8955         Patch by Bill Perry.
8956
8957         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8958         back data instead of #ifdef.
8959         (Fscrollbar_page_down): ditto.
8960
8961 2000-05-07  Ben Wing  <ben@xemacs.org>
8962
8963         * buffer.h:
8964         Kludge for defining Qmswindows_tstr.
8965
8966         * nt.c:
8967         * nt.c (open_input_file):
8968         * nt.c (open_output_file):
8969         * nt.c (rva_to_section):
8970         * nt.c (mswindows_executable_type):
8971         Move all memory-mapped-file routines here (some were in unexnt.c,
8972         which is bad because they are used by process-nt.c, and unexnt
8973         won't be around when portable dumping).  Synched the above routines
8974         with FSF 20.6.
8975
8976         * nt.h:
8977         Removed ifdef'd out bogus code.
8978         Fixed some prototypes.
8979
8980         * nt.h (file_data):
8981         * nt.h (OFFSET_TO_RVA):
8982         * nt.h (RVA_TO_OFFSET):
8983         * nt.h (RVA_TO_PTR):
8984         Moved the memory-mapped-file structures, macros and prototypes
8985         here, to parallel nt.c.  ntheap.h should really be removed
8986         entirely, and it's a non-portable-dumper specific file.
8987
8988         * ntheap.h (round_to_next):
8989         Moved the memory-mapped-file structures, macros and prototypes
8990         to nt.h.
8991
8992         * ntproc.c (compare_env):
8993         Moved rva_to_section and mswindows_executable_type to nt.c.
8994         Moved compare_env to process-nt.c.
8995         ntproc.c will die, one day.
8996
8997         * ntproc.c (sys_spawnve):
8998         Account for win32_ -> mswindows_.
8999
9000         * process-nt.c:
9001         * process-nt.c (struct nt_process_data):
9002         * process-nt.c (ensure_console_window_exists):
9003         * process-nt.c (compare_env):
9004         * process-nt.c (nt_create_process):
9005         * process-nt.c (nt_kill_process_by_pid):
9006         * process-nt.c (syms_of_process_nt):
9007         * process-nt.c (vars_of_process_nt):
9008         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9009         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9010         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9011         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9012         Move compare_env here from ntproc.c.
9013
9014         * process.c (Fprocess_send_region):
9015         Takes an optional fourth argument, BUFFER, which should fix some
9016         problems with call-process.
9017
9018         * syscommctrl.h:
9019         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9020
9021         * syswindows.h:
9022         Move ICC_BAR_CLASSES to syscommctrl.h.
9023         Add preliminary macros for MSWindows/Mule.  More to come.
9024
9025         * unexnt.c:
9026         * unexnt.c (unexec):
9027         open_output_file moved to nt.c.
9028
9029
9030 2000-05-05  Andy Piper  <andy@xemacs.org>
9031
9032         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9033         instance from the frame cache also since GC may catch up too late
9034         to make frame deletion sane.
9035
9036 2000-05-04  Andy Piper  <andy@xemacs.org>
9037
9038         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9039         (x_finalize_image_instance): ungcpro on deletion.
9040
9041         * glyphs.c (image_instantiator_format_create): give pointers a
9042         query geometry method so that the geometry is at least set.
9043
9044         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9045         initialize layouts if using widgets.
9046
9047 2000-05-03  Andy Piper  <andy@xemacs.org>
9048
9049         * nt.c: remove bogus reference to sysmmsystem.h
9050
9051         * gui-x.c (popup_selection_callback): fix no selection abort.
9052
9053 2000-05-02  Andy Piper  <andy@xemacs.org>
9054
9055         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9056         (mswindows_widget_instantiate): ditto.
9057
9058         * glyphs-widget.c (initialize_widget_image_instance): initialize
9059         children correctly.
9060         (widget_instantiate): cope with children and items in the same
9061         instance.
9062
9063         * glyphs.c (mark_image_instance): cope with children as a first
9064         class member.
9065         (image_instance_equal): ditto.
9066         (image_instance_hash): ditto.
9067         (image_instance_changed): ditto.
9068
9069 2000-04-30  Andy Piper  <andy@xemacs.org>
9070
9071         * glyphs.c (subwindow_query_geometry): new function. Return some
9072         defaults.
9073         (subwindow_instantiate): don't assign dimensions if none have been
9074         given.
9075         (image_instantiator_format_create): add subwindow_query_geometry.
9076         (print_image_instance): cope with layouts as widgets.
9077
9078 2000-04-29  Andy Piper  <andy@xemacs.org>
9079
9080         * frame.c (delete_frame_internal): call
9081         free_frame_subwindow_instance_cache so that all subwindows are
9082         finalized before their parent.
9083         (mark_frame): remove subwindow_cachels.
9084         (Fmake_frame): remove subwindow_cachel manipulation.
9085         (allocate_frame_core): subwindow_instance_cache is a weak list.
9086         (delete_frame_internal): set subwindow_instance_cache to nil.
9087
9088         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9089         finalization safe.
9090         (mswindows_finalize_image_instance): use the device
9091         not the domain as the domain may have died already.
9092
9093         * glyphs-x.c (x_finalize_image_instance): ditto.
9094         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9095         HEIGHT.
9096
9097         * redisplay-output.c (redisplay_unmap_subwindows): update for
9098         subwindow instance cache as a weak list.
9099         (redisplay_unmap_subwindows_maybe): ditto.
9100         (redisplay_unmap_subwindows_except_us): ditto.
9101
9102         * glyphs.c (unmap_subwindow): error checking will check the domain
9103         so don't deal with it here. Don't use cachels anymore.
9104         (map_subwindow): ditto.
9105         (update_subwindow_cachel_data): remove old accessor names.
9106         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9107         (Fresize_subwindow): don't update cachel.
9108         (mark_subwindow_cachels):
9109         (update_subwindow_cachel_data):
9110         (add_subwindow_cachel):
9111         (get_subwindow_cachel_index):
9112         (update_subwindow_cachel):
9113         (reset_subwindow_cachels):
9114         (mark_subwindow_cachels_as_not_updated): deleted.
9115         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9116         subwindow instance to the frame cache.
9117         (find_matching_subwindow): update for subwindow instance cache as
9118         a weak list.
9119         (update_widget_instances): ditto.
9120         (image_instance_type_to_mask):inlined.
9121         (free_frame_subwindow_instance_cache): new function. finalize all
9122         subwindows that are instantiated.
9123
9124         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9125         of cachel information.
9126         (IMAGE_INSTANCE_DISPLAY_X):
9127         (IMAGE_INSTANCE_DISPLAY_Y):
9128         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9129         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9130         (XIMAGE_INSTANCE_DISPLAY_X):
9131         (XIMAGE_INSTANCE_DISPLAY_Y):
9132         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9133         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9134         remove subwindow_cachel structure and function references.
9135         (image_instance_type_to_mask): inline from glyphs.c
9136
9137         * redisplay.c (redisplay_frame): remove subwindow_cachel
9138         references.
9139
9140         * frame.h (struct frame): remove subwindow_cachels.
9141         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9142
9143         * frameslots.h: add subwindow_instance_cache.
9144
9145         * window.c (replace_window): check subwindow cache of replacement.
9146         (window_unmap_subwindows_cache_mapper):
9147         (window_unmap_subwindows): new functions. Unmap all subwindows
9148         cached on this window.
9149         (mark_window_as_deleted): unmap all subwindows.
9150
9151 2000-04-27  Andy Piper  <andy@xemacs.org>
9152
9153         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9154
9155         * glyphs-widget.c (widget_layout): return something.
9156         (layout_layout): return something. Fail if not initialized.
9157         (layout_query_geometry): ditto.
9158         (image_instantiator_native_layout): new function. Initialized the
9159         native layout type.
9160         (widget_instantiate): don't do layout stuff here.
9161
9162         * glyphs.c (instantiate_image_instantiator): reorded calling or
9163         instantiate and post_instantiate with layout in between.
9164         (image_instance_layout): be more selective about deciding whether
9165         the layout has been done or not.
9166
9167         * glyphs.h (struct image_instantiator_methods): return a value
9168         from layout_method.
9169
9170 2000-04-26  Andy Piper  <andy@xemacs.org>
9171
9172         * glyphs.c (allocate_image_instance): make initial width and
9173         height unspecified. Set initialized to 0.
9174
9175         * syscommctrl.h new file. Encapsulates commctrl.h.
9176
9177         * syswindows.h new file. Encapsulates windows.h.
9178
9179         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9180         * nt.c: ditto.
9181         * console-msw.h: ditto.
9182
9183         * redisplay-tty.c (tty_output_display_block): remove layout references.
9184
9185         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9186         window handle rather than just the frame.
9187
9188         * glyphs.c (mark_image_instance): remove layout references.
9189         (print_image_instance): ditto.
9190         (image_instance_equal): ditto.
9191         (image_instance_hash): ditto.
9192         (decode_image_instance_type): ditto.
9193         (encode_image_instance_type): ditto.
9194         (image_instantiate): ditto.
9195         (allocate_glyph): ditto.
9196         (Fimage_instance_height): ditto.
9197         (Fimage_instance_width): ditto.
9198         (update_subwindow): ditto.
9199
9200         * redisplay-x.c (x_output_display_block): recode for layouts as
9201         widgets.
9202
9203         * redisplay-output.c (redisplay_output_layout): recode for layouts
9204         as widgets.
9205         (compare_runes): remove layout references.
9206
9207         * redisplay-msw.c (mswindows_output_display_block): recode for
9208         layouts as widgets.
9209
9210         * glyphs-widget.c (image_instantiator_layout): remove
9211         layout_possible_dest_types.
9212         (layout_possible_dest_types): deleted.
9213
9214         * glyphs.h (image_instance_type): remove layout references.
9215         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9216         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9217         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9218
9219 2000-04-25  Andy Piper  <andy@xemacs.org>
9220
9221         * glyphs-widget.c (image_instantiator_buttons):
9222         (image_instantiator_edit_fields):
9223         (image_instantiator_combo_box):
9224         (image_instantiator_scrollbar):
9225         (image_instantiator_progress_guage):
9226         (image_instantiator_tree_view):
9227         (image_instantiator_tab_control):
9228         (image_instantiator_labels):
9229         (image_instantiator_layout): call default post_instantiate method.
9230         (widget_post_instantiate): new function. Simply lays out the
9231         widgets.
9232
9233         * glyphs.h (struct image_instantiator_methods): add
9234         post_instantiate method.
9235
9236         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9237         method calls.
9238
9239 2000-04-23  Andy Piper  <andy@xemacs.org>
9240
9241         * glyphs.h (struct image_instantiator_methods): add
9242         decode_domain_method.
9243         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9244         derived from the domain.
9245         (IMAGE_INSTANCE_FRAME): new accessor.
9246         (XIMAGE_INSTANCE_FRAME): ditto.
9247
9248         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9249         instead of _SUBWINDOW_FRAME.
9250         (finalize_image_instance): ditto.
9251         (Fimage_instance_foreground): ditto.
9252         (Fimage_instance_background): ditto.
9253         (image_instantiate): ditto.
9254         (update_subwindow_cachel): ditto.
9255         (update_subwindow): ditto.
9256         (unmap_subwindow): ditto.
9257         (map_subwindow): ditto
9258         (subwindow_instantiate): ditto.
9259         * glyphs-msw.c (mswindows_update_widget): ditto.
9260         (mswindows_progress_gauge_instantiate): ditto.
9261         (mswindows_tab_control_update): ditto.
9262         * glyphs-x.c (x_update_widget): ditto.
9263         (x_widget_instantiate): ditto.
9264         (x_tab_control_instantiate): ditto.
9265         (x_tab_control_update): ditto.
9266         * event-msw.c (mswindows_wnd_proc): ditto
9267
9268         * glyphs-widget.c (image_instantiator_layout): use
9269         subwindow_decode_domain.
9270         (image_instantiator_buttons): ditto.
9271         (image_instantiator_edit_fields): ditto.
9272         (image_instantiator_combo_box): ditto.
9273         (image_instantiator_scrollbar): ditto.
9274         (image_instantiator_progress_guage): ditto.
9275         (image_instantiator_tree_view): ditto.
9276         (image_instantiator_tab_control): ditto.
9277         (image_instantiator_labels): ditto.
9278         (image_instantiator_layout): ditto.
9279
9280         * glyphs.c: add instance error checking to many functions.
9281         (instantiate_image_instantiator): decode device from cache_domain.
9282         (image_instantiate): partially rewrite by using
9283         decode_image_instantiator_domain to determine what domain the
9284         instance needs to be cached in.
9285         (decode_image_instantiator_domain): new function. Determine what
9286         domain the image needs to be cached in.
9287         (check_window_subwindow_cache): new error checking function.
9288         (check_instance_cache_mapper): ditto.
9289         (check_image_instance_structure): ditto.
9290         (subwindow_decode_domain): new function. Encodes a window as a
9291         subwindow's cache domain.
9292         (image_instantiator_format_create): use it for text and
9293         subwindows.
9294
9295 2000-04-21  Andy Piper  <andy@xemacs.org>
9296
9297         * glyphs.c (image_instance_device): new function.
9298         (image_instance_frame): new function.
9299         (image_instance_window): new function.
9300         (image_instance_live_p): new function.
9301
9302         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9303         cache to nil.
9304
9305         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9306         (IMAGE_INSTANCE_DOMAIN): new accessor.
9307         (XIMAGE_INSTANCE_DOMAIN): ditto.
9308
9309         * glyphs-x.c (x_finalize_image_instance): device->domain.
9310
9311         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9312         (mswindows_finalize_image_instance): ditto.
9313
9314         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9315         (gif_instantiate): ditto.
9316         (png_instantiate): ditto.
9317         (tiff_instantiate): ditto.
9318
9319         * glyphs.c (instantiate_image_instantiator): use domain rather
9320         than device.
9321         (mark_image_instance): device -> domain.
9322         (print_image_instance): ditto.
9323         (finalize_image_instance): ditto.
9324         (image_instance_equal): ditto.
9325         (allocate_image_instance): ditto.
9326         (Fcolorize_image_instance): ditto.
9327         (query_string_geometry): ditto.
9328         (image_instantiate): ditto
9329         (query_string_font): ditto.
9330         (image_instantiate): ditto.
9331         (update_subwindow): ditto.
9332         (unmap_subwindow): ditto.
9333         (map_subwindow): ditto.
9334         (subwindow_instantiate): ditto.
9335
9336         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9337         (DOMAIN_FRAME): ditto.
9338         (DOMAIN_WINDOW): ditto.
9339         (DOMAIN_LIVE_P): ditto.
9340         (XDOMAIN_DEVICE): ditto.
9341         (XDOMAIN_FRAME): ditto.
9342         (XDOMAIN_WINDOW): ditto.
9343
9344         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9345         a valid specifier domain.
9346
9347 2000-04-19  Andy Piper  <andy@xemacs.org>
9348
9349         * glyphs-widget.c (syms_of_glyphs_widget): remove
9350         widget-callback-current-channel.
9351         (vars_of_glyphs_widget): ditto.
9352         * glyphs.h: ditto
9353
9354         * gui.c (get_gui_callback): revert to previous behaviour.
9355
9356 2000-04-18  Andy Piper  <andy@xemacs.org>
9357
9358         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9359         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9360         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9361
9362         * glyphs.c (image_instance_equal): add margin_width.
9363         (image_instance_hash): ditto.
9364
9365         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9366         (layout_query_geometry): ditto.
9367         (layout_layout): ditto.
9368         (syms_of_glyphs_widget): add margin-width.
9369         (image_instantiator_layout): allow margin-width.
9370
9371         * glyphs.c (update_widget_instances): make a normal function.
9372         (syms_of_glyphs): remove Qupdate_widget_instances.
9373         * glyphs.h: ditto.
9374
9375         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9376         so that we don't corrupt ideas about the last event or
9377         command. Remove widget-callback-current-channel fiddling.
9378         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9379
9380 2000-05-01  Martin Buchholz <martin@xemacs.org>
9381
9382         * XEmacs 21.2.33 is released.
9383
9384 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9385
9386         * make-src-depend: Allow dots in header file name.
9387
9388 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9389
9390         * mule-charset.h (struct charset_lookup): Add
9391         next_allocated_1_byte_leading_byte and
9392         next_allocated_2_byte_leading_byte.
9393         * mule-charset.c: Move above two variables so that those values
9394         will be dumped.
9395
9396 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9397
9398         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9399         when string length is zero.
9400         (find_charsets_in_emchar_string): Ditto.
9401
9402 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9403
9404         * lisp.h: extern Qdialog and Qmenubar.
9405
9406         * gui-x.c: added events.h.
9407                 also fixed typo which made the file uncompilable.
9408
9409         * general.c: Added Qmenubar and Qdialog
9410
9411 2000-04-28  Ben Wing  <ben@xemacs.org>
9412
9413         * frame-msw.c (mswindows_init_frame_1):
9414         * frame-msw.c (mswindows_mark_frame):
9415         * event-msw.c (mswindows_enqueue_dispatch_event):
9416         * console-msw.h:
9417         * console-msw.h (struct mswindows_frame):
9418         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9419         there are now three hash tables for callbacks.
9420         mswindows_enqueue_dispatch_event is no longer static.
9421
9422         * dialog-x.c (maybe_run_dbox_text_callback):
9423         * dialog-x.c (dbox_descriptor_to_widget_value):
9424         switch to new cons3 form for callbacks.
9425
9426         * glyphs-msw.c (mswindows_register_gui_item):
9427         * glyphs-msw.c (mswindows_widget_instantiate):
9428         * glyphs-msw.c (add_tree_item):
9429         * glyphs-msw.c (add_tab_item):
9430         new image instance parameter, so it can be passed to callback-ex.
9431         respect :callback-ex as well as :callback.
9432
9433         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9434         add :callback-ex.
9435
9436         * glyphs.c (print_image_instance):
9437         prettify, e.g. now prints widget type.
9438
9439         * gui-x.h:
9440         certain funs have new image instance parameter.
9441
9442         * gui.c:
9443         * gui.c (get_gui_callback):
9444         * gui.c (gui_item_add_keyval_pair):
9445         * gui.c (gui_item_init):
9446         * gui.c (gui_add_item_keywords_to_plist):
9447         * gui.c (mark_gui_item):
9448         * gui.c (gui_item_hash):
9449         * gui.c (gui_item_equal):
9450         * gui.c (copy_gui_item):
9451         * gui.c (syms_of_gui):
9452         recognize callback-ex in a number of places.
9453         also, fix the annoying "can't get out of yes-no dialog" bug.
9454
9455         * gui.h:
9456         * gui.h (struct Lisp_Gui_Item):
9457         recognize callback-ex in a number of places.
9458
9459         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9460         new parameter in button_item_to_widget_value.
9461
9462         * glyphs-x.c (x_update_widget):
9463         * glyphs-x.c (x_button_instantiate):
9464         * glyphs-x.c (x_button_update):
9465         * glyphs-x.c (x_progress_gauge_instantiate):
9466         * glyphs-x.c (x_edit_field_instantiate):
9467         * glyphs-x.c (x_combo_box_instantiate):
9468         * glyphs-x.c (x_tab_control_instantiate):
9469         * glyphs-x.c (x_label_instantiate):
9470         new image instance parameter in various places.
9471
9472         * event-Xt.c:
9473         * event-Xt.c (enqueue_Xt_dispatch_event):
9474         this fun gets exported.
9475
9476         * gui-msw.c:
9477         * gui-msw.c (mswindows_handle_gui_wm_command):
9478         handle both :callback and :callback-ex, and generate our own
9479         event because it's one of the callback-ex arguments.
9480
9481         * gui-x.c:
9482         * gui-x.c (popup_selection_callback):
9483         handle both :callback and :callback-ex, and generate our own
9484         event because it's one of the callback-ex arguments.
9485         * gui-x.c (button_item_to_widget_value):
9486         * gui-x.c (gui_items_to_widget_values_1):
9487         * gui-x.c (gui_item_children_to_widget_values):
9488         * gui-x.c (gui_items_to_widget_values):
9489         new image instance parameter in various places.
9490
9491         * fns.c (Freplace_list):
9492         fix small typo in doc string.
9493
9494         * lisp.h:
9495         declare enqueue_Xt_dispatch_event.
9496
9497 2000-04-28  Ben Wing  <ben@xemacs.org>
9498
9499         * buffer.c:
9500         * buffer.c (Frecord_buffer):
9501         * buffer.c (syms_of_buffer):
9502         delete record-buffer-hook.
9503
9504         * fns.c:
9505         * fns.c (Freplace_list):
9506         * fns.c (syms_of_fns):
9507         new primitive replace-list.
9508
9509         * frameslots.h:
9510         slot for old buffer-alist.
9511
9512         * lisp.h:
9513         exfun replace-list.
9514
9515         * redisplay.c:
9516         * redisplay.c (redisplay_frame):
9517         * redisplay.c (syms_of_redisplay):
9518         * redisplay.c (vars_of_redisplay):
9519         new hook buffer-list-changed-hook.
9520         call it.
9521
9522 2000-04-27  Ben Wing  <ben@xemacs.org>
9523
9524         * extents.h: extern in_modeline_generation.
9525
9526         * redisplay.c (generate_formatted_string_db): set
9527         in_modeline_generation.
9528
9529         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9530         flags if in modeline generation.  otherwise frame-modified-tick
9531         is ticked far too often.
9532         Declare in_modeline_generation.
9533
9534 2000-04-26  Ben Wing  <ben@xemacs.org>
9535
9536         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9537         option.
9538         (vars_of_emacs): add quick-build as an error-checking option.
9539         A bit kludgy, but there doesn't seem much point in creating
9540         a real var for this.
9541
9542         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9543
9544 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9545
9546         * redisplay.h (struct display_line): Add a new variable,
9547         line_continuation.
9548
9549         * redisplay.c (create_text_block): Set dl->line_continuation if
9550         the line continues.
9551         (create_string_text_block): Ditto.
9552         (regenerate_window_incrementally): Use line_continuation instead
9553         of searching continuation glyph.
9554         (add_margin_runes): Call add_glyph_rune.
9555         (add_glyph_rune): Handle margin glyph.
9556
9557 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9558
9559         * filelock.c (fill_in_lock_file_name):
9560         ANSIfy.
9561         Check for IS_ANY_SEP instead of '/'.
9562         (lock_file_1):
9563         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9564         Never check errno without first seeing that system call failed.
9565         (unlock_file): Add GCPRO.
9566         (Flock_buffer): Fix docstring.
9567         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9568
9569 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9570
9571         * sysdep.c (get_pty_max_bytes):
9572         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9573         strings longer than 252 bytes.
9574
9575         * md5.c: Unconditionally include ANSI header <limits.h>
9576
9577         * glyphs-x.c (convert_EImage_to_XImage):
9578         * lisp-union.h (union Lisp_Object):
9579         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9580
9581 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9582
9583         * filelock.c (current_lock_owner): Remove unused variable o, p.
9584
9585 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9586
9587         * callint.c: Remove multiply defined symbol Qlet
9588         (syms_of_callint): ditto.
9589
9590 2000-04-14  Andy Piper  <andy@xemacs.org>
9591
9592         * general.c (syms_of_general): add last-command, this-command, let
9593         and funcall.
9594
9595         * lisp.h: declare various symbols.
9596
9597         * glyphs.h: declare Qwidget_callback_current_channel;
9598
9599         * glyphs-widget.c (syms_of_glyphs_widget): add
9600         Qgui_callback_current_channel.
9601         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9602
9603         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9604         widget-callback-current-channel when invoking the interactive
9605         arg. Also bind last-command and next-command when invoking the
9606         widget updates.
9607         * gui-x.c (popup_selection_callback): ditto.
9608
9609         * gui.c (get_gui_callback): massage args so that we are always
9610         calling eval. This allows us to add our own variable bindings
9611         outside.
9612
9613         * glyphs-x.c (x_button_instantiate): use
9614         gui_items_to_widget_values since this is GC safe.
9615         (x_progress_gauge_instantiate): ditto.
9616         (x_edit_field_instantiate): ditto.
9617         (x_label_instantiate): ditto.
9618
9619         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9620         (emacs_Xt_event_widget_focus_out): new function
9621         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9622         focus.
9623         (emacs_Xt_event_add_widget_actions): new function. add focus
9624         functions as actions.
9625         (init_event_Xt_late): use it.
9626
9627 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9628
9629         * event-stream.c (Fdispatch_event): Doc fix.
9630
9631 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9632
9633         * postgresql.c: Remove all references to PQsetenv*.
9634
9635         * postgresql.h: Remove references to PGsetenvHandler object.
9636         * lrecord.h (lrecord_type): Ditto.
9637
9638 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9639
9640         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9641         real_heigh and real_width members, and accessor macros for these.
9642
9643         * glyphs-msw.c (init_image_instance_geometry): New function.
9644         (init_image_instance_from_dibitmap): Use it.
9645         (mswindows_resource_instantiate): Use it.
9646         (init_image_instance_from_xbm_inline): Use it.
9647         (mswindows_initialize_image_instance_mask): Use real bitmap
9648         geometry.
9649         (mswindows_create_resized_bitmap): Ditto.
9650         (mswindows_create_resized_mask): Ditto.
9651
9652         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9653         and bitmap to their surface size.
9654
9655 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9656
9657         * process-unix.c (unix_send_process): Guard against process MIA
9658         after Faccept_process_output.
9659
9660 2000-04-11  Ben Wing  <ben@xemacs.org>
9661
9662         * eval.c (unbind_to_hairy): fix brokenness introduced by
9663         nanosecond speed improvements.
9664
9665 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9666
9667         * sunplay.c (init_device): To play sounds correctly, the device
9668         apparently needs to be initialized at least once by XEmacs.  Make
9669         it so.
9670
9671 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9672
9673         * redisplay.c (add_margin_runes): Add text image glyph
9674           handling.
9675
9676 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9677
9678         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9679         gcc is newer than 2.5.
9680
9681 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9682
9683         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9684
9685         * fns.c (size_bit_vector):
9686         * alloc.c (size_vector):
9687         (make_vector_internal):
9688         (make_bit_vector_internal):
9689         (sweep_bit_vectors_1):
9690         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9691
9692 2000-04-06  Andy Piper  <andy@xemacs.org>
9693
9694         * gmalloc.c (malloc): undo previous change.
9695         (malloc): ditto.
9696         (free): ditto.
9697         (realloc): ditto.
9698
9699 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9700
9701         * line-number.c (buffer_line_number): Revert to former version.
9702
9703 2000-04-06  Andy Piper  <andy@xemacs.org>
9704
9705         * gmalloc.c (malloc): add error checking.
9706         (malloc): ditto.
9707         (free): ditto.
9708         (realloc): ditto.
9709
9710         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9711         button_item_to_widget_value arg.
9712
9713         * glyphs-x.c (x_button_instantiate): add extra
9714         button_item_to_widget_value arg.
9715         (x_progress_gauge_instantiate): ditto.
9716         (x_edit_field_instantiate): ditto.
9717         (x_label_instantiate): ditto.
9718
9719         * gui-x.c (gui_items_to_widget_values_1): add extra
9720         button_item_to_widget_value arg.
9721         (button_item_to_widget_value): add extra menu_item_p arg.
9722
9723         * gui-x.h: change signature of button_item_to_widget_value.
9724
9725         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9726         button_item_to_widget_value arg.
9727
9728 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9729
9730         * buffer.h (struct buffer): auto_save_modified should be long.
9731
9732 2000-04-05  Andy Piper  <andy@xemacs.org>
9733
9734         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9735         type.
9736         (button_query_geometry): give a little more room so that athena
9737         buttons fit.
9738
9739 2000-04-05  Andy Piper  <andy@xemacs.org>
9740
9741         * faces.c (complex_vars_of_faces): The widget face should inherit
9742         the font of the gui-element face.
9743
9744 2000-04-04  Andy Piper  <andy@xemacs.org>
9745
9746         * glyphs-x.c (x_button_update): new function. unconditionally
9747         update a button's state when the instance is dirty.
9748         (image_instantiator_format_create_glyphs_x): add x_button_update.
9749         (x_widget_instantiate): remove old resize cruft.
9750
9751 2000-04-02  Andy Piper  <andy@xemacs.org>
9752
9753         * frame.c (change_frame_size_1): The introduction of gutters means
9754         that we need to allow 0 as a potential frame dimension.
9755
9756 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9757
9758         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9759         image glyph if allow_cursor.
9760         (add_hscroll_rune): Don't allow cursor to border glyph.
9761         (create_text_block): Ditto.
9762
9763         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9764         text not in buffer.
9765         (redisplay_output_layout): Call ensure_face_cachel_complete for
9766         text image glyph.
9767
9768
9769 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9770
9771         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9772
9773         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9774         not in buffer
9775
9776         * redisplay-tty.c (tty_output_display_block): Delete the routine
9777         for text image glyph
9778         * redisplay-x.c (x_output_display_block): ditto
9779         * redisplay-msw.c (mswindows_output_display_block): ditto
9780
9781 2000-02-02  Mike Alexander  <mta@arbortext.com>
9782
9783         Note: Some of these were committed by accident as part of other
9784         patches.
9785
9786         * regex.c (regex_compile): Avoid compiler warnings.
9787
9788         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9789
9790         * nt.h: Declare term_ntproc correctly.
9791
9792         * nt.c: Remove incorrect declaration of get_home_directory which
9793         is declared correctly in lisp.h.
9794
9795         * keymap.c (get_keyelt): Avoid compiler warnings.
9796         (raw_lookup_key_mapper): Avoid compiler warnings.
9797
9798         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9799
9800         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9801
9802         * filemode.c (mode_string): Avoid compiler warnings.
9803
9804         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9805         avoid warning.
9806
9807         * events-mod.h: Undef some things that winuser.h defines differently.
9808
9809         * data.c (Faset): Avoid compiler warnings.
9810
9811         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9812
9813 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9814
9815         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9816         Fall through to simple beep on error.
9817         Replace "extern" by real header file.
9818
9819         * linuxplay.c: Use nativesound.h
9820         (play_sound_data): Return error code. Be less verbose on error.
9821
9822         * sunplay.c: Use nativesound.h
9823         (play_sound_data): Return error code. Be less verbose on error.
9824
9825         * ntplay.c: Use nativesound.h
9826         (play_sound_data): Return fake error code
9827
9828         * sgiplay.c: Use nativesound.h
9829         (play_sound_data): Return error code
9830
9831         * hpplay.c: Use nativesound.h, partially implement
9832         new error code. Break compilation until finished.
9833         (play_sound_data): error code.
9834
9835         * nativesound.h (play_sound_file):
9836           (play_sound_data): Prototype in new header.
9837
9838 2000-03-31  Andy Piper  <andy@xemacs.org>
9839
9840         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9841         for toggle and radio buttons.
9842         (image_instantiator_buttons): use it.
9843
9844 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9845
9846         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9847         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9848         found. Scrollbar event probably belonged to some old config.
9849
9850 2000-03-31  Andy Piper  <andy@xemacs.org>
9851
9852         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9853         than 1.
9854         (initialize_widget_image_instance): default layout to
9855         LAYOUT_HORIZONTAL rather than 0.
9856         (widget_instantiate): reverse the item list at the end rather than
9857         every iteration.
9858         (layout_layout): re-code for the border text at the front of the
9859         item list rather than at the end.
9860         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9861         provided by the user.
9862         (widget_query_geometry): comment.
9863
9864 2000-03-30  Andy Piper  <andy@xemacs.org>
9865
9866         * glyphs-widget.c (image_instantiator_layout): allow standard
9867         widget keywords in layouts.
9868
9869         * gutter.c (output_gutter): cope with nil gutter contents.
9870
9871         * frame.c (Fset_frame_properties): add gutter docs.
9872
9873 2000-03-29  Andy Piper  <andy@xemacs.org>
9874
9875         * toolbar-msw.c (TBSTYLE_FLAT): add.
9876         (mswindows_output_toolbar): minor fiddling.
9877
9878 2000-03-29  Andy Piper  <andy@xemacs.org>
9879
9880         * gutter.c (output_gutter): force gutter size recalculation if
9881         what we are trying to display won't fit.
9882         (update_gutter_geometry): new function. A per-gutter version of
9883         update_frame_gutter_geometry.
9884         (update_frame_gutter_geometry): use it.
9885         (redraw_exposed_gutter): add extra debugging output.
9886
9887 2000-03-28  Mike Alexander  <mta@arbortext.com>
9888
9889         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9890         (pdump_file_unmap): Implement it on Windows
9891         (pdump_file_get): Save alocated handles for pdump_file_unmap
9892
9893 2000-03-28  Andy Piper  <andy@xemacs.org>
9894
9895         * gui.c (get_gui_callback): treat Quit specially.
9896
9897 2000-03-27  Andy Piper  <andy@xemacs.org>
9898
9899         * glyphs.c (image_instantiate): be careful to check in the same
9900         way we assigned.
9901
9902 2000-03-27  Didier Verna  <didier@xemacs.org>
9903
9904         * config.h.in: define the proper SMART_INCLUDE macro.
9905         handle renaming of `foo_h_path' to `foo_h_file'.
9906
9907         * database.c: ditto.
9908
9909         * emacs.c: ditto.
9910
9911         * linuxplay.c: ditto.
9912
9913         * terminfo.c: ditto.
9914
9915         * tooltalk.h: ditto.
9916
9917 2000-03-27  Andy Piper  <andy@xemacs.org>
9918
9919         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9920         gets updated whenever the face might have changed.
9921
9922 2000-03-26  Mike Alexander  <mta@arbortext.com>
9923
9924         * dumper.c (pdump_resource_free): Fix the comment.
9925
9926 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9927
9928         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9929
9930 2000-03-22  Mike Alexander  <mta@arbortext.com>
9931
9932         * dumper.c: Include Windows headers on Windows
9933         (pdump_resource_free): Add a body to the function
9934         (pdump_load): exe_name -> exe_path and add some comments.
9935
9936 2000-03-25  Mike Alexander  <mta@arbortext.com>
9937
9938         * gui.c (copy_gui_item_tree): Return a value in all cases
9939
9940 2000-03-21  Didier Verna  <didier@xemacs.org>
9941
9942         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9943         lwlib/config.h.in.
9944         (SMART_INCLUDE): new macro.
9945         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9946         the proper location.
9947
9948         * postgresql.c: use it.
9949
9950         * inline.c: ditto.
9951
9952 2000-03-24  Andy Piper  <andy@xemacs.org>
9953
9954         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9955         do this.
9956
9957 2000-03-24  Andy Piper  <andy@xemacs.org>
9958
9959         * redisplay-output.c (compare_runes): use image_instance_changed
9960         to detect changes. Do not depend on glyphs_changed, only depend on
9961         dirtiness.
9962          (redisplay_output_layout): add debug messages.
9963         (compare_runes): ditto.
9964
9965         * glyphs.h: declare new functions.
9966         (struct Lisp_Image_Instance): remove percent and associated
9967         accessors.
9968
9969         * gui.h: declare new copying functions.
9970
9971         * gui.c (copy_gui_item_tree): new function.
9972         (copy_gui_item): new function.
9973         (gui_item_id_hash): revert to standard hash.
9974         (gui_item_hash): ditto.
9975         (gui_item_hash_internal): deleted.
9976         (mark_gui_item): mark value.
9977         (gui_item_add_keyval_pair): add value.
9978         (gui_item_init): ditto.
9979         (gui_add_item_keywords_to_plist): ditto.
9980         (gui_item_equal): ditto.
9981         (syms_of_gui): add Q_value.
9982
9983         * glyphs-x.c (x_progress_gauge_update): use pending items and
9984         value for setting the state.
9985         (x_update_widget): don't set items from pending here.
9986
9987         * glyphs-widget.c (update_widget): update items here.
9988         (progress_gauge_set_property): use items for storing value. Put
9989         new value in pending items.
9990
9991         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9992         items for new value. Convert percent -> value.
9993         (mswindows_tab_control_update): don't update items here.
9994
9995         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9996         (update_subwindow): ditto.
9997         (image_instance_changed): new function. Compare hash values and
9998         past and present widget items.
9999         (image_instantiate): We more careful about where we instantiate
10000         things.
10001         (image_instantiate): add error checking.
10002
10003         * gutter.c (syms_of_gutter): use -hook.
10004
10005 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10006
10007         * console-tty.c (Fset_console_tty_input_coding_system): Use
10008         Qkeyboard.
10009         (Fset_console_tty_output_coding_system): Use Qterminal.
10010         (tty_init_console): Use Qkeyboard and Qterminal.
10011
10012 2000-03-21  Ben Wing  <ben@xemacs.org>
10013
10014         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10015         From Mike Alexander <mta@arbortext.com>.
10016
10017 2000-03-21  Ben Wing  <ben@xemacs.org>
10018
10019         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10020         process brokenness.  Proper implementation to come.
10021         * callproc.c:
10022         Rename call-process-internal to old-call-process-internal.
10023         New impl. in process.el.
10024
10025 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10026
10027         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10028
10029 2000-03-20  Andy Piper  <andy@xemacs.org>
10030
10031         * glyphs.c (full_list_hash): make hashes of the same elements in
10032         different orders return different values.
10033
10034 2000-03-20  Martin Buchholz <martin@xemacs.org>
10035
10036         * XEmacs 21.2.32 is released.
10037
10038 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10039
10040         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10041         (DFC_MALLOC_USE_CONVERTED_DATA):
10042         Add aliasing-safe casts to allow use with char* or unsigned char*
10043         lvalues.
10044
10045         * eldap.c (Fldap_open):
10046         (Fldap_search_basic):
10047         (Fldap_add):
10048         (Fldap_modify):
10049         Make C++-compilable.
10050         Make sure GCPRO'ed variables are initialized.
10051         Use temp variables to avoid repeated calls to Flength.
10052
10053 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10054
10055         * sysfile.h:
10056         Make sure PATH_MAX is always defined.
10057         Include limits.h for PATH_MAX.
10058         Deprecate use of MAXPATHLEN.
10059
10060 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10061
10062         * emacs.c: Add reinit_vars_of_fileio.
10063         * symsinit.h: Add reinit_vars_of_fileio.
10064         * fileio.c (reinit_vars_of_fileio): New.
10065         * fileio.c (Fmake_temp_name):
10066         Initialize temp_name random number from microseconds to make
10067         collisions even less likely.  Initialize always at process startup
10068         time.  (make-temp-name) used to return the same file name twice in
10069         a row when PDUMP.
10070         Random stylistic fiddling.
10071         Comment fixes.
10072
10073 2000-03-20  Andy Piper  <andy@xemacs.org>
10074
10075         * glyphs.c (image_instantiate): allow text glyphs to be
10076         instantiated in the minibuffer window.
10077
10078 2000-03-19  Andy Piper  <andy@xemacs.org>
10079
10080         * glyphs.c (image_instance_hash): be careful about which items we
10081         hash on.
10082
10083         * glyphs-widget.c (tab_control_set_property): record into pending
10084         items rather than the actual items.
10085
10086         * glyphs-x.c (x_update_widget): use pending items to update with.
10087
10088         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10089         to update with.
10090
10091         * glyphs.c (mark_image_instance): mark pending items.
10092
10093         * window.c (Fset_window_configuration): record the buffer.
10094         (Fselect_window): totally revert previous change which breaks many
10095         things.
10096
10097 2000-03-18  Andy Piper  <andy@xemacs.org>
10098
10099         * glyphs-msw.c (mswindows_tab_control_update): force selected
10100         item.
10101
10102         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10103         window domain cache, otherwise we get inconsistencies at
10104         startup. There is something fishy at startup which can lead to the
10105         minibuffer being the selected window when the gutter content is
10106         instantiated.
10107
10108         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10109         gcpros.
10110         (parse_gui_item_tree_children): ditto.
10111         (parse_gui_item_tree_item): ditto.
10112
10113         * glyphs.c (Fupdate_widget_instances): return something.
10114
10115 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10116
10117         * window.c (Fselect_window): Undo 2000-03-17 change.
10118
10119 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10120
10121         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10122         against v7.0 libraries.  Insta-coredump city until the postgres
10123         folks fix it.
10124
10125 2000-03-17  Andy Piper  <andy@xemacs.org>
10126
10127         * faces.c (complex_vars_of_faces): don't give the widget face an
10128         inherited background pixmap.
10129
10130         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10131         selected item.
10132
10133         * event-stream.c (Fdispatch_non_command_events): return something.
10134
10135         * gutter.c (output_gutter): use widget face.
10136         (clear_gutter): ditto.
10137
10138         * NEWS: adjust again.
10139
10140         * window.c (Fselect_window): make sure this runs to completion to
10141         avoid oddities with Fset_window_configuration.
10142         (Fcurrent_window_configuration): in general do not save the
10143         minibuffer as the selected window.
10144
10145         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10146
10147 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10148
10149         * emacs.c (Frunning_temacs_p): Revert previous patch.
10150         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10151
10152 2000-03-16  Andy Piper  <andy@xemacs.org>
10153
10154         * glyphs-x.c (x_tab_control_update): if no widget values then
10155         return.
10156
10157         * NEWS: update for new features.
10158
10159         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10160         synthetic event to the native system.
10161         (reinit_vars_of_event_Xt): set force_event_pending to
10162         emacs_Xt_force_event_pending.
10163
10164         * events.h (struct event_stream): add force_event_pending.
10165
10166         * specifier.c (recompute_one_cached_specifier_in_window): add
10167         comment.
10168
10169         * redisplay.c (redisplay_frame): don't call
10170         update_frame_subwindows. Reset subwindow cachels when
10171         subwindows_changed, removing this was an optimization too far.
10172
10173         * redisplay-output.c (compare_runes): reorganize so that we catch
10174         glyph changes when we want them. Set optimize_output when this
10175         would help layouts.
10176         (redisplay_output_layout): remove frame_really_changed, use
10177         optimize_output instead.
10178
10179         * redisplay-msw.c (mswindows_output_display_block): reset
10180         optimize_output after outputting a glyph.
10181         * redisplay-x.c (x_output_display_block): ditto.
10182         * redisplay-tty.c (tty_output_display_block): ditto.
10183
10184         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10185         functions.
10186         (gutter_specs_changed): do specific gutter positions.
10187         (top_gutter_specs_changed): new function. Only update the
10188         specified gutter specs.
10189         (bottom_gutter_specs_changed): ditto.
10190         (left_gutter_specs_changed): ditto.
10191         (right_gutter_specs_changed): ditto.
10192
10193         * gui.c (gui_item_hash_internal): new function, does a real hash.
10194         (gui_item_id_hash): use it.
10195         (gui_item_hash): hash the eval'ed gui_item.
10196
10197         * gui-x.c (popup_selection_callback): send an eval event to call
10198         Fupdate_widget_instances.
10199
10200         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10201         to call Fupdate_widget_instances.
10202
10203         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10204         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10205
10206         * glyphs.c: (update_frame_subwindows): deleted.
10207         (Fupdate_widget_instances): new function for updating the dirty
10208         state of widgets that might have changed.
10209         (syms_of_glyphs): add Qupdate_widget_instances.
10210         (full_list_hash): hash a list completely.
10211         (image_instance_hash): use it for items and properties.
10212
10213         * frame-msw.c (mswindows_size_frame_internal): remove unused
10214         variable.
10215
10216         * faces.h (struct face_cachel): fix comment.
10217
10218         * event-stream.c (Fdispatch_non_command_events): new
10219         function. Process non-command events, forcing an event cycle
10220         beforehand.
10221         (syms_of_event_stream): declare.
10222         (event_stream_force_event_pending): new function. Force an event
10223         on the native event queue so that an event cycle will occur next
10224         time we check.
10225
10226         * event-msw.c:
10227         (struct ntpipe_shove_stream):
10228         (mswindows_enqueue_dispatch_event):
10229         (mswindows_dequeue_dispatch_event):
10230         (mswindows_cancel_dispatch_event):
10231         (mswindows_pump_outstanding_events):
10232         (mswindows_drain_windows_queue):
10233         (mswindows_handle_paint):
10234         (mswindows_wnd_proc):
10235         (mswindows_key_to_emacs_keysym):
10236         (get_process_input_waitable):
10237         (emacs_mswindows_delete_stream_pair): re-indent file.
10238         (mswindows_need_event): do not process further fds if the windows
10239         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10240         fixes the 100% cpu problem.
10241         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10242
10243 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10244
10245         * alloc.h: New.
10246         * dumper.h: New.
10247         * dumper.c: New.
10248
10249         * emacs.c: Moved dump file searching to dumper.c.
10250         (Frunning_temacs_p): Fixed.
10251
10252         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10253         last_lrecord_type_index_assigned.
10254
10255 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10256
10257         * symsinit.h: Added reinit parameter to init_console_stream
10258         declaration.
10259
10260         * lisp.h: Added file parameter to pdump_load declaration.
10261
10262         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10263         support.  Added dump file searching.
10264
10265         * config.h.in: Added EMACS_PROGNAME.
10266
10267         * console-stream.c (init_console_stream): Fix reinitialisation
10268         when running from temacs.
10269
10270         * alloc.c (pdump): Add id support.
10271         (pdump_load): Add file parameter and signature/id support.
10272
10273         * Makefile.in.in: Add full pdump support.
10274
10275 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10276
10277         * postgresql.c: Update documentation to reflect latest code
10278         status.
10279         (print_result): Show tuple counts in printed representation when
10280         appropriate.
10281         (Fpq_put_nbytes): MULE-ize.
10282         (Fpq_get_line_async): Ditto.
10283
10284 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10285
10286         * postgresql.c (Fpq_lo_import): Fix return value.
10287         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10288
10289 2000-03-13  Ben Wing  <ben@xemacs.org>
10290
10291         * alloc.c (pdump_load):
10292         Fix compile warning under mswin.
10293
10294 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10295
10296         * postgresql.c: Mule-ization, bug fixes.
10297         Use PG_CODING to encapsulate coding system name changes.
10298         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10299         (pg-coding-system): Create.
10300
10301         (Fpq_conn_defaults): Mule-ize.
10302         (Fpq_connectdb): Mule-ize & bug fix.
10303         (Fpq_connect_start): Mule-ize.
10304         (Fpq_set_client_encoding): Mule-ize.
10305         (Fpq_finish): Document `DEAD' connection status.
10306         (Fpq_clear): Ditto.
10307         (Fpq_pgconn): Mule-ize.
10308         (Fpq_exec): Mule-ize & bug fix.
10309         (Fpq_send_query): Ditto.
10310         (Fpq_get_result): Ditto.
10311         (Fpq_res_status): Mule-ize.
10312         (Fpq_result_error_message): Mule-ize.
10313         (Fpq_ntuples): fix comments.
10314         (Fpq_fname): Mule-ize.
10315         (Fpq_fnumber): Mule-ize.
10316         (Fpq_ftype): fix comments.
10317         (Fpq_get_value): Mule-ize.
10318         (Fpq_cmd_status): Ditto.
10319         (Fpq_cmd_tuples): Ditto.
10320         (Fpq_oid_value): Ditto.
10321         (Fpq_notifies): Ditto.
10322         (Fpq_lo_import): Ditto.
10323         (Fpq_lo_export): Ditto.
10324         (Fpq_get_line): Ditto.
10325         (Fpq_put_line): Mule-ize and bug fix.
10326         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10327
10328 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10329
10330         * postgresql.c (vars_of_postgresql): Mule-ize.
10331         (Fpq_conn_defaults): Ditto.
10332
10333 2000-03-12  Ben Wing  <ben@xemacs.org>
10334
10335         * alloc.c (Fmake_byte_code):
10336         * alloc.c (debug_string_purity_print):
10337         * alloc.c (pdump_backtrace):
10338         * alloc.c (pdump_get_indirect_count):
10339         * alloc.c (pdump_register_sub):
10340         * alloc.c (pdump_register_object):
10341         * alloc.c (pdump_register_struct):
10342         * alloc.c (pdump_dump_data):
10343         * alloc.c (pdump_reloc_one):
10344         Minor cleanups.
10345
10346         * console-msw.c:
10347         * console-msw.c (GetConsoleHwnd):
10348         * console-msw.c (msw_hide_console):
10349         * console-msw.c (msw_show_console):
10350         * console-msw.c (msw_ensure_console_buffered):
10351         * console-msw.c (msw_output_console_string):
10352         * console-msw.c (console_type_create_mswindows):
10353
10354         a) Added functions to manipulate the console window for use with
10355         shell support.
10356
10357         b) Added support for writing text to the console, which is now
10358         used under Windows when xemacs is not being run non-interactively,
10359         to write text that would otherwise be destined for stdout because
10360         under these circumstances, text written to stdout tends to
10361         disappear and not be seen.
10362
10363         * console-msw.h:
10364         * event-Xt.c:
10365         * event-Xt.c (x_event_to_emacs_event):
10366         * event-Xt.c (describe_event_window):
10367         * events-mod.h (XEMACS_MOD_CONTROL):
10368         * events.c:
10369         * events.c (Fmake_event):
10370         * events.c (character_to_event):
10371         * events.c (event_to_character):
10372         * events.c (format_event_object):
10373         * events.c (Fevent_modifiers):
10374         * events.h:
10375         * events.h (struct key_data):
10376         * events.h (struct button_data):
10377         * events.h (struct misc_user_data):
10378         * frame-x.c (Fcde_start_drag_internal):
10379         * frame-x.c (Foffix_start_drag_internal):
10380         * gpmevent.c (Freceive_gpm_event):
10381         * keymap.c:
10382         * keymap.c (bucky_sym_to_bucky_bit):
10383         * keymap.c (control_meta_superify):
10384         * keymap.c (make_key_description):
10385         * keymap.c (keymap_lookup_directly):
10386         * keymap.c (create_bucky_submap):
10387         * keymap.c (keymap_store):
10388         * keymap.c (define_key_check_and_coerce_keysym):
10389         * keymap.c (define_key_parser):
10390         * keymap.c (define_key_alternate_name):
10391         * keymap.c (Fdefine_key):
10392         * keymap.c (raw_lookup_key_mapper):
10393         * keymap.c (struct map_keymap_unsorted_closure):
10394         * keymap.c (map_keymap_unsorted_mapper):
10395         * keymap.c (map_keymap_sort_predicate):
10396         * keymap.c (map_keymap_sorted):
10397         * keymap.c (accessible_keymaps_mapper_1):
10398         * keymap.c (where_is_recursive_mapper):
10399         * keymap.c (describe_map_mapper):
10400         * keymap.c (describe_map_sort_predicate):
10401         * keymap.c (describe_map):
10402         * keymap.c (complex_vars_of_keymap):
10403         And a number of other files, the key modifier preprocessor
10404         constants that xemacs uses have names that conflict with constants
10405         defined under MS Windows for other purposes, so they were renamed
10406         to begin with the prefix XEMACS_. The variables that hold such
10407         modifiers were changed to consistently be of type int to fix
10408         various compile warnings.
10409
10410         * console.c (complex_vars_of_console):
10411         * device.c:
10412         * device-msw.c:
10413         * device-msw.c (mswindows_finish_init_device):
10414         * device-msw.c (msw_get_workspace_coords):
10415         * device-msw.c (mswindows_device_system_metrics):
10416         and various other files, added support for a new
10417         device property called offset-workspace which returns the position
10418         of the upper left corner of the workspace area and goes along with
10419         the existing size-workspace property.
10420
10421         * dialog-msw.c:
10422         * dialog-msw.c (push_bufbyte_string_as_unicode):
10423         * dialog-msw.c (mswindows_popup_dialog_box):
10424         Added support for XEmacs-style accelerator specifications in
10425         button text.  Note: I didn't add support for this under X Windows,
10426         and somebody needs to do this.
10427
10428         * dialog.c:
10429         * dialog.c (Fpopup_dialog_box):
10430         Documented the support for accelerators that was just mentioned.
10431
10432         editfns.c (get_home_directory): Changed behavior under Windows
10433         when HOME not defined; former behavior was irretrievably broken.
10434
10435         * emacs.c:
10436         * emacs.c (main_1):
10437         * emacs.c (main):
10438         * minibuf.c (clear_echo_area_internal):
10439         * minibuf.c (echo_area_append):
10440         * print.c:
10441         * print.c (std_handle_out_external):
10442         * print.c (std_handle_out_va):
10443         * print.c (fatal):
10444         * print.c (write_string_to_stdio_stream):
10445         * print.c (output_string):
10446         * print.c (debug_print):
10447         * print.c (debug_backtrace):
10448         * print.c (debug_short_backtrace):
10449         Cleaned up the code that prints text to stdout so that this can be
10450         changed to output into a console window instead under MS Windows,
10451         as described above.
10452
10453         * eval.c:
10454         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10455         * eval.c (internal_catch):
10456         * eval.c (unwind_to_catch):
10457         * eval.c (throw_or_bomb_out):
10458         * eval.c (condition_case_1):
10459         * eval.c (signal_1):
10460         * eval.c (check_error_state_sanity):
10461         * eval.c (call_with_suspended_errors_1):
10462         * eval.c (call_with_suspended_errors):
10463         * eval.c (reinit_vars_of_eval):
10464         Added code to catch throw loops and check for a pesky bug that may
10465         be gone now.
10466
10467         * event-msw.c:
10468         * event-msw.c (key_needs_default_processing_p):
10469         * event-msw.c (mswindows_wnd_proc):
10470         * event-msw.c (mswindows_modifier_state):
10471         * event-msw.c (emacs_mswindows_quit_p):
10472         * event-msw.c (vars_of_event_mswindows):
10473         a) Added support for using the alt key to select menu items as is
10474         standard under MS Windows.  This is controlled using the variable
10475         menu-accelerator-enabled, just like under X Windows.  There is an
10476         option on the options menu to turn this support on.  I really
10477         think that it should be on by default under Windows, but I'm not
10478         going to make this change yet.
10479
10480         b)  Added support for dynamic display size changes under Windows.
10481
10482         * event-stream.c:
10483         * event-stream.c (maybe_echo_keys):
10484         * event-stream.c (Fnext_event):
10485         * event-stream.c (command_builder_find_leaf):
10486         * event-stream.c (lookup_command_event):
10487         * event-stream.c (execute_command_event):
10488         * event-stream.c (pre_command_hook):
10489         * event-stream.c (post_command_hook):
10490         * event-stream.c (syms_of_event_stream):
10491         * event-stream.c (vars_of_event_stream):
10492         * event-stream.c (complex_vars_of_event_stream):
10493         * events.h (struct command_builder):
10494
10495         a) Tried to clean up a little bit the horribly written x-specific
10496         accelerator code that crept into this file.  I moved this code
10497         into menubar-x.c where it belongs. I also needed to move the
10498         command builder structure into the file events.h because it is
10499         accessed directly by this accelerator code.  What I didn't do, but
10500         which should be done at some point, is to properly abstract this
10501         code using device methods instead of the kludgy way that it
10502         currently hooks into the event code.
10503
10504         b) Added the lisp variables this-command-properties and
10505         last-command- properties, which should be used to synchronize two
10506         adjacent commands in preference to playing games with the variable
10507         this-command, which is typically what happens.
10508
10509         c) Added some slightly nasty code to hook into the lisp support
10510         for shifted- motion-key selection.  This is actually necessary for
10511         somewhat complicated reasons, which are described in
10512         simple.el. (NB: I think the proper thing would be to have the code
10513         that calls the pre and post command hooks also call out to generic
10514         lisp functions in simple.el, where all built-in stuff could be
10515         added.  I will think about this more.)
10516
10517         * event-unixoid.c (poll_fds_for_input):
10518         * lread.c (readchar):
10519         * redisplay-tty.c (tty_clear_frame):
10520         * redisplay-x.c (x_get_gc):
10521         * signal.c (interrupt_signal):
10522         And a whole bunch of other files: fixed up places that printed
10523         directly to stderr to instead call the function stderr_out so that
10524         the changes I made under Windows work correctly.
10525
10526         * filemode.c (mode_string):
10527         Warning fixes.
10528
10529         * frame-msw.c:
10530         * frame-msw.c (mswindows_size_frame_internal):
10531         Fixed the computation of frame size and position to keep the frame
10532         within the workspace area, rather than within the physical
10533         dimensions of the screen, so that the frame doesn't overlap window
10534         manager decorations, such as the start menu and toolbar, typically
10535         at the bottom of the screen.
10536
10537         * frame.c (vars_of_frame):
10538         Changed the default frame title format under MS Windows to consist
10539         of buffername-XEmacs, which is standard under MS Windows.  I think
10540         it might be a good idea to change this everywhere because I think
10541         it is superior to the current frame title format, but this is the
10542         kind of change that is likely to cause some people to get annoyed,
10543         so I'm not making it.
10544
10545         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10546
10547         * gui-msw.c (mswindows_handle_gui_wm_command):
10548         Fixed compile warnings.
10549
10550         * gui-x.c:
10551         * gui-x.c (strdup_and_add_accel):
10552         * gui-x.c (button_item_to_widget_value):
10553         * gui-x.h:
10554         Added code to automatically put an accelerator onto the beginning
10555         of menu items that don't have one as is now the standard, and is
10556         described more later.  Also fixed things so that the menu item
10557         name can be an evaluated expression, again a new standard.
10558
10559         * gui.c:
10560         * gui.c (gui_item_add_keyval_pair):
10561         * gui.c (make_gui_item_from_keywords_internal):
10562         * gui.c (gui_add_item_keywords_to_plist):
10563         * gui.c (gui_item_accelerator):
10564         * gui.c (gui_name_accelerator):
10565         * gui.c (gui_item_included_p):
10566         * gui.c (gui_item_display_flush_left):
10567         * gui.c (gui_item_display_flush_right):
10568         * gui.c (parse_gui_item_tree_item):
10569         * gui.c (parse_gui_item_tree_children):
10570         * gui.c (parse_gui_item_tree_list):
10571         Mule-ized.  Cleanup.  GCPRO addition.
10572
10573         * line-number.c (buffer_line_number):
10574         * lisp.h:
10575         * lisp.h (EMACS_INT_MAX):
10576         Added the manifest constant EMACS_INT_MIN corresponding to the
10577         existing constant EMACS_INT_MAX.  This is partially to fix compile
10578         warnings under Windows, and partly for cleanliness.
10579
10580         * menubar-msw.c:
10581         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10582         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10583         * menubar-msw.c (displayable_menu_item):
10584         * menubar-msw.c (populate_menu_add_item):
10585         * menubar-msw.c (populate_or_checksum_helper):
10586         * menubar-msw.c (populate_menu):
10587         * menubar-msw.c (update_frame_menubar_maybe):
10588         * menubar-msw.c (prune_menubar):
10589         * menubar-msw.c (msw_char_is_accelerator):
10590         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10591         * menubar-msw.c (mswindows_handle_wm_command):
10592         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10593         * menubar-msw.c (mswindows_handle_wm_initmenu):
10594         * menubar-msw.c (mswindows_update_frame_menubars):
10595         * menubar-msw.c (mswindows_free_frame_menubars):
10596         * menubar-msw.c (mswindows_popup_menu):
10597         Fixed a bug in handling accelerators where an extra character
10598         would be displayed in the menu item.  Also generalized the
10599         function displayable_menu_item because it is now used by the
10600         dialog box code as well.  And finally, added code in the functions
10601         that create the menubar to extract a list of accelerators for the
10602         top level menubar, which is used in the event code to determine
10603         whether a particular alt-key combination should be used to invoke
10604         a menu item, or should be passed through to access the standard
10605         XEmacs keymap binding for this key combination.
10606
10607         Much needed GCPROing.
10608
10609         * menubar-x.c:
10610         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10611         * menubar-x.c (menu_item_descriptor_to_widget_value):
10612         * menubar-x.c (restore_in_menu_callback):
10613         * menubar-x.c (x_popup_menu):
10614         * menubar-x.c (menu_move_up):
10615         * menubar-x.c (menu_move_down):
10616         * menubar-x.c (menu_move_left):
10617         * menubar-x.c (menu_move_right):
10618         * menubar-x.c (menu_select_item):
10619         * menubar-x.c (command_builder_operate_menu_accelerator):
10620         * menubar-x.c (menu_accelerator_junk_on_error):
10621         * menubar-x.c (command_builder_find_menu_accelerator):
10622         * menubar-x.c (Faccelerate_menu):
10623         * menubar.h:
10624         Moved a whole bunch of code here that was previously in
10625         event-stream.c as described above.  There is also code connected
10626         to the new standard of adding an accelerator to the beginning of
10627         menu items that don't have one as described above and below.
10628
10629         * menubar.c:
10630         * menubar.c (menu_parse_submenu_keywords):
10631         * menubar.c (Fmenu_find_real_submenu):
10632         * menubar.c (Fnormalize_menu_item_name):
10633         * menubar.c (syms_of_menubar):
10634         * menubar.c (vars_of_menubar):
10635         * menubar.c (complex_vars_of_menubar):
10636
10637         a) Cleaned up a bunch of documentation and improved it.
10638
10639         b) XEmacs now automatically adds an accelerator onto the beginning
10640         of any menu items that don't have one.  I did this because there
10641         will inevitably be some menu items on the main menubar that don't
10642         have accelerators on them because the package that adds that
10643         particular menu item hasn't yet been fixed up to have accelerators
10644         in them and it looked rather strange to have some items with and
10645         some items without accelerators, especially since even in items
10646         without accelerators, you can, at least under windows, still
10647         access the item through an accelerator corresponding to the first
10648         character in the item's name.  If people don't like this behavior,
10649         I can add a variable to turn it off optionally, but I'm not sure
10650         this is a good idea because we really do need to have accelerators
10651         on all of the menu items, and if a package doesn't like the
10652         accelerators being put on the first character, then it should put
10653         the accelerators where they belong.
10654
10655         c) I made a behavior change, which is that the descriptor that
10656         specifies the text of the menu item, which formerly was just a
10657         string, can now also be an evaluated expression.  This makes this
10658         descriptor parallel with all of the others, which could also be
10659         evaluated expressions.  This also obviates the need for the
10660         keyword :label, which was previously listed in the documentation
10661         as unimplemented, and which was for the same purpose.
10662
10663         d) GCPROing.
10664
10665         * ntproc.c:
10666         * ntproc.c (new_child):
10667         * ntproc.c (sys_spawnve):
10668         * ntproc.c (find_child_console):
10669         * ntproc.c (sys_kill):
10670         Fixed compile warnings.  By the way, this file should really go
10671         away entirely, and this will happen as soon as Kirill makes his
10672         final round of process cleanups, which affect the function
10673         call-process.
10674
10675         * process-nt.c:
10676         * process-nt.c (struct nt_process_data):
10677         * process-nt.c (find_process_from_pid):
10678         * process-nt.c (send_signal_the_nt_way):
10679         * process-nt.c (enable_child_signals):
10680         * process-nt.c (find_child_console):
10681         * process-nt.c (send_signal_the_95_way):
10682         * process-nt.c (nt_finalize_process_data):
10683         * process-nt.c (ensure_console_window_exists):
10684         * process-nt.c (nt_create_process):
10685         * process-nt.c (nt_kill_child_process):
10686         * process-nt.c (nt_kill_process_by_pid):
10687         * process-nt.c (nt_open_network_stream):
10688         * process-nt.c (vars_of_process_nt):
10689         Copied over code from Emacs 20.5 to correctly send signals to sub-
10690         processes under Windows 95.  Also added code to automatically
10691         create and hide console window when a sub-process is created under
10692         Windows 95, which obviates the need for the separate runemacs.exe
10693         executable, and finally implemented some variables that were
10694         implemented in Emacs 20.5, but previously not in XEmacs.  These
10695         include mswindows- start-process-share-console and
10696         mswindows-start-process-inherit-error-mode. (Both of these only
10697         apply to Windows 95.)
10698
10699         * regex.c (regex_compile): Fixed a compile warning.
10700
10701         * select-msw.c:
10702         * select-msw.c (mswindows_own_selection):
10703         * select-msw.c (mswindows_get_foreign_selection):
10704         * select-msw.c (mswindows_disown_selection):
10705         * select-msw.c (console_type_create_select_mswindows):
10706         * select-msw.c (syms_of_select_mswindows):
10707         Cleaned up the file and implemented the device method
10708         selection_exists_p, which had accidentally been left out.  Also
10709         removed four lisp functions that were remnants from before the
10710         time when the selection code was properly device abstracted.
10711         These functions are no longer needed because there are generic
10712         equivalents, and because they were added recently and don't exist
10713         in FSF Emacs, I don't think there's any problem with just deleting
10714         them.
10715
10716         * sysdep.c:
10717         * sysdep.c (sys_subshell):
10718         Fixed a compile warning, although in this case there's probably
10719         something wrong with this code, and it ought to be looked into
10720         more thoroughly by somebody who understands it.
10721
10722         * window.c:
10723         * window.c (Fwindow_text_area_height):
10724         * window.c (Fwindow_width):
10725         * window.c (Fwindow_full_width):
10726         * window.c (Fwindow_pixel_width):
10727         * window.c (debug_print_window):
10728         * window.c (syms_of_window):
10729         Added functions window-text-area-height and window-full-width,
10730         which are functions for returning various width and height
10731         characteristics of a window. (One of these functions is necessary
10732         for making the file dialog box work correctly, and the other one
10733         was added for completeness.)  Also added a table to the
10734         documentation for window-height which describes the entire scheme
10735         for accessing width and height characteristics of a window.
10736
10737 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10738
10739         * nt.c (fstat): Added a comment for another problem with
10740         non-encapsulated [f]stat(), reported by Adrian Aichner
10741         <aichner@ecf.teradyne.com>.
10742
10743 2000-03-11  Andy Piper  <andy@xemacs.org>
10744
10745         * window.c (make_dummy_parent): initialize subwindow instance
10746         cache.
10747         (Fset_window_configuration): zero extent_modiff.
10748
10749 2000-03-10  Andy Piper  <andy@xemacs.org>
10750
10751         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10752         more changes can be triggered.
10753         (Fredisplay_frame): ditto.
10754         (Fredraw_device): ditto.
10755         (Fredisplay_device): ditto.
10756         (redisplay_frame): make non-static.
10757         (redisplay_frame): call update_frame_gutter_geometry outside of
10758         display proper.
10759
10760         * gutter.h: declare update_frame_gutter_geometry.
10761
10762         * redisplay.h: declare redisplay_frame.
10763
10764         * gutter.c (update_frame_gutter_geometry): move geometry changes
10765         in update_frame_gutters here. Geometry changes can only occur
10766         outside of redisplay.
10767         (update_frame_gutters): remove geometry change code.
10768         (Fredisplay_gutter_area): make sure that we are in display when we
10769         update and that we have flushed any size changes.
10770
10771 2000-03-11  Andy Piper  <andy@xemacs.org>
10772
10773         * alloc.c (pdump_dump_data): remove i & count shadows.
10774
10775 2000-02-27  Mike Alexander  <mta@arbortext.com>
10776
10777         * sysdep.h: Declare pdump_read_file
10778
10779         * sysdep.c (pdump_read_file): New function
10780
10781         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10782         dump data
10783
10784 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10785
10786         * lrecord.h: add `lrecord_type_pgsetenv'.
10787
10788 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10789
10790         * symsinit.h: declare (vars|syms)_of* functions.
10791         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10792
10793 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10794
10795         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10796
10797         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10798         GCCs.
10799
10800         * emacs.c (main_1): Call postgres initialization code.
10801
10802         * postgresql.h: New file.  PostgreSQL RDBMS support.
10803         * postgresql.c: New file.
10804
10805 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10806
10807         * redisplay-output.c (redisplay_output_display_block): Disable
10808         redundant code.
10809
10810 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10811
10812         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10813         (Fcanna_henkan_next): Ditto.
10814         (Fcanna_bunsetu_henkou): Ditto.
10815         (Fcanna_henkan_kakutei): Ditto.
10816         (Fcanna_henkan_end): Ditto.
10817         (Fcanna_henkan_quit): Ditto.
10818         (Fcanna_henkan_next): Set retun value correctly.
10819         (c2mu): Use unsigned char instead of signed char.
10820
10821 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10822
10823         * emacs.c (main_1): Always call syms_of_gui.
10824         * inline.c: include gui.h
10825
10826 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10827
10828         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10829         converted to Lisp_Object.
10830         (Qtop_bottom): New variable.
10831         (syms_of_redisplay): Initialize it.
10832         * redisplay.h (Vvisible_bell): Ditto.
10833         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10834         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10835         only flash top and bottom.
10836
10837 2000-03-08  Andy Piper  <andy@xemacs.org>
10838
10839         * buffer.c (Frename_buffer): record new buffer name the right way.
10840
10841 2000-03-08  Andy Piper  <andy@xemacs.org>
10842
10843         * glyphs.c (update_subwindow): increase hash depth so that widget
10844         items get picked up properly.
10845
10846         * redisplay-output.c (compare_runes): increase hash depth so that
10847         widget items get picked up properly.
10848
10849 2000-03-08  Andy Piper  <andy@xemacs.org>
10850
10851         * gutter.c (output_gutter): add some debug.
10852
10853         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10854         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10855         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10856
10857         * redisplay-output.c (compare_runes): use display_hash to
10858         determine if glyphs really are not the same.
10859
10860         * glyphs.c (update_subwindow): check display_hash to see if
10861         anything really needs to be updated. If not then do
10862         nothing. Record the display_hash after updating.
10863         (image_instance_equal): compare the image_instance face also.
10864
10865 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10866
10867         * redisplay.h: Fix comment style.
10868
10869 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10870
10871         * consle-msw.h (struct mswindows_frame):
10872         Added new member paint_pending to indicate whether a WM_PAINT
10873         magic event has been queued for this frame.
10874
10875         * event-msw.c (mswindows_drain_windows_queue):
10876         Don't queue a WM_PAINT magic event if one is already queued.
10877         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10878
10879         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10880
10881 2000-03-07  Didier Verna  <didier@xemacs.org>
10882
10883         * dired.c: #include `regex.h' after `sysfile.h'.
10884
10885 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10886
10887         * sound.c (init_nas_sound): Fix compiler warning.
10888
10889         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10890         (FREE_STRUCT_P):
10891         (MARK_STRUCT_AS_FREE):
10892         (MARK_STRUCT_AS_NOT_FREE):
10893         Make `gcc -fstrict-aliasing' work properly.
10894
10895 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10896
10897         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10898         (mswindows_delete_device): Call CoUnnitialize().
10899
10900         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10901
10902 2000-02-25    <CraigL@DyCon.com>
10903
10904         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10905         <errno.h>.
10906
10907         * sysdep.c: This extern declaration for environ prevents MinGW
10908         from finding the variable in CRTDLL.DLL.
10909
10910         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10911         windows headers.
10912         (SHGFI_EXETYPE): ..
10913         (WM_MOUSEWHEEL): ..
10914         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10915         definitions.
10916         (MMRESULT): Removed, now defined in cygwin's windows headers.
10917         (TIMECAPS): ..
10918         (uid_t,gid_t,pid_t,ssize_t): ..
10919         (_timeb): Removed, MinGW defines both _timeb and timeb.
10920         (HAVE_H_ERRNO): Added.
10921         (HAVE_TZNAME): Added, configure is not detecting this.
10922
10923 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10924
10925         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10926         * syntax.c (syntax_match): Use it.
10927
10928         * cmds.c: Import auto-fill-chars from FSF Emacs.
10929         (Vauto_fill_chars): New variables.
10930         (internal_self_insert): Check Vauto_fill_chars.
10931         (vars_of_cmds):
10932         Declare auto-fill-chars as a Lisp variable and initialize it.
10933
10934 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10935
10936         * fileio.c (Fmake_symbolic_link):
10937         (Ffile_symlink_p):
10938         Run handlers even if local machine doesn't have symlinks.
10939
10940 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10941
10942         * event-msw.c (mswindows_drain_windows_queue):
10943         Don't generate paint magic events for non-XEmacs frames.
10944
10945 2000-03-05  Andy Piper  <andy@xemacs.org>
10946
10947         * redisplay.c (redisplay_frame): generate_displayable_area and
10948         friends assumes that we are not in GC, we therefore have to make
10949         sure that this doesn't happen.
10950
10951         * gutter.c (calculate_gutter_size): generate_displayable_area
10952         assumes that we are not in GC, we therefore have to make sure that
10953         this doesn't happen.
10954
10955 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10956
10957         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10958
10959 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10960
10961         * redisplay.c (regenerate_window): Make sure we set a sane value
10962         for end_pos even if we jump out of the loop.
10963         (regenerate_window): Answer Ben's question :-).
10964         (start_end_of_last_line): Add may_error argument.
10965         (start_of_last_line):
10966         (end_of_last_line): Pass may_error = 0.
10967         (end_of_last_line_may_error): New function.
10968         (pixel_to_glyph_translation): Use it, so we don't crash in
10969         event_to_glyph.
10970
10971 2000-03-04  Andy Piper  <andy@xemacs.org>
10972
10973         * window.h (struct window): add gutter_extent_modiff.
10974
10975         * window.c (allocate_window): zero out gutter_extent_modiff.
10976
10977         * redisplay.h: declare sync_display_line_structs.
10978
10979         * redisplay.c (add_glyph_rune): add a better comment.
10980
10981         * redisplay-output.c (sync_display_line_structs): made non-static.
10982         (compare_runes): remove unneccesary glyph cachel access.
10983
10984         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10985
10986         * gutter.c (output_gutter): don't output the gutter if extent
10987         changes only involve extents in buffers. use 4 sets of display
10988         lines.
10989         (gutter_extent_signal_changed_region_maybe): new function. Mark
10990         extents in gutters as changed.
10991         (update_frame_gutters): use 4 sets of display lines.
10992         (reset_gutter_display_lines): ditto.
10993         (free_frame_gutters): ditto.
10994         (redraw_exposed_gutter): force output of gutters.
10995
10996         * frame.h (struct frame): add 4 sets of gutter display lines.
10997
10998         * extents.c: (extent_changed_for_redisplay): signal changes to
10999         extents in strings in the gutter as well as extents in buffers.
11000
11001 2000-03-02  Andy Piper  <andy@xemacs.org>
11002
11003         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11004
11005         * frame.c (Fmake_frame): make sure the gutters get initialized
11006         after the frame is visible.
11007         (set_frame_selected_window): re-arrange compilation macros a
11008         little.
11009         (change_frame_size_1): mark gutters changed.
11010
11011         * device.c (Fset_device_class): mark gutters changed.
11012
11013 2000-03-01  Andy Piper  <andy@xemacs.org>
11014
11015         * window.c (window_top_frame_gutter_height): deleted.
11016         (window_bottom_frame_gutter_height): ditto.
11017         (window_left_frame_gutter_height): ditto.
11018         (window_right_frame_gutter_height): ditto.
11019         (window_top_gutter_height): don't use them.
11020         (window_bottom_gutter_height): ditto.
11021         (window_left_gutter_width): ditto.
11022         (window_right_gutter_width): ditto.
11023         (Fsplit_window): ditto.
11024         (Fwindow_pixel_edges): don't use border dimensions here.
11025
11026         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11027         (update_scrollbar_instance): ditto.
11028
11029         * redisplay.c (generate_modeline): don't take gutters into account.
11030         (generate_modeline): ditto.
11031         (redisplay_frame): small gutter display optimization.
11032
11033         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11034
11035         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11036         gutters into account.
11037
11038         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11039         for window position and type.
11040
11041         * gutter.c (get_gutter_coords): fix for frame gutters.
11042         (update_frame_gutters): update frame geometry if the gutters have
11043         changed.
11044         (init_frame_gutters): record current gutter geometries.
11045
11046         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11047         var.
11048         (mswindows_widget_instantiate): ditto.
11049
11050         * frame.h (struct frame): add current_gutter_bounds.
11051
11052         * frame.c (change_frame_size_1): position window and minibuffer
11053         appropriately taking into account the frame gutters.
11054
11055         * frame-x.c: (x_initialize_frame_size): take into account the
11056         frame gutters.
11057
11058 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11059
11060         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11061
11062 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11063
11064         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11065
11066 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11067
11068         * file-coding.c (reset_decoding_stream): Clear previous
11069         detection state when autodetect.
11070
11071 2000-02-29  Didier Verna  <didier@xemacs.org>
11072
11073         * extents.c (set_extent_glyph_1): don't require extents to be
11074         attached.
11075
11076 2000-02-27  Andy Piper  <andy@xemacs.org>
11077
11078         * gutter.c (Fset_default_gutter_position): don't default left and
11079         right gutter visibility to t.
11080         (Fset_default_gutter_position): run
11081         default-gutter-position-changed-hook.
11082         (syms_of_gutter): add default-gutter-position-changed-hook.
11083
11084 2000-02-26  Andy Piper  <andy@xemacs.org>
11085
11086         * specifier.c (Fmake_specifier): add gutter references.
11087
11088         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11089
11090         * lisp.h: declare Fvalid_plist_p.
11091
11092         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11093         as changed.
11094         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11095         well as its visibility so that it gets reconstructed.
11096         (construct_window_gutter_spec): new function. Construct a string
11097         to be displayed in the gutter from a plist of strings. Take care
11098         to only use elements that are declared as visible.
11099         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11100         WINDOW_GUTTER.
11101         (gutter_validate): allow plists of strings in the specifier.
11102         (gutter_specs_changed): construct the real_gutter from the gutter
11103         specs using construct_window_gutter_spec.
11104         (gutter_visible_validate): gutter-visible is a new specifier type.
11105         (Fgutter_visible_specifier_p): new function for the new specifier.
11106         (syms_of_gutter): declare gutter-visible and
11107         Fgutter_visible_specifier_p.
11108         (specifier_type_create_gutter): intitalize new gutter-visible
11109         specifier.
11110         (reinit_specifier_type_create_gutter): ditto.
11111         (specifier_vars_of_gutter): use new specifier type for gutter
11112         visibility.
11113         (init_frame_gutters): construct real_gutter correctly.
11114         (Fgutter_specifier_p): beef up documentation.
11115         (Fgutter_size_specifier_p): ditto.
11116
11117         * winslots.h: add real_gutter slots.
11118
11119 2000-02-25  Andy Piper  <andy@xemacs.org>
11120
11121         * device-msw.c: Be kind to older cygwin versions. From Raymond
11122         Toy <toy@rtp.ericsson.se>.
11123
11124         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11125         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11126
11127 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11128
11129         * elhash.c (MARK_OBJ): Practice macro hygiene.
11130
11131 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11132
11133         * miscplay.c: s/__inline__/inline/g;
11134         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11135         (get_device_compdc): INLINE ==> static inline
11136         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11137         find -name '*.h' | \
11138         xargs global-replace \
11139         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11140
11141 2000-02-25  Andy Piper  <andy@xemacs.org>
11142
11143         * window.c (window_top_frame_gutter_height): new function.
11144         (window_top_window_gutter_height): ditto.
11145         (window_top_gutter_height): use them.
11146         (window_bottom_frame_gutter_height): new function.
11147         (window_bottom_window_gutter_height): ditto.
11148         (window_bottom_gutter_height): use them.
11149         (window_left_window_gutter_width): new function.
11150         (window_left_frame_gutter_width): ditto.
11151         (window_left_gutter_width): use them.
11152         (window_right_window_gutter_width): new function.
11153         (window_right_frame_gutter_width): ditto.
11154         (window_right_gutter_width): use them.
11155         (window_pixel_height): new function. calulate window pixel height
11156         with frame gutter involvement.
11157         (Fsplit_window): calculate new sizes taking frame gutters into
11158         account.
11159         (window_char_height_to_pixel_height): don't include frame gutters.
11160         (window_char_height): use window_pixel_height.
11161         (window_pixheight): rename from window_pixel_height.
11162         (change_window_height): use it.
11163         (window_pixel_height_to_char_height): don't include frame gutters.
11164         (window_char_width_to_pixel_width): ditto.
11165
11166 2000-02-25  Andy Piper  <andy@xemacs.org>
11167
11168         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11169         if it is.
11170
11171 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11172
11173         * alloc.c (staticpro):
11174         (staticpro_nodump):
11175         (dumpstruct):
11176         (dumpopaque):
11177         (pdump_wire):
11178         (pdump_wire_list):
11179         (compact_string_chars):
11180         (pdump_dump_wired):
11181         Convert:  if (foo) abort();  ==>  assert (! foo);
11182
11183         * eldap.c (Fldap_search_basic):
11184         (Fldap_add):
11185         (Fldap_modify):
11186         (Fldap_delete):
11187         Fix compiler warnings, and possible crashes if (random) return
11188         value were to be used.
11189
11190 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11191
11192         * device-msw.c: Workaround ResetDC failure.
11193
11194         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11195         applying a devmode.
11196
11197         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11198         (mswindows_text_width): Do not start printer page.
11199
11200         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11201
11202         * glyphs-msw.c: Added image methods to msprinter console and
11203         msprinter-specific image instantiation.
11204
11205 2000-02-20  Mike Alexander  <mta@arbortext.com>
11206
11207         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11208         to avoid crashes when selection-sets-clipboard is on
11209         (mswindows_own_selection): ditto
11210
11211 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11212
11213         * glyphs-msw.c:
11214         * redisplay-msw.c (get_frame_dc):
11215         (get_frame_compdc):
11216         * console-msw.h:
11217         * device-msw.c (mswindows_init_device):
11218         (mswindows_delete_device):
11219         (msprinter_init_device):
11220         (msprinter_delete_device):
11221         * frame-msw.c (mswindows_init_frame_1):
11222         (mswindows_delete_frame):
11223         (msprinter_init_frame_3):
11224         (msprinter_delete_frame): Move compatible DC to device object from
11225         frame object, for both mswindows and msprinter. Only one at a time
11226         is needed, it is a real waste to have one per frame!
11227
11228 2000-02-23  Andy Piper  <andy@xemacs.org>
11229
11230         * glyphs.c: add dynamic width and height elements.
11231         (image_instance_equal): ditto.
11232
11233         * glyphs-widget.c (widget_query_geometry): calculate width and
11234         height dynamically if required.
11235         (initialize_widget_image_instance): initialize dynamic dimensions.
11236         (widget_instantiate): pick-up dynamic dimensions.
11237
11238         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11239         dynamic determination. Add appropriate macros.
11240
11241         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11242         dimensions safe.
11243         (WINDOW_GUTTER_SIZE): ditto.
11244         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11245
11246         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11247         inline.
11248         (get_frame_dc): ditto.
11249
11250         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11251         here.
11252
11253 2000-02-23  Martin Buchholz <martin@xemacs.org>
11254
11255         * XEmacs 21.2.31 is released.
11256
11257 2000-02-22  Ben Wing <ben@xemacs.org>
11258
11259         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11260
11261 2000-02-22  Andy Piper  <andy@xemacs.org>
11262
11263         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11264
11265 2000-02-21  Mike Sperber <mike@xemacs.org>
11266
11267         * .dbxrc:
11268         * .gdbinit:
11269         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11270         variables.
11271
11272 2000-02-21  Mike Sperber <mike@xemacs.org>
11273
11274         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11275
11276 2000-02-21  Martin Buchholz <martin@xemacs.org>
11277
11278         * XEmacs 21.2.30 is released.
11279
11280 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11281
11282         Performance hacking.
11283         * *.c (syms_of_*):
11284         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11285         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11286         * emacs.c (main_1):
11287         * lisp.h (DEFUN):
11288         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11289         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11290         * symeval.h (DEFVAR_SYMVAL_FWD):
11291         * symbols.c (guts_of_unbound_marker):
11292         Make all c_readonly objects also lisp_readonly and marked for life.
11293         * lrecord.h (struct lrecord_implementation):
11294         Document flags better.
11295         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11296         * lrecord.h (DECLARE_LRECORD):
11297         * lrecord.h (XSETRECORD):
11298         * lrecord.h (RECORDP):
11299         * lrecord.h (RECORD_TYPEP):
11300         * lrecord.h (RECORD_MARKER): New.
11301         * lrecord.h (error_check_*):
11302         * lrecord.h (CONCHECK_NONRECORD):
11303         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11304         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11305         * lrecord.h (set_lheader_implementation):
11306         * lrecord.h (enum lrecord_type): New.
11307         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11308         * alloc.c (disksave_object_finalization_1):
11309         * alloc.c (mark_object):
11310         * alloc.c (lrecord_type_index):
11311         * alloc.c (tick_lcrecord_stats):
11312         * alloc.c (Fgarbage_collect):
11313         * alloc.c (init_alloc_once_early):
11314         * alloc.c (pdump_load):
11315         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11316         * alloc.c (lrecord_type_index): Delete.
11317         Make lisp object type indexes be constant.
11318           Makes (byte-compile) 5% faster.
11319         Put all marker functions into their own array.
11320           Makes (garbage-collect) 5% faster.
11321         Optimize SYMBOL_VALUE_MAGIC_P.
11322           Makes (byte-compile) 2-3% faster.
11323         * config.h.in (gc_checking_assert): New.
11324         * alloc.c: Use gc_checking_assert().
11325         * .dbxrc: Make compatible with new object type implementation.
11326         * .gdbinit: Make compatible with new object type implementation.
11327         * alloc.c: Delete all symbols defined only for debugging, such as
11328         Lisp_Type_Vector and lrecord_charset.
11329
11330 2000-02-21  Andy Piper  <andy@xemacs.org>
11331
11332         * gui-msw.c (Fmswindows_shell_execute): fix file location
11333         problems.
11334
11335         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11336         unshowing so that set_window_buffer doesn't undo
11337         kill_buffer_hook's hard work.
11338
11339         * glyphs-widget.c (tab_control_query_geometry): don't count the
11340         first item when calculating geometry.
11341
11342         * glyphs.c (map_subwindow): remove redundant code.
11343         (update_frame_subwindows): be more circumspect about when to
11344         update subwindows.
11345
11346         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11347         when items haven't changed. Update faces if faces have changed as
11348         well as just the widget face.
11349         (x_tab_control_update): Update faces if faces have changed as well
11350         as just the widget face.
11351
11352 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11353
11354         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11355         registration.
11356         (build_syscolor_string): Use mswindows_color_to_string to try to
11357         get a named color.
11358         (mswindows_device_system_metrics): Reverse the foreground and
11359         background colors so that they match the documentation.
11360
11361         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11362         they match the default Windows palette.
11363         (mswindows_color_to_string): New function.
11364
11365 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11366
11367         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11368
11369 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11370
11371         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11372         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11373
11374         * symbols.c (init_symbols_once_early): Removed obsolete
11375         DATA_SEG_BITS related kludge.
11376         (defvar_magic): Ditto.
11377
11378         * malloc.c: Removed obsolete DATA_SEG_BITS
11379         * ralloc.c: Ditto.
11380         * mem-limits.h: Ditto.
11381
11382         * Makefile.in.in: Removed obsolete HAVE_SHM
11383         * emacs.c: Ditto.
11384
11385 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11386
11387         *  device-msw.c (mswindows_delete_device): Free DDE string
11388         handles.
11389
11390 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11391
11392         * keymap.c (get_keyelt):
11393         * unexnt.c (unexec):
11394         * vm-limit.c (memory_warnings):
11395         * ntheap.c (recreate_heap):
11396         * ntheap.h (UNINIT_PTR):
11397         * select-msw.c (Fmswindows_get_clipboard):
11398         (Fmswindows_set_clipboard):
11399         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11400         * objects-msw.c:
11401         * menubar-msw.c (displayable_menu_item):
11402         * glyphs-msw.c:
11403         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11404         * sysdep.c (sys_subshell):
11405         * process-nt.c (nt_create_process):
11406         * nt.c (normalize_filename):
11407         (dostounix_filename):
11408         (unixtodos_filename):
11409         * ntproc.c (win32_executable_type):
11410         * ntplay.c (play_sound_data_1):
11411         (play_sound_file):
11412         * editfns.c (get_home_directory):
11413         * event-msw.c (struct winsock_stream):
11414         (mswindows_dde_callback):
11415         * device-msw.c (msprinter_init_device):
11416         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11417
11418         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11419         mswindows_clear_toolbar were swapped!
11420
11421         * objects-msw.c:(colormap_t):
11422         (fontmap_t):
11423         * emacs.c (struct standard_args): Fixed const jumble.
11424
11425         * glyphs-widget.c (update_widget): Fixed comparison notation.
11426
11427         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11428
11429         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11430         __declspec(noreturn) syntax.
11431
11432 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11433
11434         * eldap.c (Fldap_open):
11435         (Fldap_search_basic):
11436         (Fldap_add):
11437         (Fldap_modify):
11438         Use new coding system conversion macros.
11439
11440 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11441
11442         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11443
11444 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11445
11446         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11447         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11448
11449         * eldap.c (Qadd, Qreplace): New constant symbols
11450         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11451         interruptions by XEmacs signals
11452         Remove unnecessary calls to slow_down_interrupts and
11453         speed_up_interrupts
11454         (Fldap_search_basic): Renamed from Fldap_search_internal
11455         Added new optional parameter VERBOSE that triggers the
11456         display of progress messages
11457         Remove unnecessary calls to slow_down_interrupts and
11458         speed_up_interrupts
11459         LDAP result code analysis rewritten
11460         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11461         (syms_of_eldap): Define the new symbols and functions
11462
11463
11464 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11465
11466         * realpath.c: Determine PATH_MAX maximally portably.
11467
11468         * insdel.c (bytecount_to_charcount): Optimize.
11469         The function used to be optimized for entirely ASCII sequences.
11470         Now it is optimized for successive characters from the same
11471         charset.  This also wins big for _mostly_ ASCII sequences.
11472
11473         * fileio.c (Ffile_truename): convert return from realpath() using
11474         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11475         - Rewrite GCPROing slightly.
11476
11477         * sysdep.c (sys_open): Do filename conversion, like all other
11478         sys_* functions.  Fixes bug:
11479         (let ((file-name-coding-system 'iso-8859-2))
11480            (write-region x y latin2-name))
11481         ==> writes filename using internal encoding.
11482
11483 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11484
11485         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11486         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11487         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11488         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11489         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11490         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11491         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11492         (CONST_IF_NOT_DEBUG): Delete.
11493         * alloc.c (this_one_is_unmarkable): Delete.
11494         (mark_object): Don't check for this_one_is_unmarkable. Use the
11495         c_readonly flag instead.
11496         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11497
11498 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11499
11500         * event-msw.c (mswindows_drain_windows_queue):
11501         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11502         away redundant repaint events.
11503
11504 2000-02-17  Andy Piper  <andy@xemacs.org>
11505
11506         * redisplay.h: declare mark_redisplay_structs.
11507
11508         * redisplay.c (redisplay_window):
11509         (redisplay_frame): don't check subwindows_state_changed.
11510         (mark_redisplay): mark gutters here.
11511
11512         * glyphs.c: (instantiate_image_instantiator): always layout if we
11513         haven't done so already.
11514         (allocate_image_instance): don't mark as dirty.
11515         (update_subwindow): bind inhibit_quit.
11516
11517         * gutter.c (mark_gutters): new function.
11518
11519         * glyphs-x.c (x_update_widget): Always resize to get round a
11520         widget bug.
11521
11522         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11523         breaking absolutely everything.
11524
11525         * gutter.h: declare mark_gutters.
11526
11527 2000-02-16  Martin Buchholz <martin@xemacs.org>
11528
11529         * XEmacs 21.2.29 is released.
11530
11531 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11532
11533         * fns.c (size_bit_vector): Fix computation of the size.
11534
11535 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11536
11537         * *.[ch]: Change CONST to const globally.
11538         find -name '*.[ch]' | \
11539         xargs global-replace \
11540         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11541         - Remove vestigial references to CONST_IS_LOSING
11542
11543 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11544
11545         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11546         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11547         events instead of dispatching them directly.
11548         (mswindows_handle_paint): New function to do repainting.
11549         (mswindows_wnd_proc):
11550         (emacs_mswindows_handle_magic_event): Call above function.
11551
11552 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11553
11554         * objects-msw.c (mswindows_create_font_variant): Return the new
11555         font handle.
11556         (initialize_font_instance): Get font metrics from the underlined
11557         variant of the font to cope with the case where the underlined
11558         font has a bigger descent.
11559
11560 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11561
11562         * gui.c (gui_item_accelerator): Return the first underlined
11563         character in item name.
11564
11565 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11566
11567         * lisp.h: Added Qprinter.
11568
11569         * general.c (syms_of_general): Initialized it.
11570
11571         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11572         (get_frame_dc):
11573         (get_frame_compdc): Made inline.
11574
11575         * console.h (struct console_methods): Added eject_page method.
11576
11577         * frame.h: Added FRAME_DISPLAY_P and friends.
11578         Aligned backslahes in many macros in more readable fashion.
11579         Added page_number to struct frame, and an accessor macro
11580         for it.
11581
11582         * defice.h: Added DEVICE_DISPLAY_P and friends.
11583
11584         * device.c (Fdevice_printer_p): Used these.
11585
11586         * frame.c (allocate_frame_core): Initialize page number.
11587         (Fprint_job_page_number):
11588         (Fprint_job_eject_page): Implemented.
11589
11590         * frame-msw.c (msprinter_eject_page): Added method.
11591         (msprinter_start_page): Added.
11592
11593         * window.c (Fwindow_truncated_p): Fixed docstring.
11594         (Fwindow_last_line_visible_height): Implemented.
11595
11596 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11597
11598         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11599
11600 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11601
11602         * syntax.c (scan_words): Always advance at least one character.
11603
11604 2000-02-13  Andy Piper  <andy@xemacs.org>
11605
11606         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11607         to make sure the glyph is in the cachels.
11608
11609         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11610         global image instance flag.
11611         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11612         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11613
11614         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11615         (Fset_image_instance_property): mark layout as changed.
11616         (invalidate_glyph_geometry_maybe): mark layout as changed.
11617         (glyph_width): use new NEEDS_LAYOUT macro.
11618         (glyph_ascent): ditto.
11619         (glyph_descent): ditto.
11620         (glyph_height): ditto.
11621         (image_instance_layout): mark layout as clean after laying out.
11622         (update_subwindow): don't mark layout as clean here.
11623
11624         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11625         should no longer be needed.
11626
11627         * glyphs-x.c (x_update_widget): sanitize asserts.
11628         (x_finalize_image_instance): sanitize assignment to widgets.
11629
11630         * glyphs-widget.c (widget_instantiate): don't need to clear the
11631         layout flag here.
11632
11633 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11634
11635         * sysdep.c (getcwd): Use standard prototype.
11636         * sysdep.h (getcwd): Use standard prototype.
11637
11638         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11639         (sequence, start, end).
11640         Remove redundant type checking.
11641         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11642         view of `caller-protects') to avoid a crash where the real fix was
11643         found elsewhere.
11644
11645 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11646
11647         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11648
11649         * s/sol2.h: Remove feature macro initialization.
11650
11651         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11652         (vector_hash): New.  Code from internal_hash.
11653         * lrecord.h:
11654         Fix up allocation subsystem comments.
11655
11656         * config.h.in: Add __EXTENSIONS__ for Solaris.
11657
11658         * systime.h (EMACS_GETTIMEOFDAY): New.
11659         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11660         Remove Solaris-specific code.
11661         Use void* for the (ignored) second arg for gettimeofday().
11662
11663         * elhash.c (hash_table_hash): Implement it, finally.
11664         * elhash.c:  Use hashcode_t.
11665
11666         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11667         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11668
11669         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11670         * fns.c (size_bit_vector):
11671         * alloc.c (size_vector):
11672         (make_vector_internal):
11673         (make_bit_vector_internal):
11674         (sweep_bit_vectors_1):
11675         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11676
11677 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11678
11679         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11680         Include strings.h to avoid warnings for bzero and strcasecmp.
11681
11682 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11683
11684         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11685         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11686
11687         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11688         sequence.
11689
11690 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11691
11692         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11693         use a value field instead.
11694         (symbol_value_forward_forward): Use value field.
11695         (DEFVAR_SYMVAL_FWD): Use value field.
11696         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11697         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11698         (DEFVAR_CONST_INT): Ditto.
11699         (DEFVAR_BOOL): Ditto.
11700         (DEFVAR_CONST_BOOL): Ditto.
11701         (DEFVAR_INT_MAGIC): Ditto.
11702         (DEFVAR_BOOL_MAGIC): Ditto.
11703
11704         * symbols.c (guts_of_unbound_marker): Use value field.
11705         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11706         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11707
11708         * lisp.h: Declare dumpopaque and noninteractive1.
11709
11710         * alloc.c (dumpopaque): Added.
11711         (pdump_dump_opaquevec): Added.
11712         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11713         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11714         noninteractive.
11715
11716 2000-02-10  Andy Piper  <andy@xemacs.org>
11717
11718         * glyphs.c (image_instance_layout): if the size changes, mark it
11719         as such.
11720
11721         * redisplay-output.c (redisplay_output_layout): Update the
11722         subwindow here.
11723         (redisplay_output_subwindow): ditto.
11724
11725         * glyphs.c (update_subwindow): make sure we reset flags for
11726         layouts as well as everything else.
11727
11728         * glyphs-widget.c (layout_layout): don't need to set the instances
11729         dimensions here.
11730
11731 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11732
11733         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11734         not HAVE_DLOPEN, which is a lower-level thing.
11735
11736         * .cvsignore: Ignore gmon.out
11737
11738 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11739
11740         * .cvsignore: Ignore portable dumper xemacs.dmp file
11741
11742 2000-02-09  Andy Piper  <andy@xemacs.org>
11743
11744         * redisplay-output.c (redisplay_output_layout): be more clever
11745         about when we output based on the changed flags.
11746
11747         * glyphs.h (struct image_instantiator_methods): add update_method.
11748         (struct Lisp_Image_Instance): add changed flags. Declare new
11749         macros for manipulating them.
11750
11751         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11752         (image_instance_parent_glyph): find an image_instance's parent
11753         glyph or image_instance.
11754         (image_instance_layout): mark the size as changed.
11755         (set_image_instance_dirty_p): new function. mark an image
11756         instance, plus all of its parents, as dirty.
11757         (Fset_image_instance_property): use it.
11758         (Fglyph_animated_timeout_handler): use it.
11759         (update_subwindow): call update_widget and device methods for
11760         update_subwindow. Mark all changed flags as clean.
11761         (Fresize_subwindow): mark size as changed.
11762
11763         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11764         failures.
11765         (x_update_subwindow): only resize subwindows here.
11766         (x_update_widget): new function. Update all changed properties of
11767         a widget.
11768         (x_resize_subwindow): deleted.
11769         (x_widget_set_property): deleted.
11770         (x_progress_gauge_set_property): deleted.
11771         (x_progress_gauge_update): new function. Implement recorded
11772         changes.
11773         (x_tab_control_update): ditto.
11774         (x_tab_control_set_property): deleted.
11775         (console_type_create_glyphs_x): declare new functions.
11776         (image_instantiator_format_create_glyphs_x): ditto.
11777
11778         * glyphs-widget.c (widget_set_property): mark text changed.
11779         (update_widget): new function. Update properties of a widget.
11780         (widget_instantiate): for layouts make sure we set their
11781         children's parent correctly.
11782         (tab_control_set_property): new function. Record changes that will
11783         take place under redisplay's control.
11784         (progress_gauge_set_property): ditto.
11785         (image_instantiator_progress_guage): declare new functions.
11786         (image_instantiator_tab_control): ditto.
11787
11788         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11789         now.
11790         (mswindows_update_widget): new function. Update all properties on
11791         a widget that have changed.
11792         (mswindows_button_update): new function. Update a button's set
11793         state.
11794         (mswindows_tab_control_update): new function. Update the items in
11795         a tab.
11796         (mswindows_tab_control_set_property): deleted.
11797         (mswindows_progress_gauge_update): new function. Update the
11798         progress gauge's progress.
11799         (mswindows_widget_set_property): deleted. This is all done
11800         asynchronously now.
11801         (mswindows_progress_gauge_set_property): ditto.
11802         (console_type_create_glyphs_mswindows): declare new methods.
11803         (image_instantiator_format_create_glyphs_mswindows): ditto.
11804
11805         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11806         (msprinter_set_frame_properties): ditto.
11807
11808         * console.h (struct console_methods): Add update_widget_method.
11809
11810 2000-02-09  Andy Piper  <andy@xemacs.org>
11811
11812         * gui-msw.c (Fmswindows_shell_execute): Make
11813         mswindows-shell-execute industrial strength.
11814
11815 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11816
11817         * lrecord.h: Make macro argument `props' match member function `plist'.
11818         * fns.c (Fget):
11819         * fns.c (Fput):
11820         * fns.c (Fremprop):
11821         * fns.c (Fobject_plist):
11822         * alloc.c:
11823         * symbols.c:
11824         Object property list frobbing cleanup.
11825         - Allow any lisp object (compared with `eq'), not just symbols, as
11826           keys in object plists.
11827         - Move symbol plist frobbing into symbols.c, where it belongs.
11828         - Move string plist frobbing into alloc.c, where it belongs.
11829         - Everything's an lrecord now, so no need to test for symbolp, etc.
11830         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11831
11832         * extents.c: Reorder code to remove declarations.
11833
11834         * frame.h (store_in_alist): Remove useless declaration.
11835
11836 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11837
11838         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11839         * config.h.in: Add HAVE_XCONVERTCASE.
11840
11841 2000-02-07  Andy Piper  <andy@xemacs.org>
11842
11843         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11844         it breaks many things.
11845
11846 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11847
11848         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11849         actually can start a common comment type.
11850         * src/syntax.h (SYNTAX_END_P): ditto for end.
11851
11852 2000-02-07  Martin Buchholz <martin@xemacs.org>
11853
11854         * XEmacs 21.2.28 is released.
11855
11856 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11857
11858         * event-Xt.c (x_keysym_to_character): New.
11859         (maybe_define_x_key_as_self_inserting_character): New.
11860         (x_has_keysym): New.
11861         Auto-define all keys on the keyboard as self-insert-key.
11862
11863 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11864
11865         * menubar.c (vars_of_menubar): A small code simplification.
11866
11867         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11868
11869         * ExternalShell.c:
11870         * ExternalClient.c:
11871         * EmacsShell-sub.c:
11872         * EmacsManager.c:
11873         * EmacsFrame.c:
11874         Use consistent style for specifying X resources.
11875
11876         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11877         This makes (dontusethis-set-symbol-value-handler) actually usable.
11878
11879         * lrecord.h (lrecord_decription_type):
11880         * alloc.c (pdump_register_sub):
11881         (pdump_dump_data):
11882         (pdump_reloc_one):
11883         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11884         Comply with XEmacs coding style.
11885         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11886         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11887
11888         * keymap.c (Faccessible_keymaps):
11889         Make (accessible-keymaps map "\C-h") do the Right Thing.
11890         Make (accessible-keymaps map []) do the Right Thing.
11891         Make (accessible-keymaps map "") do the Right Thing.
11892         (check_keymap_definition_loop): New function.
11893         (keymap_store_internal): Keep luser from shooting self in foot,
11894           via (define-key ctl-x-4-map "p" global-map).
11895         Remove fullness slot from struct Lisp_Keymap, since hash tables
11896         are now reliable.
11897         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11898
11899 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11900
11901         * redisplay.c (init_redisplay): Fix small memory leak.
11902         * elhash.h:
11903         * elhash.c (pdump_reorganize_hash_table):
11904         Rename from reorganize_hash_table. Change prototype.
11905         Reuse the original memory for hentries.  Save 100k.
11906         * alloc.c (PDUMP_READ): new macro.
11907         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11908         * alloc.c: No need to #ifndef before #undef.
11909
11910         * print.c: Allow debug_print() to print readably by modifying
11911         debug_print_readably.  Use consistent variable names.
11912
11913         * .dbxrc: Try to get things to work even if stopped in a function
11914         without source available by explicitly specifying source files.
11915 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11916
11917         * unexnt.c (_start): Removed bogus code which caused loading heap
11918         from differrent executable file.
11919         Removed bogus assignment to _fmode, which caused inconsistencies.
11920
11921 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11922
11923         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11924         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11925         Do not preliminary `#define signal sigset'.
11926
11927         * systime.h: Do not prototype environ on windows nt and cygwin,
11928         this conflicts with system header.
11929
11930         * syssignal.h: Use correct define for WINDOWSNT
11931
11932         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11933         with system header.
11934
11935         * sysdep.c (near start of file): Fixed commentary and rearranged
11936         ifdefs in readable order.
11937         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11938         (start_of_text):
11939         (end_of_text):
11940         (end_of_data): Do not compile in if using PDUMP.
11941
11942         * symsinit.h: Prototyped vars_of_nt().
11943
11944         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11945         (find_child_console): Use it.
11946         (sys_kill): Use it.
11947
11948         * ntheap.h: Do not extern os_subtype.
11949
11950         * ntheap.c (cache_system_info): Do not cache unneeded:
11951         nt_major_version, nt_minor_version and os_subtype.
11952         (recreate_heap): Do not compile in when PDUMPing.
11953
11954         * nt.c (geteuid and friends): Use the new varibale
11955         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11956         (init_user_info): Removed the above mentioned hackery.
11957         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11958         stat has been fixed in the C runtime.
11959         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11960
11961         * file-coding.c (struct file_coding_dump): Do not define
11962         ucs_to_mule_table in the struct if not MULE.
11963         (struct struct lrecord_description fcd_description_1): Do not dump
11964         the above.
11965
11966         * emacs.c (main_1): Call vars_of_nt().
11967         (right before Fdump_emacs_data): Don't need lastfile if using both
11968         portabe dumper and system malloc.
11969
11970         * alloc.c (Fmemory_limit): Conditionalized out.
11971         (pdump): Use OPEN_BINARY for the portable dump file.
11972         (pdump_load): Ditto.
11973
11974 2000-02-02  Mike Alexander  <mta@arbortext.com>
11975
11976         * nt.c (convert_time): Set tm_isdst before calling mktime and
11977         avoid calling it at all if the compiler supports 64 bit integers.
11978         Also initialize utc_base_ft before using it.
11979
11980 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11981
11982         * frame.c (change_frame_size_1): Take f->internal_border_width
11983         into consideration when calculating the width of the frame.
11984
11985 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11986
11987         * window.c (frame_min_height):
11988         (frame_size_valid_p):
11989         (frame_pixsize_valid_p): Added.
11990         (check_frame_size): Generalized.
11991
11992         * window.h: Prototyped the above.
11993
11994         * lisp.h:
11995         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11996         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11997         Deleted Vwin32_* and Vbinary_process_* unused variables.
11998
11999         * device-msw.c (msprinter_init_device): Do not get printer font
12000         list; Added DEVMODE functions.
12001
12002         * frame-msw.c: Added lots of printer code.
12003
12004         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12005         general.c.
12006
12007         * console-msw.h: Added more msprinter device private slots.
12008
12009 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12010
12011         * event-msw.c (key_needs_default_processing_p): Added.
12012         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12013
12014 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12015
12016         * glyphs.c (image_instance_layout): Mark image instance as clean
12017         after layout.
12018         (glyph_dirty_p): Removed redundant function.
12019         (invalidate_glyph_geometry_maybe): Added.
12020         (update_glyph_cachel_data): Call it.
12021
12022         * glyphs.h: Prototyped it.
12023
12024         * redisplay.c (add_glyph_rune): Call it.
12025         (redisplay_window): Reset glyphs cachels when frame faces have
12026         changed, thus forcing recomputation of built-in border glyphs.
12027
12028 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12029
12030         * Makefile.in.in: Make portable dumper and purify play well together.
12031         Add imperfect, but better than nothing, support for pdump.
12032         Remove xemacs.dmp when temacs is re-generated.
12033         Don't ignore errors when dumping xemacs.
12034
12035         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12036
12037 2000-01-28  Andy Piper  <andy@xemacs.org>
12038
12039         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12040         (setup_normal_frame): ditto.
12041         (setup_frame_without_minibuffer): ditto.
12042         (setup_minibuffer_frame): ditto.
12043         (delete_frame_internal): ditto.
12044         (Fmake_frame_invisible): ditto.
12045         (Ficonify_frame): ditto.
12046
12047         * window.h: change Fset_window_buffer signature.
12048
12049         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12050         (Fset_window_buffer): allow recording of buffer if the window is
12051         the selected window.
12052         (window_loop): Use new Fset_window signature.
12053
12054 2000-01-23  Daniel Pittman  <daniel@danann.net>
12055
12056         * config.h.in: Added template for `HAVE_ATHENA_3D'
12057
12058 2000-01-29  Andy Piper  <andy@xemacs.org>
12059
12060         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12061
12062         * gutter.c (output_gutter): Don't output if the window isn't live.
12063
12064 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12065
12066         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12067         of 01/12/00: Moved SetFocus back here where it belongs.
12068
12069 2000-01-23  Andy Piper  <andy@xemacs.org>
12070
12071         * s/cygwin32.h: declare printer things.
12072
12073 2000-01-26  Andy Piper  <andy@xemacs.org>
12074
12075         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12076         Alexander.
12077
12078 2000-01-24  Andy Piper  <andy@xemacs.org>
12079
12080         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12081         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12082
12083         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12084
12085         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12086
12087         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12088
12089         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12090         (mswindows_output_display_block): Avoid local shadows.
12091
12092         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12093         (mswindows_enqueue_mouse_button_event): ditto.
12094         (mswindows_handle_gui_wm_command): remove declaration.
12095
12096         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12097         warnings.
12098
12099         * console-msw.h: Avoid shadows.
12100         (mswindows_get_toolbar_button_text):
12101         (emacs_mswindows_create_stream_pair):
12102         (emacs_mswindows_delete_stream_pair):
12103         (mswindows_handle_toolbar_wm_command): declare.
12104
12105         * device-msw.c (build_syscolor_string): Avoid shadows.
12106
12107 2000-01-23  Andy Piper  <andy@xemacs.org>
12108
12109         * glyphs-widget.c (widget_instantiate): reverse the items for
12110         layouts so that children are in the expected order.
12111
12112 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12113
12114         * ralloc.c: safe_bcopy ==> memmove
12115         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12116         * s/msdos.h: Remove BCOPY macros.
12117         * insdel.c (gap_right): Remove BCOPY conditional code.
12118         * insdel.c (gap_left): Remove BCOPY conditional code.
12119         XEmacs demands a working ANSI C compiler - hence memmove.
12120
12121         * regex.c (regex_compile): Remove accidental use of trigraphs.
12122
12123 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12124
12125         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12126         event timestamp.
12127
12128 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12129
12130         * event-msw.c (mswindows_drain_windows_queue): Added the
12131         parameter.
12132         (mswindows_need_event): Commented the call to
12133         mswindows_drain_windows_queue().
12134         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12135         only.
12136
12137         * console-msw.h: Moved a few function prototypes here from
12138         event-msw.c.
12139
12140         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12141         parameter from unsigned short to unsigned long.
12142         (Fmswindows_shell_execute): Added return value.
12143
12144 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12145
12146         * sysdep.c (init_system_name):
12147           process-unix.c (unix_canonicalized_host_name):
12148         Don't call freeaddrinfo() if getaddrinfo() fails.
12149
12150         * process-unix.c (unix_open_unix_network_stream):
12151         Moved the code to get a port # into address loop.
12152
12153 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12154
12155         * buffer.c (reinit_vars_of_buffer):
12156         The right place to initialize conversion_in_dynarr and
12157         conversion_out_dynarr.
12158
12159         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12160
12161         * process-unix.c (unix_canonicalize_host_name): Muleize.
12162         (unix_open_network_stream): Muleize.
12163
12164         * buffer.h: Fix up prototypes for ralloc.c functions.
12165
12166 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12167         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12168         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12169                 instead of gethostbyname()
12170         * process-unix.c: In unix_canonicalize_host_name() and
12171                 unix_open_network_stream(), add code to use getaddrinfo()
12172                 instead of gethostbyname().
12173
12174 2000-01-27  Daniel Pittman <daniel@danann.net>
12175
12176         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12177         libs when built with flat Athena.
12178
12179 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12180
12181         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12182         Use coding standards for function prototypes.
12183
12184 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12185
12186         * dialog-msw.c (push_lisp_string_as_unicode):
12187         * doc.c (unparesseuxify_doc_string):
12188         * dired.c (Fuser_name_completion_1):
12189         * dired.c (Fuser_name_all_completions):
12190         * dired.c (free_user_cache):
12191         * dired.c (user_name_completion):
12192         * console-x.c (get_display_arg_connection):
12193         * minibuf.c (clear_echo_area_internal):
12194         * minibuf.c (echo_area_append):
12195         * eldap.c (Fldap_open):
12196         * eldap.c (Fldap_search_internal):
12197         * frame-x.c (x_set_frame_text_value):
12198         * frame-x.c (x_set_frame_properties):
12199         * frame-x.c (x_create_widgets):
12200         * redisplay-tty.c (term_get_fkeys_1):
12201         * objects-x.c (x_parse_nearest_color):
12202         * objects-x.c (x_valid_color_name_p):
12203         * objects-x.c (x_initialize_font_instance):
12204         * objects-x.c (x_list_fonts):
12205         * objects-x.c (x_find_charset_font):
12206         * tooltalk.c (Fadd_tooltalk_message_arg):
12207         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12208         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12209         * process-unix.c (unix_create_process):
12210         * ntproc.c (sys_spawnve):
12211         * sound.c (Fplay_sound_file):
12212         * sound.c (Fplay_sound):
12213         * buffer.c (init_initial_directory):
12214         * buffer.c (init_buffer):
12215         * editfns.c (init_editfns):
12216         * editfns.c (Ftemp_directory):
12217         * editfns.c (Fuser_full_name):
12218         * editfns.c (uncache_home_directory):
12219         * editfns.c (get_home_directory):
12220         * editfns.c (Fuser_home_directory):
12221         * editfns.c (Fformat_time_string):
12222         * editfns.c (Fcurrent_time_string):
12223         * gui-x.c (button_item_to_widget_value):
12224         * database.c (Fopen_database):
12225         * event-Xt.c (x_to_emacs_keysym):
12226         * event-Xt.c (x_event_to_emacs_event):
12227         * event-Xt.c (describe_event_window):
12228         * event-msw.c (mswindows_wnd_proc):
12229         * glyphs-eimage.c (jpeg_instantiate):
12230         * glyphs-eimage.c (gif_instantiate):
12231         * glyphs-eimage.c (png_instantiate):
12232         * glyphs-eimage.c (tiff_instantiate):
12233         * glyphs-x.c (xbm_instantiate_1):
12234         * glyphs-x.c (x_xbm_instantiate):
12235         * glyphs-x.c (x_xface_instantiate):
12236         * glyphs-x.c (autodetect_instantiate):
12237         * glyphs-x.c (cursor_font_instantiate):
12238         * glyphs-x.c (x_widget_instantiate):
12239         * glyphs-x.c (x_widget_set_property):
12240         * glyphs-x.c (x_widget_property):
12241         * glyphs-x.c (BUILD_GLYPH_INST):
12242         * print.c (write_string_to_stdio_stream):
12243         * print.c (output_string):
12244         * print.c (Falternate_debugging_output):
12245         * print.c (Fexternal_debugging_output):
12246         * glyphs-msw.c (extract_xpm_color_names):
12247         * glyphs-msw.c (mswindows_xpm_instantiate):
12248         * glyphs-msw.c (bmp_instantiate):
12249         * glyphs-msw.c (resource_name_to_resource):
12250         * glyphs-msw.c (mswindows_resource_instantiate):
12251         * glyphs-msw.c (xbm_instantiate_1):
12252         * glyphs-msw.c (mswindows_xbm_instantiate):
12253         * glyphs-msw.c (mswindows_xface_instantiate):
12254         * glyphs-msw.c (mswindows_widget_instantiate):
12255         * glyphs-msw.c (add_tree_item):
12256         * glyphs-msw.c (add_tab_item):
12257         * glyphs-msw.c (mswindows_combo_box_instantiate):
12258         * glyphs-msw.c (mswindows_widget_property):
12259         * glyphs-msw.c (mswindows_combo_box_property):
12260         * glyphs-msw.c (mswindows_widget_set_property):
12261         * console.c (stuff_buffered_input):
12262         * objects-msw.c (mswindows_initialize_color_instance):
12263         * objects-msw.c (mswindows_valid_color_name_p):
12264         * objects-msw.c (mswindows_list_fonts):
12265         * objects-msw.c (mswindows_font_instance_truename):
12266         * bytecode.c (optimize_compiled_function):
12267         * select-x.c (symbol_to_x_atom):
12268         * select-x.c (x_atom_to_symbol):
12269         * select-x.c (hack_motif_clipboard_selection):
12270         * select-x.c (selection_data_to_lisp_data):
12271         * select-x.c (lisp_data_to_selection_data):
12272         * select-x.c (Fx_get_cutbuffer_internal):
12273         * select-x.c (Fx_store_cutbuffer_internal):
12274         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12275         * buffer.h (TO_INTERNAL_FORMAT): New function.
12276         * emacs.c (make_arg_list_1):
12277         * emacs.c (make_argc_argv):
12278         * emacs.c (main_1):
12279         * emacs.c (Fdump_emacs):
12280         * emacs.c (split_string_by_emchar_1):
12281         * file-coding.h:
12282         * lisp.h:
12283         * lstream.h:
12284         * symsinit.h:
12285         * device-x.c (x_init_device):
12286         * device-x.c (Fx_valid_keysym_name_p):
12287         * device-x.c (Fx_get_font_path):
12288         * device-x.c (Fx_set_font_path):
12289         * glyphs.c (bitmap_to_lisp_data):
12290         * glyphs.c (pixmap_to_lisp_data):
12291         * alloc.c (make_ext_string): Use coding system arguments.  Update
12292         all callers.
12293         * alloc.c (build_string):
12294         * callproc.c (child_setup):
12295         * callproc.c (init_callproc):
12296         * fileio.c (lisp_strerror):
12297         * fileio.c (directory_file_name):
12298         * fileio.c (Fexpand_file_name):
12299         * fileio.c (Ffile_truename):
12300         * fileio.c (Fsysnetunam):
12301         * fileio.c (Fdo_auto_save):
12302         * sysdep.c (sys_readdir):
12303         * tests.c: New file.  Allow adding C tests.
12304         Replace GET_* macros with a more comprehensible and flexible
12305         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12306         Modify all calls.
12307         Any coding system can be used to do format conversion.
12308         Eliminate enum external_data_format.
12309         Eliminate convert_to_external_format.
12310         Eliminate convert_to_internal_format.
12311         Make sure file-name, keyboard, terminal, and ctext are always
12312         defined as coding systems or aliases.  Make
12313         file-name-coding-system, terminal-coding-system, and
12314         keyboard-coding-system magical variables that are equivalent to
12315         defining the corresponding coding system aliases.
12316
12317         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12318         * file-coding.c (Fcoding_system_alias_p): New function.
12319         * file-coding.c (Fcoding_system_aliasee): New function.
12320         * file-coding.c (append_suffix_to_symbol): New function.
12321         * file-coding.c (dangling_coding_system_alias_p): New function.
12322         * file-coding.c (Ffind_coding_system):
12323         * file-coding.c (Fcopy_coding_system):
12324         * file-coding.c (encode_coding_no_conversion):
12325         * file-coding.c (syms_of_file_coding):
12326         * file-coding.c (vars_of_file_coding):
12327         Rewrite coding system alias code.
12328         Allow nested aliases, like symbolic links.
12329         Allow redefinition of coding system aliases.
12330         Prevent existence of dangling coding system aliases.
12331
12332         * dired.c (Fuser_name_completion_1):
12333         * dired.c (Fuser_name_all_completions):
12334         A crash would happen if user did QUIT in the middle of building
12335         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12336
12337         * lisp.h:
12338         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12339
12340         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12341         an unsigned char *.  Update all callers.
12342
12343 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12344
12345         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12346
12347 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12348
12349         * elhash.c (hentry_description): Use more portable definition.
12350         (resize_hash_table): Initialize new hentries using
12351         xnew_array_and_zero, thereby simplifying the code.
12352
12353         * mule-charset.c (make_charset): Make sure entire object is
12354         initialized, to avoid Purify warnings.
12355
12356         * alloc.c (resize_string): Fix unlikely crash with big strings.
12357
12358 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12359
12360         * realpath.c (xrealpath):
12361         Don't call getwd().
12362
12363 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12364
12365         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12366
12367 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12368
12369         * unexelfsgi.c (unexec): Change the way we decide which segment
12370         should be extended.
12371
12372         Assumption that .bss section should be outside the PT_LOADable
12373         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12374         it's present) is inside the 'data' segment. This would fail the
12375         test which was used to find a segment to grow and cover new
12376         heap. Instead of this assumption, I created another one - on IRIX
12377         the segment to grow should start below .bss and it's address
12378         should extent above the end of .bss. Once this segment is
12379         identified, it's grown to accommodate the new heap and new
12380         zero-length .bss section is added at the end of .data2.
12381
12382 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12383
12384         * eval.c (Feval): Wrong number of arguments should use original
12385         function, not the indirect_function version of it.
12386
12387 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12388
12389         * glyphs-x.c (x_button_instantiate): Don't add image if
12390         it is not a pixmap.
12391         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12392         is relative.
12393
12394 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12395
12396         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12397         declaration.
12398         (DEFVAR_INT_MAGIC): Ditto.
12399         (DEFVAR_BOOL_MAGIC): Ditto.
12400         * glyphs.h: Reindent backslash.
12401
12402 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12403
12404         * glyphs-widget.c (layout_query_geometry):
12405         (layout_layout): Use correct types for gheight, gwidth.
12406
12407 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12408
12409         * EmacsManager.c (QueryGeometry): Purified.
12410
12411 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12412
12413         * alloc.c (make_float): Make sure entire object is initialized, to
12414         avoid Purify warnings.
12415         (pdump_register_sub): Remove useless assignment.
12416         (pdump): Use xmalloc, not malloc.
12417         (pdump_load): Use xmalloc, not malloc.
12418
12419 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12420
12421         * callproc.c:
12422         * dired-msw.c:
12423         * fileio.c:
12424         * process-nt.c:
12425         * redisplay-msw.c:
12426         * sysdep.c: Removed redundant #include <windows.h>
12427
12428 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12429
12430         * frame.c (delete_frame_internal): Do not delete device when its
12431         implementation so declares.
12432         (delete_frame_internal): Set device selected frame to nil when
12433         last frame goes away.
12434
12435         * device-msw.c (msprinter_device_system_metrics): Implemented.
12436         (mswindows_device_system_metrics): Added 'device-dpi property.
12437
12438         * device.c: (Fdevice_printer_p): Added.
12439         Added 'offset-workspace device metric.
12440
12441         * console.h (device_metrics): Declared DM_offset_workspace.
12442
12443 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12444
12445         * fileio.c (Ffile_truename): Remove pointless and confusing
12446         initialization of elen.
12447
12448         * glyphs-widget.c: Compiler warning fixes.
12449
12450 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12451
12452         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12453         instead of a Lisp_Object as argument to make it consistent with
12454         the other LIVE_P macros.
12455         (CHECK_LIVE_PROCESS): New macro.
12456
12457         * process.c: Declare Qprocess_live_p.
12458         (Fprocess_live_p): New function.
12459         (create_process): Use PROCESS_LIVE_P.
12460         (read_process_output): Ditto.
12461         (set_process_filter): Ditto.
12462         (Fdelete_process): Ditto.
12463         (kill_buffer_processes): Ditto
12464         (process_send_signal): Use CHECK_LIVE_PROCESS.
12465         (Fprocess_input_coding_system): Check whether process is still
12466         alive (fix PR#1061).
12467         (Fprocess_output_coding_system): Ditto.
12468         (Fprocess_coding_system): Ditto.
12469         (Fset_process_input_coding_system): Ditto.
12470         (Fset_process_output_coding_system): Ditto.
12471
12472 2000-01-23  Andy Piper  <andy@xemacs.org>
12473
12474         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12475         layout and widget.
12476
12477         * glyphs.c (mark_image_instance): take into account changed
12478         image_instance format.
12479         (image_instance_equal): ditto.
12480         (image_instance_hash): ditto.
12481
12482         * glyphs-widget.c (widget_instantiate): Incorporate layout
12483         instantiation here. Delay layout of the layout until later.
12484         (layout_instantiate): deleted.
12485         (layout_query_geometry): new function. get the geometry of a
12486         layout.
12487         (layout_layout): layout a layout dynamically.
12488         (image_instantiator_widget): New function - splitting up
12489         image_instantiator_format_create_glyphs_widget for netwinder
12490         compilation.
12491         (image_instantiator_buttons):
12492         (image_instantiator_edit_fields):
12493         (image_instantiator_combo_box):
12494         (image_instantiator_scrollbar):
12495         (image_instantiator_progress_guage):
12496         (image_instantiator_tree_view):
12497         (image_instantiator_tab_control):
12498         (image_instantiator_labels):
12499         (image_instantiator_layout): ditto.
12500         (image_instantiator_format_create_glyphs_widget): Call preceding
12501         functions.
12502
12503 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12504
12505         * process.c (Fset_process_coding_system):
12506         * device-x.c (Fx_keysym_hash_table):
12507         Docstring fixes.
12508
12509         * lstream.c (Lstream_write): Return documented value, not 0.
12510
12511         * fileio.c (directory_file_name):
12512         (Fsubstitute_in_file_name):
12513         (Fsubstitute_insert_file_contents_internal):
12514         (Fwrite_region_internal):
12515         * emacs.c:
12516         * sysdep.c:
12517         * getloadavg.c:
12518         * systty.h:
12519         Remove vestigial APOLLO-conditional code.
12520
12521 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12522
12523         * getpagesize.h: Add guard macros.
12524         * libsst.h: Add guard macros.
12525         * libst.h: Add guard macros.
12526         * line-number.h: Add guard macros.
12527         * ndir.h: Add guard macros.
12528         * sysfloat.h: Add guard macros.
12529         * sysfile.h: Add guard macros.
12530         * sysproc.h: Add guard macros.
12531         * syswait.h: Add guard macros.
12532         * xintrinsic.h: Add guard macros.
12533         * xintrinsicp.h: Add guard macros.
12534         * xmmanager.h: Add guard macros.
12535         * xmmanagerp.h: Add guard macros.
12536         * xmprimitive.h: Add guard macros.
12537         * xmu.h: Add guard macros.
12538         * gpmevent.h: Add copyright statement. Add guard macros.
12539         * miscplay.h: Add guard macros.
12540         * *.h: Use consistent C-standards-approved guard macro names.
12541
12542         * opaque.c (make_opaque): Switch parameter order.
12543         * opaque.h (make_opaque): Switch parameter order.
12544         Update all callers.
12545         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12546
12547         * config.h.in (type_checking_assert): Added.
12548         (bufpos_checking_assert): Added.
12549
12550 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12551
12552         * alloc.c: Harmless pdump changes.
12553         - Use countof().
12554         - spell alignment correctly.
12555         * sysdep.c: Use countof()
12556
12557 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12558
12559         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12560         initially_selected_for_input() console method, default to 0.
12561         (semi_canonicalize_console_connection): Try to delegate to
12562         canonicalize_console_connection if no such console method.
12563         (canonicalize_console_connection): Vice versa.
12564         (print_console): Do not print nil connection.
12565
12566         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12567         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12568         (XDEVIMPF_FRAMELESS_OK): Added.
12569         (CONSOLE_INHERITS_METHOD): Added.
12570
12571         * console-msw.c (mswindows_canonicalize_console_connection):
12572         Added.
12573         (mswindows_canonicalize_device_connection): Added.
12574
12575         * console-msw.h (struct msprinter_device): Added this struct and
12576         accessor macros.
12577         (mswindows_device): Made fontlist a lisp object.
12578
12579         * device.c (semi_canonicalize_device_connection):  Try to delegate
12580         to canonicalize_device_connection if no such console method.
12581         (canonicalize_device_connection): Vice versa.
12582         (print_device): Do not print nil connection.
12583
12584         * device-msw.c (mswindows_init_device): Call InitCommonControls
12585         when have widgets.
12586         (mswindows_delete_device): Removed fontlist deallocation.
12587         (mswindows_mark_device): Added.
12588
12589         * events.c (event_equal): Added abort() at unreached code.
12590         (event_hash): Ditto.
12591
12592         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12593         fallback tags of Windows devices.
12594
12595         * general.c (syms_of_general): Initialized Qmsprinter.
12596
12597         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12598         of fallback tags of Windows devices.
12599
12600         * lisp.h: Declared Qmsprinter.
12601
12602         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12603         of strings.
12604         (mswindows_list_fonts): Ditto.
12605         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12606         that it can be used by both mswindows and msprinter devices.
12607         (initialize_font_instance): Added.
12608         (mswindows_initialize_font_instance): Use it.
12609         (msprinter_initialize_font_instance): Added.
12610
12611         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12612         and implementation flags check.
12613         (redisplay_without_hooks): Changed the call to the above.
12614         (Fredraw_device): Ditto.
12615         (Fredisplay_device): Ditto.
12616
12617         * redisplay-msw.c (get_frame_dc): Implemented.
12618         (get_frame_compdc): Implemented.
12619         (many functions): Use the two functions above to get device
12620         contexts, ether for a window or a printer.
12621
12622 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12623
12624         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12625         initialization here.
12626         (init_symbols_once_early): Call it.
12627         * emacs.c (main_1): Call it.
12628         * symsinit.h: Declare it.
12629
12630 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12631
12632         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12633         Lisp_Object.
12634         (pdump_backtrace): Ditto.
12635         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12636         (pdump_get_entry): Abort if trying to register a null pointer.
12637         (pdump_dump_data): Cleanup types when relocating.
12638         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12639         (pdump_dump_rtables): Remove bad casts.
12640         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12641         Lisp_Object instead of a EMACS_INT for the hashtable
12642         reorganization.
12643
12644 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12645
12646         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12647
12648         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12649
12650         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12651
12652         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12653
12654 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12655
12656         * faces.h (FACE_STRIKETHRU_P): Added.
12657
12658         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12659         of font variants.
12660
12661         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12662         (mswindows_set_dc_font): New function, aware of font variants,
12663         separated from mswindows_update_dc.
12664
12665         * objects-msw.h (struct mswindows_font_instance_data): Added
12666         definition.
12667
12668         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12669         cached fonts and the data structure.
12670         (mswindows_initialize_font_instance): Added creation of font data
12671         structure.
12672         (mswindows_print_font_instance): Print at least something.
12673         (mswindows_create_font_variant): Implemented.
12674         (mswindows_get_hfont): Implemented.
12675
12676 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12677
12678         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12679         prototyping problem with msvc.
12680
12681         * emacs.c (main_1): added syms_of_gui_mswindows() call
12682
12683         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12684         syms_of_gui_mswindows() function
12685
12686         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12687
12688 2000-01-18  Martin Buchholz <martin@xemacs.org>
12689
12690         * XEmacs 21.2.27 is released.
12691
12692 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12693
12694         * glyphs-eimage.c (struct tiff_error_struct):
12695         (tiff_error_func):
12696         (tiff_warning_func):
12697         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12698
12699         * unexmips.c:
12700         * unexhp9k3.c:
12701         * unexfreebsd.c:
12702         * unexec.c: Remove vestigial Lucid C code.
12703         * unexalpha.c:
12704         * unexaix.c:
12705         * termcap.c:
12706         * libsst.c: Ansify.
12707         Remove declarations of errno and strerror().
12708
12709         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12710
12711         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12712
12713 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12714
12715         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12716         Optimize.
12717
12718 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12719
12720         * md5.c:
12721         * file-coding.c:
12722         * file-coding.h:
12723         Change enum eol_type to eol_type_t.
12724
12725 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12726
12727         * gui.c (get_gui_callback): Check cons before accessing car.
12728
12729 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12730
12731         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12732         (XSETSPECIFIER_TYPE): Ditto.
12733
12734 2000-01-17  Didier Verna  <didier@xemacs.org>
12735
12736         * redisplay.c (generate_fstring_runes): compute string size in
12737         characters, not bytes.
12738
12739 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12740
12741         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12742
12743 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12744
12745         * print.c (print_error_message): Call print_prepare().
12746
12747 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12748
12749         * .dbxrc: Renamed from dbxrc.
12750
12751         * events.c (event_to_character):
12752         Use `assert (foo)' instead of `if (!foo) abort()'
12753
12754         * .gdbinit (xtype): Add documentation.
12755         * .gdbinit (check-temacs): New function.
12756         * .gdbinit (check-xemacs): New function.
12757         * dbxrc (check-xemacs): New function.
12758         * dbxrc (check-xemacs): New function.
12759
12760 2000-01-14  Andy Piper  <andy@xemacs.org>
12761
12762         * glyphs-widget.c (widget_query_geometry): Make sure that we
12763         calculate default dimensions correctly.
12764
12765 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12766
12767         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12768
12769         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12770         pdump_wire'd variable.
12771
12772         * emacs.c: (main_1): Conditionalized calls to
12773         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12774
12775 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12776
12777         * window.c (Fset_window_configuration):
12778         * sysdep.c (_start):
12779         * input-method-motif.c (res):
12780         * event-Xt.c (Xt_process_to_emacs_event):
12781         Simple compiler warning fixes.
12782
12783         * bytecode.c (funcall_compiled_function): Use the original
12784         function symbol on the backtrace list in preference to the
12785         compiled_function object in error messages.
12786
12787 2000-01-13  Andy Piper  <andy@xemacs.org>
12788
12789         * glyphs-x.c (update_widget_face): Make sure we update the widget
12790         background as well as foreground.
12791
12792 2000-01-13  Andy Piper  <andy@xemacs.org>
12793
12794         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12795         fields to subwindow.
12796         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12797         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12798         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12799         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12800
12801         * glyphs-widget.c (check_valid_tab_orientation): new function.
12802         (initialize_widget_image_instance): zero orientation and
12803         justification.
12804         (widget_instantiate): pick up orientation.
12805         (tab_control_query_geometry): return appropriate values for
12806         vertical tabs.
12807
12808         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12809         appropriate creation flags for left, right and bottom tabs.
12810
12811         * s/cygwin32.h: add tab definitions.
12812
12813 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12814
12815         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12816         frame upon hiding a subwindow.
12817         (mswindows_button_instantiate): Changed the push button style to
12818         BS_PUSHBUTTON.
12819         (mswindows_button_instantiate): Removed button BS_NOTIFY
12820         style.
12821         (mswindows_button_instantiate): Removed redundant check for
12822         a disabled gui item.
12823         (mswindows_button_instantiate): Made use of WS_TABSTOP
12824         consistent: "operable" controls (edit, button, tree, scroll) have
12825         this style, "display-only" ones (static, progress gauge) do
12826         not. This style is currently ignored by XEmacs though. Also,
12827         removed the WS_EX_CONTROLPARENT style - it is not for children,
12828         it is for their parents!
12829         (mswindows_edit_field_instantiate): Ditto.
12830         (mswindows_progress_gauge_instantiate): Ditto.
12831         (mswindows_tree_view_instantiate): Ditto.
12832         (mswindows_tab_control_instantiate): Ditto.
12833         (mswindows_scrollbar_instantiate): Ditto.
12834         (mswindows_combo_box_instantiate): Ditto.
12835         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12836         style to the "clip" window.
12837         (mswindows_button_instantiate): Removed compilation warning by
12838         equally typing terms of the ?: operator.
12839
12840 2000-01-12  Didier Verna  <didier@xemacs.org>
12841
12842         * redisplay.c (generate_fstring_runes): new parameter holding the
12843         last modeline-format extent.
12844         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12845         extent, fill the glyph block with it.
12846         (generate_fstring_runes): handle these parameters.
12847         (generate_formatted_string_db): ditto.
12848
12849         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12850         glyphs'extents in the modeline.
12851
12852 1999-01-11  Mike Woolley  <mike@bulsara.com>
12853
12854         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12855         256Mb, as a workaround for the non-starting problem many people
12856         have experienced.
12857
12858 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12859
12860         * console-tty.c (Fset_console_tty_output_coding_system):
12861         Force redrawing tty frame.
12862
12863 2000-01-10  Didier Verna  <didier@xemacs.org>
12864
12865         * redisplay.c (generate_fstring_runes): fix size computation bug.
12866
12867 2000-01-09  William M. Perry <wmperry@aventail.com>
12868
12869         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12870
12871 2000-01-09  Andy Piper  <andy@xemacs.org>
12872
12873         * glyphs-msw.c: index -> i to avoid shadows.
12874         (xbm_create_bitmap_from_data): make static.
12875         (check_valid_string_or_int): deleted.
12876         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12877
12878         * glyphs-x.c (x_update_subwindow): remove unused args.
12879
12880         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12881         back pointer - this is done in allocate_image_instance.
12882         (query_string_font): return Qnil to make the compiler happy.
12883         (unmap_subwindow): set to ~0 to make the compiler happy.
12884         (glyph_query_geometry): comment out until used.
12885         (glyph_layout): ditto.
12886
12887 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12888
12889         * insdel.c (signal_after_change): Remove extraneous unbind_to().